在教程:http://alembic.readthedocs.org/en/latest/tutorial.html中,我使用以下命令测试了自动生成迁移功能:
alembic revision --autogenerate -m "Added account table"并得到错误:
Traceback (most recent call last):
File "/usr/local/bin/alembic", line 9, in <module>
load_entry_point('alembic==0.3.4', 'console_scripts', 'alembic')()
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/config.py", line 229, in main
**dict((k, getattr(options, k)) for k in kwarg)
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/command.py", line 93, in revision
script.run_env()
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/script.py", line 188, in run_env
util.load_python_file(self.dir, 'env.py')
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/util.py", line 185, in load_python_file
module = imp.load_source(module_id, path, open(path, 'rb'))
File "alembic/env.py", line 20, in <module>
from myapp.mymodel import Base
ImportError: No module named myapp.mymodel我刚学过alembic,也没用过python。myapp.mymodel是否已经存在,或者我需要使用python创建它。如何做到这一点?非常感谢!
发布于 2012-06-26 00:33:57
“myapp.mymodel已经存在了吗,或者我需要使用python创建它。该怎么做呢?”--如果您问这个问题,听起来好像您还没有任何需要迁移的东西。
就像Alembic一样,迁移的想法是这样的:
__init__.py文件(可以为空,也可以包含其他内容……)来向python指示'myapp‘是一个模块。有关python项目和模块结构的更多信息,请参阅下面#3中的链接)。如果您没有已经识别为包含模型声明的python文件的任何内容,那么在担心迁移等问题之前,您可能只需要更多地练习sqlalchemy。
https://stackoverflow.com/questions/11180013
复制相似问题