diff --git a/sqlmesh/dbt/loader.py b/sqlmesh/dbt/loader.py index 8fd7926ad5..4f473a20ab 100644 --- a/sqlmesh/dbt/loader.py +++ b/sqlmesh/dbt/loader.py @@ -19,6 +19,7 @@ from sqlmesh.dbt.basemodel import BMC, BaseModelConfig from sqlmesh.dbt.common import Dependencies from sqlmesh.dbt.context import DbtContext +from sqlmesh.dbt.model import ModelConfig from sqlmesh.dbt.profile import Profile from sqlmesh.dbt.project import Project from sqlmesh.dbt.target import TargetConfig @@ -137,6 +138,10 @@ def _to_sqlmesh(config: BMC, context: DbtContext) -> Model: package_models: t.Dict[str, BaseModelConfig] = {**package.models, **package.seeds} for model in package_models.values(): + if isinstance(model, ModelConfig) and not model.sql_no_config: + logger.info(f"Skipping empty model '{model.name}' at path '{model.path}'.") + continue + sqlmesh_model = cache.get_or_load_models( model.path, loader=lambda: [_to_sqlmesh(model, package_context)] )[0] diff --git a/tests/fixtures/dbt/sushi_test/models/empty_model.sql b/tests/fixtures/dbt/sushi_test/models/empty_model.sql new file mode 100644 index 0000000000..e69de29bb2