hasura/graphql-engine · error

migrations on database '%s' of kind '%s' is not supported

Error message

migrations on database '%s' of kind '%s' is not supported

What it means

The `hasura migrate` command validates that the target database kind supports migrations (migrate.IsMigrationsSupported). Only certain source kinds (e.g. postgres, mssql, bigquery, etc.) support the migration subsystem; others are rejected before any API call is made.

Source

Thrown at cli/commands/migrate.go:185

	if ec.Config.Version < cli.V3 {
		return nil
	}

	err = databaseChooser(ec)
	if err != nil {
		return errors.E(op, err)
	}

	err = validateSourceInfo(ec)
	if err != nil {
		return errors.E(op, err)
	}

	// check if migration ops are supported for the database
	if !migrate.IsMigrationsSupported(ec.Source.Kind) {
		return errors.E(
			op,
			fmt.Errorf(
				"migrations on database '%s' of kind '%s' is not supported",
				ec.Source.Name,
				ec.Source.Kind,
			),
		)
	}

	return nil
}

func validateConfigV3FlagsWithAll(cmd *cobra.Command, ec *cli.ExecutionContext) error {
	var op errors.Op = "commands.validateConfigV3FlagsWithAll"

	err := validateConfigV3Prechecks(cmd, ec)
	if err != nil {
		return errors.E(op, err)
	}

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Check ec.Source.Kind printed in the message and confirm it matches a migration-supported kind (usually postgres)
  2. Track/skip migrations for non-supported databases and manage their schema directly
  3. Upgrade the CLI — newer versions may add support for the kind
  4. Run `hasura migrate status` per-database to identify which source is unsupported
Defensive patterns

Strategy: validation

Validate before calling

supported := map[string]bool{"postgres":true /* per CLI version */}
if !supported[kind] { /* skip migrations for this source */ }

Prevention

When it happens

Trigger: Running migrate subcommands against a metadata source whose kind is not in the supported list, e.g. a citus, mysql, or custom_kind source configured in metadata.

Common situations: Adding a non-supported database via metadata and then trying `hasura migrate apply`; upgrading CLI to a version with a narrower supported-kind list; typos in the source kind in config/metadata.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/87ee436ac2f2bc99. Report an issue: GitHub.