From 05921d68578de98f7f588474643722da6a17f800 Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Mon, 19 Jan 2026 17:43:05 +0100 Subject: [PATCH 1/2] added table for many-many relation between assistants and semesters --- db/seeding/seeding-tables.ts | 7 ------- db/tables/assistant-semesters.ts | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 db/tables/assistant-semesters.ts diff --git a/db/seeding/seeding-tables.ts b/db/seeding/seeding-tables.ts index 9b3571e..0b3d088 100644 --- a/db/seeding/seeding-tables.ts +++ b/db/seeding/seeding-tables.ts @@ -1,10 +1,3 @@ -import { applicationsTable } from "@/db/tables/applications"; -import { departmentsTable } from "@/db/tables/departments"; -import { expensesTable } from "@/db/tables/expenses"; -import { fieldsOfStudyTable } from "@/db/tables/fields-of-study"; -import { teamsTable } from "@/db/tables/teams"; -import { usersTable } from "@/db/tables/users"; - export const seedingTables = { //departmentsTable, //fieldsOfStudyTable, diff --git a/db/tables/assistant-semesters.ts b/db/tables/assistant-semesters.ts new file mode 100644 index 0000000..82558ab --- /dev/null +++ b/db/tables/assistant-semesters.ts @@ -0,0 +1,30 @@ +import { relations } from "drizzle-orm"; +import { boolean, integer, primaryKey } from "drizzle-orm/pg-core"; +import { mainSchema } from "./schema"; +import { semestersTable } from "./semesters"; +import { assistantUsersTable } from "./users"; + +export const assistantSemestersTable = mainSchema.table( + "assistantSemesters", + { + assistantId: integer("semesterId") + .references(() => assistantUsersTable.id) + .notNull(), + semesterId: integer("assistantId") + .references(() => semestersTable.id) + .notNull(), + isSubstitute: boolean("isSubstitute").notNull(), + }, + (table) => ({ + pk: primaryKey({ + columns: [table.assistantId, table.semesterId], + }), + }), +); + +export const assistantSemestersRelations = relations( + assistantSemestersTable, + ({ many }) => ({ + assistant: many(assistantUsersTable), + }), +); From 56bf4890091876b735a33d821059279d356fa087 Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Mon, 19 Jan 2026 18:28:03 +0100 Subject: [PATCH 2/2] added relation to semester table --- db/tables/assistant-semesters.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/db/tables/assistant-semesters.ts b/db/tables/assistant-semesters.ts index 82558ab..74855e5 100644 --- a/db/tables/assistant-semesters.ts +++ b/db/tables/assistant-semesters.ts @@ -26,5 +26,6 @@ export const assistantSemestersRelations = relations( assistantSemestersTable, ({ many }) => ({ assistant: many(assistantUsersTable), + semester: many(semestersTable), }), );