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