Create migration & fix update statment

This commit is contained in:
Zoe Roux 2025-03-08 14:25:52 +01:00
parent c58cb3ef78
commit 54ee704ab9
No known key found for this signature in database
7 changed files with 1296 additions and 8 deletions

View File

@ -0,0 +1,2 @@
ALTER TABLE "kyoo"."shows" ADD COLUMN "entries_count" integer NOT NULL;--> statement-breakpoint
ALTER TABLE "kyoo"."shows" ADD COLUMN "available_count" integer DEFAULT 0 NOT NULL;

File diff suppressed because it is too large Load Diff

View File

@ -85,6 +85,13 @@
"when": 1741014917375,
"tag": "0011_join_rename",
"breakpoints": true
},
{
"idx": 12,
"version": "7",
"when": 1741360992371,
"tag": "0012_available_count",
"breakpoints": true
}
]
}

View File

@ -27,6 +27,7 @@ export const insertCollection = async (
startAir: show.kind === "movie" ? show.airDate : show.startAir,
endAir: show.kind === "movie" ? show.airDate : show.endAir,
nextRefresh: show.nextRefresh,
entriesCount: 0,
...col,
})
.onConflictDoUpdate({

View File

@ -101,8 +101,8 @@ export async function updateAvailableCount(
return await db
.update(shows)
.set({
availableCount: db
.select({ availableCount: count() })
availableCount: sql`${db
.select({ count: count() })
.from(entries)
.where(
and(
@ -114,12 +114,12 @@ export async function updateAvailableCount(
.where(eq(entryVideoJoin.entryPk, entries.pk)),
),
),
),
)}`,
...(updateEntryCount && {
entriesCount: db
.select({ entriesCount: count() })
entriesCount: sql`${db
.select({ count: count() })
.from(entries)
.where(eq(entries.showPk, shows.pk)),
.where(eq(entries.showPk, shows.pk))}`,
}),
})
.where(eq(shows.pk, sql`any(${sqlarr(showPks)})`));

View File

@ -12,7 +12,7 @@ export const madeInAbyssVideo: Video = {
title: "Made in abyss",
season: [1],
episode: [13],
type: "episode",
kind: "episode",
from: "guessit",
},
createdAt: "2024-11-23T15:01:24.968Z",

View File

@ -88,7 +88,7 @@ export const FullSerie = t.Intersect([
export type FullMovie = Prettify<typeof FullSerie.static>;
export const SeedSerie = t.Intersect([
t.Omit(BaseSerie, ["kind", "nextRefresh", "entriesCount"]),
t.Omit(BaseSerie, ["kind", "nextRefresh", "entriesCount", "availableCount"]),
t.Object({
slug: t.String({ format: "slug" }),
translations: TranslationRecord(