mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-22 16:55:44 +00:00
🗃️ add unique indexes to site & resource labels in sqlite
This commit is contained in:
@@ -194,35 +194,43 @@ export const labels = sqliteTable("labels", {
|
|||||||
.notNull()
|
.notNull()
|
||||||
});
|
});
|
||||||
|
|
||||||
export const siteLabels = sqliteTable("siteLabels", {
|
export const siteLabels = sqliteTable(
|
||||||
siteLabelId: integer("siteLabelId").primaryKey({ autoIncrement: true }),
|
"siteLabels",
|
||||||
siteId: integer("siteId")
|
{
|
||||||
.references(() => sites.siteId, {
|
siteLabelId: integer("siteLabelId").primaryKey({ autoIncrement: true }),
|
||||||
onDelete: "cascade"
|
siteId: integer("siteId")
|
||||||
})
|
.references(() => sites.siteId, {
|
||||||
.notNull(),
|
onDelete: "cascade"
|
||||||
labelId: integer("labelId")
|
})
|
||||||
.references(() => labels.labelId, {
|
.notNull(),
|
||||||
onDelete: "cascade"
|
labelId: integer("labelId")
|
||||||
})
|
.references(() => labels.labelId, {
|
||||||
.notNull()
|
onDelete: "cascade"
|
||||||
});
|
})
|
||||||
|
.notNull()
|
||||||
|
},
|
||||||
|
(t) => [unique("site_label_uniq").on(t.siteId, t.labelId)]
|
||||||
|
);
|
||||||
|
|
||||||
export const resourceLabels = sqliteTable("resourceLabels", {
|
export const resourceLabels = sqliteTable(
|
||||||
resourceLabelId: integer("resourceLabelId").primaryKey({
|
"resourceLabels",
|
||||||
autoIncrement: true
|
{
|
||||||
}),
|
resourceLabelId: integer("resourceLabelId").primaryKey({
|
||||||
resourceId: integer("resourceId")
|
autoIncrement: true
|
||||||
.references(() => resources.resourceId, {
|
}),
|
||||||
onDelete: "cascade"
|
resourceId: integer("resourceId")
|
||||||
})
|
.references(() => resources.resourceId, {
|
||||||
.notNull(),
|
onDelete: "cascade"
|
||||||
labelId: integer("labelId")
|
})
|
||||||
.references(() => labels.labelId, {
|
.notNull(),
|
||||||
onDelete: "cascade"
|
labelId: integer("labelId")
|
||||||
})
|
.references(() => labels.labelId, {
|
||||||
.notNull()
|
onDelete: "cascade"
|
||||||
});
|
})
|
||||||
|
.notNull()
|
||||||
|
},
|
||||||
|
(t) => [unique("resource_label_uniq").on(t.resourceId, t.labelId)]
|
||||||
|
);
|
||||||
|
|
||||||
export const targets = sqliteTable("targets", {
|
export const targets = sqliteTable("targets", {
|
||||||
targetId: integer("targetId").primaryKey({ autoIncrement: true }),
|
targetId: integer("targetId").primaryKey({ autoIncrement: true }),
|
||||||
|
|||||||
Reference in New Issue
Block a user