{"record":{"id":"87ee436ac2f2bc99","repo":"hasura/graphql-engine","slug":"migrations-on-database-s-of-kind-s-is-not-su","errorCode":null,"errorMessage":"migrations on database '%s' of kind '%s' is not supported","messagePattern":"migrations on database '(.+?)' of kind '(.+?)' is not supported","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/commands/migrate.go","lineNumber":185,"sourceCode":"\tif ec.Config.Version < cli.V3 {\n\t\treturn nil\n\t}\n\n\terr = databaseChooser(ec)\n\tif err != nil {\n\t\treturn errors.E(op, err)\n\t}\n\n\terr = validateSourceInfo(ec)\n\tif err != nil {\n\t\treturn errors.E(op, err)\n\t}\n\n\t// check if migration ops are supported for the database\n\tif !migrate.IsMigrationsSupported(ec.Source.Kind) {\n\t\treturn errors.E(\n\t\t\top,\n\t\t\tfmt.Errorf(\n\t\t\t\t\"migrations on database '%s' of kind '%s' is not supported\",\n\t\t\t\tec.Source.Name,\n\t\t\t\tec.Source.Kind,\n\t\t\t),\n\t\t)\n\t}\n\n\treturn nil\n}\n\nfunc validateConfigV3FlagsWithAll(cmd *cobra.Command, ec *cli.ExecutionContext) error {\n\tvar op errors.Op = \"commands.validateConfigV3FlagsWithAll\"\n\n\terr := validateConfigV3Prechecks(cmd, ec)\n\tif err != nil {\n\t\treturn errors.E(op, err)\n\t}\n","sourceCodeStart":167,"sourceCodeEnd":203,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/cli/commands/migrate.go#L167-L203","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Check ec.Source.Kind printed in the message and confirm it matches a migration-supported kind (usually postgres)","Track/skip migrations for non-supported databases and manage their schema directly","Upgrade the CLI — newer versions may add support for the kind","Run `hasura migrate status` per-database to identify which source is unsupported"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"supported := map[string]bool{\"postgres\":true /* per CLI version */}\nif !supported[kind] { /* skip migrations for this source */ }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check `hasura migrate status --database-name X` before scripting migrate commands for new source kinds","Pin CLI version and review its supported-kind list"],"tags":["migrations","database-kind","hasura-cli"],"backgroundTag":"unsupported-database-kind","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}