removed migration validation as it is redudant

This commit is contained in:
2026-02-25 23:05:52 +11:00
parent b3428d15e5
commit 9a14c2f677

View File

@@ -6,7 +6,6 @@ import (
"context" "context"
"fmt" "fmt"
"os" "os"
"os/exec"
"strconv" "strconv"
"strings" "strings"
"text/tabwriter" "text/tabwriter"
@@ -60,13 +59,7 @@ func migrateUp(ctx context.Context, migrator *migrate.Migrator, conn *db.DB, cfg
return errors.Wrap(err, "parse migration count") return errors.Wrap(err, "parse migration count")
} }
fmt.Println("[INFO] Step 1/5: Validating migrations...") fmt.Println("[INFO] Step 1/4: Checking for pending migrations...")
if err := validateMigrations(ctx); err != nil {
return err
}
fmt.Println("[INFO] Migration validation passed ✓")
fmt.Println("[INFO] Step 2/5: Checking for pending migrations...")
// Check for pending migrations using MigrationsWithStatus (read-only) // Check for pending migrations using MigrationsWithStatus (read-only)
ms, err := migrator.MigrationsWithStatus(ctx) ms, err := migrator.MigrationsWithStatus(ctx)
if err != nil { if err != nil {
@@ -98,7 +91,7 @@ func migrateUp(ctx context.Context, migrator *migrate.Migrator, conn *db.DB, cfg
// Create backup unless --no-backup flag is set // Create backup unless --no-backup flag is set
if !cfg.Flags.MigrateNoBackup { if !cfg.Flags.MigrateNoBackup {
fmt.Println("[INFO] Step 3/5: Creating backup...") fmt.Println("[INFO] Step 2/4: Creating backup...")
_, err := db.CreateBackup(ctx, cfg.DB, "migration") _, err := db.CreateBackup(ctx, cfg.DB, "migration")
if err != nil { if err != nil {
return errors.Wrap(err, "create backup") return errors.Wrap(err, "create backup")
@@ -109,11 +102,11 @@ func migrateUp(ctx context.Context, migrator *migrate.Migrator, conn *db.DB, cfg
fmt.Printf("[WARN] Failed to clean old backups: %v\n", err) fmt.Printf("[WARN] Failed to clean old backups: %v\n", err)
} }
} else { } else {
fmt.Println("[INFO] Step 3/5: Skipping backup (--no-backup flag set)") fmt.Println("[INFO] Step 2/4: Skipping backup (--no-backup flag set)")
} }
// Acquire migration lock // Acquire migration lock
fmt.Println("[INFO] Step 4/5: Acquiring migration lock...") fmt.Println("[INFO] Step 3/4: Acquiring migration lock...")
if err := acquireMigrationLock(ctx, conn); err != nil { if err := acquireMigrationLock(ctx, conn); err != nil {
return errors.Wrap(err, "acquire migration lock") return errors.Wrap(err, "acquire migration lock")
} }
@@ -121,7 +114,7 @@ func migrateUp(ctx context.Context, migrator *migrate.Migrator, conn *db.DB, cfg
fmt.Println("[INFO] Migration lock acquired") fmt.Println("[INFO] Migration lock acquired")
// Run migrations // Run migrations
fmt.Println("[INFO] Step 5/5: Applying migrations...") fmt.Println("[INFO] Step 4/4: Applying migrations...")
group, err := executeUpMigrations(ctx, migrator, toApply) group, err := executeUpMigrations(ctx, migrator, toApply)
if err != nil { if err != nil {
return errors.Wrap(err, "execute migrations") return errors.Wrap(err, "execute migrations")
@@ -253,21 +246,6 @@ func migrateStatus(ctx context.Context, migrator *migrate.Migrator) error {
return nil return nil
} }
// validateMigrations ensures migrations compile before running
func validateMigrations(ctx context.Context) error {
cmd := exec.CommandContext(ctx, "go", "build",
"-o", "/dev/null", "./internal/db/migrations")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("[ERROR] Migration validation failed!")
fmt.Println(string(output))
return errors.Wrap(err, "migration build failed")
}
return nil
}
// acquireMigrationLock prevents concurrent migrations using PostgreSQL advisory lock // acquireMigrationLock prevents concurrent migrations using PostgreSQL advisory lock
func acquireMigrationLock(ctx context.Context, conn *db.DB) error { func acquireMigrationLock(ctx context.Context, conn *db.DB) error {
const lockID = 1234567890 // Arbitrary unique ID for migration lock const lockID = 1234567890 // Arbitrary unique ID for migration lock