当我使用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"添加了用户表"',我收到错误: 文件" alembic / env.py",第18行,in 来自al_test.models导入元数据 ImportError:没有名为al_test.models的模块
那么如何解决这个问题呢?谢谢!
答案 0 :(得分:4)
这可能有点晚了,你可能已经找到了问题,但我猜测问题是你的alembic /目录不是系统路径的一部分。即你需要做类似的事情:
import sys
sys.path.append(path/to/al_test)
from al_test.models import metadata
答案 1 :(得分:1)
像这样更新您的env.py,以将当前工作目录添加到Python在搜索模块时使用的sys.path:
import os
import sys
sys.path.append(os.getcwd())
from al_test.models import metadata
target_metadata = metadata
....
....