如果是单纯的用flask去启动app.run()是没有办法想django那样对数据库进行迁移的
首先要安装
pip install flask-migrate
然后修改代码,改变flask的启动方式
from flask_migrate import Migrate,MigrateCommand from flask_script import Shell,Manager ... manager = Manager(app) #第一个参数是Flask的实例,第二个参数是Sqlalchemy数据库实例 migrate = Migrate(app,db) #manager是Flask-Script的实例,这条语句在flask-Script中添加一个db命令 manager.add_command('db',MigrateCommand) .... if __name__ == '__main__': manager.run()
创建迁移仓库
python database.py db init
#这个命令会创建migrations文件夹,所有迁移文件都放在里面。
创建迁移的脚本
python database.py db migrate -m 'first migration' 后面是版本信息 python database.py db upgrade() 会打最后一个migrate版本中的信息更新到数据库
返回以前的版本
python app.py db history