Add fields to AbuseReports to facilitate automations
What does this MR do and why?
Adds fields to the abuse_reports
table to facilitate wider automation and uses.
See https://gitlab.com/gitlab-org/modelops/anti-abuse/team-tasks/-/issues/222 for more details.
Screenshots or screen recordings
20230214212644 AddFieldsToAbuseReports
Migrate up
main: == [advisory_lock_connection] object_id: 275420, pg_backend_pid: 40584
main: == 20230214212644 AddFieldsToAbuseReports: migrating ==========================
main: -- transaction_open?()
main: -> 0.0000s
main: -- add_column(:abuse_reports, :resolved_by_id, :int, {:null=>true})
main: -> 0.0020s
main: -- add_column(:abuse_reports, :assignee_id, :int, {:null=>true})
main: -> 0.0004s
main: -- add_column(:abuse_reports, :mitigation_steps, :text, {:null=>true})
main: -> 0.0002s
main: -- add_column(:abuse_reports, :evidence, :jsonb, {:null=>true})
main: -> 0.0005s
main: -- transaction_open?()
main: -> 0.0000s
main: -- transaction_open?()
main: -> 0.0001s
main: -- execute("ALTER TABLE abuse_reports\nADD CONSTRAINT check_f3c0947a2d\nCHECK ( char_length(mitigation_steps) <= 1000 )\nNOT VALID;\n")
main: -> 0.0027s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0002s
main: -- execute("ALTER TABLE abuse_reports VALIDATE CONSTRAINT check_f3c0947a2d;")
main: -> 0.0008s
main: -- execute("RESET statement_timeout")
main: -> 0.0002s
main: == 20230214212644 AddFieldsToAbuseReports: migrated (0.1837s) =================
main: == [advisory_lock_connection] object_id: 275420, pg_backend_pid: 40584
Migrate down
main: == [advisory_lock_connection] object_id: 275500, pg_backend_pid: 40180
main: == 20230214212644 AddFieldsToAbuseReports: reverting ==========================
main: -- change_table(:abuse_reports)
main: -> 0.0135s
main: == 20230214212644 AddFieldsToAbuseReports: reverted (0.0174s) =================
main: == [advisory_lock_connection] object_id: 275500, pg_backend_pid: 40180
Migrate up: 20230317180348 AddForeignKeyConstraintsToAbuseReports
main: == [advisory_lock_connection] object_id: 275460, pg_backend_pid: 20311
main: == 20230317180348 AddForeignKeyConstraintsToAbuseReports: migrating ===========
main: -- transaction_open?()
main: -> 0.0000s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER TABLE abuse_reports ADD CONSTRAINT fk_f10de8b524 FOREIGN KEY (resolved_by_id) REFERENCES users (id) ON DELETE SET NULL NOT VALID;")
main: -> 0.0053s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0001s
main: -- execute("ALTER TABLE abuse_reports VALIDATE CONSTRAINT fk_f10de8b524;")
main: -> 0.0114s
main: -- execute("RESET statement_timeout")
main: -> 0.0002s
main: == 20230317180348 AddForeignKeyConstraintsToAbuseReports: migrated (0.1489s) ==
Migrate down:
main: == [advisory_lock_connection] object_id: 275560, pg_backend_pid: 19867
main: == 20230317180348 AddForeignKeyConstraintsToAbuseReports: reverting ===========
main: -- transaction_open?()
main: -> 0.0000s
main: == 20230317180348 AddForeignKeyConstraintsToAbuseReports: reverted (0.1573s) ==
main: == [advisory_lock_connection] object_id: 275560, pg_backend_pid: 19867
20230512190456 AddForeignKeyToAbuseReportsForAssignee
Migrate up:
main: == [advisory_lock_connection] object_id: 275440, pg_backend_pid: 29750
main: == 20230512190456 AddForeignKeyToAbuseReportsForAssignee: migrating ===========
main: -- transaction_open?()
main: -> 0.0000s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER TABLE abuse_reports ADD CONSTRAINT fk_3fe6467b93 FOREIGN KEY (assignee_id) REFERENCES users (id) ON DELETE SET NULL NOT VALID;")
main: -> 0.0014s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0001s
main: -- execute("ALTER TABLE abuse_reports VALIDATE CONSTRAINT fk_3fe6467b93;")
main: -> 0.0050s
main: -- execute("RESET statement_timeout")
main: -> 0.0003s
main: == 20230512190456 AddForeignKeyToAbuseReportsForAssignee: migrated (0.1413s) ==
main: == [advisory_lock_connection] object_id: 275440, pg_backend_pid: 29750
Migrate down:
main: == [advisory_lock_connection] object_id: 275520, pg_backend_pid: 29315
main: == 20230512190456 AddForeignKeyToAbuseReportsForAssignee: reverting ===========
main: -- transaction_open?()
main: -> 0.0000s
main: -- remove_foreign_key(:abuse_reports, {:column=>:assignee_id})
main: -> 0.0043s
main: == 20230512190456 AddForeignKeyToAbuseReportsForAssignee: reverted (0.1347s) ==
main: == [advisory_lock_connection] object_id: 275520, pg_backend_pid: 29315
How to set up and validate locally
N/A
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Ethan Urie