摘要:一個用來做數(shù)據(jù)遷移的擴(kuò)展,一般都是結(jié)合使用,在上一篇文章中我也介紹了這個擴(kuò)展,需要的小伙伴可以看一下,后續(xù)我會將更深層的寫出來。
flask-migrate一個用來做數(shù)據(jù)遷移的falsk擴(kuò)展,一般都是結(jié)合flask-sqlalchemy使用,在上一篇文章中我也介紹了這個擴(kuò)展,需要的小伙伴可以看一下,后續(xù)我會將flask-sqlalchemy更深層的寫出來。
【config.py】
SQLALCHEMY_DATABASE_URI="mysql://root:[email protected]:3306/test" //數(shù)據(jù)庫連接 SQLALCHEMY_TRACK_MODIFICATIONS=False
【data_migrate.py】
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_script import Manager #這是一個做腳本調(diào)式的庫,有時間我也會總結(jié) from flask_migrate import Migrate,MigrateCommand app = Flask(__name__) app.config.from_envvar("config.py") db = SQLAlchemy(app) migrate = Migrate(app, db) manager = Manager(app) manager.add_command("db", MigrateCommand) class User(db.Model): #創(chuàng)建一個模型類,用于做數(shù)據(jù)遷移 id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32)) if __name__ == "__main__": manager.run()
【控制臺測試】
>>>python data_migrate.py db init //創(chuàng)建遷移存儲庫 >>>python data_migrate.py db migrate -m "版本名后綴" //生成初始遷移 >>>python data_migrate.py db upgrade //將遷移應(yīng)用于數(shù)據(jù)庫 //若有修改,可重復(fù)執(zhí)行2/3這兩條命令 >>>python 文件 db history //顯示整個歷史版本記錄 【其他命令】 python data_migrate.py db --help //幫助,查找所有命令 python data_migrate.py db current //顯示當(dāng)前版本 python data_migrate.py db upgrade 版本號 //升級版本,不指定版本為最新版本 python data_migrate.py db downgrade 版本號 //降級數(shù)據(jù)庫,不指定版本則是最老版本
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42902.html
摘要:命令需要注冊回調(diào)函數(shù)來將對象添加到導(dǎo)入列表。創(chuàng)建遷移腳本在,數(shù)據(jù)庫遷移工作由遷移腳本完成。函數(shù)實(shí)施數(shù)據(jù)庫更改,是遷移的一部分,函數(shù)則刪除它們。另一方面,自動遷移通過尋找模型定義和數(shù)據(jù)庫當(dāng)前狀態(tài)間的不同為和生成代碼。 9、數(shù)據(jù)庫在視圖函數(shù)中的使用 在前面章節(jié)描述的數(shù)據(jù)庫操作是可以在視圖函數(shù)中直接使用的。示例5-5展示的新版本主頁實(shí)現(xiàn)了用戶輸入名字并保存到數(shù)據(jù)庫中。 示例5-5. he...
摘要:命令需要注冊回調(diào)函數(shù)來將對象添加到導(dǎo)入列表。創(chuàng)建遷移腳本在,數(shù)據(jù)庫遷移工作由遷移腳本完成。函數(shù)實(shí)施數(shù)據(jù)庫更改,是遷移的一部分,函數(shù)則刪除它們。另一方面,自動遷移通過尋找模型定義和數(shù)據(jù)庫當(dāng)前狀態(tài)間的不同為和生成代碼。 9、數(shù)據(jù)庫在視圖函數(shù)中的使用 在前面章節(jié)描述的數(shù)據(jù)庫操作是可以在視圖函數(shù)中直接使用的。示例5-5展示的新版本主頁實(shí)現(xiàn)了用戶輸入名字并保存到數(shù)據(jù)庫中。 示例5-5. he...
摘要:聽上去是不是很麻煩更糟糕的是,原先數(shù)據(jù)庫的的數(shù)據(jù)也就沒有了。此外,我們還將結(jié)合一起使用,簡單來說讓我們可以使用命令行去完成數(shù)據(jù)庫遷移的操作。 在上一遍文章中,我們增加了兩個模型Questions和Comments,并為Users增加了avatar_path這個字段,然后通過這段代碼更新到數(shù)據(jù)庫: with app.test_request_context(): db.drop_...
摘要:單元測試這個應(yīng)用非常小以至于不需要太多的測試,但是作為示例會在示例中展示兩個簡單的測試定義。示例單元測試編寫好的測試使用的是來自于標(biāo)準(zhǔn)庫中標(biāo)準(zhǔn)的包。為了運(yùn)行單元測試,可以在腳本中增加一個自定義的命令。 4、啟動腳本 頂層目錄中的manage.py文件用于啟動應(yīng)用。這個腳本會在示例7-8中展示。 示例7-8. manage.py:啟動腳本 #!/usr/bin/env python im...
閱讀 1597·2021-11-22 15:33
閱讀 1743·2021-11-15 18:01
閱讀 681·2021-10-09 09:43
閱讀 2621·2021-09-22 16:03
閱讀 767·2021-09-03 10:28
閱讀 3569·2021-08-11 10:22
閱讀 2731·2019-08-30 15:54
閱讀 1770·2019-08-30 14:21