A command-line tool to visualize the differences between two DB states.
- Installation
- Features
- How to Use
- Examples
- Options
- Oracle Support Status
- Troubleshooting
- Contributing
- License
Install the package from PyPI:
# Using pip
pip install db-drift
# Using pipx
pipx install db-drift
# Using poetry
poetry add db-drift
# Using pipenv
pipenv install db-drift
# Using uv
uv add db-drift- Compare two database states and visualize the differences.
Basic usage:
db-drift --source "source.db" --target "target.db"The tool will generate an HTML report showing the differences between the two database states.
# Compare two SQLite databases
db-drift --source "old_version.db" --target "new_version.db"
# Specify custom output file
db-drift --source "db1.db" --target "db2.db" --output "my_report.html"
# Show version information
db-drift --version| Option | Description | Default | Required |
|---|---|---|---|
-v, --version |
Show version information and exit | - | No |
--dbms |
Specify the type of DBMS | sqlite |
No |
-o, --output |
Output filename for the drift report | drift_report.html |
No |
--source |
Connection string for the source database | - | Yes |
--target |
Connection string for the target database | - | Yes |
--verbose |
Enable verbose logging output | No | No |
Currently supported database management systems:
sqlite- SQLite databasesoracle- Oracle databases (in active development)
Note: Support for PostgreSQL and MySQL is planned for future releases.
Oracle support is available and actively evolving. The project can compare many Oracle object types today, but support is not yet considered end-to-end across all Oracle features and environments.
For the current scope, caveats, and examples, see
docs/oracle-support.md and
docs/supported-db-objects.md.
- Check the examples directory for working samples
- Review the issues page for known problems
- Create a new issue if you encounter a bug or have a feature request
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
Please read our CONTRIBUTING.md file for more details.
This project is licensed under the MIT License - see the LICENSE file for details.