Предположим, у меня есть engine
, указывающий на базу данных MySQL:
engine = create_engine('mysql://arthurdent:answer42@localhost/dtdb', echo=True)
Я могу заполнить dtdb
таблицами, FK и т. Д. По:
metadata.create_all(engine)
Существует ли простой способ создания файла SQL, который содержит все операторы DDL, вместо фактического применения этих операторов DDL к dtdb
?
До сих пор я прибегал к захвату вывода журнала SQLAlchemy, создаваемого echo=True
, и редактированию его вручную. Но это слишком больно.
Похоже, что SA имеет довольно сложный API управления схемами, но я не видел примеров простой потоковой передачи определений схемы в виде текста.