我正在考虑使用 Sequel对于我发现在 Active Record 中很难制作的一些较复杂的 SQL。
在同一个项目中使用Sequel和ActiveRecord有什么需要注意的吗? (除了明显的,比如续集中没有 AR 验证等......)
最佳答案
免责声明:我是 Sequel 的维护者。
在使用 Rails 时,Sequel 很容易与 ActiveRecord 一起使用或代替 ActiveRecord。您必须手动设置数据库连接,但除此之外,用法类似。您的 Sequel 模型文件位于 app/models 中,其工作方式类似于 ActiveRecord 模型。
设置数据库连接并不乏味,通常是在 environment.rb 中一行要求 sequel,在每个环境文件(development.rb、test.rb、production.rb)中一行做如下操作:
DB = Sequel.connect(...)
所以只有当您认为 4 行设置代码乏味时,它才乏味。
除非您针对多个数据库,否则使用原始 SQL 通常不是问题。避免它的主要原因是增加了冗长。 Sequel 支持使用原始 SQL 至少与 ActiveRecord 一样容易,但在 Sequel 中需要使用原始 SQL 的情况通常相当少见。
顺便说一句,Sequel 附带了多个验证插件。 validation_class_methods 插件类似于 ActiveRecord 验证,使用类方法。 validation_helpers 插件有一个使用实例级方法的更简单的实现,但两者可以做大致相同的事情。
最后,我要说的是,如果您已经有了可以执行您想要的操作的有效 ActiveRecord 代码,那么除非您计划添加功能,否则将代码移植到 Sequel 可能不值得。
关于ruby-on-rails - Sequel 与 ActiveRecord 结合使用有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1236317/