leistungsbilanz-ts/src/db/schema/external-model-sources.ts

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
),
]
);