2014-06-06 60 views
0

我來自EntityFramework。我習慣於創建我的數據庫,運行EF,併爲我的每個db對象(通常是表)填充屬性(通常是列)生成一堆類文件。將SQLAlchemy模型保存到文件

以下this basic use example,我已經想出瞭如何使用反射來在內存中生成模型。但是,如何將模型作爲類保存到磁盤?由於python代碼沒有編譯,我猜想每次運行我的應用程序時都會生成整個ORM,但是我的EF背景讓我感覺很奇怪。這裏最好的做法是什麼? (順便說一句,我在Flask的上下文中使用這個)。

回答

1

一般而言,您每次運行應用程序時都會反映它們,是的。否則,當你更新你的模式時,它們會中斷,這會破壞使用反射的點。

可能根據您的模式的當前狀態生成聲明類; PyPI上有一個sqlacodegen模塊來完成此任務,而SQLA的作者有一個名爲Alembic的數據庫遷移項目,該項目解決了比較兩個模式的類似問題。