0

によって最初に作成された既存のデータベースに新しい列を追加したいと考えています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

さらに調べる場所や私が間違っていることはありますか?

4

1 に答える 1

3

データベースがリポジトリのバージョン管理に追加されていないことに気付きました。

リポジトリに複数のデータベースがあるため、必要なデータベースではなく間違ったデータベースを追加していました。

$ python my_repository/manage.py version_control sqlite:///project.db my_repository
于 2014-09-03T06:39:37.590 に答える