Skip to content

Add imported column to imported resources

Carla Drago requested to merge 424454-add-imported-columns into master

What does this MR do and why?

This adds several migrations that add an imported column to resources that will display an imported icon in the UI if they are imported. The column is a smallint type that will use an enum and default to 0. The default value 0 will indicate the resource was not imported. Any other value will indicate the importer used (e.g. github, bitbucket, etc.) The mapping of importer to enum will be decided and documented in subsequent MR/s

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

DB Migration output

main: == [advisory_lock_connection] object_id: 122840, pg_backend_pid: 4197
main: == 20240415134942 AddImportedToNotes: migrating ===============================
main: -- add_column(:notes, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0034s
main: == 20240415134942 AddImportedToNotes: migrated (0.0075s) ======================

main: == [advisory_lock_connection] object_id: 122840, pg_backend_pid: 4197
main: == [advisory_lock_connection] object_id: 123380, pg_backend_pid: 4199
main: == 20240415135009 AddImportedToMergeRequests: migrating =======================
main: -- add_column(:merge_requests, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0030s
main: == 20240415135009 AddImportedToMergeRequests: migrated (0.0073s) ==============

main: == [advisory_lock_connection] object_id: 123380, pg_backend_pid: 4199
main: == [advisory_lock_connection] object_id: 123520, pg_backend_pid: 4201
main: == 20240415135029 AddImportedToIssues: migrating ==============================
main: -- add_column(:issues, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0025s
main: == 20240415135029 AddImportedToIssues: migrated (0.0066s) =====================

main: == [advisory_lock_connection] object_id: 123520, pg_backend_pid: 4201
main: == [advisory_lock_connection] object_id: 123660, pg_backend_pid: 4203
main: == 20240415135048 AddImportedToEpics: migrating ===============================
main: -- add_column(:epics, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0016s
main: == 20240415135048 AddImportedToEpics: migrated (0.0047s) ======================

main: == [advisory_lock_connection] object_id: 123660, pg_backend_pid: 4203
main: == [advisory_lock_connection] object_id: 124320, pg_backend_pid: 4205
main: == 20240415135110 AddImportedToEvents: migrating ==============================
main: -- add_column(:events, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0021s
main: == 20240415135110 AddImportedToEvents: migrated (0.0061s) =====================

main: == [advisory_lock_connection] object_id: 124320, pg_backend_pid: 4205
main: == [advisory_lock_connection] object_id: 124480, pg_backend_pid: 4207
main: == 20240415135132 AddImportedToSnippets: migrating ============================
main: -- add_column(:snippets, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0025s
main: == 20240415135132 AddImportedToSnippets: migrated (0.0054s) ===================

main: == [advisory_lock_connection] object_id: 124480, pg_backend_pid: 4207
main: == [advisory_lock_connection] object_id: 125420, pg_backend_pid: 4209
main: == 20240415135156 AddImportedToDesigns: migrating =============================
main: -- add_column(:design_management_designs, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0020s
main: == 20240415135156 AddImportedToDesigns: migrated (0.0060s) ====================

main: == [advisory_lock_connection] object_id: 125420, pg_backend_pid: 4209
main: == [advisory_lock_connection] object_id: 126080, pg_backend_pid: 4211
main: == 20240415135324 AddImportedToResourceEventTables: migrating =================
main: -- add_column(:resource_state_events, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0020s
main: -- add_column(:resource_label_events, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0019s
main: -- add_column(:resource_milestone_events, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0008s
main: == 20240415135324 AddImportedToResourceEventTables: migrated (0.0091s) ========

main: == [advisory_lock_connection] object_id: 126080, pg_backend_pid: 4211

main: == [advisory_lock_connection] object_id: 122840, pg_backend_pid: 21304
main: == 20240415164720 AddImportedToTempNotesBackup: migrating =====================
main: -- add_column(:temp_notes_backup, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
main:    -> 0.0032s
main: == 20240415164720 AddImportedToTempNotesBackup: migrated (0.0066s) ============

main: == [advisory_lock_connection] object_id: 122840, pg_backend_pid: 21304
ci: == [advisory_lock_connection] object_id: 123380, pg_backend_pid: 21306
ci: == 20240415164720 AddImportedToTempNotesBackup: migrating =====================
ci: -- add_column(:temp_notes_backup, :imported, :integer, {:default=>0, :null=>false, :limit=>2})
ci:    -> 0.0035s
ci: == 20240415164720 AddImportedToTempNotesBackup: migrated (0.0112s) ============

ci: == [advisory_lock_connection] object_id: 123380, pg_backend_pid: 21306

Related to #424454

Edited by Carla Drago

Merge request reports