在 Rails 项目开发过程中使用视图
在项目开发过程中对数据库的操作都是基础表单的增删改查,对于复杂的 SQL 操作, 使用到 includes jions 等方法。
对一些使用多张表进行关联查询,跨表操作的方式, 使用rails方法进行编写,个人感觉有些太重了,有些时候只需要一些简单的统计结果, 如:统计今天每个车队下有报警车辆的报警总次数, 使用rails的写法是先找到所有车队,再统计每个车队报警总次数。
fleets.each do |fleet|
fleet.alarms.count
end
Rails model
#recent_announcement.rb
class RecentAnnouncement < ApplicationRecord
end
class CreateRecentAnnouncementView < ActiveRecord::Migration
def self.up
execute <<-SQL
CREATE VIEW recent_announcements
AS SELECT * FROM announcements ORDER BY id DESC LIMIT 10
SQL
end
def self.down
execute <<-SQL
DROP VIEW recent_announcements
SQL
end
end