3

是否可以使用 datamapper 从现有的数据库模式生成模型?因此,要做迁移的逆操作,它采用模型并生成 sql。我想要的是给定一个数据库模式来生成模型。

4

2 回答 2

2

尝试检查https://github.com/yogo/dm-reflection或其任何分叉..

于 2012-05-09T23:35:45.227 回答
1

最后,我发现到目前为止最好的解决方案是使用dm-is-reflective插件:https://github.com/godfat/dm-is-reflective

它不会为反映现有数据库模式的 DataMapper 模型生成代码,但它的属性访问方法是自动可用的(当然,只要你继续使用这个插件)。

这是一个使用示例:

require 'data_mapper'
require 'dm-is-reflective'

DataMapper.setup(:default, "postgres://user:pwd@localhost/db")

class Table
   include DataMapper::Resource

   is :reflective #activate dm-is-reflective

   reflect #reflects eeach property. You can be more specific (look at plugin documentation)
end

DataMapper.finalize

#Even if no field is defined, all of them are accessible
entry = Table.first(nil, {:id => 469})
print entry.anotherField
于 2012-05-14T11:57:04.617 回答