flask-migrate使用

1 はじめに

# テーブルとフィールドが変更され、レコードが作成され、それらは自動的にデータベースに同期されます -- 「django はこの操作をサポートします。 #
ネイティブ sqlalchemy はテーブルの変更をサポートしません。 # flask-merge は     django と同様の python manage.py makemigrations
を実装できます#     python manage.py merge #real synchronization をデータベースに
記録します

2. 準備 -

 flask、flask-script、flask-merge をインストールすると、最新のものはインストールされません。バージョンの競合が発生します。

pip insatll flask==2.2.2
pip install flask-script==2.0.3
pip install flask-migrate==2.7.0

2.1 manage.py、つまり新しく作成したプロジェクトの app.py 内

from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
manager = Manager(app)
# flask-script可以自定义命令---》
# flask-migrate本质是它借助于flask-script增加了几个命令来对数据库表和字段进行管理
Migrate(app, db) # sqlalchemy的db对象
manager.add_command('db', MigrateCommand) 
        
manager.run() # 以后使用python manage.py runserver 启动项目

 2.2 とても重要

作成したテーブル名もアプリの__init__ページにインポートします

from .user.models import User

 2.3 今後初めて実行する

python manage.py db init  
# 生成一个migrations文件夹,里面以后不要动,记录迁移的编号

2.4 4以降、models.pyにテーブルを記述し、フィールドの追加、フィールドの削除、パラメータの変更を行う

 5 只需要执行
    	python manage.py db migrate  # 记录
        python manage.py db upgrade  # 真正的同步进去

おすすめ

転載: blog.csdn.net/xiaolisolovely/article/details/132215203