diff --git a/main.go b/main.go index b706d5c..5c03c86 100755 --- a/main.go +++ b/main.go @@ -42,6 +42,8 @@ func main() { // Ejecutar migraciones migrations.Migrate() } else { + // Crear/actualizar tablas de Renovaciones (idempotente) + migrations.MigrateRenovaciones() // Seed automático (idempotente) de módulos del sistema migrations.SeedRenovaciones() // Iniciar cron de vencimientos diff --git a/migrations/migrate.go b/migrations/migrate.go index 777aba9..89e84bb 100755 --- a/migrations/migrate.go +++ b/migrations/migrate.go @@ -75,6 +75,25 @@ func Migrate() { log.Println("Migration Completed...") } +// MigrateRenovaciones crea/actualiza las tablas del módulo de Renovaciones. +// Es idempotente: GORM AutoMigrate solo añade columnas/tablas nuevas, nunca las borra. +func MigrateRenovaciones() { + db := app.Http.Database.DB + if err := db.AutoMigrate( + &models.Servicio{}, + &models.Cliente{}, + &models.PlantillaCorreo{}, + &models.NotificacionRegla{}, + &models.Contrato{}, + &models.NotificacionLog{}, + &models.SmtpConfig{}, + ); err != nil { + log.Printf("[MIGRATE] Error en MigrateRenovaciones: %v", err) + } else { + log.Println("[MIGRATE] Tablas de Renovaciones OK") + } +} + // SeedRenovaciones inserta el módulo "Renovaciones" y sus submódulos si no existen, // y los asigna a todos los roles presentes en la BD. func SeedRenovaciones() {