Python 使用SQLAlchemy和alembic的方法

Python 使用SQLAlchemy和alembic的方法,python,sqlalchemy,migration,alembic,Python,Sqlalchemy,Migration,Alembic,我开始使用SQLAlchemy作为ORM构建应用程序 最初,我定义了18个数据模型,我知道我将需要这些模型。它们的大小从3列到30多列不等 根据SQLAlchemy和alembic文档,我可以为这些模型创建迁移,我应该执行如下升级功能: def upgrade(): op.create_table( 'account', sa.Column('id', sa.Integer, primary_key=True), sa.Column('na

我开始使用SQLAlchemy作为ORM构建应用程序

最初,我定义了18个数据模型,我知道我将需要这些模型。它们的大小从3列到30多列不等

根据SQLAlchemy和alembic文档,我可以为这些模型创建迁移,我应该执行如下升级功能:

def upgrade():
    op.create_table(
        'account',
        sa.Column('id', sa.Integer, primary_key=True),
        sa.Column('name', sa.String(50), nullable=False),
        sa.Column('description', sa.Unicode(200)),
    )
除了在op.create_table函数中再次写出我的~200列之外,我找不到任何其他方法来实现这一点


有没有更好的方法来减少重复和人为错误的可能性?我想我希望传递我的ORM模型(即我的类,它是声明性基的子类)并具有
op.create\u table
自动处理这个问题?我知道我需要在修订版中定义这些类(而不是从模型文件导入),以防止将来的更改破坏迁移,但是在当前状态下复制和粘贴它们比将每个列传递到
op.create_table

中要好得多。如果您使用alembic的自动生成功能,那么应该自动创建这些脚本。。。。阅读:太棒了,谢谢!