Supponiamo che io sono un engine
che indicano al database MySQL:Come generare un file con DDL nel dialetto SQL del motore in SQLAlchemy?
engine = create_engine('mysql://arthurdent:[email protected]/dtdb', echo=True)
posso compilare dtdb
con tavoli, FKS, ecc per:
metadata.create_all(engine)
C'è un modo semplice per generare il file SQL che contiene tutte le istruzioni DDL invece di applicare effettivamente queste istruzioni DDL allo dtdb
?
Finora sono riuscito a catturare l'output del registro SQLAlchemy prodotto da echo=True
e modificarlo a mano. Ma è troppo doloroso.
Sembra che SA abbia API di gestione dello schema piuttosto elaborate, ma non ho visto esempi di streaming delle definizioni dello schema come testo.
Questo link FAQ è quello che mi serviva, grazie! :) Non stavo cercando la gestione dello schema simile alla migrazione. Semplicemente, avevo bisogno di un semplice hack per afferrare DDL senza perdere tempo con l'echo del motore. –
Sembra che sia cambiato in Python 0.9. Inoltre, le FAQ non sembrano esistere per 0.9. –
La seconda sintassi non ha funzionato in SQLAlchemy 1.0.12 per me - consultare https://groups.google.com/d/topic/sqlalchemy/r9neOsc64wc/discussion –