21 lines
587 B
JavaScript
21 lines
587 B
JavaScript
|
|
#!/usr/bin/env node
|
||
|
|
/**
|
||
|
|
* Runs all pending Drizzle migrations against DATABASE_URL.
|
||
|
|
*
|
||
|
|
* node scripts/migrate.js
|
||
|
|
*/
|
||
|
|
import Database from 'better-sqlite3';
|
||
|
|
import { drizzle } from 'drizzle-orm/better-sqlite3';
|
||
|
|
import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
|
||
|
|
|
||
|
|
const url = process.env.DATABASE_URL ?? './helix.db';
|
||
|
|
const sqlite = new Database(url);
|
||
|
|
sqlite.pragma('journal_mode = WAL');
|
||
|
|
sqlite.pragma('foreign_keys = ON');
|
||
|
|
|
||
|
|
const db = drizzle(sqlite);
|
||
|
|
migrate(db, { migrationsFolder: './drizzle' });
|
||
|
|
|
||
|
|
console.log(`[helix] migrations applied → ${url}`);
|
||
|
|
sqlite.close();
|