簡體   English   中英

sqlalchemy-migrate DatabaseNotControlledError異常

[英]sqlalchemy-migrate DatabaseNotControlledError exception

我想在現有數據庫中添加一個新列,該列最初由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

我遵循與docs中所述完全相同的步驟。 在檢查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

有什么想法需要進一步研究或我做錯了什么嗎?

我意識到該數據庫未添加到存儲庫版本控件中。

由於我的存儲庫下有多個數據庫,因此我添加了錯誤的數據庫,而不是想要添加的數據庫。

$ python my_repository/manage.py version_control sqlite:///project.db my_repository

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM