在独立的ruby应用程序中使用哪个ruby ORM框架?

JtR*_*JtR 9 ruby database postgresql orm

我想使用带外键的postgresql来定义数据中的关系,以便其他平台/应用程序也能够轻松使用相同的数据库.使用某种ruby DSL来定义具有迁移支持的数据库模式也会很棒.你会为我推荐哪种框架?

是否有某种框架仅用于处理ORM的数据库模式更改,迁移和版本?

Jon*_*röm 6

查看DataMapper.我最近在Sinatra中使用它并将应用程序部署到Heroku.我必须编写的唯一SQL是CREATE DATABASE.DataMapper为我提供的所有其他内容都是.auto_migrate!和.auto_upgrade!功能.

外键支持在dm-constraints插件中.

  • @FélixSaparelli绝对没有.关键是将对象映射到关系数据库.在那个责任中,没有任何*限制甚至暗示对象应该与行一对一地映射.跨越多个表的复合对象.多个Value对象映射到一个表上的一个记录.ORM是任意的. (2认同)

Szt*_*upY 6

在ActiveRecord和DataMapper之间,我选择了后者.两者都使用Active Record模式,因此您实际上将数据库表放回到没有花哨的域逻辑的对象中,但DataMapper更易于使用,并且是线程安全的.还有续集,但我不熟悉.

如果你需要一个框架来处理迁移,我建议merb.虽然它是一个完整的Web框架,从1.1开始,它可以处理前面提到的三个ORM框架的迁移(包括单独和自动迁移)