在docker中使用alembic管理数据库的问题

本文介绍了如何在Docker环境中利用alembic工具配合SQLAlchemy管理数据库,包括安装初始化、首次使用、与SQLAlchemy的结合使用以及一些补充的命令行操作。alembic简化了数据库版本控制,避免数据丢失,通过命令行操作实现数据库的升级和降级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

alembic是配合SQLAlchemy的一个工具,可以方便的upgrade或downgrade数据库,而不用每次修改都进行reset操作导致数据丢失。

安装和初始化

pip install alembic

安装之后在project的目录下面执行初始化命令:

alembic init APP/NAME

这里APP是我Flask的APP名称,NAME是存放alembic初始化文件的文件夹名称,我这里用的是migrations。

初始化后,进入migrations文件夹,会有versions文件夹,每次生成的revision file会在这儿,env.py环境文件,根据项目设置,以及script.py.mako产生revision file的模板文件,如果需要可以自定义,这里我是将常用的sqlalchemy及时间相关的包导入放在了这里,不用每次都去添加。

在project文件夹下还有一个alembic.ini的文件,也是初始化生成的。

首次使用

docker-compose up # 启动image

假设现在我们要添加一个foo table,执行下面的命令创建一个revision file:

docker-compose exec --user "$(id -d):$(id -g)" website alembic revision -m "create foo table"

其实除开docker的命令,这个和git的使用是很像的,–user “ (id

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值