# SSIS to dbt: worked example

Synthetic source fixture and synthetic input. No customer files or data.

## Generation

The local Deflows parser and deterministic PostgreSQL emitter produced this SQL. The existing Deflows dbt scaffold exporter produced the project files. The Truncate staging control task is deliberately excluded from row transformation. Its orchestration remains separate. The source maps from [dbo].[Orders] to source('source_db', 'dbo_orders') in raw.dbo_orders.

The production Convert API and native Alteryx/SSIS runtimes were not run. This is a local worked export, not a recorded production AI conversion or source-runtime parity report. The source XML is a parser fixture, not a certified runnable native package. Web Convert can produce different SQL.

## Verify locally

With PostgreSQL and psql available, extract the bundle and run:

```sh
psql -X -v ON_ERROR_STOP=1 -f verify.sql
```

Expected result: PASS. This checks full row values, nulls and duplicate counts in both directions with EXCEPT ALL. Temporary tables and a rollback keep the check isolated. PASS applies only to this input and its independently specified expected.json.

compiled.sql executes the model's SQL body with source() mapped to the temporary example_orders table and the config macro removed. This validates row logic; a dbt compile/build and warehouse connection have not been run. To use the scaffold in dbt, configure a default profile for a disposable PostgreSQL target, load the source table raw.dbo_orders with the original case-sensitive column names, then run dbt build. The beta scaffold contains model, source, schema and project files; credentials are not included.

## Limits

This example covers a Derived Column multiplication and an OLE DB source/destination. It does not certify package scheduling, truncation, append/merge behavior, error outputs, SQL Server permissions or dbt materialization equivalence. Native source output comparison and the Deflows Parity Test Kit were not run.
