databrickslabs / databrickslabs/lsql
Change how `SchemaDeployer` replaces target database in view defintions
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 39
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Problem description
Currently, the SchemaDeployer replaces the hardcoded "$inventory" value to overwrite the catalog and schema given during initialisation in the view definitions. We want to avoid such a hardcoded value.
Proposed solution
An approach where $inventory is NOT hardcoded, possibly using sqlglot as we do in the dasboard-as-code here
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/databricks/labs/lsql/deployment.py at the referenced SchemaDeployer logic, then compare the sqlglot usage in src/databricks/labs/lsql/dashboards.py around line 532. Determine how view definitions can identify and replace the target without relying on "$inventory". Done means the catalog and schema supplied during initialization are applied without that hardcoded value.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, sql
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100