From 825355430451dc1799c0ea44252e2b6b4940e766 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 25 Nov 2024 21:00:17 +0100 Subject: [PATCH] Add many-to-many jointure between entries & videos --- api/src/db/schema/videos.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/api/src/db/schema/videos.ts b/api/src/db/schema/videos.ts index cb82704f..07f129f6 100644 --- a/api/src/db/schema/videos.ts +++ b/api/src/db/schema/videos.ts @@ -1,4 +1,4 @@ -import { sql } from "drizzle-orm"; +import { relations, sql } from "drizzle-orm"; import { check, integer, @@ -7,8 +7,10 @@ import { timestamp, uuid, varchar, + primaryKey, } from "drizzle-orm/pg-core"; import { schema } from "./utils"; +import { entries } from "./entries"; export const videos = schema.table( "videos", @@ -31,3 +33,16 @@ export const videos = schema.table( check("version_pos", sql`${t.version} >= 0`), ], ); + +export const entryVideoJointure = schema.table( + "entry_video_jointure", + { + entry: integer() + .notNull() + .references(() => entries.pk, { onDelete: "cascade" }), + video: integer() + .notNull() + .references(() => videos.pk, { onDelete: "cascade" }), + }, + (t) => [primaryKey({ columns: [t.entry, t.video] })], +);