天天看點

【flask-migrate資料庫遷移】Can't locate revision identified by '85f87f20772b' 一、flask遷移資料庫二、解決方案

 一、flask遷移資料庫

1. flask遷移資料庫過程:

1. python3 run.py db init
作用:做一些項目和資料庫的初始化操作
特點:一個項目中init隻執行一次即可

2.python3 run.py db migrate
作用:将編輯好的實體類生成中間檔案并儲存在migrations檔案夾中
特點:隻有檢測到實體類有更改的時候,才會生成中間檔案

3.python3 run.py db upgrade
作用:将中間檔案映射回資料庫
           

 2. 錯誤如下

ERROR [root] Error: Can't locate revision identified by '85f87f20772b'
           

3. 錯誤産生的背景

我建立了一個項目,在該項目中建立了一些實體類,連接配接的資料庫是另外一個新的資料庫。然後,執行【python3 run.py db init】【python3 run.py db migrate】

4. 錯誤産生的原因

執行【python3 run.py db init】指令後,不但會在程式所在目錄下生成一個migrations檔案夾,還會在資料庫裡生成一個名為alembic_version的資料庫表,如果alembic_version資料庫和migrations檔案夾不是對應的,就會報錯。

二、解決方案

1. 使用新的資料庫進行初始化遷移資料庫

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email protected]:3306/blog_new' #換個資料庫
           

2. 删除資料表alembic_version中的記錄,再執行【python3 run.py db init】【python3 run.py db migrate】【python3 run.py upgrade】進行資料庫遷移

【flask-migrate資料庫遷移】Can't locate revision identified by '85f87f20772b' 一、flask遷移資料庫二、解決方案

标題

繼續閱讀