Add scheduleId to deployment schema and establish foreign key relationship

- Introduced a new column `scheduleId` in the `deployment` table to link deployments with schedules.
- Added a foreign key constraint on `scheduleId` referencing the `schedule` table, ensuring referential integrity.
- Updated the `deployment` schema to include the new relationship with the `schedules` table.
- Enhanced the `schedules` schema to establish a one-to-many relationship with deployments.
This commit is contained in:
Mauricio Siu
2025-05-02 03:27:35 -06:00
parent 0ea264ea42
commit e84ce38994
5 changed files with 5510 additions and 3 deletions
+3 -2
View File
@@ -4,7 +4,7 @@ import { createInsertSchema } from "drizzle-zod";
import { nanoid } from "nanoid";
import { z } from "zod";
import { applications } from "./application";
import { deployments } from "./deployment";
export const schedules = pgTable("schedule", {
scheduleId: text("scheduleId")
.notNull()
@@ -23,11 +23,12 @@ export const schedules = pgTable("schedule", {
.$defaultFn(() => new Date().toISOString()),
});
export const schedulesRelations = relations(schedules, ({ one }) => ({
export const schedulesRelations = relations(schedules, ({ one, many }) => ({
application: one(applications, {
fields: [schedules.applicationId],
references: [applications.applicationId],
}),
deployments: many(deployments),
}));
export const createScheduleSchema = createInsertSchema(schedules, {