2014-09-11 13 views
6

Sto tentando di includere le migrazioni di Alembic come parte di una distribuzione di pacchetti Python. Poiché questa distribuzione verrà installata, la directory di scripting di Alembic (che contiene le migrazioni) finirà per essere copiata nelle cartelle dei pacchetti Python. In questo caso, come posso comunicare ad Alembic dove trovare questa directory?- Esempio di utilizzo della risorsa pacchetto come posizione_script

Nella documentazione Alembic, si dice che la directory migration può essere specificata nel file config.ini come riferimento pacchetto:

  • script_location - questa è la posizione dell 'ambiente Alembic. Normalmente viene specificato come posizione del file system, relativa o assoluta. Se la posizione è un percorso relativo, è interpretato come relativo alla directory corrente.

(snip)

Per il supporto di applicazioni che si pacchetto in file .egg, il valore può anche essere specificato come risorsa pacchetto, nel qual caso resource_filename() viene utilizzata per trovare il file (nuovo in 0.2.2). Qualsiasi URI non-assoluto che contiene due punti viene interpretato qui come un nome di risorsa anziché un nome file diritto.

La documentazione non fornisce ulteriori informazioni o esempi.

Qualcuno ha implementato con successo questo? In che modo realizzi la tua cartella di scripting migration in una "risorsa pacchetto"? Come puoi dire alambicco dove trovarlo?

risposta

3

Per esempio:

script_location = mypackage:somewhere/inside/it 

Ciò richiede che si includono le migrazioni all'interno della vostra distribuzione: si dovrebbe guardare il file MANIFEST.in, ecc

Problemi correlati