我检查了一个使用Alembic的现有Flask-Restful项目,当我运行迁移时,我不得不合并不同的蒸馏器头。我无法弄清楚这是怎么发生的 - 我已经从桌面推出并直接拉到笔记本电脑上。
我确实设法解决了这个问题并继续正常进行。
稍后,我推送到Git并将项目拉回到我的桌面计算机上。当我尝试运行时
python manage.py db upgrade
我明白了:
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) column "logo" of relation "despatch_details" does not exist
[SQL: 'ALTER TABLE despatch_details DROP COLUMN logo']
查看我桌面计算机上的数据库,我可以看到它在合并点之前。例如,合并后脚本尝试创建的某些表已存在于我的桌面框中,alembic_version
位于合并点和最新迁移之间。
我尝试过手动编辑脚本并一个接一个地修复一个错误,但它只是在深入挖掘我。
我是否需要在桌面计算机上回滚到合并点,然后运行新的
python manage.py db upgrade
我无法解决它,因为我想要的最后一件事就是当我推送到暂存(目前在合并点之后)时会遇到同样的问题。
如果我在桌面计算机上回滚并且升级再次失败,我将在哪里站立?