Skip to content

Commit b76bd79

Browse files
committed
refactor!: remove feature flags
1 parent 5bb40a1 commit b76bd79

File tree

5 files changed

+3
-82
lines changed

5 files changed

+3
-82
lines changed

sqlmesh/core/config/feature_flag.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

sqlmesh/core/config/root.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
SerializableConnectionConfig,
2828
connection_config_validator,
2929
)
30-
from sqlmesh.core.config.feature_flag import FeatureFlag
3130
from sqlmesh.core.config.format import FormatConfig
3231
from sqlmesh.core.config.gateway import GatewayConfig
3332
from sqlmesh.core.config.janitor import JanitorConfig
@@ -122,7 +121,6 @@ class Config(BaseConfig):
122121
log_limit: The default number of logs to keep.
123122
format: The formatting options for SQL code.
124123
ui: The UI configuration for SQLMesh.
125-
feature_flags: Feature flags to enable/disable certain features.
126124
plan: The plan configuration.
127125
migration: The migration configuration.
128126
variables: A dictionary of variables that can be used in models / macros.
@@ -165,7 +163,6 @@ class Config(BaseConfig):
165163
run: RunConfig = RunConfig()
166164
format: FormatConfig = FormatConfig()
167165
ui: UIConfig = UIConfig()
168-
feature_flags: FeatureFlag = FeatureFlag()
169166
plan: PlanConfig = PlanConfig()
170167
migration: MigrationConfig = MigrationConfig()
171168
model_naming: NameInferenceConfig = NameInferenceConfig()

sqlmesh/dbt/loader.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from sqlmesh.dbt.basemodel import BMC, BaseModelConfig
2020
from sqlmesh.dbt.common import Dependencies
2121
from sqlmesh.dbt.context import DbtContext
22-
from sqlmesh.dbt.model import ModelConfig
2322
from sqlmesh.dbt.profile import Profile
2423
from sqlmesh.dbt.project import Project
2524
from sqlmesh.dbt.target import TargetConfig
@@ -139,16 +138,6 @@ def _to_sqlmesh(config: BMC, context: DbtContext) -> Model:
139138
package_models: t.Dict[str, BaseModelConfig] = {**package.models, **package.seeds}
140139

141140
for model in package_models.values():
142-
if (
143-
not context.sqlmesh_config.feature_flags.dbt.scd_type_2_support
144-
and isinstance(model, ModelConfig)
145-
and model.model_kind(context).is_scd_type_2
146-
):
147-
logger.info(
148-
"Skipping loading Snapshot (SCD Type 2) models due to the feature flag disabling this feature"
149-
)
150-
continue
151-
152141
sqlmesh_model = cache.get_or_load_models(
153142
model.path, loader=lambda: [_to_sqlmesh(model, context)]
154143
)[0]

tests/core/test_config.py

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
TableNamingConvention,
2222
)
2323
from sqlmesh.core.config.connection import DuckDBAttachOptions, RedshiftConnectionConfig
24-
from sqlmesh.core.config.feature_flag import DbtFeatureFlag, FeatureFlag
2524
from sqlmesh.core.config.loader import (
2625
load_config_from_env,
2726
load_config_from_paths,
@@ -299,12 +298,10 @@ def test_load_config_from_env():
299298
{
300299
"SQLMESH__GATEWAY__CONNECTION__TYPE": "duckdb",
301300
"SQLMESH__GATEWAY__CONNECTION__DATABASE": "test_db",
302-
"SQLMESH__FEATURE_FLAGS__DBT__SCD_TYPE_2_SUPPORT": "false",
303301
},
304302
):
305303
assert Config.parse_obj(load_config_from_env()) == Config(
306304
gateways=GatewayConfig(connection=DuckDBConnectionConfig(database="test_db")),
307-
feature_flags=FeatureFlag(dbt=DbtFeatureFlag(scd_type_2_support=False)),
308305
)
309306

310307

@@ -505,35 +502,6 @@ def test_physical_schema_mapping_mutually_exclusive_with_physical_schema_overrid
505502
Config(physical_schema_override={"foo": "bar"}, physical_schema_mapping={"^foo$": "bar"}) # type: ignore
506503

