python/flask/組件/flask-script/flask-migrate/flask數據庫遷移

flask-script 應用

聲明:以下操作基於

https://blog.csdn.net/weixin_38507813/article/details/102640046

flask-sqlalchemy操作
  • 安裝 flask-script
pip3 install flask-script 

功能:

  • a. 增加 runserver
# manage.py文件內

from chun import create_app
from flask_script import Manager
app = create_app()
manager = Manager(app)

if __name__ == '__main__':
	# app.run()
	manager.run()


在Terminal 輸入命令 python manage.py runserver -h IP -p Port


  • b. 位置傳參
# manage.py文件內

from chun import create_app
from flask_script import Manager

app = create_app()
manager = Manager(app)

@manager.command
def custom(arg):
	"""
	自定義命令
	python manage.py custom 123
	:param arg:
	:return:
	"""
	print(arg)


if __name__ == '__main__':
	# app.run()
	manager.run()
  • c. 關鍵字傳參
# manage.py文件內

from chun import create_app
from flask_script import Manager

app = create_app()
manager = Manager(app)

@manager.option('-n', '--name', dest='name')
@manager.option('-u', '--url', dest='url')
def cmd(name, url):
	"""
	自定義命令
	執行: python manage.py  cmd -n wupeiqi -u http://www.oldboyedu.com
	:param name:
	:param url:
	:return:
	"""
	print(name, url)


if __name__ == '__main__':
	# app.run()
	manager.run()

flask-migrate 應用

  • 安裝
pip3 install flask-migrate 

應用

# 基於 manage.py
# 依賴:flask-script 模塊

from sansa import create_app
from sansa import db

from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand

app = create_app()
manager = Manager(app)
Migrate(app, db)

"""
# 數據庫遷移命名
	python manage.py db init
	python manage.py db migrate
	python manage.py db upgrade
"""
manager.add_command('db', MigrateCommand)


if __name__ == '__main__':
	manager.run()
	# app.run()

創建數據庫時,不需要單獨執行create_table.py文件
命令如下:

# 在terminal 命令窗口運行

python manage.py db init  # 第一步:
python manage.py migrate  # 第二步:
python manage.py upgratde # 第三步

命令執行後會有一個migrations目錄,裏version文件,內部會有所有提交過的數據庫版本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章