From 6c5b1c8318d5c97667d98ad4e5c66697e13c67ed Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Sat, 17 Jan 2026 14:28:08 +0100 Subject: [PATCH] Fix default_catalog handling in aitools init-template commands Don't set default_catalog in config map when catalog flag is empty. This lets the template schema default handle the fallback to hive_metastore, instead of passing an empty string which bypasses the default. Co-Authored-By: Claude Opus 4.5 --- experimental/aitools/cmd/init_template/empty.go | 11 ++++------- experimental/aitools/cmd/init_template/job.go | 10 +++------- experimental/aitools/cmd/init_template/pipeline.go | 11 ++++------- 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/experimental/aitools/cmd/init_template/empty.go b/experimental/aitools/cmd/init_template/empty.go index bb68cf83d1..55322b4d0c 100644 --- a/experimental/aitools/cmd/init_template/empty.go +++ b/experimental/aitools/cmd/init_template/empty.go @@ -5,7 +5,6 @@ import ( "fmt" "github.com/databricks/cli/cmd/root" - "github.com/databricks/cli/experimental/aitools/lib/middlewares" "github.com/databricks/cli/libs/template" "github.com/spf13/cobra" ) @@ -62,16 +61,14 @@ After initialization: return fmt.Errorf("--language must be 'python', 'sql', or 'other', got '%s'", language) } - // Default to workspace default catalog if not specified - if catalog == "" { - catalog = middlewares.GetDefaultCatalog(ctx) - } - configMap := map[string]any{ "project_name": name, "personal_schemas": "yes", "language_choice": language, - "default_catalog": catalog, + } + + if catalog != "" { + configMap["default_catalog"] = catalog } return MaterializeTemplate(ctx, TemplateConfig{ diff --git a/experimental/aitools/cmd/init_template/job.go b/experimental/aitools/cmd/init_template/job.go index 311192e0f8..3b579a297b 100644 --- a/experimental/aitools/cmd/init_template/job.go +++ b/experimental/aitools/cmd/init_template/job.go @@ -4,7 +4,6 @@ import ( "errors" "github.com/databricks/cli/cmd/root" - "github.com/databricks/cli/experimental/aitools/lib/middlewares" "github.com/databricks/cli/libs/template" "github.com/spf13/cobra" ) @@ -50,11 +49,6 @@ After initialization: return errors.New("--name is required. Example: init-template job --name my_job") } - // Default to workspace default catalog if not specified - if catalog == "" { - catalog = middlewares.GetDefaultCatalog(ctx) - } - configMap := map[string]any{ "project_name": name, "include_job": "yes", @@ -62,7 +56,9 @@ After initialization: "include_python": "yes", "serverless": "yes", "personal_schemas": "yes", - "default_catalog": catalog, + } + if catalog != "" { + configMap["default_catalog"] = catalog } return MaterializeTemplate(ctx, TemplateConfig{ diff --git a/experimental/aitools/cmd/init_template/pipeline.go b/experimental/aitools/cmd/init_template/pipeline.go index 345d917497..35e5276bde 100644 --- a/experimental/aitools/cmd/init_template/pipeline.go +++ b/experimental/aitools/cmd/init_template/pipeline.go @@ -5,7 +5,6 @@ import ( "fmt" "github.com/databricks/cli/cmd/root" - "github.com/databricks/cli/experimental/aitools/lib/middlewares" "github.com/databricks/cli/libs/template" "github.com/spf13/cobra" ) @@ -59,16 +58,14 @@ After initialization: return fmt.Errorf("--language must be 'python' or 'sql', got '%s'", language) } - // Default to workspace default catalog if not specified - if catalog == "" { - catalog = middlewares.GetDefaultCatalog(ctx) - } - configMap := map[string]any{ "project_name": name, "personal_schemas": "yes", "language": language, - "default_catalog": catalog, + } + + if catalog != "" { + configMap["default_catalog"] = catalog } return MaterializeTemplate(ctx, TemplateConfig{