#!/usr/bin/env node /** * Copy SQL migrations from backend/migrations/ into the Helm chart ConfigMap source. * Run after adding or editing migration files: npm run sync:migrations */ import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const sourceDir = path.resolve(__dirname, '../migrations'); const targetDir = path.resolve(__dirname, '../helm/cloudhost-platform/migrations'); if (!fs.existsSync(sourceDir)) { console.error(`Source not found: ${sourceDir}`); process.exit(1); } fs.mkdirSync(targetDir, { recursive: true }); const files = fs.readdirSync(sourceDir).filter((f) => f.endsWith('.sql')).sort(); for (const file of files) { fs.copyFileSync(path.join(sourceDir, file), path.join(targetDir, file)); } // Remove stale SQL files no longer in source for (const existing of fs.readdirSync(targetDir)) { if (existing.endsWith('.sql') && !files.includes(existing)) { fs.unlinkSync(path.join(targetDir, existing)); } } console.log(`Synced ${files.length} migration(s) to ${targetDir}`);