// scripts/db-diff.ts
/* Uso:
   deno run -A scripts/sql_para_remoto_como_local.ts
*/
import { $ } from "@david/dax";

const OUT_FILE = "supabase/diffs/sql_para_remoto_como_local.sql";

console.log("🔍 Comparando base de datos local vs. remota...");

try {
    // 1. Ejecutamos el comando y capturamos la salida como texto
    // Esto evita que la terminal de Windows/Mac corrompa los acentos
    const output = await $`dx supabase db diff`.text();

    if (!output.trim()) {
        console.log(
            "✅ No hay diferencias. Tu base de datos local está sincronizada.",
        );
    } else {
        // 2. Escribimos el archivo usando Deno (UTF-8 garantizado)
        await Deno.writeTextFile(OUT_FILE, output);

        console.log(`⚠️  Diferencias encontradas.`);
        console.log(`📄 Guardadas en: ${OUT_FILE}`);
        console.log(`👉 Abre ese archivo en VS Code para revisar los cambios.`);
    }
} catch (error) {
    console.error("❌ Error al ejecutar db diff:", error);
}
