/**
 * Migration 003 — 前台展示字段
 *
 * - is_public: 是否在前台展示 (0/1, 默认 1)
 * - is_featured: 是否推荐 (0/1, 默认 0)
 * - sort_order: 排序值 (数字越小越靠前, 默认 100)
 */
const Database = require('better-sqlite3');
const path = require('path');
require('dotenv').config({ path: path.join(__dirname, '..', '.env') });

const dbPath = path.resolve(__dirname, '..', process.env.DB_PATH || 'db/monitor.sqlite');
const db = new Database(dbPath);
db.pragma('journal_mode = WAL');

function ensureColumn(table, column, sql) {
  const cols = db.prepare(`PRAGMA table_info(${table})`).all().map(c => c.name);
  if (!cols.includes(column)) {
    db.exec(`ALTER TABLE ${table} ADD COLUMN ${sql}`);
    console.log(`+ ${table}.${column}`);
  } else {
    console.log(`  ${table}.${column} (already exists)`);
  }
}

ensureColumn('products', 'is_public', 'is_public INTEGER DEFAULT 1');
ensureColumn('products', 'is_featured', 'is_featured INTEGER DEFAULT 0');
ensureColumn('products', 'sort_order', 'sort_order INTEGER DEFAULT 100');

console.log('✅ migration-003 done:', dbPath);
db.close();
