add unique constraint
This commit is contained in:
@@ -3,6 +3,7 @@ import {
|
|||||||
text,
|
text,
|
||||||
integer,
|
integer,
|
||||||
primaryKey,
|
primaryKey,
|
||||||
|
unique,
|
||||||
} from "drizzle-orm/sqlite-core";
|
} from "drizzle-orm/sqlite-core";
|
||||||
import { relations, sql } from "drizzle-orm";
|
import { relations, sql } from "drizzle-orm";
|
||||||
|
|
||||||
@@ -41,7 +42,7 @@ export const userRelation = relations(user, ({ many, one }) => ({
|
|||||||
//----------------Group
|
//----------------Group
|
||||||
export const group = sqliteTable("groups", {
|
export const group = sqliteTable("groups", {
|
||||||
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
||||||
name: text("name").notNull(),
|
name: text("name").unique().notNull(),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const groupRelation = relations(group, ({ many }) => ({
|
export const groupRelation = relations(group, ({ many }) => ({
|
||||||
@@ -51,7 +52,7 @@ export const groupRelation = relations(group, ({ many }) => ({
|
|||||||
//----------------Opinion
|
//----------------Opinion
|
||||||
export const opinion = sqliteTable("opinions", {
|
export const opinion = sqliteTable("opinions", {
|
||||||
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
||||||
name: text("name").notNull(),
|
name: text("name").unique().notNull(),
|
||||||
type: text("type", { enum: ["3Choice", "4Choice"] })
|
type: text("type", { enum: ["3Choice", "4Choice"] })
|
||||||
.default("3Choice")
|
.default("3Choice")
|
||||||
.notNull(),
|
.notNull(),
|
||||||
@@ -84,13 +85,17 @@ export const userOpinionRelation = relations(userOpinion, ({ one }) => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
//----------------Zone
|
//----------------Zone
|
||||||
export const zone = sqliteTable("zones", {
|
export const zone = sqliteTable(
|
||||||
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
"zones",
|
||||||
name: text("name").notNull(),
|
{
|
||||||
province: integer("province_id")
|
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
||||||
.notNull()
|
name: text("name").notNull(),
|
||||||
.references(() => province.id),
|
province: integer("province_id")
|
||||||
});
|
.notNull()
|
||||||
|
.references(() => province.id),
|
||||||
|
},
|
||||||
|
(t) => ({ unique_name_province: unique().on(t.name, t.province) })
|
||||||
|
);
|
||||||
export const zoneRelation = relations(zone, ({ one }) => ({
|
export const zoneRelation = relations(zone, ({ one }) => ({
|
||||||
province: one(province, {
|
province: one(province, {
|
||||||
fields: [zone.province],
|
fields: [zone.province],
|
||||||
@@ -101,7 +106,7 @@ export const zoneRelation = relations(zone, ({ one }) => ({
|
|||||||
//----------------Province
|
//----------------Province
|
||||||
export const province = sqliteTable("provinces", {
|
export const province = sqliteTable("provinces", {
|
||||||
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
||||||
name: text("name").notNull(),
|
name: text("name").unique().notNull(),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const provinceRelation = relations(province, ({ many }) => ({
|
export const provinceRelation = relations(province, ({ many }) => ({
|
||||||
|
|||||||
Reference in New Issue
Block a user