Sqlalchemy Alembic单个数据库的几个模块

Sqlalchemy Alembic单个数据库的几个模块,sqlalchemy,alembic,Sqlalchemy,Alembic,我们需要构建一个可拆分为多个模块的大型应用程序 App - Module1 --> AppDb - Module2 --> AppDb - Module3 --> AppDb 每个模块,我们要添加alembic版本,所有模块连接到单个数据库。但是我们不能添加修订,因为它与其他模块的修订冲突(因为所有版本都存储在同一个表中,所以迁移相互冲突)。如果在每个模块1中使用单独的简单迁移,Module2和Module3各有其自己的env.py(或类似),解

我们需要构建一个可拆分为多个模块的大型应用程序

App
  - Module1    --> AppDb
  - Module2    --> AppDb
  - Module3    --> AppDb

每个模块,我们要添加alembic版本,所有模块连接到单个数据库。但是我们不能添加修订,因为它与其他模块的修订冲突(因为所有版本都存储在同一个表中,所以迁移相互冲突)。

如果在每个
模块1
中使用单独的简单迁移,
Module2
Module3
各有其自己的
env.py
(或类似),解决方案可以是使用
version\u table
参数来覆盖版本表的名称

i、 e.将
env.py
修改为

context.configure(
    connection=connection,
    target_metadata=target_metadata,
    version_table='alembic_module1_version'
)