23 lines
678 B
TypeScript
23 lines
678 B
TypeScript
import "dotenv/config";
|
|
import { drizzle } from "drizzle-orm/better-sqlite3";
|
|
import Database from "better-sqlite3";
|
|
import * as schema from "./schema";
|
|
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
|
|
import path from "path";
|
|
|
|
import dbConfig from "./drizzle.config";
|
|
|
|
const sqlite = new Database(dbConfig.dbCredentials.url);
|
|
export const db = drizzle(sqlite, {
|
|
schema,
|
|
// logger: true
|
|
});
|
|
|
|
export function getInMemoryDB(runMigrations: boolean) {
|
|
const mem = new Database(":memory:");
|
|
const db = drizzle(mem, { schema, logger: true });
|
|
if (runMigrations) {
|
|
migrate(db, { migrationsFolder: path.resolve(__dirname, "./drizzle") });
|
|
}
|
|
return db;
|
|
} |