23 lines
743 B
TypeScript
23 lines
743 B
TypeScript
import { sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
|
|
import { externalModelSourceTypes } from "../../external-model/domain/external-model-contracts.js";
|
|
import { projects } from "./projects.js";
|
|
|
|
export const externalModelSources = sqliteTable(
|
|
"external_model_sources",
|
|
{
|
|
id: text("id").primaryKey(),
|
|
projectId: text("project_id")
|
|
.notNull()
|
|
.references(() => projects.id, { onDelete: "cascade" }),
|
|
name: text("name").notNull(),
|
|
sourceType: text("source_type", { enum: externalModelSourceTypes })
|
|
.notNull()
|
|
.default("revit_csv"),
|
|
},
|
|
(table) => [
|
|
uniqueIndex("external_model_sources_project_type_unique").on(
|
|
table.projectId,
|
|
table.sourceType
|
|
),
|
|
]
|
|
);
|