Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dbt-sqlserver v2 roadmap

Planning and coordination workspace for porting the community dbt-sqlserver adapter to dbt Core v2.0 (the Rust/"Fusion" engine), per dbt Labs' Contribute a dbt Core 2.0 Adapter guide.

This repo does not contain the adapter code itself — that work happens as PRs against dbt-labs/dbt-core. This repo holds the plan, decision log, and local dev tooling used to get there.

Layout

  • plan/ — the implementation plan: architecture recap, file-by-file checklist, macro porting map, testing strategy, and the decision log (plan/05-open-questions-and-risks.md).
  • issues/ — drafts for issues to be opened on other repos (e.g. proposals for dbt-msft/dbt-sqlserver) before they're filed, so they get reviewed here first.
  • Makefile — clones the two repos this plan is written against.
  • AGENTS.md — conventions for anyone, human or agent, editing the plan: verify claims against a checkout, check live issue/PR state before trusting a decision, and bring ambiguous calls back to a maintainer.

Getting started

make setup   # clones dbt-core/ and dbt-sqlserver/ alongside this repo
make status  # check both repos' git status
make update  # pull latest on both

dbt-core is cloned from the fork on the sqlserver-v2-port integration branch, with dbt-labs/dbt-core added as the upstream remote — see plan/README.md, "Branching strategy". Override with DBT_CORE_URL / DBT_CORE_BRANCH, and pass CLONE_ARGS=--filter=blob:none for a blobless clone.

Devcontainer

.devcontainer/ builds one container for both sides of the port: the Rust toolchain, cargo-nextest, z3, pkg-config and protoc for dbt-core, and Python, uv, the Microsoft ODBC driver and sqlcmd for dbt-sqlserver, with docker-in-docker so make server can start SQL Server on :1433.

On creation it runs make setup (blobless), so both checkouts land inside the workspace with dbt-core on the sqlserver-v2-port branch, and sets up dbt-sqlserver's virtualenv and ADBC driver. Nothing to do after the container comes up but make server.

Both dbt-core/ and dbt-sqlserver/ are independent git checkouts with their own remotes and history — they're .gitignored here on purpose, not submodules. See plan/README.md for why.

References

About

Planning/coordination workspace for porting dbt-sqlserver to dbt Core v2.0 (Fusion)

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages