2024-02-10 19:00:08 +01:00
|
|
|
import Database from "better-sqlite3";
|
|
|
|
|
import { drizzle } from "drizzle-orm/better-sqlite3";
|
|
|
|
|
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
|
|
|
|
|
|
2024-12-19 16:10:22 +01:00
|
|
|
import * as sqliteSchema from "../schema/sqlite";
|
2024-02-10 19:00:08 +01:00
|
|
|
|
2024-05-18 16:57:00 +02:00
|
|
|
export const createDb = (debug?: boolean) => {
|
2024-02-10 19:00:08 +01:00
|
|
|
const sqlite = new Database(":memory:");
|
2024-12-19 16:10:22 +01:00
|
|
|
const db = drizzle(sqlite, { schema: sqliteSchema, logger: debug, casing: "snake_case" });
|
2024-02-10 19:00:08 +01:00
|
|
|
migrate(db, {
|
2024-04-29 21:46:30 +02:00
|
|
|
migrationsFolder: "./packages/db/migrations/sqlite",
|
2024-02-10 19:00:08 +01:00
|
|
|
});
|
2024-05-18 16:57:00 +02:00
|
|
|
|
|
|
|
|
if (debug) {
|
|
|
|
|
console.log("Database created");
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-10 19:00:08 +01:00
|
|
|
return db;
|
|
|
|
|
};
|