/**
 * รัน migration 002 (provider + meeting_id 120) ผ่าน mysql2
 * ใช้: node scripts/run-migration-002.mjs
 */
import dotenv from 'dotenv';
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import mysql from 'mysql2/promise';

const __dirname = path.dirname(fileURLToPath(import.meta.url));
dotenv.config({ path: path.join(__dirname, '..', '.env') });

const sqlPath = path.join(__dirname, '..', 'migrations', '002-exam-meetings-provider.sql');
const sql = fs.readFileSync(sqlPath, 'utf8');

const conn = await mysql.createConnection({
  host: process.env.DB_HOST || '127.0.0.1',
  port: Number(process.env.DB_PORT || 3306),
  user: process.env.DB_USER || 'root',
  password: process.env.DB_PASSWORD || '',
  database: process.env.DB_NAME || 'cp164568_chat',
  multipleStatements: true,
});

try {
  await conn.query(sql);
  console.log('✅ Migration 002 applied: meeting_id VARCHAR(120), provider column');
} catch (e) {
  const msg = e instanceof Error ? e.message : String(e);
  if (/Duplicate column name 'provider'/i.test(msg)) {
    console.log('ℹ️  Migration 002 already applied (provider exists)');
  } else {
    console.error('❌ Migration failed:', msg);
    process.exit(1);
  }
} finally {
  await conn.end();
}
