{"record":{"id":"836da10c44ff89ef","repo":"hasura/graphql-engine","slug":"database-s-of-kind-s-is-not-supported","errorCode":null,"errorMessage":"database %s of kind %s is not supported","messagePattern":"database (.+?) of kind (.+?) is not supported","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/seed/apply.go","lineNumber":137,"sourceCode":"\t\t\t\t},\n\t\t\t}\n\t\t\targs = append(args, request)\n\t\t}\n\tcase hasura.SourceKindCitus:\n\t\tfor _, sql := range sqlAsBytes {\n\t\t\trequest := hasura.RequestBody{\n\t\t\t\tType: \"citus_run_sql\",\n\t\t\t\tArgs: hasura.CitusRunSQLInput{\n\t\t\t\t\tSQL:    string(sql),\n\t\t\t\t\tSource: source.Name,\n\t\t\t\t},\n\t\t\t}\n\t\t\targs = append(args, request)\n\t\t}\n\tdefault:\n\t\treturn errors.E(\n\t\t\top,\n\t\t\tfmt.Errorf(\"database %s of kind %s is not supported\", source.Name, source.Kind),\n\t\t)\n\t}\n\n\tif len(args) == 0 {\n\t\treturn errors.E(op, fmt.Errorf(\"no SQL files found in %s\", seedsDirectory))\n\t}\n\n\t_, err := d.SendBulk(args)\n\tif err != nil {\n\t\treturn errors.E(op, err)\n\t}\n\n\treturn nil\n}\n","sourceCodeStart":119,"sourceCodeEnd":152,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/cli/seed/apply.go#L119-L152","documentation":"ApplySeedsToDatabase builds database-specific request bodies via a switch on the source kind; only the known source kinds (e.g. postgres and other supported kinds) are handled. Any other kind falls into the default branch and is rejected with this error naming the offending database and its kind.","triggerScenarios":"Calling ApplyOnSource/ApplySeedsToDatabase for a source whose Kind string is not one of the supported kinds — e.g. a newly introduced or custom source kind, or a misspelled kind in the metadata (kind: postgress, kind: mssql before support, etc.).","commonSituations":"Upgrading the CLI/metadata to include a source kind this CLI version's seed code does not implement yet (version skew between server and CLI), or hand-editing metadata.yaml with a typo in the source kind.","solutions":["Check the source definition in metadata (sources[].kind) and fix typos to a supported kind (e.g. postgres).","Upgrade the CLI to a version that supports the source kind you are using (check release notes for seed support of that kind).","Remove or skip seeding for that source and seed it with a tool native to that database.","If the source is experimental, disable it in config for the seed apply run."],"exampleFix":"# before\n# metadata.yaml\nsources:\n  - name: mydb\n    kind: postgress   # typo -> database mydb of kind postgress is not supported\n\n# after\nsources:\n  - name: mydb\n    kind: postgres","handlingStrategy":"type-guard","validationCode":"var seedableKinds = map[string]bool{\"postgres\": true /* add supported kinds for your CLI version */}\nfor _, src := range metadata.Sources {\n    if !seedableKinds[src.Kind] {\n        continue // skip instead of failing the whole apply\n    }\n    ApplyOnSource(src, ...)\n}","typeGuard":"func isSeedableSource(kind string) bool {\n    switch kind {\n    case \"postgres\":\n        return true\n    default:\n        return false\n    }\n}","tryCatchPattern":"if err := seed.ApplyOnSource(src, ...); err != nil && strings.Contains(err.Error(), \"is not supported\") {\n    // skip this source, log, continue with others\n}","preventionTips":["Keep CLI and server versions in lockstep; upgrade the CLI before adding new source kinds.","Validate metadata.yaml source kinds in CI with a schema check.","Seed non-supported databases with their native tooling instead of the CLI."],"tags":["go","seeds","source-kind","metadata","hasura-cli"],"backgroundTag":"unsupported-source-kind","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}