alembic格式,烘焙为alembic

  alembic格式,烘焙为alembic

  Alembic是由sqlalchemy的作者开发的。用于迁移和映射ORM模型和数据库。alembic的用法在两个方面与git相似。首先,alembic的所有命令都是以alembic开头的。其次,alembic迁移文件也是受版本控制的。首先,用pip install alembic安装它。

  要使用alembic,请执行以下操作:

  1.定义自己的模型。

  用alembic当仓库。Alembic init[仓库名,建议用alem BIC `。

  3.更改配置文件:

  Alembic.ini将数据库连接方法设置为` sqlalchemy.url。此连接方法与sqlalchemy的连接方法相同。

  将模型的Base.metadata设置为alembic/env.py的target_metadata。但是,要导入“模型”,必须将包含模型的路径添加到该文件中。示例代码如下所示。

  ` ` ` python

  导入系统、操作系统

  sys . path . append(OS . path . dirname)OS . path . dirname(_ _ file _ _))

  ``````

  4.在迁移脚本中生成ORM模型。“alembicrevision - autogenerate-m”消息.

  5.将生成的脚本映射到数据库。` alembic升级头

  6.从现在开始,修改模型后,重复步骤4和5。

  7.注意:如果您尝试在终端上使用alembic,您必须首先进入安装了alembic的虚拟环境。否则,无法找到该命令。

  # # #常用命令:

  1.init:创建阿莱姆BIC仓库。

  2.修订版:创建新版本文件。

  3.-Autogenerate:自动修改当前模型并生成迁移脚本。

  4.-m:通过指定这个参数,用户可以很容易地查看在这次迁移中所做的更改。

  5.升级:当指定版本的迁移文件映射到数据库时,将执行版本文件中的升级功能。如果多个迁移脚本未映射到数据库,将会运行多个迁移脚本。

  6.标题-显示最新迁移脚本的版本号。

  7.降级:执行指定迁移文件版本的降级功能。

  8.Header:指示头所指向的脚本文件的版本号。

  9.历史记录:列出所有迁移的版本及其信息。

  10.当前:显示当前数据库的版本号。

  # # #经典错误:

  1.失败:目标数据库。

  *原因:主要是头像和现在的不一样。目前在头版后面。

  解决方法:将当前移动到末尾。alembic升级头

  2.故障:无法满足由“77525e61b 5b”标识的供应

  *原因:保存在数据库中的版本号不在迁移脚本文件中。

  *解决方法:删除数据库中alembic_version表中的数据,然后重新运行alembic upgrade head。

  使用“更新标题”执行表中的现有错误:

  *原因:该命令将运行所有迁移脚本,因为该表已经存在于数据库中。迁移脚本还包含创建表的代码。

  *解决方法:(1)从版本中删除所有迁移文件。)2)修改迁移脚本创建的表的代码。

  # flask_migrate

  在实际的开发环境中,数据库更改会频繁发生。通常不是直接手工修改数据库,而是修改ORM对应的模型,然后将模型映射到数据库。在这一点上,如果有一个针对这种情况的特殊工具将非常有用,但flask-migrate正是这样做的。Flask-migrate封装并集成到基于Alembic的Flask中。实际上所有的迁移操作都是由Alembic完成的,它可以跟踪模型的变化,并将变化映射到数据库中。

  # # #安装:

  安装pip闪存迁移

  Manage.py代码:

  ` ` ` python

  从flask_script导入管理器

  Main fromapp.pyimportapp

  从外部导入数据库

  从flask_migrate导入迁移,migrate命令

  经理=经理(应用程序)

  用于将app和db绑定到flask_migrate。

  迁移(应用程序,数据库))。

  将所有迁移子命令添加到数据库

  manager.add_command(db ,MigrateCommand)).

  if __name__==__main__ :

  manager.run(

  ``````

  ### flask_migrate通用命令:

  1.环境初始化:python manage.py db init

  2.自动检测模型并生成迁移脚本:pythonmanage.pydbmigrate。

  3.将迁移脚本映射到数据库:python manage.py db upgrade

  4.进一步的命令:python manager . pydb-help

alembic格式,烘焙为alembic