Welcome to Database Version Control’s documentation!#

_images/app_logo_black.png

DVC to version control your database!

License GitHub Workflow Status Readthedocs PyPI Python Commit Last commit GitHub Youtube

Summary#

Compute (Application) and Storage (Database) are decoupled.

When you make changes to your application code, you should also mke changes to your database. In other words, you probably want to version control both your application code and your database. Without version controlling both, any changes in either side can cause incompatibility issues and break the entire service as a whole.

Use DVC now to version control your database!

Description#

Database Version Control (DVC) is a CLI utility which version controls your database in the following ways:

  • Generate metadata table(s) in your database;

  • For each SQL script applied, update the metadata table(s);

  • Exposes the metadata via CLI commands.

Benefits#

  • Rich metadata is available in the database. The database can be directly queried with SQL for both historical and current database versions.

  • Only plain SQL files are accepted. No extra abstraction layer as is generally available in ORM.

More information#

Supported Databases#