flask数据库的迁移

如果是单纯的用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

原文地址:https://www.cnblogs.com/zhongshuiping/p/8676205.html

时间: 2024-07-30 14:19:47

flask数据库的迁移的相关文章

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

从model到数据库的迁移(转载)

先附上原文链接:http://www.cnblogs.com/babykick/archive/2012/02/02/2336019.html 1)创建一个没有数据库的新项目时 1.创建数据库 2.将south添加到INSTALLED_APPS 3.运行syncdb命令,它将django和south的数据表加入到数据库中 4.将你创建的apps添加到INSTALLED_APPS 5.对每个app分别运行"python manage.py schemamigration app_name --in

零基础mysql数据库表迁移

@ 把老数据库中的某个表倒出成sql文件 $mysql -uroot -p my_db > my_db.sql (输入密码) @ 在新环境中导入 $sudo apt-get install mysql-server -y (期间要初始化root用户的密码) $mysql -uroot -p (输入密码) mysql> show databases;(注意分号) mysql> create database my_db; mysql> show databases; mysql>

oracle数据库的迁移(从一台服务器到另一个台服务器,从oracle 10g到oracle 11g)

这个过程呢,还是蛮艰难的.... 一.最初我使用的是Navicat中的数据传输来迁移的,虽说整个数据库的迁移没有成功,但传输指定的对象时还是传输成功了.所以还是记录一下吧. 1.前提连接好数据库.在指定的数据库上右击,选择"数据传输". 2.在弹出的框内选择源库和目的库以及模式和你要传输的对象,如下图所示 3.点击开始便可传输 二.在利用Navicat只可传输对象,没办法传输模式等.但是如果要迁移整个数据库,肯定不仅只有迁移对象这么简单了.于是我选择了expdp和impdp导入导出的方

SQL Server tempdb 数据库位置迁移

SQL Server tempdb 数据库位置迁移 --查看物理位置 SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('tempdb'); --修改路径 ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'D:\DataBaseNew\tempdb.mdf'); ALTER DATABASE tempdb MODIFY F

让Code First下的数据库的迁移更加简单

Code First给我们的程序开发带了很多便利,之前的版本中一个比较不大方便的地方是数据库迁移,麻烦不说,往往还和上下文相关,在不同的版本之间的数据库进行迁移还很容易失败,并且一旦失败还不大容易找到解决方案.可能是微软已经意识到这个不足,现在Entity Framework已经支持数据库自动迁移了,比之前的方案要简单太多,下面简单的介绍一下如何使用自动迁移. 开始迁移之前: 开始迁移之前,需要将要迁移的项目设置为默认项目.这一步非常重要,否则后面会出现许多莫名其妙的错误,它包括两个步骤 在解决

mysql 数据库数据迁移 The user specified as a definer ('root'@'%') does not exist 解决方法

从一个数据库数据迁移到本地localhost 程序在调用到数据库的视图时报错,直接在数据库中打开视图时也报错,类似: mysql 1449 : The user specified as a definer ('montor'@'%') does not exist 经查,是权限问题,解决办法: 运行:grant all privileges on *.* to [email protected]"%" identified by "."; 之后打开视图时便不会报错

Skype for Business Server 2015 后端数据库文件迁移位置

前面章节讲了SfB后端数据库镜像创建和见证数据库配置,问题又来了,起初创建后端数据库服务器未配置D盘.E盘等,默认创建的数据库文件放置在C:\CsData,现在要迁移到其它位置,如何操作呢? 1.先删除镜像数据库关联 2.主后端数据库SQL01分离数据库 3.C:\CsData迁移到其它位置 4.主后端数据库附加迁移后的数据库文件 5.拓扑生成器,安装镜像数据库 6.数据库文件已经迁移至E盘,镜像.见证一切工作正常. 这种方法,后端数据有短暂的中断,请开启维护窗口!

Django-South 实现数据库自动迁移

1. South 简介 South 是Django的第三方app,专门做数据库表结构自动迁移工作.他已经成为Django数据库表迁移标准,很多第三方app都会带South migrations脚本. 2. syncdb简介 syncdb意思是数据库同步.syncdb 命令是同步你的模型到数据库的一个简单方法. 它会根据 INSTALLED_APPS 里设置的app来检查数据库, 如果表不存在,它就会创建它. 需要注意的是,syncdb 并不能将模型的修改或删除同步到数据库:如果你修改或删除了一个