paperclip/packages/db/src/schema/project_goals.ts

22 lines
1,010 B
TypeScript
Raw Normal View History

import { pgTable, uuid, timestamp, index, primaryKey } from "drizzle-orm/pg-core";
import { companies } from "./companies.js";
import { projects } from "./projects.js";
import { goals } from "./goals.js";
export const projectGoals = pgTable(
"project_goals",
{
projectId: uuid("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
goalId: uuid("goal_id").notNull().references(() => goals.id, { onDelete: "cascade" }),
companyId: uuid("company_id").notNull().references(() => companies.id),
createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
},
(table) => ({
pk: primaryKey({ columns: [table.projectId, table.goalId] }),
projectIdx: index("project_goals_project_idx").on(table.projectId),
goalIdx: index("project_goals_goal_idx").on(table.goalId),
companyIdx: index("project_goals_company_idx").on(table.companyId),
}),
);