Запросите простой рабочий пример перегонного куба для автоматической генерации миграции

Я установил alembic 0.3.4, sqlalchemy, SQLite версии 3.7.4 и обновил SQLAlchemy 0.6.4 до SQLAlchemy 0.7 или выше из моей Ubuntu. Я следовал инструкции:http://alembic.readthedocs.org/en/latest/tutorial.html

Сейчас я тестирую :автоматическое создание миграции. Я создал схемы пакета :и маркер пакета в схемах :. инициализация .py с одной определенной линией:

__all__ = ["teacher"]

Я также создал файл модуля :dbmodel.py в каталоге схем с содержимым ниже

Base = declarative_base()
class teacher(Base):
      __tablename__ = 'teacher' 
      id = Column(Integer, primary_key=True)
      name = Column(String)
      department = Column(String)

Кстати, у меня создана база данных sqlite, и она отлично работает для выполнения некоторого теста перед автоматическим созданием миграции. Я настроил файл env.py. Добавлены две строки:

from schemas.dbmodel import Base
target_metadata = Base.metadata

Затем я бегу:

alembic revision --autogenerate -m "Added teacher 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 schemas.dbmodel import Base
ImportError: No module named schemas.dbmodel

Я не знаю, почему мне так сложно протестировать простой пример с использованием перегонного куба. Я просто хочу импортировать модель данных приложения в модель физической базы данных. Это так сложно? Спасибо. Пожалуйста, кто-то, кто знает перегонный куб, дает нам простой пример шаг за шагом. Я думаю, что больше людей получат от этого пользу.

12
задан Peter Smit 5 July 2012 в 19:34
поделиться