flask-sqlalchemy使用alembic來(lái)遷移數(shù)據(jù)庫(kù)颁井,這也是sqlalchemy作者的作品。
首先在虛擬環(huán)境下使用pip進(jìn)行安裝邻储,然后在自己的工作目錄(程序的根目錄)使用alembic init第租,這樣會(huì)初始化alembic配置環(huán)境勉痴,并且建立一個(gè)叫alembic的文件夾。
初始化之后悬赏,有幾項(xiàng)配置工作要做狡汉,第一需要修改alembic.ini,先是修改數(shù)據(jù)庫(kù)URL闽颇,使得我們自定義的數(shù)據(jù)庫(kù)能被識(shí)別盾戴。
其次,對(duì)env.py中的metadata也要進(jìn)行修改兵多,修改后就能夠使用自動(dòng)化的數(shù)據(jù)庫(kù)遷移尖啡。這時(shí)都是實(shí)際使用中的問(wèn)題。
自動(dòng)生成的version文件包含了upgrad和downgrade函數(shù)剩膘,可以手動(dòng)也可以自動(dòng)化衅斩。
也可以使用alembic revision -m命令,也就類似于git怠褐,增加一個(gè)新版本畏梆。
最后可以使用alembic current來(lái)查看當(dāng)前版本,而且在升級(jí)降級(jí)時(shí)既能使用header信息奈懒,也能使用相對(duì)值+1奠涌、-2等等。