纯 API 的项目 Sequel 有什么比较明显的优势吗?
修改了一下标题(原标题:ORM 选择 Sequel 还是 ActiveRecord?)
当然是 Sequel 了 http://sequel.jeremyevans.net/rdoc/files/doc/active_record_rdoc.html ActiveRecord 才是没有明显优点
核心维护者就那一个人,你觉得会比 ActiveRecord 好?
我实在无法理解放着那么好的 ActiveRecord 不用,跑去用类似 Sequel 这里库,是怎么想的?!
#10 楼 @huacnlee 不能这么比吧,其实核心维护者只有一个人更能说明 Sequel 的设计好:
PS. 其实没有实际项目中用过 sequel......
http://www.railsmine.net/2015/09/sequel-vs-active-record-orm-benchmark-postgresql.html?m=1 这个比较一抓一大把
至于维护的人员多嘛,bug 多 owner 懒得修就变成这样了。
再补充一下,sequel 作者非常高产,还 fork 了 cuba 写了 roda,还写过一个对 ruby 的时间增强的 home_run。sequel 对于 pg 的增强我至今没有在 activerecord 看到,是不是 1 比 0 完胜啊。
个人推荐 ActiveRecord。:)
有些时候 AR 里很简单实现的一些功能,在 Sequel 里需要做一些小小的、有时候并不是非常明显的调整。两年多前我写过一篇 blog“抱怨”了一下 Sequel 的 API:http://fredwu.me/post/58910814911/gotchas-in-the-ruby-sequel-gem
对了还想到一个好处,sequel 自带 migrate 功能可以直接运行 sequel -m db/migrations postgres://localhost/sequel_test
这样跑数据库迁移,ActiveRecord 有谁知道如何在非 rails 环境下单独使用 migrate 功能的话能否指点一下?
#19 楼 @ywjno 需要手动写 rake file,不过很简单的。 给你个参考 https://github.com/robbin/ruby_framework_bench/blob/master/grape_on_goliath/Rakefile (这个是 robbin 写的) 其实常见的 framework 都有 ActiveRecord 的相关库的: https://github.com/jhollinger/grape-activerecord How do I use ActiveRecord migrations?(Sinatra) http://www.sinatrarb.com/faq.html#ar-migrations
这一部分其实我也只是一知半解,希望能有人来讲解下 rake file 的相关
用过了才知道 ActiveRecord 的好,用多了才知道 ActiveRecord 的不好😄 如果不知道 ActiveRecord 有哪些不好,或者可能这些缺点对自己没有影响,就用 ActiveRecord 咯
做项目我会选择 AR,各种插件丰富,遇到问题也容易搜索,migration 也可以脱离 Rails 使用。 写数据脚步什么的,我会用 Sequel,比较直接,感觉用起没有 AR 那么多潜在的规则要求
下面是应该主要关注的点吧: 文档:查看 sequel 跟 AR 的文档对比 问题解决方案:stack overflow 的问题数目 工具数目:比如 ranksack,sequel 对应的版本实在太烂
实际工作开发: 可以先分别使用两种模型试着写一些小的功能或者常用的 sql,对比一下,看看那个复杂度,耗时更多。
** 我说的都是开发速度哦,而不是性能 **
个人看法: 因为公司原因,接触 sequel,适应了 AR 之后感觉 sequel 太烂,需要关注太多细节,比如讲所有的 callback 下载一个 after_save 函数中,而且还需要关注回调的 super 调用顺序。还有 在 sequel 中写 sql 实在太难。各种可以使用原生 sql 解决的问题,需要用各种曲折的方法解决。