diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 11:33:21 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 11:33:21 +0000 |
commit | 7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0 (patch) | |
tree | 5bdc2229f5198d516781f8d24eace62fc7e589e9 /app/models/ml | |
parent | 185b095e93520f96e9cfc31d9c3e69b498cdab7c (diff) | |
download | gitlab-ce-7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0.tar.gz |
Add latest changes from gitlab-org/gitlab@15-6-stable-eev15.6.0-rc42
Diffstat (limited to 'app/models/ml')
-rw-r--r-- | app/models/ml/candidate.rb | 9 | ||||
-rw-r--r-- | app/models/ml/candidate_metric.rb | 2 | ||||
-rw-r--r-- | app/models/ml/experiment.rb | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/app/models/ml/candidate.rb b/app/models/ml/candidate.rb index 29e1ba88528..f7da4418624 100644 --- a/app/models/ml/candidate.rb +++ b/app/models/ml/candidate.rb @@ -11,8 +11,15 @@ module Ml belongs_to :user has_many :metrics, class_name: 'Ml::CandidateMetric' has_many :params, class_name: 'Ml::CandidateParam' + has_many :latest_metrics, -> { latest }, class_name: 'Ml::CandidateMetric', inverse_of: :candidate - default_value_for(:iid) { SecureRandom.uuid } + attribute :iid, default: -> { SecureRandom.uuid } + + scope :including_metrics_and_params, -> { includes(:latest_metrics, :params) } + + def artifact_root + "/ml_candidate_#{iid}/-/" + end class << self def with_project_id_and_iid(project_id, iid) diff --git a/app/models/ml/candidate_metric.rb b/app/models/ml/candidate_metric.rb index e03a8b83ee6..8e13a46d6b4 100644 --- a/app/models/ml/candidate_metric.rb +++ b/app/models/ml/candidate_metric.rb @@ -6,5 +6,7 @@ module Ml validates :name, length: { maximum: 250 }, presence: true belongs_to :candidate, class_name: 'Ml::Candidate' + + scope :latest, -> { select('DISTINCT ON (candidate_id, name) *').order('candidate_id, name, id DESC') } end end diff --git a/app/models/ml/experiment.rb b/app/models/ml/experiment.rb index a32099e8a0c..05b238b960d 100644 --- a/app/models/ml/experiment.rb +++ b/app/models/ml/experiment.rb @@ -23,7 +23,7 @@ module Ml end def by_project_id(project_id) - where(project_id: project_id) + where(project_id: project_id).order(id: :desc) end end end |