@braindb/core
Version:
markdown-graph-content-layer-database
38 lines (37 loc) • 1.6 kB
JavaScript
import * as schema from "./schema.js";
import { resolve } from "node:path";
import { drizzle } from "drizzle-orm/better-sqlite3";
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
import Database from "better-sqlite3";
import * as url from 'url';
const __filename = url.fileURLToPath(import.meta.url);
export const getDb = (connectionString) => {
const sqlite = new Database(connectionString);
const db = drizzle(sqlite, { schema });
migrate(db, { migrationsFolder: resolve(__filename, "../../drizzle") });
return db;
};
// let getDb: (connectionString: string) => Db;
// if (process.isBun === undefined) {
// const { drizzle } = await import("drizzle-orm/better-sqlite3");
// const { migrate } = await import("drizzle-orm/better-sqlite3/migrator");
// // @ts-ignore
// const Database = (await import("better-sqlite3")).default;
// getDb = (connectionString: string) => {
// const sqlite = new Database(connectionString);
// const db = drizzle(sqlite, { schema });
// migrate(db, { migrationsFolder: resolve(__filename, "../../drizzle") });
// return db;
// };
// } else {
// const { drizzle } = await import("drizzle-orm/bun-sqlite");
// const { migrate } = await import("drizzle-orm/bun-sqlite/migrator");
// const { Database } = await import("bun:sqlite");
// getDb = (connectionString: string) => {
// const sqlite = new Database(connectionString);
// const db = drizzle(sqlite, { schema });
// migrate(db, { migrationsFolder: resolve(__filename, "../../drizzle") });
// return db;
// };
// }
// export { getDb };