diff --git a/apps/backend/src/drizzle/schema/aspects.ts b/apps/backend/src/drizzle/schema/aspects.ts new file mode 100644 index 0000000..e8137dd --- /dev/null +++ b/apps/backend/src/drizzle/schema/aspects.ts @@ -0,0 +1,16 @@ +import { createId } from "@paralleldrive/cuid2"; +import { + pgTable, + timestamp, + varchar, +} from "drizzle-orm/pg-core"; + +export const aspects = pgTable("aspects", { + id: varchar("id", { length: 50 }) + .primaryKey() + .$defaultFn(() => createId()), + name: varchar("name", { length: 255 }).notNull(), + createdAt: timestamp("created_at", { mode: "date" }).defaultNow(), + updatedAt: timestamp("updated_at", { mode: "date" }).defaultNow(), + deletedAt: timestamp("deleted_at", { mode: "date" }), +}); diff --git a/apps/backend/src/drizzle/schema/subAspects.ts b/apps/backend/src/drizzle/schema/subAspects.ts new file mode 100644 index 0000000..fd142c5 --- /dev/null +++ b/apps/backend/src/drizzle/schema/subAspects.ts @@ -0,0 +1,18 @@ +import { createId } from "@paralleldrive/cuid2"; +import { + pgTable, + timestamp, + varchar, +} from "drizzle-orm/pg-core"; +import { aspects } from "./aspects"; + +export const subAspects = pgTable("sub_aspects", { + id: varchar("id", {length: 50}) + .primaryKey() + .$defaultFn(() => createId()), + name: varchar("name", { length: 255 }).notNull(), + createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(), + updatedAt: timestamp("updatedAt", { mode: "date" }).defaultNow(), + deletedAt: timestamp("deletedAt", { mode: "date" }), + aspectId: varchar("aspectId").references(() => aspects.id) +});