SqlAlchemy + Alembic-如何修复架构差异

时间:2018-09-10 19:01:59

标签: flask flask-sqlalchemy alembic

我刚刚将Flask应用程序推送到我的登台环境中,并且发现现在两个Postgres数据库之间存在差异。我的登台数据库在id表中有一个instance_tags列,而我的本地数据库则没有。

三个迁移之前,我添加了一个id列,然后在models.py文件中将其删除。当它没有从数据库中删除时,我最终手动删除了它。我知道,这可能是一件坏事!无论如何,我的迁移文件看起来像...

def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('instance_tags',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('instance_id', sa.String(length=30), nullable=False),
    sa.Column('tag_group', sa.String(length=50), nullable=True),
    sa.Column('tag', sa.String(length=50), nullable=True),
    sa.PrimaryKeyConstraint('id', 'instance_id', name=op.f('pk_instance_tags'))
    )

删除id列的最佳方法是什么?

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

听起来您需要op.drop_column(...)

op.drop_column('instance_tags', 'id')