sqlalchemy-migrate 数据库未受控错误异常
我想在我现有的数据库中添加一个新列,这个数据库最开始是用 sqlalchemy
创建的。
我尝试使用 sqlalchemy-migrate
工具来实现这个目标,但遇到了以下错误:
C:\Users\sk11\Desktop\playground\migrateDB>%PYTHON_EXE% manage.py db_version
Traceback (most recent call last):
File "manage.py", line 5, in <module>
main(url='sqlite:///Results.db', debug='False', repository='sdb')
File "C:\Python27\lib\site-packages\sqlalchemy_migrate-0.7.2-py2.7.egg\migrate\versioning\shell.py", line 207, in main
ret = command_func(**kwargs)
File "<string>", line 2, in db_version
File "C:\Python27\lib\site-packages\sqlalchemy_migrate-0.7.2-py2.7.egg\migrate\versioning\util\__init__.py", line 159, in with_engine
return f(*a, **kw)
File "C:\Python27\lib\site-packages\sqlalchemy_migrate-0.7.2-py2.7.egg\migrate\versioning\api.py", line 148, in db_version
schema = ControlledSchema(engine, repository)
File "C:\Python27\lib\site-packages\sqlalchemy_migrate-0.7.2-py2.7.egg\migrate\versioning\schema.py", line 32, in __init__
self.load()
File "C:\Python27\lib\site-packages\sqlalchemy_migrate-0.7.2-py2.7.egg\migrate\versioning\schema.py", line 44, in load
self.table = Table(tname, self.meta, autoload=True)
File "build\bdist.win32\egg\sqlalchemy\schema.py", line 318, in __new__
File "build\bdist.win32\egg\sqlalchemy\schema.py", line 381, in _init
File "build\bdist.win32\egg\sqlalchemy\schema.py", line 408, in _autoload
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 2426, in run_callable
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1969, in run_callable
File "build\bdist.win32\egg\sqlalchemy\engine\default.py", line 260, in reflecttable
File "build\bdist.win32\egg\sqlalchemy\engine\reflection.py", line 412, in reflecttable
migrate.exceptions.DatabaseNotControlledError: migrate_version
我完全按照 文档 中的步骤操作。在检查 db_version
之前(我在这一步遇到了上面的错误),我尝试了 version
命令,结果是正常的。
C:\Users\sk11\Desktop\playground\migrateDB>C:\Python27\Scripts\migrate.exe manage manage.py --repository=sdb --url=sqlite:///Results.db
C:\Users\sk11\Desktop\playground\migrateDB>%PYTHON_EXE% manage.py version
0
有没有人能给点建议,看看我该往哪里找问题,或者我哪里做错了?
1 个回答
3
我发现数据库没有被添加到版本控制的仓库里。
因为我在我的仓库里有多个数据库,所以我添加了错误的数据库,而不是我想要的那个。
$ python my_repository/manage.py version_control sqlite:///project.db my_repository