20 lines
688 B
TypeScript
20 lines
688 B
TypeScript
import Database from 'better-sqlite3';
|
|
import { drizzle } from 'drizzle-orm/better-sqlite3';
|
|
import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
|
|
import * as schema from './schema';
|
|
|
|
// Get database path from environment variable or use default
|
|
const dbPath = process.env.DATABASE_URL || './data/sqlite.db';
|
|
const sqlite = new Database(dbPath);
|
|
export const db = drizzle(sqlite, { schema });
|
|
|
|
// Only run migrations if explicitly requested
|
|
if (process.env.RUN_MIGRATIONS === 'true') {
|
|
try {
|
|
migrate(db, { migrationsFolder: './lib/db/migrations' });
|
|
console.log('Database migrations completed');
|
|
} catch (error) {
|
|
console.error('Database migration failed:', error);
|
|
}
|
|
}
|