【发布时间】:2015-02-17 20:23:48
【问题描述】:
我将 Flask、Alembic 和 PostgreSQL 与 SQLAlchemy 一起使用。我有一个现有的表location_messages,其中有一列campaign_id。这是最初在模型中使用代码创建的
campaign_id = db.Column(db.Integer)
我想给它添加一个外键,所以我更新了模型
campaign_id = db.Column(db.Integer, db.ForeignKey('campaigns.id'))
我运行了revision --autogenerate,但它没有创建任何东西——所以我一直在查看docs,但我无法理解我使用的语法。对于它的价值,在 Alembic 中从头开始(删除它之后)创建表是
op.create_table('location_messages',
[...]
sa.Column('campaign_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['campaign_id'], ['campaigns.id'], ),
sa.PrimaryKeyConstraint('id')
)
但就我的生活而言,我找不到为现有表执行此操作的方法。有没有办法只获取表的实例并将ForeignKeyConstraint 分配给列?
【问题讨论】:
标签: python flask sqlalchemy flask-sqlalchemy alembic