Skip to content

Backfill name column for audit event tables

What does this MR do and why?

Backfill name column for audit event tables

This commit backfills name column in audit event tables

Changelog: other

In MR !123354 (merged) we introduced the name column in these tables, and for existing records, this column is null. we want to make this field required on the frontend and add not null constraint on the backend but for this, we first need to backfill null entries. Currently, we don't have any API to fill the name column so it is safe to just update all records with a unique name for this I am using "Destination #{id}".

How to set up and validate locally

  1. Run migration rake db:migrate
  2. Verify every row has a name value that is unique and follows pattern Destination id

Migration logs

main: == [advisory_lock_connection] object_id: 223900, pg_backend_pid: 38114
main: == [advisory_lock_connection] object_id: 224100, pg_backend_pid: 38116
main: == 20230626065725 BackfillInstanceAuditEventName: migrating ===================
main: == 20230626065725 BackfillInstanceAuditEventName: migrated (0.0176s) ==========

main: == [advisory_lock_connection] object_id: 224100, pg_backend_pid: 38116
main: == [advisory_lock_connection] object_id: 224240, pg_backend_pid: 38118
main: == 20230626065755 BackfillExternalAuditEventName: migrating ===================
main: == 20230626065755 BackfillExternalAuditEventName: migrated (0.0227s) ==========

main: == [advisory_lock_connection] object_id: 224240, pg_backend_pid: 38118
main: == [advisory_lock_connection] object_id: 224340, pg_backend_pid: 38121
main: == 20230626070959 AddNotNullToExternalAuditEvent: migrating ===================
main: -- change_column_null(:audit_events_external_audit_event_destinations, :name, false)
main:    -> 0.0014s
main: == 20230626070959 AddNotNullToExternalAuditEvent: migrated (0.0083s) ==========

main: == [advisory_lock_connection] object_id: 224340, pg_backend_pid: 38121
main: == [advisory_lock_connection] object_id: 224460, pg_backend_pid: 38123
main: == 20230626071100 AddNotNullToInstanceAuditEvent: migrating ===================
main: -- change_column_null(:audit_events_instance_external_audit_event_destinations, :name, false)
main:    -> 0.0015s
main: == 20230626071100 AddNotNullToInstanceAuditEvent: migrated (0.0064s) ==========

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #413894 (closed)

Edited by Harsimar Sandhu

Merge request reports