Skip to content

Updates model registry table docs with correct schema

Eduardo Bonet requested to merge model_registry/cells_table_clusters into master

What does this MR do and why?

Updates ml_ tables to be consistent with the cell guidelines.

Database

Note

This adds non-null constraints on post-migration. The columns have been non-null for a few milestones:

  • ml_candidate_params and ml_candidate_metrics have always been not-null in the application, only the database didn't have a constraint
  • project_id has been backfilled in Ml::Candidates, and it is a required attribute to generate internal_id !115971 (merged)
❯ rails db:migrate
main: == [advisory_lock_connection] object_id: 120120, pg_backend_pid: 22211
main: == 20240320100933 MakeProjectIdOnMlCandidateNonNullable: migrating ============
main: -- current_schema(nil)
main:    -> 0.0011s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ml_candidates\nADD CONSTRAINT check_01584ca6db\nCHECK ( project_id IS NOT NULL )\nNOT VALID;\n")
main:    -> 0.0021s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0002s
main: -- execute("ALTER TABLE ml_candidates VALIDATE CONSTRAINT check_01584ca6db;")
main:    -> 0.0015s
main: -- execute("RESET statement_timeout")
main:    -> 0.0003s
main: == 20240320100933 MakeProjectIdOnMlCandidateNonNullable: migrated (0.0430s) ===

main: == [advisory_lock_connection] object_id: 120120, pg_backend_pid: 22211
ci: == [advisory_lock_connection] object_id: 120360, pg_backend_pid: 22213
ci: == 20240320100933 MakeProjectIdOnMlCandidateNonNullable: migrating ============
ci: -- current_schema(nil)
ci:    -> 0.0004s
ci: -- transaction_open?(nil)
ci:    -> 0.0000s
ci: -- transaction_open?(nil)
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE ml_candidates\nADD CONSTRAINT check_01584ca6db\nCHECK ( project_id IS NOT NULL )\nNOT VALID;\n")
ci:    -> 0.0020s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0006s
ci: -- execute("ALTER TABLE ml_candidates VALIDATE CONSTRAINT check_01584ca6db;")
ci:    -> 0.0008s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0003s
ci: == 20240320100933 MakeProjectIdOnMlCandidateNonNullable: migrated (0.0258s) ===

ci: == [advisory_lock_connection] object_id: 120360, pg_backend_pid: 22213
main: == [advisory_lock_connection] object_id: 120580, pg_backend_pid: 22217
main: == 20240320101011 MakeCandidateIdOnMlCandidateParamsNonNullable: migrating ====
main: -- current_schema(nil)
main:    -> 0.0004s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ml_candidate_params\nADD CONSTRAINT check_7a0505ca91\nCHECK ( candidate_id IS NOT NULL )\nNOT VALID;\n")
main:    -> 0.0007s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0002s
main: -- execute("ALTER TABLE ml_candidate_params VALIDATE CONSTRAINT check_7a0505ca91;")
main:    -> 0.0005s
main: -- execute("RESET statement_timeout")
main:    -> 0.0004s
main: == 20240320101011 MakeCandidateIdOnMlCandidateParamsNonNullable: migrated (0.0138s)

main: == [advisory_lock_connection] object_id: 120580, pg_backend_pid: 22217
ci: == [advisory_lock_connection] object_id: 120920, pg_backend_pid: 22219
ci: == 20240320101011 MakeCandidateIdOnMlCandidateParamsNonNullable: migrating ====
ci: -- current_schema(nil)
ci:    -> 0.0004s
ci: -- transaction_open?(nil)
ci:    -> 0.0000s
ci: -- transaction_open?(nil)
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE ml_candidate_params\nADD CONSTRAINT check_7a0505ca91\nCHECK ( candidate_id IS NOT NULL )\nNOT VALID;\n")
ci:    -> 0.0007s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0003s
ci: -- execute("ALTER TABLE ml_candidate_params VALIDATE CONSTRAINT check_7a0505ca91;")
ci:    -> 0.0008s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0003s
ci: == 20240320101011 MakeCandidateIdOnMlCandidateParamsNonNullable: migrated (0.0243s)

ci: == [advisory_lock_connection] object_id: 120920, pg_backend_pid: 22219
main: == [advisory_lock_connection] object_id: 121140, pg_backend_pid: 22223
main: == 20240320101032 MakeCandidateIdOnMlCandidateMetricsNonNullable: migrating ===
main: -- current_schema(nil)
main:    -> 0.0004s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ml_candidate_metrics\nADD CONSTRAINT check_d7dfd3de26\nCHECK ( candidate_id IS NOT NULL )\nNOT VALID;\n")
main:    -> 0.0006s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0003s
main: -- execute("ALTER TABLE ml_candidate_metrics VALIDATE CONSTRAINT check_d7dfd3de26;")
main:    -> 0.0005s
main: -- execute("RESET statement_timeout")
main:    -> 0.0002s
main: == 20240320101032 MakeCandidateIdOnMlCandidateMetricsNonNullable: migrated (0.0135s)

main: == [advisory_lock_connection] object_id: 121140, pg_backend_pid: 22223
ci: == [advisory_lock_connection] object_id: 126080, pg_backend_pid: 22226
ci: == 20240320101032 MakeCandidateIdOnMlCandidateMetricsNonNullable: migrating ===
ci: -- current_schema(nil)
ci:    -> 0.0003s
ci: -- transaction_open?(nil)
ci:    -> 0.0000s
ci: -- transaction_open?(nil)
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE ml_candidate_metrics\nADD CONSTRAINT check_d7dfd3de26\nCHECK ( candidate_id IS NOT NULL )\nNOT VALID;\n")
ci:    -> 0.0005s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0002s
ci: -- execute("ALTER TABLE ml_candidate_metrics VALIDATE CONSTRAINT check_d7dfd3de26;")
ci:    -> 0.0007s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0003s
ci: == 20240320101032 MakeCandidateIdOnMlCandidateMetricsNonNullable: migrated (0.0195s)

ci: == [advisory_lock_connection] object_id: 126080, pg_backend_pid: 22226
Edited by Eduardo Bonet

Merge request reports