0
我有一個樣品表檢查升級升級使用蒸餾器
class a(Base):
__tablename__ = 'a'
id = Column(Integer,primary_key=True)
username = Column(VARCHAR(255))
現在,我做了一些改變,以我的其他表,也加入到表中「用戶名」欄上面顯示唯一約束表架構之前正常運行。
class a(Base):
__tablename__ = 'a'
id = Column(Integer,primary_key=True)
username = Column(VARCHAR(255),unique=True) # unique key added.
我運行python run.py db migrate
命令,並檢測所有更改。沒有任何問題。 現在我跑python run.py db upgrade
。這會使數據庫中的所有模式更改都失敗,但會因上述表的唯一約束而失敗,因爲該表已具有重複數據。現在我需要恢復所有數據庫更改回到我以前的版本(我不知道如何去做)。無論如何,在將模式更改提交給數據庫之前,測試所有升級是否正常運行?如果沒有,請幫助我如何恢復所有數據庫更改。
https://stackoverflow.com/questions/17894240/how-to-clean-up-incomplete-alembic-run –
不幸的是,MySQL數據庫允許未完成的事務。 –