Roadmap
This page describes the direction of the project, my intent and ideas. This project is worked on in my spare time, and nothing here is a commitment to ship anything. If something here matters to you, the best way to influence it is by opening an issue or discussion.
Where things stand
Section titled “Where things stand”The core engine, the nschema CLI, and three database providers: PostgreSQL, SQL Server, and SQLite, are built, published,
and usable today. The declarative workflow (plan / apply / destroy), saved plan files, drift detection, state
backends, and the embeddable NSchema.Core library are all in place, and there are no major functionality gaps when
compared with analogous tools like Terraform.
Active
Section titled “Active”In the meantime, though, NSchema is very fresh, and would benefit from some solid battle-testing, so I can be confident that it runs in real environments as well as it does across hundreds of integration tests. To that end, I’m currently focusing on fixes and improvements, until I’m sure I’ve found all the sharp edges, and tightened any loose bolts.
Planned
Section titled “Planned”As I see it, the biggest gap is in backend and provider support, and that’s where the next feature push should be:
- More providers. Broadening database support to include: Oracle, MySql, Snowflake.
- More state backends. Additional remote backends including: Azure Blob Storage and whatever thing Google Cloud has.
- Deeper PostgreSQL fidelity. Coverage of more advanced objects and options (e.g. index operator classes, row-level security, partitioning).
Launched
Section titled “Launched”Shipped changes are recorded per package in the Changelog. For day-to-day progress and discussion, watch the repositories listed on the Contributing page.