diff --git a/labs.yml b/labs.yml index 8fe9424d..e9c86f68 100644 --- a/labs.yml +++ b/labs.yml @@ -9,6 +9,10 @@ commands: flags: - name: folder description: The folder with dashboard files. By default, the current working directory. + - name: catalog + description: | + Overwrite the catalog in query with given value. Useful when developing with seperated catalogs, for + example, for production and development. - name: database description: | Overwrite the database in query with given value. Useful when developing with seperated databases, for diff --git a/src/databricks/labs/lsql/cli.py b/src/databricks/labs/lsql/cli.py index 235247c0..7fc4e1b1 100644 --- a/src/databricks/labs/lsql/cli.py +++ b/src/databricks/labs/lsql/cli.py @@ -16,6 +16,7 @@ def create_dashboard( w: WorkspaceClient, folder: Path = Path.cwd(), *, + catalog: str = "", database: str = "", no_open: bool = False, ): @@ -23,9 +24,9 @@ def create_dashboard( logger.debug("Creating dashboard ...") lakeview_dashboards = Dashboards(w) folder = Path(folder) - dashboard_metadata = DashboardMetadata.from_path(folder) - if database: - dashboard_metadata = dashboard_metadata.replace_database(database) + dashboard_metadata = DashboardMetadata.from_path(folder).replace_database( + catalog=catalog or None, database=database or None + ) lakeview_dashboard = lakeview_dashboards.create_dashboard(dashboard_metadata) sdk_dashboard = lakeview_dashboards.deploy_dashboard(lakeview_dashboard) dashboard_url = f"{w.config.host}/sql/dashboardsv3/{sdk_dashboard.dashboard_id}"