- **`rocky import-dbt` no longer silently mis-converts — it fixes or loudly flags each gap.** A migration tool that quietly emits wrong SQL is worse than one that errors, so this closes the silent failures: dbt **`alias`** now drives the sidecar `[target].table` (it was hardcoded to the node name, silently routing data to the wrong table); **`{{ this }}`** resolves to the model's real FQN (was a bogus `__this__`); **`{% for %}`/`{% set %}`** on the no-manifest path are **refused** rather than half-rendered into broken SQL (a `{% if %}` still emits with a TODO marker); dbt **`merge_update_columns`** carries into the `merge` strategy (was update-all); dbt **microbatch** maps to an idempotent `merge(unique_key)` instead of an append-only insert that re-inserts the lookback window every run; configured **`not_null`/`unique`** tests convert and carry `severity:`/`where:` (were dropped); dbt **tags** carry onto the model `[tags]` block; and the resources the importer skips (**snapshots, metrics, semantic models, exposures**) are now detected and counted (`constructs_dropped` + per-resource warnings) instead of vanishing. When a manifest carries no compiled SQL, the importer warns loudly to run `dbt compile` first rather than regex-rendering every model. (#944)
0 commit comments