我今天制作了一个新的Rails 3应用程序,添加了一个简单的迁移,并且出于某种原因,当我执行rake db:migrate时没有任何反应.它只是暂停几秒钟,然后返回到命令提示符,没有任何错误或任何错误.Schema.rb和数据库保持空白.
什么想法可能会发生什么?我做了很多应用程序,从来没有遇到过这个问题.一切都是完全标准的设置.
rake activerecord ruby-on-rails rails-migrations ruby-on-rails-3
我的应用程序中有两个模型,注释和亮点.它们的定义如下:
class Note < ActiveRecord::Base
belongs_to :user
end
class Highlight < ActiveRecord::Base
has_and_belongs_to_many :users
end
Run Code Online (Sandbox Code Playgroud)
现在,我想在同一个流中访问它们,按创建日期排序.我无法解决如何在ActiveRecord中执行此操作,因此我将此查询放在一起:
SELECT book_id, page, content, created_at FROM `highlights`
INNER JOIN `highlights_users` ON `highlights`.id = `highlights_users`.highlight_id
WHERE (`highlights_users`.user_id = 1 )
UNION SELECT book_id, page, content, created_at FROM notes
ORDER BY created_at DESC
Run Code Online (Sandbox Code Playgroud)
添加当然,它的工作原理,但感觉不太Rails-y.另外,我不知道如何判断哪些项目是注释,哪些项目是重点.另一种选择是分别获取音符流和高亮显示流,然后合并数组.这看起来也很笨拙,我觉得在某些地方必须有一个抽象的东西,我正在尝试做什么.
我在这里缺少一些关键的ActiveRecord功能吗?什么是最有效的方法?