目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5931.4k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(1.7k)
赞(0)

数据库迁移工具alembic使用

image-20211130150837042

alembic介绍

alembic是sqlalchemy的作者开发的,用来做ORM模型与数据库的迁移与映射,

alembic使用方式跟git有点了类似,

alembic的所有命令都是以alembic开头,

alembic的迁移文件也是通过版本进行控制的,

alembic安装

alembic使用

image-20211130143421278

使用sqlalchemy创建好模型类

如创建一个models.py模块,然后在里面定义需要的模型类:

使用alembic创建一个仓库(初始化仓库)

  1. 打开dos系统界面
  2. cd到当前项目目录中,注意:如果想要使用alembic,则需要先进入到安装了alembic的虚拟环境中,不然就找不到这个命令。
  3. 然后执行命令 “alembic init [仓库的名字,推荐使用alembic]”

修改配置文件

alembic.ini中,给sqlalchemy.url项设置数据库的连接方式。方式跟sqlalchemy的方式是一样的。

sqlalchemy.url项设置数据库的连接操作为:

为了使用模型类更新数据库,需要在alembic/env.py文件中设置target_metadata项,默认为target_metadata=None。

需要将target_metadata的值设置为模型Base.metadata,但是要导入models

使用sys模块和os模块把当前项目的路径导入到path中:

导入models的操作为:

设置target_metadata项操作为

自动生成迁移文件

使用alembic revision --autogenerate -m "提示信息"将当前模型中的状态生成迁移文件。

将生成的迁移文件映射到数据库中

使用alembic upgrade head将刚刚生成的迁移文件,真正映射到数据库中。

同理,如果要降级,那么使用alembic downgrade head。

以后如果修改了模型,重复4、5步骤

实时学习反馈

1. 对于alembic说法错误的是?

A alembic可以映射数据库表结构

B alembic可以同步表数据

C alembics可以做表结构的迭代更新

D alembic映射表结构同样要设置数据库链接

答案

1=>B

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2