{"record":{"id":"5b6a36c3548a6634","repo":"hasura/graphql-engine","slug":"seed-operations-on-database-s-of-kind-s-is-n-5b6a36","errorCode":null,"errorMessage":"seed operations on database '%s' of kind '%s' is not supported","messagePattern":"seed operations on database '(.+?)' of kind '(.+?)' is not supported","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/commands/seed_create.go","lineNumber":80,"sourceCode":"\n\t\t\tif ec.Config.Version < cli.V3 {\n\t\t\t\treturn nil\n\t\t\t}\n\n\t\t\terr = databaseChooser(ec)\n\t\t\tif err != nil {\n\t\t\t\treturn errors.E(op, err)\n\t\t\t}\n\n\t\t\terr = validateSourceInfo(ec)\n\t\t\tif err != nil {\n\t\t\t\treturn errors.E(op, err)\n\t\t\t}\n\t\t\t// check if seed ops are supported for the database\n\t\t\tif !seed.IsSeedsSupported(ec.Source.Kind) {\n\t\t\t\treturn errors.E(\n\t\t\t\t\top,\n\t\t\t\t\tfmt.Errorf(\n\t\t\t\t\t\t\"seed operations on database '%s' of kind '%s' is not supported\",\n\t\t\t\t\t\tec.Source.Name,\n\t\t\t\t\t\tec.Source.Kind,\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn nil\n\t\t},\n\t\tRunE: func(cmd *cobra.Command, args []string) error {\n\t\t\top := genOpName(cmd, \"RunE\")\n\t\t\topts.SeedName = args[0]\n\t\t\topts.Source = ec.Source\n\t\t\topts.Driver = getSeedDriver(ec, ec.Config.Version)\n\n\t\t\terr := opts.Run()\n\t\t\tif err != nil {\n\t\t\t\treturn errors.E(op, err)","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/cli/commands/seed_create.go#L62-L98","documentation":"Returned by `hasura seed create` when the metadata source's kind does not support seed operations. The CLI checks seed.IsSeedsSupported(ec.Source.Kind) before exporting/creating seeds; only certain source kinds (e.g. postgres) support seeds.","triggerScenarios":"Running `hasura seed create` against a metadata source whose kind is not supported (e.g. mssql, citus, or any non-postgres backend added in metadata databases.yaml), given IsSeedsSupported returns false for that kind.","commonSituations":"Projects with multiple sources where the default/selected source is MSSQL (common on Azure), or custom data-source plugins registered with an unsupported kind.","solutions":["Re-run targeting a postgres source, e.g. `hasura seed create --database-name <pg-source-name>` (or add --source on older CLIs)","Add a postgres source to metadata (databases.yaml) if the project only has unsupported kinds","If you must seed a non-pg database, apply data manually with that database's native tooling (sqlcmd, etc.)"],"exampleFix":"// before\nhasura seed create my_seed --database-name mssql-source\n// after\nhasura seed create my_seed --database-name postgres-source","handlingStrategy":"validation","validationCode":"// before running seed create, check the source kind\nimport \"github.com/hasura/graphql-engine/cli/mobile/plugins/hasura/internal/seed\" // conceptual\n\nfunc seedsSupported(kind hasura.SourceKind) bool {\n    switch kind {\n    case hasura.SourceKindPG, hasura.SourceKindCitus:\n        return true\n    }\n    return false\n}\n\nif !seedsSupported(source.Kind) {\n    log.Fatalf(\"source %s (%s) does not support seeds\", source.Name, source.Kind)\n}","typeGuard":"func isSeedableSource(s *hasura.Source) bool {\n    return s != nil && (s.Kind == hasura.SourceKindPG || s.Kind == hasura.SourceKindCitus)\n}","tryCatchPattern":null,"preventionTips":["Default the CLI's --database-name to a postgres source in project scripts","Document supported source kinds for teams using MSSQL sources"],"tags":["hasura","seed","source-kind","unsupported-operation"],"backgroundTag":"unsupported-database-kind","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}