2013-04-18 12 views
5

kiedy używam alembic kontrolować wersję bazie mojego projektu, część kodów w env.py jak:alembic/env.py target_metadata = metadane „Brak al_test.models nazwa modułu”

# add your model's MetaData object here 
# for 'autogenerate' support 
# from myapp import mymodel 
# target_metadata = mymodel.Base.metadata 
from al_test.models import metadata 

target_metadata = metadata 

kiedy Uruchomiłem "alembic revision --autogenerate -m" Dodano tabelę użytkowników "", pojawia się błąd: Plik "alembic/env.py", wiersz 18, w z metadanych importu al_test.models ImportError: Brak modułu o nazwie al_test .models

więc jak rozwiązać pytanie? dzięki!

+0

Cóż, znaczenie tego błędu jest dość proste. alembik nie może znaleźć modelu, do którego się odnosisz. Sugeruję, aby dodać do swojego pytania opis układu projektu, w tym al_test i kod pod nim. Może to być problem ze ścieżką lub może to być, że twoje pakiety/moduły nie są poprawnie zbudowane. – JosefAssad

+0

Kilka razy sprawdzałem strukturę projektu, nie ma żadnego błędu. Więc jestem zdezorientowany. – jiank

Odpowiedz

3

To może być trochę za późno, a być może już zdałeś sobie sprawę z tego problemu, ale domyślam się, że twój alembik/katalog nie jest częścią ścieżki systemowej. To znaczy. musisz zrobić coś takiego:

import sys 
sys.path.append(path/to/al_test) 

from al_test.models import metadata