zoukankan      html  css  js  c++  java
  • alembic的常用参数

    alembic的常用参数

    命令和参数解释

    1 .init:创建一个alembic仓库。
    2 .revision:创建一个新的版本文件。
    3 .--autogenerate:自动将当前的模型修改,生成迁移脚本。
    4 .-m:本次迁移做了哪些修改,用户可以指定这个参数,方便回顾。
    5 .upgrade:将指定版本的迁移文件映射到数据库中,会执行版本文件中的upgrade函数。如果有多个迁移脚本没有被映射到数据库中,那么会执行多个迁移脚本。
    6 .head:代表最新的迁移脚本的版本号
    7 .downgrade:会执行指定版本的迁移文件中的downgrade函数。
    8 .heads:展示head指向的脚本文件版本号。
    9 .history:列出所有的迁移版本及其信息。
    10 .curren:展示当前数据库的版本号。

    另外,当第一次执行upgrade的时候,就会给数据库中创建一个名叫alembic_version表,这个表只会有一条数据,记录当前数据库映射的是哪个版本的迁移文件。

    经典错误

    1 .FAILED: Target database is not up to date.

    原因:主要是head和current不相同。current落后于heads的版本。
    解决办法:将current移动到head上。 alembic upgrade head。

    2 .FAILED: can't locate revision identified by '.*?'

    原因:数据库中存的版本号不在迁移脚本的文件中。
    解决方法:删除数据库中的 alembic_vision表中的数据,重新执行alembic upgrade head。

    3 .执行upgrade head时候报某个表已经存在的错误。

    • 原因:执行这个命令的时候,会执行所有的迁移脚本,因为数据库中已经存在了这个表。然后迁移脚本中又包含了创建表的代码。
    • 解决办法:删除version中的所有的迁移文件。 修改迁移文件的代码
  • 相关阅读:
    Spring+SpringMVC+MyBatis+easyUI整合
    @RequestMapping 用法详解之地址映射(转)
    Servlet的5种方式实现表单提交
    activiti 快速入门--组任务(candidate users)分配(6)
    activiti数据库表结构剖析
    Java程序如何生成Jar、exe及安装文件
    StringEscapeUtils对字符串进行各种转义与反转义
    30分钟学会如何使用Shiro
    Java基础恶补——内存泄露、内存溢出
    ashx文件结合ajax使用(返回json数据)
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/11590684.html
Copyright © 2011-2022 走看看