转自:(http://blog.csdn.net/Super_Tiger_Lee/article/details/77772752

1、模型初始化环境:

命令:python manage.py db init 
cmd的回应:

Creating directory F:\code\flask_project\migrations ... done Creating directory
F:\code\flask_project\migrations\versions ... done Generating
F:\code\flask_project\migrations\alembic.ini ... done Generating
F:\code\flask_project\migrations\env.py ... done Generating
F:\code\flask_project\migrations\env.pyc ... done Generating
F:\code\flask_project\migrations\README ... done Generating
F:\code\flask_project\migrations\script.py.mako ... done Please edit
configuration/connection/logging settings in
'F:\\code\\flask_project\\migrations\\alembic.ini' before proceeding.

2、把表中模型映射到数据库中 先生成迁移文件

命令:python manage.py db migrate 
cmd回应:

INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.autogenerate.compare] Detected added table 'answer'
Generating F:\code\flask_project\migrations\versions\3007cf54a530_.py ... done

这时打开migration文件夹后再打开versions文件夹会看到形如3007cf54a530_.py文件和3007cf54a530_.cpy文件


3、再把迁移文件映射到数据库中 
命令:python manage.py db upgrade 
cmd回应:

INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 3007cf54a530, empty message

以上是正常的情况 
今天我手残,项目做到一半把migrations文件误删了,而且这个文件删除后是无法找回的,回收站里是找不到的 
于是我重新执行步骤一,成功 
执行步骤二,报错:

alembic.util.exc.CommandError: Can't locate revision identified by '68c8e45e399c'

后来终于找到一篇相关文章 
把问题解决了

我的理解是: 
当把后台与数据库建立关系后,双方会分别产生一个“接口”,后台的“接口”是migrations文件夹中的versions文件夹中的文件;数据库的“接口”是这个表“alembic_version”(蒸馏器版本?什么鬼名字?) 
我把migrations删除后,alembic_version没有改变。当我新建一个migrations后,两个“接口”对不上了,所以会报错: 
alembic.util.exc.CommandError: Can't locate revision identified by '68c8e45e399c' 

所以这种错误最简单的解决办法就是把数据库中的alembic_version表删掉,然后就可以继续后面的操作了

(转)Flask框架+mySQL数据库:误删migrations文件夹后再次创建时遭遇错误(Can't locate revision identified by ‘xxx’)的更多相关文章

  1. python Flask框架mysql数据库配置

    我是一个没有笔记习惯的低级程序员,但是我还是喜欢编程,从小学就开始跟着玩电脑,对抓鸡,ddos,跳板刷钻开始了自己的IT 旅程,之后学习了各种语言,但是可惜都不没有达到精通,都是略懂一二,现在想把Py ...

  2. MySql数据库恢复(*frm)文件

    mysql数据库恢复(*frm)文件 WorkBench 在使用虚拟服务器时,服务器提供商一般不会像我们使用本地数据库一样:使用导入导出(这样的文件后缀是*.sql).大部分时候提供的是一个文件夹,里 ...

  3. atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js

    atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐)  vs   lang  ...

  4. MySql数据库导出csv文件命令

    MySql数据库导出csv文件命令: MySql数据库导出csv文件命令: mysql> select first_name,last_name,email from account into ...

  5. Windows下的MySQL删除data文件夹后……

    MySQL删除data文件夹后,怎么都无法启动了,出现错误: 150106 9:28:43 [Note] Plugin 'FEDERATED' is disabled. wampmysqld: Tab ...

  6. laravel框架手动删除迁移文件后再次创建报错

    手动删除laravel框架数据表迁移文件后再次创建报错 如下图: 执行创建操作之后会在autoload_static.php及autoload_classmap.php这两个文件中添加迁移文件的目录. ...

  7. windows下安装phpcms html/ 文件夹不可写的一种错误以及解决方法

    朋友安装phpcms时遇到奇葩问题,环境搭建在windows7中,竟然出现 html/ 和 phpsso_server/caches/文件夹不可写问题(如图) 在windows下出现这种权限的问题真不 ...

  8. taro 在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头

    在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头.否则会报错 错误写法: // 真实路径 import MinaMask from '../../components/ ...

  9. Win7 自带FTP将文件复制到FTP服务器时发生错误。

    错误截图: 错误信息: 将文件复制到FTP服务器时发生错误.请检查是否有权限将文件放到该服务器上. 详细信息: 200 Type set to I. 200 PORT commad successfu ...

随机推荐

  1. Python2和Python3关于reload()用法的区别

    Python2 中可以直接使用reload(module)重载模块. Pyhton3中需要使用如下两种方式: 方式(1) >>> from imp >>> imp. ...

  2. Eclipse 使用 VS Emulator for android 调试环境配置 步骤

    模拟器启动器地址:C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe 获取模拟器ID命令:emulatorcmd ...

  3. 在C#中如何判断线程当前所处的状态

    在C#中,线程对象Thread使用ThreadState属性指示线程状态,它是带Flags特性的枚举类型对象.   ThreadState 为线程定义了一组所有可能的执行状态.一旦线程被创建,它就至少 ...

  4. DateUtils时间单元说明

    CompareDate 函数 比较两个日期时间值日期部分的大小 CompareDateTime 函数 比较两个日期时间值的大小 CompareTime 函数 比较两个日期时间值时间部分的大小 Date ...

  5. unity的一些tips

    主要是我知乎上回答的一个关于unity的tip,备忘. 说说我所看到unity相关的,不好的习惯: 1 尽量不要在Awake(), start()等函数内加入业务逻辑的初始化代码.首先无法简便的直接启 ...

  6. ubuntu彻底卸载opencv

    说正事之前,先啰嗦两句背景,算是拿个小本本记下了. 我本打算下载opencv2.4.在github上找到源码,在Branch处选择切换到2.4,然后复制URL,在terminal里面使用git clo ...

  7. 单源最短路径算法——Dijkstra算法(迪杰斯特拉算法)

    一 综述 Dijkstra算法(迪杰斯特拉算法)主要是用于求解有向图中单源最短路径问题.其本质是基于贪心策略的(具体见下文).其基本原理如下: (1)初始化:集合vertex_set初始为{sourc ...

  8. Python的xml模块

    先来一段xml代码 <?xml version="1.0"?> <data> <country name="Liechtenstein&qu ...

  9. [转] SQL日期函数dayadd/datediff/datepart

    函数一: CREATE OR REPLACE FUNCTION dayadd(p_Component varchar2, p_Number number, p_Date date) RETURN DA ...

  10. 团队第一次 # scrum meeting

    github 本此会议项目由PM召开,召开时间为4-1日晚上9点 召开时长30分钟 任务表格 袁勤 重新搭建原本的项目 https://github.com/buaa-2016/BuaaPhyLabB ...