Предположим, у меня есть engine
указывая на базу данных MySQL:Как сгенерировать файл с DDL на SQL-диалекте SQL в SQLAlchemy?
engine = create_engine('mysql://arthurdent:[email protected]/dtdb', echo=True)
я могу заполнить dtdb
с таблицами, FKS и т.д. по:
metadata.create_all(engine)
Есть простой способ для создания файла SQL, который содержит все заявления DDL вместо фактического применения этих операторов DDL к dtdb
?
До сих пор я прибегал к захвату вывода журнала SQLAlchemy, созданного echo=True
, и редактированию его вручную. Но это слишком больно.
Похоже, что SA имеет довольно сложный API управления схемами, но я не видел примеров просто потоковой передачи определений схемы как текста.
Эта ссылка на часто задаваемые вопросы - вот что мне нужно, спасибо! :) Я не искал управления схемами, подобными миграции. Просто мне понадобился простой хак, чтобы захватить DDL, не отбрасывая эхо-сигнал двигателя. –
Это, похоже, изменилось в Python 0.9. Кроме того, часто задаваемые вопросы не существуют для 0,9. –
Второй синтаксис для SQLAlchemy 1.0.12 для меня не работал - см. Https://groups.google.com/d/topic/sqlalchemy/r9neOsc64wc/discussion –