跳转到主要内容

为SQLAlchemy提供自动迁移

项目描述

SQLSugar - 为SQLAlchemy提供自动迁移

PyPI Changelog License

如果您想在无需花费时间生成迁移的情况下使用真实数据库,则该库适合您。这是实验性的,随着项目的成熟,您应该切换到Alembic。该库仅支持添加新表、列和索引。

安装

使用pip安装此库

pip install sqlsugar

用法

查找与SQLAlchemySQLModel相关的示例。

from sqlsugar import migrate

migrate(engine.connect(), Base.metadata)

工作原理

我们使用Alembic来自动生成使用SQLAlchemy定义的模型与数据库之间的差异。然后执行创建表、添加新列或添加新索引的操作。这通常是快速原型设计或运行非常小的个人项目所需的全部。

但是,我们不支持重命名列、删除列或删除表。随着需求的演变,您应该切换到使用Alembic。或者,您也可以尝试手动运行这些迁移。

开发

要为此库做出贡献,首先检出代码。然后创建一个新的虚拟环境

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

现在安装依赖项和测试依赖项

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

要运行测试

pytest

由以下支持