假设我有一个engine
指向MySQL数据库:
engine = create_engine('mysql://arthurdent:answer42@localhost/dtdb', echo=True)
我可以用表、fk等填充dtdb
,方法是:
有没有一种简单的方法来生成包含所有DDL语句的SQL文件,而不是将这些DDL语句实际应用于dtdb
?在
到目前为止,我使用了捕获echo=True
生成的SQLAlchemy日志输出,并手工编辑它。但那太痛苦了。在
看起来SA有非常复杂的模式管理API,但是我还没有看到简单地将模式定义流式传输为文本的例子。在
快速答案在SQLAlchemy 0.8 FAQ中。在
在SQLAlchemy 0.8中,您需要
在SQLAlchemy 0.9中,语法被简化。在
^{pr2}$更长远的答案是,获取输出仍然有一些小问题。就像对类型的文字进行编码一样。但对于任何人来说,这还不是一个大问题,让他们开始努力。您总是可以让SQLAlchemy以编程方式创建一个空数据库并从那里转储SQL。在
更困难的问题是模式迁移的处理。这是SQLAlchemy-migrate可以帮助您的地方。在
相关问题 更多 >
编程相关推荐