// src/db/migrate.ts
import { drizzle } from 'drizzle-orm/better-sqlite3';
import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
import Database from 'better-sqlite3';
import { resolve } from 'path';

// Get database path from environment or use default
const databasePath = process.env.DATABASE_URL || resolve(process.cwd(), './sqlite.db');

// Create SQLite database connection
const sqlite = new Database(databasePath);

// Create Drizzle instance
const db = drizzle(sqlite);

// Run migrations
async function runMigrations() {
    console.log('Running migrations...');

    try {
        // Apply migrations from the generated migrations folder
        migrate(db, { migrationsFolder: resolve(process.cwd(), 'src/db/migrations') });
        console.log('✅ Migrations completed successfully!');
    } catch (error) {
        console.error('❌ Migration failed:', error);
        process.exit(1);
    }

    process.exit(0);
}

runMigrations();