Teemu / sqlsugar

Automatic migrations for SQLAlchemy 🍭

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SQLSugar - Automatic migrations for SQLAlchemy

sqlsugar

PyPI Changelog License

This library is for you if you want to use a real database without spending time to generate migrations. This is experimental and you should switch to Alembic as your project matures. This only supports adding new tables, columns and indexes.

Installation

Install this library using pip:

pip install sqlsugar

Usage

See our examples for SQLAlchemy and SQLModel.

from sqlsugar import migrate

# You only need this command to handle creating tables & running migrations
migrate(engine.connect(), Base.metadata)

How it works

We use Alembic to autogenerate the difference between the models you have defined with SQLAlchemy and the database. We then execute operations that create tables, add new columns or add new indexes. That is often all that's needed for rapid prototyping or running very small hobby projects.

However, we don't support renaming columns, dropping columns or removing tables. You should switch to using Alembic as your needs evolve. Alternatively, you can try running those migrations manually.

Development

To contribute to this library, first checkout the code. Then create a new virtual environment:

cd sqlsugar
python -m venv .venv
source .venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'
pre-commit install

To run the tests:

pytest

About

Automatic migrations for SQLAlchemy 🍭

License:MIT License


Languages

Language:Python 100.0%