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中的所有的迁移文件。 修改迁移文件的代码
  • 相关阅读:
    课程的添加与发布
    openlayers 框选得到在选框内的要素,并标注出这些要素的名称
    手写js前端分页功能实现
    eclipse安装html编辑器插件
    Redis持久化技术
    java获取指定时间
    java生成Cron表达式
    CentOS7 ifcfg-ens33(没有eth0网卡) 网卡配置 静态IP地址
    java代码关闭tomcat程序
    Tomcat控制台乱码问题
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/11590684.html
Copyright © 2011-2022 走看看