Eri*_*ric 10 python sqlalchemy flask flask-sqlalchemy alembic
我正在使用Flask,Alembic和PostgreSQL与SQLAlchemy.我有location_messages一个列的现有表campaign_id.这是最初在模型中使用代码创建的
campaign_id = db.Column(db.Integer)
Run Code Online (Sandbox Code Playgroud)
我想为它添加一个外键,所以我更新了模型
campaign_id = db.Column(db.Integer, db.ForeignKey('campaigns.id'))
Run Code Online (Sandbox Code Playgroud)
我跑了revision --autogenerate但它没有创建任何东西 - 所以我一直在查看文档,但我不能理解我的用法语法.对于它的价值,在Alembic中从头开始创建表(放下它之后)是
op.create_table('location_messages',
[...]
sa.Column('campaign_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['campaign_id'], ['campaigns.id'], ),
sa.PrimaryKeyConstraint('id')
)
Run Code Online (Sandbox Code Playgroud)
但对于我的生活,我找不到一种方法来为现有的桌子做这件事.有没有办法获取表的实例并将其分配ForeignKeyConstraint给列?
dav*_*ism 12
你正在寻找的Alembic op是create_foreign_key.
op.create_foreign_key(
'fk_location_message_campaign',
'location_messages', 'campaigns',
['campaign_id'], ['id'],
)
Run Code Online (Sandbox Code Playgroud)
建议您使用自动约束命名,以便可以None作为名称传递,而不是手动命名.
| 归档时间: |
|
| 查看次数: |
8767 次 |
| 最近记录: |