Add FK on project_id

What does this MR do and why?

Add FK on project_id

Adds a foreign key on merge_request_diff_files.project_id. This column was previously added in db/migrate/20250224231330_add_project_id_to_merge_request_diff_files.rb and the index was (re)added in a separate migration db/post_migrate/20250403212841_create_async_index_on_merge_request_diff_files_project_id.rb

Changelog: added

Database

Up

main: == [advisory_lock_connection] object_id: 135540, pg_backend_pid: 67214
main: == 20250515180100 AddNotValidForeignKeyToMergeRequestDiffFiles: migrating =====
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE merge_request_diff_files ADD CONSTRAINT fk_0e3ba01603 FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;")
main:    -> 0.0058s
main: == 20250515180100 AddNotValidForeignKeyToMergeRequestDiffFiles: migrated (0.0922s)

Down

main: == [advisory_lock_connection] object_id: 135240, pg_backend_pid: 67926
main: == 20250515180100 AddNotValidForeignKeyToMergeRequestDiffFiles: reverting =====
main: -- remove_foreign_key(:merge_request_diff_files, {:column=>:project_id})
main:    -> 0.0067s
main: == 20250515180100 AddNotValidForeignKeyToMergeRequestDiffFiles: reverted (0.0832s)

main: == [advisory_lock_connection] object_id: 135240, pg_backend_pid: 67926

Related to #541970 (closed)

Edited by Kerri Miller

Merge request reports

Loading