【发布时间】:2017-08-15 16:56:39
【问题描述】:
我在使用 Flask-Migrate 运行升级命令时遇到问题。最初我试图一次修改三个表并且它挂起,我将其缩小到一个特定的表(其他升级没有问题)。我没有看到数据库上有任何锁。我正在使用 Postgres,目前只是在开发环境中工作。 migrate 命令似乎工作正常并生成upgrade 方法没有任何问题(见代码)
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('equipment', 'criteria_notes')
# ### end Alembic commands ###
一旦我运行升级命令,我就会卡在这里:
>flask db upgrade
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade 76bf72d8e0e4 -> 1723c01f0606, empty message
带有闪烁的光标。当我退出命令窗口(我正在使用 windows)时,没有应用任何更改。
我试过了
- 重启电脑
- 使用 pgAdmin 寻找锁或其他会话
- 修改其他表,可以添加和删除列
【问题讨论】:
-
此列所在的表有多大?
-
@Miguel 目前很小。 11 列 4 行。
-
如果您尝试通过 SQL 删除列会发生什么(即
ALTER TABLE ...)?这也挂了吗? -
@Miguel 这行得通。我昨天下午尝试了作为解决方法。我找到了所有使用
Flask db upgrade --sql的 SQL 命令并更新了我的表和 alembic 表。 -
我也遇到了这个问题。奇怪的是,它只发生在我的登台环境中。当我创建数据库转储并在本地开发环境中运行它时,它似乎可以工作。
标签: python postgresql flask-migrate