Skip to content

Commit 50ac270

Browse files
committed
Fix lsp test
1 parent 8411554 commit 50ac270

3 files changed

Lines changed: 16 additions & 8 deletions

File tree

sqlmesh/cli/project_init.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ def _gen_config(
3636
start: t.Optional[str],
3737
template: ProjectTemplate,
3838
cli_mode: InitCliMode,
39+
dialect: t.Optional[str] = None,
3940
) -> str:
41+
project_dialect = dialect or DIALECT_TO_TYPE.get(engine_type)
42+
4043
connection_settings = (
4144
settings
4245
or """ type: duckdb
@@ -96,7 +99,7 @@ def _gen_config(
9699
# https://sqlmesh.readthedocs.io/en/stable/reference/model_configuration/#model-defaults
97100
98101
model_defaults:
99-
dialect: {DIALECT_TO_TYPE.get(engine_type)}
102+
dialect: {project_dialect}
100103
start: {start or yesterday_ds()} # Start date for backfill history
101104
cron: '@daily' # Run models daily at 12am UTC (can override per model)
102105
@@ -274,6 +277,7 @@ def _gen_example_objects(schema_name: str) -> ExampleObjects:
274277
def init_example_project(
275278
path: t.Union[str, Path],
276279
engine_type: t.Optional[str],
280+
dialect: t.Optional[str] = None,
277281
template: ProjectTemplate = ProjectTemplate.DEFAULT,
278282
pipeline: t.Optional[str] = None,
279283
dlt_path: t.Optional[str] = None,
@@ -314,17 +318,17 @@ def init_example_project(
314318
settings = None
315319
start = None
316320
if engine_type and template == ProjectTemplate.DLT:
317-
dialect = DIALECT_TO_TYPE.get(engine_type)
318-
if pipeline and dialect:
321+
project_dialect = dialect or DIALECT_TO_TYPE.get(engine_type)
322+
if pipeline and project_dialect:
319323
dlt_models, settings, start = generate_dlt_models_and_settings(
320-
pipeline_name=pipeline, dialect=dialect, dlt_path=dlt_path
324+
pipeline_name=pipeline, dialect=project_dialect, dlt_path=dlt_path
321325
)
322326
else:
323327
raise SQLMeshError(
324328
"Please provide a DLT pipeline with the `--dlt-pipeline` flag to generate a SQLMesh project from DLT."
325329
)
326330

327-
_create_config(config_path, engine_type, settings, start, template, cli_mode)
331+
_create_config(config_path, engine_type, dialect, settings, start, template, cli_mode)
328332
if template == ProjectTemplate.DBT:
329333
return config_path
330334

@@ -359,12 +363,13 @@ def _create_folders(target_folders: t.Sequence[Path]) -> None:
359363
def _create_config(
360364
config_path: Path,
361365
engine_type: t.Optional[str],
366+
dialect: t.Optional[str],
362367
settings: t.Optional[str],
363368
start: t.Optional[str],
364369
template: ProjectTemplate,
365370
cli_mode: InitCliMode,
366371
) -> None:
367-
project_config = _gen_config(engine_type, settings, start, template, cli_mode)
372+
project_config = _gen_config(engine_type, settings, start, template, cli_mode, dialect)
368373

369374
_write_file(
370375
config_path,

sqlmesh/magics.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ def init(self, line: str) -> None:
195195
init_example_project(
196196
path=args.path,
197197
engine_type=args.engine,
198+
dialect=None,
198199
template=project_template,
199200
pipeline=args.dlt_pipeline,
200201
dlt_path=args.dlt_path,

tests/lsp/test_reference_model_column_prefix.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from pathlib import Path
22

33
from lsprotocol.types import Position
4-
from sqlmesh.cli.example_project import init_example_project
4+
from sqlmesh.cli.project_init import init_example_project
55
from sqlmesh.core.context import Context
66
from sqlmesh.lsp.context import LSPContext, ModelTarget
77
from sqlmesh.lsp.reference import get_all_references
@@ -84,7 +84,9 @@ def test_column_prefix_references_are_found():
8484

8585
def test_quoted_uppercase_table_and_column_references(tmp_path: Path):
8686
# Initialize example project in temporary directory with case sensitive normalization
87-
init_example_project(tmp_path, dialect="duckdb,normalization_strategy=case_sensitive")
87+
init_example_project(
88+
tmp_path, engine_type="duckdb", dialect="duckdb,normalization_strategy=case_sensitive"
89+
)
8890

8991
# Create a model with quoted uppercase schema and table names
9092
models_dir = tmp_path / "models"

0 commit comments

Comments
 (0)