没有 SQLAlchemy 的 Flask 中的数据库迁移

Yos*_*sry 6 python postgresql database-migration flask

有没有任何库或工具可以在没有 SQLAlchemy 的情况下在 python 中执行数据库迁移?我使用的是 PostgreSQL 数据库,查询是原始 SQL。我使用 psycopg2 进行数据库连接。

Tyl*_*non 9

在 SQLAlchemy 之外,有多种工具可用于通过 Python 中的迁移对数据库进行版本控制。我不能具体代表其中任何一个,所以我寻找那些似乎有一些采用以及积极维护的。

(截至2023年4月14日)

工具 GitHub 星星 保持 笔记
迁移 yandex/pgmigrate 第562章 2023 年 2 月 3 日 仅限 Postgres
数据库伙伴 阿麦克尼尔/dbmate 3.3k 2023 年 3 月
悠悠球 库巴斯/yoyo-migrations 0 2020年3月
迁移 golang/迁移 11.2k 2023 年 4 月 go-lang 库和 CLI 工具

我发现的其他资源似乎与一个或另一个框架相关。搜索包索引会发现很多旧资源。

如果人们发现 pgmigrate 或 dbmate 不受欢迎,那么从这里开始可能值得一问迁移工具是否真的需要特定于 Python。通常,迁移是构建过程的一部分,(在我看来)理想情况下应该需要尽可能少的编码和配置。

Juan D. Vega 的文章《与语言和框架无关的数据库迁移》重点介绍了golang/migrate CLI 工具,该工具试图提供一种管理迁移的方法,而不管数据库支持的应用程序的具体情况。

  • “Alembic 是一款轻量级数据库迁移工具,可与 SQLAlchemy Database Toolkit for Python 一起使用。” (2认同)
  • @codingbruh 不... (2认同)