Alembic迁移脚本在两个部署之间的持久性

2024-10-01 13:43:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法使用alembic库运行自动迁移(我使用原始alembic库)。你知道吗

这是应用程序的设置:

  • 我有一个调度器(python)脚本,它计算一些东西,然后 将其存储在数据库中)

  • restapi(使用调度器存储在数据库中的数据) 返回适当的响应)

  • 然后我使用运行以下三个命令的脚本部署应用程序:
alembic revision --autogenereate
alembic upgrade head
python run_scheduler.py

初始部署后,alembic_version表在PostgreSQL数据库中创建,标识符值在version_num列下,迁移脚本(我们称此脚本为xx.py)在alembic/versions/中创建

当我重新部署应用程序时(运行迁移和调度程序):我得到

" Can't locate revision identified by 'xxxxxxx'

为什么?你知道吗

因为不再有xx.py脚本(docker是从源代码管理repo构建的),xx是alembic_version表中version_num列下的值。

如何处理和解决这个问题?你知道吗


Tags: 数据py命令脚本restapi数据库应用程序version