hackatime/app/models/commit.rb
2025-05-30 09:57:27 -04:00

18 lines
672 B
Ruby

class Commit < ApplicationRecord
# Explicitly set 'sha' as the primary key for ActiveRecord.
# This is crucial because we defined it as such in the migration.
self.primary_key = :sha
belongs_to :user
belongs_to :repository, optional: true
validates :sha, presence: true, uniqueness: true
validates :user_id, presence: true
# `github_raw` could be validated for presence if a commit record implies it must have GitHub data.
# validates :github_raw, presence: true
# Note on timestamps:
# Rails will automatically manage `updated_at`.
# We will manually set `created_at` when creating a record,
# based on the `committer.date` from the API.
end