flask 中途修改数据库Model

在做项目的过程中,我们都遇到过,经常需要修改我们数据库的字段,在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

    会退到指定历史版本

    

猜你喜欢

转载自www.cnblogs.com/fiona-zhong/p/10039943.html
今日推荐