2014-09-11 10 views
6

Próbuję uwzględnić migracje Alembic jako część dystrybucji pakietów Pythona. Ponieważ ta dystrybucja zostanie zainstalowana, katalog skryptów Alembic (który przechowuje migracje) zostanie ostatecznie skopiowany do folderów pakietów Pythona. W takim przypadku jak mogę powiedzieć Alembicowi, gdzie znaleźć ten katalog?alembic - Przykład użycia zasobu paczki jako lokalizacji_skryptu

W dokumentacji alembic, to mówi, że katalog migration można określić w pliku config.ini jako odniesienie pakietu:

  • script_location - jest to lokalizacja środowiska alembic. Zazwyczaj jest określana jako lokalizacja systemu plików względna lub bezwzględna. Jeśli lokalizacja jest ścieżką względną, jest interpretowana jako względna względem bieżącego katalogu.

(wycinek)

Na poparcie wniosków tego pakietu się w pliki .egg, wartość może być także określona jako zasób pakietu, w którym to przypadku resource_filename() służy aby znaleźć plik (nowy w 0.2.2). Każdy nie-bezwzględny identyfikator URI o wartości , który zawiera dwukropki, interpretowany jest tutaj jako nazwa zasobu zamiast prostej nazwy pliku.

Dokumentacja nie zawiera dalszych informacji ani przykładów.

Czy ktoś z powodzeniem wdrożył to? Jak dokładnie przekształcasz swój migration scripting_folder w "pakiet zasobów"? Jak więc powiedzieć alembikowi, gdzie go znaleźć?

Odpowiedz

3

Na przykład:

script_location = mypackage:somewhere/inside/it 

Wymaga to m.in. migracje wewnątrz dystrybucji: należy szukać w pliku MANIFEST.in itp

Powiązane problemy