9

当我使用 alembic 来控制我的项目数据库的版本时,env.py 中的部分代码如下:

# add your model's MetaData object here
# for 'autogenerate' support
# from myapp import mymodel
# target_metadata = mymodel.Base.metadata
from al_test.models import metadata

target_metadata = metadata

当我运行 'alembic revision --autogenerate -m "Added user table"' 时,我收到一个错误:文件 "alembic/env.py",第 18 行,从 al_test.models 导入元数据 ImportError:没有名为 al_test.models 的模块

那么如何解决这个问题呢?谢谢!

4

2 回答 2

6

这可能有点晚了,您可能已经发现了问题,但我猜问题是您的 alembic/ 目录不是系统路径的一部分。即您需要执行以下操作:

import sys
sys.path.append(path/to/al_test)

from al_test.models import metadata
于 2013-07-29T18:27:37.447 回答
1

像这样更新您的 env.py,将当前工作目录添加到 Python 在搜索模块时使用的 sys.path:

import os
import sys
sys.path.append(os.getcwd())

from al_test.models import metadata
target_metadata = metadata
....
....
于 2020-03-06T17:16:53.410 回答