hasura/graphql-engine · error
error while retrieving migration status %w
Error message
error while retrieving migration status %w
What it means
Thrown when the migrations driver cannot fetch current migration status from the server and disk while processing `hasura migrate delete`. GetStatus aggregates applied migrations from the server and present migrations from the project directory.
Source
Thrown at cli/commands/migrate_delete.go:168
return errors.E(op, err)
}
return nil
}
func (o *MigrateDeleteOptions) RunOnSource() error {
var op errors.Op = "commands.MigrateDeleteOptions.RunOnSource"
o.EC.Spin("Deleting migration...")
migrateDrv, err := migrate.NewMigrate(o.EC, true, o.Source.Name, o.Source.Kind)
if err != nil {
return errors.E(op, fmt.Errorf("error in creation of new migrate instance %w", err))
}
status, err := migrateDrv.GetStatus()
if err != nil {
return errors.E(op, fmt.Errorf("error while retrieving migration status %w", err))
}
// sourceVersions migration versions in source to be deleted similarly with serverVersions
var sourceVersions, serverVersions []uint64
if !o.All {
// if o.version isn't present on source and on server return error version isn't present.
if _, ok := status.Migrations[o.Version]; !ok {
return errors.E(op, fmt.Errorf("version %v not found", o.Version))
}
sourceVersions = []uint64{o.Version}
serverVersions = []uint64{o.Version}
} else if o.All {
for k, v := range status.Migrations {
if v.IsApplied {
serverVersions = append(serverVersions, k)
}View on GitHub (pinned to 724551b9ae)
Solutions
- Re-run `hasura migrate status` to see the raw inconsistency
- Check network/admin secret (retry after connectivity issues)
- Verify the migrations directory is readable
- Inspect hdb_migrations on the database for corruption
Defensive patterns
Strategy: retry
Validate before calling
hasura migrate status --database-name <db>
Try / catch
// transient network errors: retry once after backoff
if err := migrateDrv.GetStatus(); err != nil { time.Sleep(2*time.Second); err = migrateDrv.GetStatus() } Prevention
- Smoke-test status before destructive ops
- Avoid editing hdb_migrations manually
When it happens
Trigger: Server API error when listing applied migrations, inconsistent/corrupt hdb_catalog.hdb_migrations table, or unreadable migrations directory.
Common situations: Server restarted mid-operation, lost connection, manually tampered migrations table, permissions on the migrations directory.
Related errors
- finding status: %w
- operation failed: %w
- cannot write migration directory: %w
- applying migrations on source: %s: %w
- operation failed: %w
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/07683cb3d7a39501.
Report an issue: GitHub.