关于 flask 实现数据库迁移以后 如何根据创建的模型类添加新的表?
在此之前 我们先说一下常规的flask运用第三方扩展来实现数据库的迁移的三个步骤以及每步的目的。
数据库的迁移的三个步骤:(cd 到run.py所在路径)
- python run.py db init
- pthon run.py db migrate
- python run.py db upgrade/downgrade(更新/删除)
步骤一 的作用是通过init子命令来创建一个迁移库,这个命令创建一个migrations文件夹,里面存放了所有迁移脚本,如下图所示:

步骤二 通过migrate子命令创建自动迁移脚本,另外,自动迁移通过寻找模型定义和数据库当前状态间的不同为upgrade()和downgrade()生成代码。
步骤三 一旦迁移脚本被审查且接受,就可以使用db upgrade命令更新到数据库,第一次迁移实际上相当于调用db.create_all(),但在后续迁移中,upgrade命令对表实施更新操作但不影响表中的内容。
好了,到此为止 我们已经实现了数据库的迁移,查看你的数据库就可以看到相应的表结构,是不是很简单?!;
可是,老大现在要我在项目中加再一个表,怎么办,难道要重新执行以上三步么? 尴尬的是 队长之前就是有执行了一次以上三步
不,在项目中写好模型类以后只需重新执行二、三两步就可以了,不明白的话就仔细读读他们的作用吧。。。
关于 flask 实现数据库迁移以后 如何根据创建的模型类添加新的表?的更多相关文章
- Flask flask-migrate 数据库迁移
简介 flask-migrate是flask的一个扩展模块,主要是扩展数据库表结构的. 官方文档:http://flask-migrate.readthedocs.io/en/latest/ 使用: ...
- CoreData数据库迁移的操作
CoreData数据库迁移操作步骤,操作是基于Xcode7. 1.添加新的数据库.选中当前数据库版本:Editor->Add Model Verson,创建一个新的数据库版本. 2.Comman ...
- 20.2.翻译系列:EF 6中基于代码的数据库迁移技术【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx EF 6 ...
- django中的数据库迁移
Django是用python写的web开发框架,其特点是: 1.重量级框架,内部封装了很多的功能组件,使开发变的简便快速, 2.MVT模式:前后端分离,高内聚低耦合,m:model,与mvc中的m功能 ...
- Code First 数据库迁移
当 Entity Framework Code First 的数据模型发生改变时,默认会引发一个System.InvalidOperationException 的异常.解决方法是使用DropCrea ...
- django数据库迁移-15
目录 1.迁移 1.生成迁移文件 2.执行迁移命令 添加测试数据 1.迁移 创建完模型类后,并没有真正的在数据库中创建了数据表,需要执行迁移命令,在数据表中创建数据表. 1.生成迁移文件 manage ...
- 使用 Code First 数据库迁移
当 Entity Framework Code First 的数据模型发生改变时,默认会引发一个System.InvalidOperationException 的异常.解决方法是使用DropCrea ...
- Oracle 11G 数据库迁移【expdp/impdp】
转自:http://www.th7.cn/db/Oracle/201802/263773.shtml 0x01 环境 A 机器,操作系统 CentOS7.3,Oracle版本:11G,IP地址:192 ...
- 关于Django中ORM数据库迁移的配置
Django中ORM数据库迁移配置 1,若想将模型转为mysql数据库中的表,需要在settings中配置: DATABASES = { 'default': { 'ENGINE': 'django. ...
随机推荐
- 【ES6】=>含义
=>是es6语法中的arrow function (x) => x + 6 相当于 function(x){ return x + 6; }; var ids = this.sels.ma ...
- oracle sys_guid
select sys_guid() from dual;
- Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1)
Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1) This error can occur in following scen ...
- C# — Socket通信实现
昨天晚上在网上查找资料,简单实现了C#开发的Socket通信,以下是具体的开发流程,我使用的是VS2017进行开发的: 一.服务器端: 1.新建一个项目,Windows控制台程序 2.重命名cs文件 ...
- Linux系统文件和目录管理
Linux系统文件和目录管理 相关命令的解析 1.pwd:显示用户当前的工作目录 2.ls: -a:显示所有文件,包括隐藏文件 -l:显示文件的详细信息 3.设备文件统一存放在/dev 设备文件 块设 ...
- Java获取Window和Linux系统的项目ClassPath路径
不啰嗦,直接复制工具类 /** * 在windows和linux系统下均可正常使用 * Create by yster@foxmail.com 2018/6/6/006 14:51 */ public ...
- ML.NET 示例:推荐之One Class 矩阵分解
写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正. 如果有朋友对此感兴趣,可以加入我:https://github.com/fei ...
- Jmeter(三十五)_分布式
jmeter分布式简单步骤说明: 1:添加远程服务器IP到配置文件 在JMETER_HOME / bin / jmeter.properties中,找到名为“ remote_hosts ” 的属性,并 ...
- anaconda 出现add 。。。进不去
找到.condarc 文件 C:\Users\leiyi内 把里面内容替换为 channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk ...
- 使用HttpUtils完成Http Basic 认证
调用声网(agora)的远程接口(Restful Api)时,对方需要使用Basic Auth的方式进行认证(需要输入用户名和密码). 一,使用Postman完成基于Basic Auth的Http认证 ...