class SchoolSnapshot < ApplicationRecord
  belongs_to :school

  validates :academic_year, :employee_count, :student_count, :family_count, presence: true
  validates :academic_year, uniqueness: { scope: :school_id }

  scope :select_by_sum_of_counts, -> do
    select(<<~SQL)
      SUM(employee_count) employees, SUM(student_count) students,
      SUM(family_count) families, COUNT(school_id) schools, academic_year
    SQL
  end
end
