通用命令:
flask db init
flask db migrate
flask db upgrade
應(yīng)用場(chǎng)景:
當(dāng)數(shù)據(jù)庫(kù)修改了表結(jié)構(gòu),可以使用通用命令進(jìn)行更新
重要表alembic_version:
這個(gè)表有什么作用呢岗憋?
當(dāng)你進(jìn)行更新的時(shí)候upgrade
最后會(huì)輸入當(dāng)前更新的“專屬id”肃晚,表名這個(gè)數(shù)字與這個(gè)的更新相對(duì)應(yīng)
這個(gè)一般保存在alembic_version表中,每次遷移更新仔戈,該表會(huì)進(jìn)行相對(duì)于的更新
報(bào)錯(cuò)情況:
手動(dòng)修改了某個(gè)表的某個(gè)列類型关串,后面再繼續(xù)使用遷移命令更新數(shù)據(jù)庫(kù),會(huì)報(bào)錯(cuò):
? ? ? ? 1杂穷、可以刪除數(shù)據(jù)庫(kù)悍缠,再通過(guò)刪除migrations文件夾,重新遷移耐量。數(shù)據(jù)會(huì)丟失
? ? ? ? 2飞蚓、只刪除alembic_version表,?再通過(guò)刪除migrations文件夾廊蜒,重新遷移趴拧。可以發(fā)現(xiàn)數(shù)據(jù)沒(méi)有丟失山叮。推薦這種方法