【问题标题】:Sqlite3 schema upgrade using alembic使用 alembic 升级 Sqlite3 架构
【发布时间】:2015-12-01 10:04:57
【问题描述】:

我有通过 API 使用 sqlite3 db 的 C++ 应用程序 (Linux)。目前 DB 与 RPM 中的二进制文件一起提供。该数据库已经具有所有必需的表。我的应用程序在运行时不会尝试更改任何架构。 现在我必须支持下一个版本的数据库模式升级,因为模式可能会在未来发生变化。知道如何实现这一目标吗?

【问题讨论】:

    标签: c++ sqlite sqlalchemy alembic sqlalchemy-migrate


    【解决方案1】:

    Alembic 绝对可以做您想做的事,但鉴于您的应用程序是 C++ 而不是 python,因此在 python 中维护表的所有声明性模型可能不值得付出努力。鉴于您只使用 sqlite,我建议您手动编写 SQL 更新语句,然后从 alembics 书中取出一片叶子并创建一个带有一个条目的版本表 - 当前数据库版本。

    当您的应用启动时,检查当前数据库版本并按顺序运行您的迁移脚本,直到您将数据库迁移到最新版本。

    PS:帮自己一个忙,还要写降级脚本。如果您出于任何原因需要回滚,这些将很方便

    【讨论】:

      猜你喜欢
      • 2019-08-14
      • 1970-01-01
      • 2020-12-22
      • 2020-12-06
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 2019-12-11
      相关资源
      最近更新 更多