Revertir cambios en export, mantener solo mejoras en import
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s

El import ahora funciona correctamente gracias a la limpieza de SQL
que remueve comandos incompatibles. Los flags adicionales de pg_dump
no son necesarios y pueden causar problemas.

Cambios:
- Revertir pg_dump a su forma original con solo:
  --clean --if-exists --no-owner --no-acl
- Mantener todas las mejoras en import-database.post.ts

El ciclo funciona así:
1. Export genera SQL estándar con pg_dump
2. Import limpia automáticamente comandos incompatibles
3. Import ejecuta con psql correctamente
This commit is contained in:
2025-11-22 04:34:24 -06:00
parent 730d2ce299
commit 1c96b696fa

View File

@@ -55,15 +55,9 @@ export default defineEventHandler(async (event) => {
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5) const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5)
const filename = `backup-seguidordelotes-${timestamp}.sql` const filename = `backup-seguidordelotes-${timestamp}.sql`
// Ejecutar pg_dump con opciones para máxima compatibilidad // Ejecutar pg_dump
// --clean: incluir DROP antes de CREATE // Usar PGPASSWORD en la variable de entorno para evitar prompt de contraseña
// --if-exists: usar IF EXISTS en los DROP const command = `PGPASSWORD="${password}" pg_dump -h ${host} -p ${port} -U ${user} -d ${database} --clean --if-exists --no-owner --no-acl`
// --no-owner: no incluir comandos de ownership
// --no-acl: no incluir permisos
// --no-tablespaces: no incluir tablespaces
// --no-security-labels: no incluir security labels
// --no-synchronized-snapshots: no usar snapshots sincronizados
const command = `PGPASSWORD="${password}" pg_dump -h ${host} -p ${port} -U ${user} -d ${database} --clean --if-exists --no-owner --no-acl --no-tablespaces --no-security-labels --no-synchronized-snapshots`
console.log(' - Ejecutando pg_dump...') console.log(' - Ejecutando pg_dump...')
const { stdout, stderr } = await execAsync(command, { const { stdout, stderr } = await execAsync(command, {