一、第三方库安装
1. 【pip3 install flask-script】
安装项目管理包 flask-script
2. 【pip3 install flask-migrate】
安装数据迁移包 flask_migrate
二、导入包
1. 导入包
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
2. 创建管理者并托管命令
# 创建Manager对象并指定要管理的app
manager = Manager(app)
# 创建Migrate对象,并指定关联的app和db
migrate = Migrate(app,db)
# 给manager添加数据库迁移命令,具体操作由MigrateCommand来提供,在终端通过指令实现数据迁移工作
manager.add_command('db',MigrateCommand)
# 导入包
from flask_sqlalchemy import SQLAlchemy
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
app = Flask(__name__)
# 配置mysql数据库
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost:3306/flask' # flask为数据库名
# 指定不需要信号追踪
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# 执行完增删改查自动提交到数据库
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
# 启动调试模式
app.config['DEBUG'] = True
# 创建SQLAlchemy的实例
db = SQLAlchemy(app)
# 创建Manager对象,并指定要管理的app
manager = Manager(app)
#创建Migrate对象,并指定关联的app和db
migrate = Migrate(app,db)
#为manager增加数据库的迁移指令
#为manager增加一个子命令-db(自定义),具体操作由MigrateCommand来提供
manager.add_command('db',MigrateCommand)
3. 替换app.run()
# app.run(host='127.0.0.1',port=8088)
manager.run()
4. python3 run.py
终端启动服务:【python3 run.py】
启动服务【 python3 run.py runserver --host 0.0.0.0 --port 5000】:
四、数据迁移操作
1. 【python3 run.py db init】
做一些项目和数据库的初始化操作,一个项目中init只执行一次即可
2. 【python3 run01.py db migrate】
实体类 -------迁移到-----------》 migrations中间文件
将编辑好的实体类生成中间文件并保存在migrations文件夹中
若实体类发生更改,则生成中间文件;若实体类不发生更改,则不生成中间文件
3. python3 run01.py db upgrade
migrations中间文件 -------------迁移到--------------》数据库
将中间文件映射回数据库
如果数据中存在表,则更新;
如果数据库不存在表,则创建