Flask 数据库迁移

    在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。

更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。

    在Flask中可以使用Flask-Migrate扩展,来实现数据迁移。并且集成到Flask-Script中,所有操作通过命令就能完成。

为了导出数据库迁移命令,Flask-Migrate提供了一个MigrateCommand类,可以附加到flask-script的manager对象上

1.安装模块

  pip  install  flask-migrate

2.导入模块

  from flask_migrate import Migrate,MigrateCommand

  from flask_script import Manager
3.注册实例

#第一个参数是Flask的实例,第二个参数是Sqlalchemy数据库实例
  migrate = Migrate(app,db)

#manager是Flask-Script的实例,这条语句在flask-Script中添加一个db命令
  manager.add_command(‘db‘,MigrateCommand)

4.创建迁移仓库
#这个命令会创建 migrations 文件夹,所有迁移文件都放在里面。
  python database.py db init

5.创建迁移脚本

  python database.py db migrate -m ‘initial migration‘

6.更新数据库

  python database.py db upgrade

7.返回以前的版本

  可以根据history命令找到版本号,然后传给downgrade命令:

  python app.py db history

  输出格式:<base> ->  版本号 (head), initial migration

8.回滚到指定版本

  python app.py db downgrade 版本号

原文地址:https://www.cnblogs.com/dys188/p/10789601.html

时间: 2024-11-09 04:48:08

Flask 数据库迁移的相关文章

flask数据库迁移

实际操作顺序:1.python 文件 db init2.python 文件 db migrate -m"版本名(注释)"3.python 文件 db upgrade 然后观察表结构4.根据需求修改模型5.python 文件 db migrate -m"新版本名(注释)"6.python 文件 db upgrade 然后观察表结构7.若返回版本,则利用 python 文件 db history查看版本号8.python 文件 db downgrade(upgrade)

Flask学习笔记(3)-数据库迁移

数据库迁移 通过创建虚拟flask环境来迁移数据库. 一.创建虚拟环境 virtualenvwrapper库中有个mkvirtualenv函数,用来创建虚拟环境(make virtual envirement).使用命令 mkvirtualenv flask-tutorial --python=python3.6 创建一个名为flask-tutorial的虚拟环境,如图可利用workon flask-tutorial命令激活这个虚拟环境.使用deactivate退出这个虚拟环境.在默认条件下,虚

Flask数据库基本操作-SQLAlchemy

Flask数据库D:使用扩展包flask-sqlalchemy来操作数据库(增删改查)E:通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升U:常用的SQLAlchemy字段类型 类型名 python中类型 说明 Integer int 普通整数,一般是32位 SmallInteger int 取值范围小的整数,一般是16位 BigInteger int或long 不限制精度的整数 Float float 浮点数 Numeric decimal.Decim

Flask从入门到精通之使用Flask-Migrate实现数据库迁移

在开发程序的过程中,你会发现有时需要修改数据库模型,而且修改之后还需要更新数据库.仅当数据库表不存在时,Flask-SQLAlchemy 才会根据模型进行创建.因此,更新表的唯一方式就是先删除旧表,不过这样做会丢失数据库中的所有数据.更新表的更好方法是使用数据库迁移框架.源码版本控制工具可以跟踪源码文件的变化,类似地,数据库迁移框架能跟踪数据库模式的变化,然后增量式的把变化应用到数据库中. SQLAlchemy 的主力开发人员编写了一个迁移框架,称为Alembic(https://alembic

Flask框架之数据库迁移集成到Script中

1. 安装migrate模块 pip install flask_migrate 2. 创建manage对象,并接管app和db对象 manager = Manager(app, db) 3. 将数据库迁移操作集成到script中 manager.add_command('db', MigrateCommand) 案例代码: from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_script impo

flask-migrate数据库迁移

数据库迁移 在Flask中可以使用Flask-Migrate扩展,来实现数据迁移.并且集成到Flask-Script中,所有操作通过命令就能完成. 为了导出数据库迁移命令,Flask-Migrate提供了一个MigrateCommand类,可以附加到flask-script的manager对象上. 创建迁移仓库 python3 database.py db init 创建迁移脚本 自动创建迁移脚本有两个函数 upgrade():函数把迁移中的改动应用到数据库中. downgrade():函数则将

flask数据库基本操作

数据库基本操作 在Flak-SQLAlchemy中,插入.修改.删除操作,均由数据库会话管理. 会话用db.session表示.在准备把数据写入数据库前,需要先将数据添加到会话中然后调用commit()方法提交会话. 在Flask-SQLAlchemy中,查询操作是通过query对象操作数据. 最基本的查询时返回表中所有数据,可以通过过滤器进行更精确的数据库查询. 定义模型类 一般实际工作中我们会把模型创建到单独的文件中,学习阶段我们先将模型类写在main.py文件中. from flask i

wordpress博客站点配置及数据库迁移

1.wordpress博客站点部署配置 1.1 检查环境 1.1.1 nginx.conf配置文件 ###检查nginx配置文件 [[email protected] conf]# cat nginx.conf worker_processes 1; events { worker_connections  1024; } http { log_format  main  '$remote_addr - $remote_user [$time_local]"$request" ' '$

MVC VS2012 Code First 数据库迁移教程

1.在"服务资源管理器"连接数据库 2.打开工具-Nuget程序包管理器"程序包管理器控制台" 3.控制台输入命令:PM> Enable-Misgrations 4.以项目MvcGuestbook.Models.MvcGuestbookContext为例: PM> Enable-Misgrations-ContextTypeName MvcGuestbook.Models.MvcGuestbookContext 5.更新数据库:PM>Update-