我正在使用Alembic 0.8.9,SQLAlchemy 1.1.4,并且我的数据库是MySQL数据库。
我正在修改一个表和一个外键列:
在我的数据库中,我将'organs'表重命名为'purposes'。 使用以下命令:
from alembic import op
def upgrade():
op.rename_table('organs', 'purposes')
在那之后,我想要更新另一个表中的外键:之前
class Order(DeclarativeBase):
__tablename__ = 'orders'
id = Column(Integer, autoincrement=True, primary_key=True)
organ_id = Column(Integer, ForeignKey('organs.id'))
之后
class Order(DeclarativeBase):
__tablename__ = 'orders'
id = Column(Integer, autoincrement=True, primary_key=True)
purpose_id = Column(Integer, ForeignKey('purposes.id'))
我需要帮助编写一个Alembic迁移脚本,以便在数据库中反映这个更改。如何修改外键列?
感谢您的帮助。
op.alter_column('orders', 'organ_id', new_column_name='purpose_id')
即可。 - Ilja Everilä