需要的插件:flask-migrate 

在每次修改模型之后,将修改的东西映射到数据库中。

使用flask-migrate 必须借助flask_scripts,这个包的所有MigrateCommand中包含了所有和数据库相关的命令。

需要将想要映射到数据库中的模型,导入到manage.py文件中。

from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
from zlktqa import app
from exts import db
#引入数据库模型名
from models import User

manager=Manager(app)

#使用flask_migrate绑定app和db
migrate=Migrate(app,db)
#添加迁移脚本的命令到manager中
manager.add_command('db',MigrateCommand)


if __name__=="__main__":
    manager.run()

  初始化迁移脚本文件:

$ python manage.py db init

  将模型生成迁移文件,只要更改数据库模型,就执行一遍此操作:

$ python manage.py db migrate

  将迁移文件真正的映射到数据库中,如果没有数据库,该命令会显示创建,同时运行迁移脚本,迁移数据库

$ python manage.py db upgrade

  若报错:ModuleNotFoundError: No module named 'MySQLdb'

   方法在配置SQLALCHEMY_DATABASE_URI时,加上一个pymysql就可以:

 

DB_URI='mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)