【发布时间】:2015-09-26 18:42:04
【问题描述】:
我有一个用于创建表的 alembic 升级脚本,但是如果它已经存在,我不希望它创建该表。
根据alembic doc,我可以将关键字args传递给op.create_tables,sqlalchemy.schema.table可以接受,所以我使用keep_existing关键字:
op.create_table('foo_model',
sa.Column('foo_id', sa.Integer(), nullable=False),
sa.Column('foo_str', sa.String(length=255), nullable=True),
sa.PrimaryKeyConstraint('foo_id'),
keep_existing= True
)
但是我仍然收到表已存在错误。
sqlalchemy.exc.InternalError: (InternalError) (1050, u"Table 'foo_model' already exists") '\nCREATE TABLE foo_model (\n\tfoo_id INTEGER NOT NULL AUTO_INCREMENT, \n\tfoo_str VARCHAR(255), \n\tPRIMARY KEY (foo_id)\n)\n\n' ()
【问题讨论】:
-
您检查了为什么keep_existing 不起作用?
标签: python database-migration alembic