507504

508-
def test_load_feature_flag(tmp_path_factory):
509-
config_path = tmp_path_factory.mktemp("yaml_config") / "config.yaml"
510-
with open(config_path, "w", encoding="utf-8") as fd:
511-
fd.write(
512-
"""
513-
gateways:
514-
duckdb_gateway:
515-
connection:
516-
type: duckdb
517-
model_defaults:
518-
dialect: bigquery
519-
feature_flags:
520-
dbt:
521-
scd_type_2_support: false
522-
"""
523-
)
524-
525-
assert load_config_from_paths(
526-
Config,
527-
project_paths=[config_path],
528-
) == Config(
529-
gateways={
530-
"duckdb_gateway": GatewayConfig(connection=DuckDBConnectionConfig()),
531-
},
532-
model_defaults=ModelDefaultsConfig(dialect="bigquery"),
533-
feature_flags=FeatureFlag(dbt=DbtFeatureFlag(scd_type_2_support=False)),
534-
)
535-
536-
537505
def test_load_alternative_config_type(yaml_config_path: Path, python_config_path: Path):
538506
class DerivedConfig(Config):
539507
pass
@@ -1435,7 +1403,7 @@ def test_physical_table_naming_convention(
14351403
gateways:
14361404
test_gateway:
14371405
connection:
1438-
type: duckdb
1406+
type: duckdb
14391407
model_defaults:
14401408
dialect: duckdb
14411409
{config_part}
@@ -1504,7 +1472,7 @@ def test_load_configs_in_dbt_project_without_config_py(tmp_path: Path):
15041472
outputs:
15051473
dev:
15061474
type: duckdb
1507-
path: 'jaffle_shop.duckdb'
1475+
path: 'jaffle_shop.duckdb'
15081476
""")
15091477

15101478
(tmp_path / "sqlmesh.yaml").write_text("""
@@ -1513,7 +1481,7 @@ def test_load_configs_in_dbt_project_without_config_py(tmp_path: Path):
15131481
state_connection:
15141482
type: duckdb
15151483
database: state.db
1516-
model_defaults:
1484+
model_defaults:
15171485
start: '2020-01-01'
15181486
""")
15191487

tests/dbt/test_adapter.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import annotations
22

3-
import os
43
import typing as t
54
from unittest import mock
65
from unittest.mock import call
@@ -11,7 +10,6 @@
1110
from pytest_mock.plugin import MockerFixture
1211
from sqlglot import exp, parse_one
1312

14-
from sqlmesh import Context
1513
from sqlmesh.core.dialect import schema_
1614
from sqlmesh.core.snapshot import SnapshotId
1715
from sqlmesh.dbt.adapter import ParsetimeAdapter
@@ -277,28 +275,6 @@ def test_adapter_map_snapshot_tables(
277275
assert renderer("{{ adapter.resolve_identifier(foo_bar) }}") == "bar"
278276

279277

280-
def test_feature_flag_scd_type_2(copy_to_temp_path, caplog):
281-
project_root = "tests/fixtures/dbt/sushi_test"
282-
sushi_context = Context(paths=copy_to_temp_path(project_root))
283-
assert '"memory"."snapshots"."items_snapshot"' in sushi_context.models
284-
assert (
285-
"Skipping loading Snapshot (SCD Type 2) models due to the feature flag disabling this feature"
286-
not in caplog.text
287-
)
288-
with mock.patch.dict(
289-
os.environ,
290-
{
291-
"SQLMESH__FEATURE_FLAGS__DBT__SCD_TYPE_2_SUPPORT": "false",
292-
},
293-
):
294-
sushi_context = Context(paths=copy_to_temp_path(project_root))
295-
assert '"memory"."snapshots"."items_snapshot"' not in sushi_context.models
296-
assert (
297-
"Skipping loading Snapshot (SCD Type 2) models due to the feature flag disabling this feature"
298-
in caplog.text
299-
)
300-
301-
302278
def test_quote_as_configured():
303279
adapter = ParsetimeAdapter(
304280
JinjaMacroRegistry(),

0 commit comments

Comments
 (0)