db: change anime category number type to number
This commit is contained in:
@@ -7,6 +7,7 @@
|
|||||||
"dev": "vite dev",
|
"dev": "vite dev",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"preview": "bun run build && wrangler dev",
|
"preview": "bun run build && wrangler dev",
|
||||||
|
"db:push": "drizzle-kit push",
|
||||||
"db:import": "bun run src/lib/db/import-amq.ts",
|
"db:import": "bun run src/lib/db/import-amq.ts",
|
||||||
"format": "biome check --write",
|
"format": "biome check --write",
|
||||||
"prepare": "svelte-kit sync || echo ''",
|
"prepare": "svelte-kit sync || echo ''",
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { getClientDb } from "$lib/db/client-db";
|
|||||||
* This is intended for READ-ONLY browsing. Bump the version when you ship a new
|
* This is intended for READ-ONLY browsing. Bump the version when you ship a new
|
||||||
* snapshot so clients refresh.
|
* snapshot so clients refresh.
|
||||||
*/
|
*/
|
||||||
export const AMQ_DB_SEED_VERSION = 3;
|
export const AMQ_DB_SEED_VERSION = 4;
|
||||||
|
|
||||||
const SEED_ASSET_PATH = "/data/amq.sqlite";
|
const SEED_ASSET_PATH = "/data/amq.sqlite";
|
||||||
const seededStorageKey = (version: number) => `amq.sqlocal.seeded.v${version}`;
|
const seededStorageKey = (version: number) => `amq.sqlocal.seeded.v${version}`;
|
||||||
|
|||||||
@@ -375,7 +375,7 @@ export async function importAmqData(
|
|||||||
malId: a.malId,
|
malId: a.malId,
|
||||||
kitsuId: a.kitsuId,
|
kitsuId: a.kitsuId,
|
||||||
categoryName: a.category.name,
|
categoryName: a.category.name,
|
||||||
categoryNumber: categoryNumberToText(a.category.number),
|
categoryNumber: a.category.number,
|
||||||
mainName: a.mainName,
|
mainName: a.mainName,
|
||||||
mainNameEn: a.mainNames.EN,
|
mainNameEn: a.mainNames.EN,
|
||||||
mainNameJa: a.mainNames.JA,
|
mainNameJa: a.mainNames.JA,
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
import { index, integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
|
import {
|
||||||
|
index,
|
||||||
|
integer,
|
||||||
|
real,
|
||||||
|
sqliteTable,
|
||||||
|
text,
|
||||||
|
} from "drizzle-orm/sqlite-core";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Core `anime` table.
|
* Core `anime` table.
|
||||||
@@ -21,7 +27,7 @@ export const anime = sqliteTable(
|
|||||||
|
|
||||||
// Category object (name + number that can be number|string|null in source)
|
// Category object (name + number that can be number|string|null in source)
|
||||||
categoryName: text("category_name").notNull(),
|
categoryName: text("category_name").notNull(),
|
||||||
categoryNumber: text("category_number"),
|
categoryNumber: real("category_number"),
|
||||||
|
|
||||||
// Names
|
// Names
|
||||||
mainName: text("main_name").notNull(),
|
mainName: text("main_name").notNull(),
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export const AmqAnimeSchema = z.object({
|
|||||||
kitsuId: z.int().positive().nullable(),
|
kitsuId: z.int().positive().nullable(),
|
||||||
category: z.object({
|
category: z.object({
|
||||||
name: AmqAnimeCategory,
|
name: AmqAnimeCategory,
|
||||||
number: z.union([z.number(), z.string()]).nullable(),
|
number: z.coerce.number().nullable(),
|
||||||
}),
|
}),
|
||||||
genres: z.array(AmqAnimeGenre),
|
genres: z.array(AmqAnimeGenre),
|
||||||
tags: z.array(AmqAnimeTag),
|
tags: z.array(AmqAnimeTag),
|
||||||
|
|||||||
Reference in New Issue
Block a user