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