Clean up schema for table merge_requests
From https://gitlab.com/gitlab-com/infrastructure/issues/1709:
-
Wrong data type: locked_at should be timestamptz - column already removed
-
Wrong data type: deleted_at should be timestamptz - Will be part of https://gitlab.com/gitlab-org/gitlab-ce/issues/37447
-
Wrong data type: merge_commit_sha should be bytea -
Wrong data type: rebase_commit_sha should be bytea -
Wrong data type: in_progress_merge_commit_sha should be bytea -
Missing FK: author_id -> users (14522 entries violate this rule) -
Missing FK: assignee_id -> users (1962 entries violate this rule) -
Missing FK: updated_by_id -> users (602 entries violate this rule) -
Missing FK: merge_user_id -> users (135 entries violate this rule) -
Missing FK: source_project_id -> projects -
Missing FK: target_project_id -> projects -
Missing FK: milestone_id -> milestones -
~Duplicate data: merge_status would be more efficient as an enum or integer (or smaller), save ~34MB~~ - state_machine doesn't support Rails enums
Edited by Yorick Peterse