【问题标题】:alembic and development / production databasesalembic 和开发/生产数据库
【发布时间】:2017-04-13 23:37:20
【问题描述】:

出于开发目的,我使用 sqlite,但我希望在生产环境中使用 postgres。

我看到 alembic 支持多个数据库。

我不太清楚的是,不同数据库引擎的迁移脚本是否相同——换句话说,我可以为 postgres 和 sqlite 使用相同的迁移脚本,还是应该为它们维护完全独立的 alembic 环境?

【问题讨论】:

  • 为什么不使用 postgresql 进行开发/测试呢?
  • 因为有多个开发人员在项目上工作,所以他们更容易处理代码,而无需所有人都运行本地 postgres。
  • 我将其标记为stackoverflow.com/questions/10859186/… 的可能重复项,因为这似乎是一个通用问题,对 python + sqlalchemy + 不管或 ruby​​ on rails + heroku 都有效(该问题的标签) .事实上,它有更多可能的重复,尽管没有答案:stackoverflow.com/questions/28870255/…
  • 我认为这个问题不是重复的,因为它询问相同的迁移是否适用于多个后端,而不是在开发中使用与生产不同的数据库是否明智。在其他情况下,您可能希望迁移在多个数据库上工作。

标签: sqlalchemy alembic


【解决方案1】:

Alembic 迁移是使用 SQLAlchemy 数据类型编写的。 SQLAlchemy 具有通用类型和供应商特定类型。

如果您使用供应商特定的数据类型,那么您的迁移将无法跨多个供应商进行。否则他们应该这样做。

有关 SQLAlchemy 中类型的更多信息,请查看http://docs.sqlalchemy.org/en/rel_1_1/core/type_basics.html

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 2015-11-18
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    相关资源
    最近更新 更多