码迷,mamicode.com
首页 > 数据库 > 详细

flask 中途修改数据库Model

时间:2018-11-29 20:17:07      阅读:1510      评论:0      收藏:0      [点我收藏+]

标签:comm   迁移   ini   回滚   指定   app   终端   class   name   

 

在做项目的过程中,我们都遇到过,经常需要修改我们数据库的字段,在flask中,是通过ORM(对象关系映射)来创建数据库的,表--->model class,字段---->属性

在flask中,修改了model后,要同步数据库,需要用到flask_script 和 flask_migrate(pip install)

1、代码中配置环境

  在入口文件中:

  from flask_script import Manager

  from flask_migrate import Migrate, MigrateCommond

  from apps import instance_app, db

  app = instance_app()

  migrate = Migrate(app, db)

  manager = Manager(app)

  manager.add_command("db", MigrateCommond)

  

  @manager.command  

  def dev():

    from livereload import Server(pip install livereload)

    live_server = Server(app.wsgi_app)

    live_server.watch("**/*.*")

    live_server.server(open_url = True)

 

  if __name__ == "__main__":

    manager.run()

 

2、打开终端,进入项目根目录,执行下面命令

  python app.py(你的入口文件名) db init

  初始化成功后,你的项目目录多了一个migrattions文件夹

  技术分享图片

 

3、修改了model的字段后,执行下面的命令

  python app.py db migrate

  从执行过程中我们可以看到我们修改的字段

  技术分享图片

  执行完成后,再去查看生成的migrations文件夹,下面的versions里面会多出来一个.py的迁移脚本文件,检查表格及字段

  技术分享图片

 

3、更新数据库

  python app.py db upgrade

  upgrade会自动读取刚才生成的文件,将数据更新到数据库中。

  技术分享图片

  执行完成后,检查你的数据库,发现数据库字段按照我们的需要更新了。

 

4、回滚事物

  1)运行 python app.py db history

    查看历史版本,得到history-id

    技术分享图片

 

  2)运行 python app.py db downgrade history-id

    会退到指定历史版本

    技术分享图片

 

flask 中途修改数据库Model

标签:comm   迁移   ini   回滚   指定   app   终端   class   name   

原文地址:https://www.cnblogs.com/fiona-zhong/p/10039943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!