2010-04-20 48 views
3

在Ror或Django或web2py中,您可以「描述」一個數據庫(作爲重新映射到表的一組類)和框架(具有連接字符串到所需的數據庫)生成表,字段和關係,在RoR和web2py的情況下,它也使它保持最新(例如,刪除類刪除表,向該類添加屬性將觸發「alter table add」等) 。使用Perl自動生成數據庫模式和遷移

有沒有Perl模塊可以做到這一點?例如,它將數據庫的YAML/XML/JSON描述作爲輸入並相應地修改/生成數據庫模式?

+0

可能重複http://stackoverflow.com/questions/281440/is-there-an-orm-for-perl和http://stackoverflow.com/questions/281803/is-there -an-object-centric-perl-orm – Ether 2010-04-20 21:34:52

+0

我不是在尋找一個orm。我不希望對象重新映射我的數據庫,也不希望通過內省數據庫來創建任何對象;實際上,我正在尋找其他方法:通過解析某種配置創建的數據庫。 – pistacchio 2010-04-20 21:50:10

回答

3

是,該模塊是SQL::Translator::Parser::YAML,這裏是一些documentation

+0

也被稱爲SQLFairy - > http://sqlfairy.sourceforge.net/ – daotoad 2010-04-21 00:01:04

+0

我不認爲這是他正在尋找。 YAML解析器只是將解析器轉換爲perl格式,但不會創建他正在查找的CREATE TABLE命令。 – 2011-01-17 17:43:41

+0

SQL :: Translator具有解析器以及生成器,例如SQL ::譯者::生產者:: MySQL的。成對使用它們,YAML作爲輸入MySQL(例如)作爲輸出。 – 2011-02-16 16:49:12

-2

我有一個alpha版本的GPL項目,做到這一點。雖然它是用PHP編寫的,但它可以從Perl中調用:

系統(「/ path/to/triBuilder.php --yaml = ....」);的

http://code.google.com/p/triangulum-db/

相關問題