mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-23 17:52:36 -04:00
Update schema for new drizzle version and fix some config issue
This commit is contained in:
parent
e2e04b88f4
commit
0759d6c2c4
@ -4,6 +4,7 @@ export default defineConfig({
|
||||
out: "./drizzle",
|
||||
schema: "./src/db/schema",
|
||||
dialect: "postgresql",
|
||||
casing: "snake_case",
|
||||
dbCredentials: {
|
||||
url: process.env.DATABASE_URL!,
|
||||
},
|
||||
|
@ -7,10 +7,12 @@ import {
|
||||
primaryKey,
|
||||
text,
|
||||
timestamp,
|
||||
unique,
|
||||
uuid,
|
||||
varchar,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { image, language, schema } from "./utils";
|
||||
import { shows } from "./shows";
|
||||
|
||||
export const entryType = schema.enum("entry_type", [
|
||||
"unknown",
|
||||
@ -26,7 +28,7 @@ export const entries = schema.table(
|
||||
pk: integer().primaryKey().generatedAlwaysAsIdentity(),
|
||||
id: uuid().notNull().unique().defaultRandom(),
|
||||
slug: varchar({ length: 255 }).notNull().unique(),
|
||||
// showId: integer().references(() => show.id),
|
||||
showId: integer().references(() => shows.id, { onDelete: "cascade" }),
|
||||
order: integer().notNull(),
|
||||
seasonNumber: integer(),
|
||||
episodeNumber: integer(),
|
||||
@ -40,10 +42,10 @@ export const entries = schema.table(
|
||||
createdAt: timestamp({ withTimezone: true, mode: "string" }).defaultNow(),
|
||||
nextRefresh: timestamp({ withTimezone: true, mode: "string" }),
|
||||
},
|
||||
(t) => ({
|
||||
// episodeKey: unique().on(t.showId, t.seasonNumber, t.episodeNumber),
|
||||
orderPositive: check("orderPositive", sql`${t.order} >= 0`),
|
||||
}),
|
||||
(t) => [
|
||||
unique().on(t.showId, t.seasonNumber, t.episodeNumber),
|
||||
check("order_positive", sql`${t.order} >= 0`),
|
||||
],
|
||||
);
|
||||
|
||||
export const entriesTranslation = schema.table(
|
||||
@ -56,7 +58,5 @@ export const entriesTranslation = schema.table(
|
||||
name: text(),
|
||||
description: text(),
|
||||
},
|
||||
(t) => ({
|
||||
pk: primaryKey({ columns: [t.pk, t.language] }),
|
||||
}),
|
||||
(t) => [primaryKey({ columns: [t.pk, t.language] })],
|
||||
);
|
||||
|
@ -67,13 +67,10 @@ export const shows = schema.table(
|
||||
.defaultNow(),
|
||||
nextRefresh: timestamp({ withTimezone: true, mode: "string" }).notNull(),
|
||||
},
|
||||
(t) => ({
|
||||
ratingValid: check(
|
||||
"ratingValid",
|
||||
sql`${t.rating} between 0 and 100`,
|
||||
),
|
||||
runtimeValid: check("runtimeValid", sql`0 <= ${t.runtime}`),
|
||||
}),
|
||||
(t) => [
|
||||
check("rating_valid", sql`${t.rating} between 0 and 100`),
|
||||
check("runtime_valid", sql`${t.runtime} >= 0`),
|
||||
],
|
||||
);
|
||||
|
||||
export const showTranslations = schema.table(
|
||||
@ -94,7 +91,5 @@ export const showTranslations = schema.table(
|
||||
banner: image(),
|
||||
logo: image(),
|
||||
},
|
||||
(t) => ({
|
||||
pk: primaryKey({ columns: [t.pk, t.language] }),
|
||||
}),
|
||||
(t) => [primaryKey({ columns: [t.pk, t.language] })],
|
||||
);
|
||||
|
@ -14,9 +14,9 @@ export const videos = schema.table(
|
||||
|
||||
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
||||
},
|
||||
(t) => ({
|
||||
ratingValid: check("renderingPos", sql`0 <= ${t.rendering}`),
|
||||
partValid: check("partPos", sql`0 <= ${t.part}`),
|
||||
versionValid: check("versionPos", sql`0 <= ${t.version}`),
|
||||
}),
|
||||
(t) => [
|
||||
check("rendering_pos", sql`${t.rendering} >= 0`),
|
||||
check("part_pos", sql`${t.part} >= 0`),
|
||||
check("version_pos", sql`${t.version} >= 0`),
|
||||
],
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user