WIP more tomfoolery
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user