WIP more tomfoolery

This commit is contained in:
2026-02-09 09:35:50 -08:00
parent b26bec726f
commit 864b57317b
4 changed files with 29 additions and 6 deletions

View File

@@ -375,7 +375,7 @@ export async function importAmqData(
malId: a.malId,
kitsuId: a.kitsuId,
categoryName: a.category.name,
categoryNumber: categoryNumberToText(a.category.number),
categoryNumber: a.category.number,
mainName: a.mainName,
mainNameEn: a.mainNames.EN,
mainNameJa: a.mainNames.JA,

View File

@@ -1,4 +1,21 @@
import "dotenv/config";
import { drizzle } from "drizzle-orm/better-sqlite3";
import type { BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
import type { BunSQLiteDatabase } from "drizzle-orm/bun-sqlite";
export const db = drizzle(process.env.DB_FILE_NAME);
let _db: BunSQLiteDatabase | BetterSQLite3Database;
if (!process.env.DB_FILE_NAME) {
throw new Error("DB_FILE_NAME is not set");
}
if (process.versions.bun) {
console.info("Using Bun SQLite");
const { drizzle } = await import("drizzle-orm/bun-sqlite");
_db = drizzle(process.env.DB_FILE_NAME);
} else {
console.info("Using Better SQLite3");
const { drizzle } = await import("drizzle-orm/better-sqlite3");
_db = drizzle(process.env.DB_FILE_NAME);
}
export const db = _db;

View File

@@ -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.
@@ -21,7 +27,7 @@ export const anime = sqliteTable(
// Category object (name + number that can be number|string|null in source)
categoryName: text("category_name").notNull(),
categoryNumber: text("category_number"),
categoryNumber: real("category_number"),
// Names
mainName: text("main_name").notNull(),

View File

@@ -37,7 +37,7 @@ export const AmqAnimeSchema = z.object({
kitsuId: z.int().positive().nullable(),
category: z.object({
name: AmqAnimeCategory,
number: z.union([z.number(), z.string()]).nullable(),
number: z.coerce.number().nullable(),
}),
genres: z.array(AmqAnimeGenre),
tags: z.array(AmqAnimeTag),