• 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中的所有的迁移文件。 修改迁移文件的代码
  • 相关阅读:
    课后作业02-需求分析
    2018年春季个人阅读计划
    eclipse 导入项目后,在工程图标上出现红叉,但是工程中的文件并没有提示错误的解决方法
    阅读博客——我们应当怎样做需求分析? ------阅读笔记
    网络记事本第一天
    软件工程第九周总结
    软件工程第八周总结
    全球疫情web制作进度
    构建之法阅读笔记03
    软件工程第七周总结
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/11590684.html
Copyright © 2020-2023  润新知