Inhaltsverzeichnis
GitLab ArchLinux - Upgrade/Update
GitLab ist ein, in der Community Edition unter einer MIT-Lizenz zur Verfügung gestelltes System, zur Verwaltung von Git-Repositorys im Browser, was den unentgeltlichen Betrieb auf einem eigenen Server ermöglicht.
Beschreibung | Externer Link |
---|---|
Homepage | https://gitlab.com/ |
Dokumentation | https://docs.gitlab.com/ |
Versionsvergleich | https://about.gitlab.com/install/ce-or-ee/ |
Installation | https://wiki.archlinux.org/title/PostgreSQL https://wiki.archlinux.org/title/Redis https://wiki.archlinux.org/title/GitLab |
Upgrade Dokumentation | https://docs.gitlab.com/ee/update/upgrading_from_source.html |
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root
zu werden, geben Sie bitte nachfolgenden Befehl ein:
$ su - Password:
GitLab: Dienste/Daemons stoppen
Nachdem GitLab wahrscheinlich bereits lauffähig gestartet wurde, ist es erforderlich GitLab zu stoppen.
Da ein systemd-Target - hier in diesem Fall gitlab.target
nicht einfach gestoppt werden kann, ist es sinnvoll sich den Inhalt von gitlab.target
mit nachfolgendem Befehl anzeigen zu lassen:
# systemctl cat gitlab.target # /usr/lib/systemd/system/gitlab.target [Unit] Description=GitLab - Self Hosted Git Management Requires=gitlab-puma.service gitlab-workhorse.service Wants=gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service [Install] WantedBy=multi-user.target
Hier sind alle Dienste/Daemons welche ebenfalls mittels systemd gestartet werden aus dem gitlab.target
in den Bereichen
Requires
Wants
aufgelistet
Diese können dann mit nachfolgendem Befehl gestoppt werden:
# systemctl stop gitlab-puma.service gitlab-workhorse.service gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service
GitLab: Paket update
Nachfolgender Befehl führt ein Upgrade/Update der GitLab-Installation unter ArchLinux durch:
# pacman --noconfirm -S gitlab
# pacman --noconfirm -S gitlab resolving dependencies... looking for conflicting packages... Package (1) Old Version New Version Net Change Download Size extra/gitlab 16.9.2-3 16.10.0-1 -9.88 MiB 415.79 MiB Total Download Size: 415.79 MiB Total Installed Size: 1519.49 MiB Net Upgrade Size: -9.88 MiB :: Retrieving packages... gitlab-16.10.0-1... 415.8 MiB 13.2 MiB/s 00:32 [######################] 100% (1/1) checking keys in keyring [######################] 100% (1/1) checking package integrity [######################] 100% (1/1) loading package files [######################] 100% (1/1) checking for file conflicts [######################] 100% (1/1) checking available disk space [######################] 100% :: Running pre-transaction hooks... (1/1) Performing snapper pre snapshots for the following configurations... ==> root: 32 :: Processing package changes... (1/1) upgrading gitlab [######################] 100% warning: directory permissions differ on /var/lib/gitlab/ filesystem: 755 package: 750 warning: directory permissions differ on /var/log/gitlab/ filesystem: 770 package: 755 You should upgrade your database: $ (cd /usr/share/webapps/gitlab && sudo -u gitlab $(cat environment | xargs) bundle exec rake db:migrate) Afterwards, restart gitlab-related services: # systemctl daemon-reload # systemctl restart gitlab-sidekiq gitlab-puma gitlab-workhorse gitlab-gitaly :: Running post-transaction hooks... (1/5) Reloading system manager configuration... (2/5) Creating temporary files... (3/5) Arming ConditionNeedsUpdate... (4/5) Check if daemons need restart after library/binary upgrades Running kernel seems to be up-to-date. Failed to check for processor microcode upgrades. No services need to be restarted. No containers need to be restarted. No user sessions are running outdated binaries. No VM guests are running outdated hypervisor (qemu) binaries on this host. (5/5) Performing snapper post snapshots for the following configurations... ==> root: 33
HINWEIS - Nachfolgende Hinweise bei der Installation sind zu beachten:
You should upgrade your database: $ (cd /usr/share/webapps/gitlab && sudo -u gitlab $(cat environment | xargs) bundle exec rake db:migrate) Afterwards, restart gitlab-related services: # systemctl daemon-reload # systemctl restart gitlab-sidekiq gitlab-puma gitlab-workhorse gitlab-gitaly
GitLab: Datenbank update
Wie bereits beim Upgrade/Update als Hinweis zu lesen war, sollte eine Migration der Datenbank mit Hilfe des nachfolgenden Befehls durchgeführt werden:
Mit nachfolgendem Befehl muss zwingend in das Verzeichnis /usr/share/webapps/gitlab
gewechselt werden:
# cd /usr/share/webapps/gitlab
Der nachfolgende Befehl, führt dann das Upgrade/Update der PostgreSQL-Datenbank von GitLab aus:
# sudo -u gitlab $(cat environment | xargs) bundle exec rake db:migrate RAILS_ENV=production
# sudo -u gitlab $(cat environment | xargs) bundle exec rake db:migrate RAILS_ENV=production main: == [advisory_lock_connection] object_id: 52860, pg_backend_pid: 4771 main: == 20231220225325 AddAsciidocMaxIncludesSetting: migrating ==================== main: -- add_column(:application_settings, :asciidoc_max_includes, :smallint, {:default=>32, :null=>false}) main: -> 0.0058s main: == 20231220225325 AddAsciidocMaxIncludesSetting: migrated (0.0145s) =========== main: == 20240110064826 AddColorModeIdToUsers: migrating ============================ main: -- add_column(:users, :color_mode_id, :smallint, {:default=>1, :null=>false, :if_not_exists=>true}) main: -> 0.0268s main: == 20240110064826 AddColorModeIdToUsers: migrated (0.0339s) =================== main: == 20240110160643 AddOptionalMetricsEnabledToApplicationSettings: migrating === main: -- add_column(:application_settings, :include_optional_metrics_in_service_ping, :boolean, {:default=>true, :null=>false}) main: -> 0.0037s main: == 20240110160643 AddOptionalMetricsEnabledToApplicationSettings: migrated (0.0101s) main: == 20240110160816 UpdateOptionaMetricsValueServicePing: migrating ============= main: -- execute("UPDATE application_settings\nSET include_optional_metrics_in_service_ping = usage_ping_enabled\n") main: -> 0.0025s main: == 20240110160816 UpdateOptionaMetricsValueServicePing: migrated (0.0089s) ==== main: == 20240113071052 QueuePopulateTopicsSlugColumn: migrating ==================== main: == 20240113071052 QueuePopulateTopicsSlugColumn: migrated (0.1127s) =========== main: == 20240123045637 AddTempBackfillIndexToUsersOnIdForDarkThemeIds: migrating === main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0013s main: -- index_exists?(:users, :id, {:name=>"temp_index_on_users_where_dark_theme", :where=>"theme_id = 11", :algorithm=>:concurrently}) main: -> 0.0186s main: -- add_index(:users, :id, {:name=>"temp_index_on_users_where_dark_theme", :where=>"theme_id = 11", :algorithm=>:concurrently}) main: -> 0.0072s main: == 20240123045637 AddTempBackfillIndexToUsersOnIdForDarkThemeIds: migrated (0.0501s) main: == 20240124043507 MigrateSidekiqQueuedAndFutureJobs: migrating ================ main: == 20240124043507 MigrateSidekiqQueuedAndFutureJobs: migrated (1.1496s) ======= main: == 20240129115540 AddZoektTasks: migrating ==================================== main: -- create_table(:zoekt_tasks, {:primary_key=>[:id, :partition_id], :options=>"PARTITION BY LIST (partition_id)", :if_not_exists=>true}) main: -> 0.0072s main: == 20240129115540 AddZoektTasks: migrated (0.0128s) =========================== main: == 20240129123433 EnsureIdUniquenessForZoektTasks: migrating ================== main: -- current_schema(nil) main: -> 0.0005s main: -- change_column_default(:zoekt_tasks, :id, nil) main: -> 0.0028s main: -- execute("CREATE OR REPLACE FUNCTION assign_zoekt_tasks_id_value()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF NEW.\"id\" IS NOT NULL THEN\n RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';\nEND IF;\nNEW.\"id\" := nextval('zoekt_tasks_id_seq'::regclass);\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n") main: -> 0.0039s main: -- execute("CREATE TRIGGER assign_zoekt_tasks_id_trigger\nBEFORE INSERT ON zoekt_tasks\nFOR EACH ROW\n\nEXECUTE FUNCTION assign_zoekt_tasks_id_value()\n") main: -> 0.0008s main: == 20240129123433 EnsureIdUniquenessForZoektTasks: migrated (0.0255s) ========= main: == 20240130201017 AddExitCodeToBuildsMetadata: migrating ====================== main: -- add_column(:p_ci_builds_metadata, :exit_code, :smallint, {:null=>true}) main: -> 0.0019s main: == 20240130201017 AddExitCodeToBuildsMetadata: migrated (0.0086s) ============= main: == 20240131100818 DropTmpFindingIndexFromVulnerabilities: migrating =========== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0013s main: -- indexes(:vulnerabilities) main: -> 0.0181s main: -- remove_index(:vulnerabilities, {:algorithm=>:concurrently, :name=>"tmp_index_vulnerabilities_on_id_finding_id_empty"}) main: -> 0.0054s main: == 20240131100818 DropTmpFindingIndexFromVulnerabilities: migrated (0.0384s) == main: == 20240131123824 AddAdminCicdVariablesToMemberRoles: migrating =============== main: -- add_column(:member_roles, :admin_cicd_variables, :boolean, {:default=>false, :null=>false}) main: -> 0.0018s main: == 20240131123824 AddAdminCicdVariablesToMemberRoles: migrated (0.0078s) ====== main: == 20240201111204 AddTmpEpicIdColumnToIssues: migrating ======================= main: -- add_column(:issues, :tmp_epic_id, :bigint) main: -> 0.0021s main: == 20240201111204 AddTmpEpicIdColumnToIssues: migrated (0.0079s) ============== main: == 20240201111294 AddIndexOnIssuesTableTmpEpicIdColumn: migrating ============= main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- index_exists?(:issues, :tmp_epic_id, {:unique=>true, :name=>"tmp_index_issues_on_tmp_epic_id", :algorithm=>:concurrently}) main: -> 0.0286s main: -- add_index(:issues, :tmp_epic_id, {:unique=>true, :name=>"tmp_index_issues_on_tmp_epic_id", :algorithm=>:concurrently}) main: -> 0.0062s main: == 20240201111294 AddIndexOnIssuesTableTmpEpicIdColumn: migrated (0.0512s) ==== main: == 20240201112204 AddFkToTmpEpicIdColumnOnIssues: migrating =================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE issues ADD CONSTRAINT fk_c34dd2b036 FOREIGN KEY (tmp_epic_id) REFERENCES epics (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0015s main: -- execute("ALTER TABLE issues VALIDATE CONSTRAINT fk_c34dd2b036;") main: -> 0.0045s main: == 20240201112204 AddFkToTmpEpicIdColumnOnIssues: migrated (0.0435s) ========== main: == 20240205105347 RemoveStuckImportWorker: migrating ========================== main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240205105347 RemoveStuckImportWorker: migrated (0.0084s) ================= main: == 20240205155830 AddPolicyLimitApplicationSetting: migrating ================= main: -- transaction_open?(nil) main: -> 0.0000s main: -- add_column(:application_settings, :security_approval_policies_limit, :integer, {:default=>5, :null=>false, :if_not_exists=>true}) main: -> 0.2627s main: == 20240205155830 AddPolicyLimitApplicationSetting: migrated (0.2844s) ======== main: == 20240205215337 CreatePartitionedMergeRequestDiffCommitsCopy: migrating ===== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction(nil) main: -- execute("CREATE TABLE merge_request_diff_commits_b5377a7a34 (\n LIKE merge_request_diff_commits INCLUDING ALL EXCLUDING INDEXES,\n merge_request_diff_id_tmp bigint NOT NULL, relative_order_tmp integer NOT NULL,\n PRIMARY KEY (merge_request_diff_id_tmp, relative_order_tmp)\n) PARTITION BY RANGE (merge_request_diff_id_tmp)\n") main: -> 0.0017s main: -- remove_column("merge_request_diff_commits_b5377a7a34", "merge_request_diff_id") main: -> 0.0006s main: -- rename_column("merge_request_diff_commits_b5377a7a34", "merge_request_diff_id_tmp", "merge_request_diff_id") main: -> 0.0022s main: -- remove_column("merge_request_diff_commits_b5377a7a34", "relative_order") main: -> 0.0005s main: -- rename_column("merge_request_diff_commits_b5377a7a34", "relative_order_tmp", "relative_order") main: -> 0.0020s main: -> 0.0074s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1) TO (200000001)\n") main: -> 0.0092s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (200000001) TO (400000001)\n") main: -> 0.0050s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_400000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (400000001) TO (600000001)\n") main: -> 0.0065s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_600000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (600000001) TO (800000001)\n") main: -> 0.0055s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_800000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (800000001) TO (1000000001)\n") main: -> 0.0052s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1000000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1000000001) TO (1200000001)\n") main: -> 0.0049s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1200000001) TO (1400000001)\n") main: -> 0.0068s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1400000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1400000001) TO (1600000001)\n") main: -> 0.0054s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1600000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1600000001) TO (1800000001)\n") main: -> 0.0051s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1800000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1800000001) TO (2000000001)\n") main: -> 0.0062s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_2000000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (2000000001) TO (2200000001)\n") main: -> 0.0085s main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_2200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (2200000001) TO (2400000001)\n") main: -> 0.0073s main: -- execute("CREATE FUNCTION table_sync_function_0992e728d3()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF (TG_OP = 'DELETE') THEN\n DELETE FROM merge_request_diff_commits_b5377a7a34 where merge_request_diff_id = OLD.merge_request_diff_id AND relative_order = OLD.relative_order;\nELSIF (TG_OP = 'UPDATE') THEN\n UPDATE merge_request_diff_commits_b5377a7a34\n SET authored_date = NEW.authored_date,\n committed_date = NEW.committed_date,\n sha = NEW.sha,\n message = NEW.message,\n trailers = NEW.trailers,\n commit_author_id = NEW.commit_author_id,\n committer_id = NEW.committer_id\n WHERE merge_request_diff_commits_b5377a7a34.merge_request_diff_id = NEW.merge_request_diff_id AND merge_request_diff_commits_b5377a7a34.relative_order = NEW.relative_order;\nELSIF (TG_OP = 'INSERT') THEN\n INSERT INTO merge_request_diff_commits_b5377a7a34 (authored_date,\n committed_date,\n sha,\n message,\n trailers,\n commit_author_id,\n committer_id,\n merge_request_diff_id,\n relative_order)\n VALUES (NEW.authored_date,\n NEW.committed_date,\n NEW.sha,\n NEW.message,\n NEW.trailers,\n NEW.commit_author_id,\n NEW.committer_id,\n NEW.merge_request_diff_id,\n NEW.relative_order);\nEND IF;\nRETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n") main: -> 0.0010s main: -- execute("COMMENT ON FUNCTION table_sync_function_0992e728d3 IS 'Partitioning migration: table sync for merge_request_diff_commits table'") main: -> 0.0005s main: -- current_schema(nil) main: -> 0.0003s main: -- execute("CREATE TRIGGER table_sync_trigger_57c8465cd7\nAFTER INSERT OR UPDATE OR DELETE ON merge_request_diff_commits\nFOR EACH ROW\n\nEXECUTE FUNCTION table_sync_function_0992e728d3()\n") main: -> 0.0005s main: == 20240205215337 CreatePartitionedMergeRequestDiffCommitsCopy: migrated (0.1598s) main: == 20240206075104 AddOccupiesSeatToMemberRole: migrating ====================== main: -- add_column(:member_roles, :occupies_seat, :boolean, {:default=>false, :null=>false}) main: -> 0.0019s main: == 20240206075104 AddOccupiesSeatToMemberRole: migrated (0.0089s) ============= main: == 20240206080928 AddIndexToOccupiesSeatOnMemberRole: migrating =============== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0013s main: -- index_exists?(:member_roles, :occupies_seat, {:name=>"index_member_roles_on_occupies_seat", :algorithm=>:concurrently}) main: -> 0.0027s main: -- add_index(:member_roles, :occupies_seat, {:name=>"index_member_roles_on_occupies_seat", :algorithm=>:concurrently}) main: -> 0.0062s main: == 20240206080928 AddIndexToOccupiesSeatOnMemberRole: migrated (0.0276s) ====== main: == 20240206095832 AddIndexToNotesWhereNoteableTypeIsNull: migrating =========== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0014s main: -- index_exists?(:notes, :id, {:name=>"temp_index_on_notes_with_null_noteable_type", :where=>"noteable_type IS NULL", :algorithm=>:concurrently}) main: -> 0.0109s main: -- add_index(:notes, :id, {:name=>"temp_index_on_notes_with_null_noteable_type", :where=>"noteable_type IS NULL", :algorithm=>:concurrently}) main: -> 0.0059s main: == 20240206095832 AddIndexToNotesWhereNoteableTypeIsNull: migrated (0.0324s) == main: == 20240206115325 AddNodeIdForeignKeyToZoektTasks: migrating ================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE zoekt_tasks ADD CONSTRAINT fk_rails_51af186590 FOREIGN KEY (zoekt_node_id) REFERENCES zoekt_nodes (id) ON DELETE CASCADE ;") main: -> 0.0015s main: -- execute("ALTER TABLE zoekt_tasks VALIDATE CONSTRAINT fk_rails_51af186590;") main: -> 0.0004s main: == 20240206115325 AddNodeIdForeignKeyToZoektTasks: migrated (0.0406s) ========= main: == 20240206224725 AddOrganizationIdToDependencyListExports: migrating ========= main: -- add_column(:dependency_list_exports, :organization_id, :bigint) main: -> 0.0014s main: == 20240206224725 AddOrganizationIdToDependencyListExports: migrated (0.0076s) main: == 20240206225046 IndexOrganizationIdOnDependencyListExports: migrating ======= main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0017s main: -- index_exists?(:dependency_list_exports, :organization_id, {:name=>"index_dependency_list_exports_on_organization_id", :algorithm=>:concurrently}) main: -> 0.0046s main: -- add_index(:dependency_list_exports, :organization_id, {:name=>"index_dependency_list_exports_on_organization_id", :algorithm=>:concurrently}) main: -> 0.0066s main: == 20240206225046 IndexOrganizationIdOnDependencyListExports: migrated (0.0290s) main: == 20240207115842 AddSemVerToCatalogResourcesVersion: migrating =============== main: -- add_column(:catalog_resource_versions, :semver_major, :integer) main: -> 0.0010s main: -- add_column(:catalog_resource_versions, :semver_minor, :integer) main: -> 0.0006s main: -- add_column(:catalog_resource_versions, :semver_patch, :integer) main: -> 0.0008s main: -- add_column(:catalog_resource_versions, :semver_prerelease, :text) main: -> 0.0034s main: == 20240207115842 AddSemVerToCatalogResourcesVersion: migrated (0.0116s) ====== main: == 20240207134321 CreateAuditEventsGroupStreamingEventTypeFilters: migrating == main: -- create_table(:audit_events_group_streaming_event_type_filters) main: -- quote_column_name(:audit_event_type) main: -> 0.0000s main: -> 0.0137s main: == 20240207134321 CreateAuditEventsGroupStreamingEventTypeFilters: migrated (0.0202s) main: == 20240207193743 AddConditionalUniqueIndexToMemberApprovals: migrating ======= main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- index_exists?(:member_approvals, [:member_id, :member_namespace_id, :new_access_level], {:unique=>true, :where=>"status = 0", :name=>"unique_member_approvals_on_pending_status", :algorithm=>:concurrently}) main: -> 0.0061s main: -- add_index(:member_approvals, [:member_id, :member_namespace_id, :new_access_level], {:unique=>true, :where=>"status = 0", :name=>"unique_member_approvals_on_pending_status", :algorithm=>:concurrently}) main: -> 0.0105s main: == 20240207193743 AddConditionalUniqueIndexToMemberApprovals: migrated (0.0379s) main: == 20240208235322 AddForeignKeyToOrganizationIdOnDependencyListExports: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE organizations, dependency_list_exports IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0004s main: -- execute("ALTER TABLE dependency_list_exports ADD CONSTRAINT fk_c348f16f10 FOREIGN KEY (organization_id) REFERENCES organizations (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0010s main: -- execute("ALTER TABLE dependency_list_exports VALIDATE CONSTRAINT fk_c348f16f10;") main: -> 0.0028s main: == 20240208235322 AddForeignKeyToOrganizationIdOnDependencyListExports: migrated (0.0422s) main: == 20240209153126 AddTmpIndexForSucceededSecurityScans: migrating ============= main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- index_exists?(:security_scans, :id, {:name=>"tmp_index_for_succeeded_security_scans", :where=>"status = 1", :algorithm=>:concurrently}) main: -> 0.0091s main: -- add_index(:security_scans, :id, {:name=>"tmp_index_for_succeeded_security_scans", :where=>"status = 1", :algorithm=>:concurrently}) main: -> 0.0070s main: == 20240209153126 AddTmpIndexForSucceededSecurityScans: migrated (0.0319s) ==== main: == 20240209153920 QueuePurgeSecurityScansWithEmptyFindingData: migrating ====== main: == 20240209153920 QueuePurgeSecurityScansWithEmptyFindingData: migrated (0.0064s) main: == 20240209155253 RemoveColumnsFromApplicationSettings: migrating ============= main: -- remove_column(:application_settings, :delayed_project_removal, {:if_exists=>true}) main: -> 0.2650s main: -- remove_column(:application_settings, :lock_delayed_project_removal, {:if_exists=>true}) main: -> 0.2705s main: -- remove_column(:application_settings, :delayed_group_deletion, {:if_exists=>true}) main: -> 0.2815s main: == 20240209155253 RemoveColumnsFromApplicationSettings: migrated (0.8223s) ==== main: == 20240209161048 RemoveColumnsFromNamespaceSettings: migrating =============== main: -- remove_column(:namespace_settings, :delayed_project_removal, {:if_exists=>true}) main: -> 0.0050s main: -- remove_column(:namespace_settings, :lock_delayed_project_removal, {:if_exists=>true}) main: -> 0.0053s main: == 20240209161048 RemoveColumnsFromNamespaceSettings: migrated (0.0166s) ====== main: == 20240209183815 FinalizeUpdateDelayedProjectRemovalToNull: migrating ======== main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240209183815 FinalizeUpdateDelayedProjectRemovalToNull: migrated (0.0114s) main: == 20240210104125 EnsureMemberRolesNamesUniq: migrating ======================= main: -- execute("UPDATE member_roles SET name = CONCAT(name, ' (', id, ')')\nWHERE id IN (\n SELECT mr.id FROM member_roles mr\n WHERE EXISTS (SELECT mr_duplicates.id\n FROM member_roles mr_duplicates\n WHERE mr_duplicates.name = mr.name\n AND (\n mr_duplicates.namespace_id = mr.namespace_id\n OR (mr_duplicates.namespace_id IS NULL AND mr.namespace_id IS NULL)\n )\n AND mr_duplicates.id < mr.id))\n") main: -> 0.0025s main: == 20240210104125 EnsureMemberRolesNamesUniq: migrated (0.0084s) ============== main: == 20240212023136 PrepareAsyncIndexForBuildsPart4: migrating ================== main: -- index_exists?("public.ci_builds", [:runner_id_convert_to_bigint], {:name=>"index_b4cf879bcf", :where=>"status::text = 'running'::text AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently}) main: -> 0.0244s main: -- add_index_options("public.ci_builds", [:runner_id_convert_to_bigint], {:name=>"index_b4cf879bcf", :where=>"status::text = 'running'::text AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently}) main: -> 0.0000s main: -- index_exists?("public.ci_builds", [:status, :type, :runner_id_convert_to_bigint], {:name=>"index_9f1fa3baee", :algorithm=>:concurrently}) main: -> 0.0210s main: -- add_index_options("public.ci_builds", [:status, :type, :runner_id_convert_to_bigint], {:name=>"index_9f1fa3baee", :algorithm=>:concurrently}) main: -> 0.0000s main: -- index_exists?("public.ci_builds", [:project_id_convert_to_bigint, :id], {:name=>"index_3591adffe4", :algorithm=>:concurrently}) main: -> 0.0213s main: -- add_index_options("public.ci_builds", [:project_id_convert_to_bigint, :id], {:name=>"index_3591adffe4", :algorithm=>:concurrently}) main: -> 0.0000s main: -- index_exists?("gitlab_partitions_dynamic.ci_builds_101", [:runner_id_convert_to_bigint], {:name=>"index_61c5c551d1", :where=>"status::text = 'running'::text AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently}) main: -> 0.0207s main: -- add_index_options("gitlab_partitions_dynamic.ci_builds_101", [:runner_id_convert_to_bigint], {:name=>"index_61c5c551d1", :where=>"status::text = 'running'::text AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently}) main: -> 0.0000s main: -- index_exists?("gitlab_partitions_dynamic.ci_builds_101", [:status, :type, :runner_id_convert_to_bigint], {:name=>"index_a877f193a3", :algorithm=>:concurrently}) main: -> 0.0220s main: -- add_index_options("gitlab_partitions_dynamic.ci_builds_101", [:status, :type, :runner_id_convert_to_bigint], {:name=>"index_a877f193a3", :algorithm=>:concurrently}) main: -> 0.0000s main: -- index_exists?("gitlab_partitions_dynamic.ci_builds_101", [:project_id_convert_to_bigint, :id], {:name=>"index_10eae1e8cf", :algorithm=>:concurrently}) main: -> 0.0207s main: -- add_index_options("gitlab_partitions_dynamic.ci_builds_101", [:project_id_convert_to_bigint, :id], {:name=>"index_10eae1e8cf", :algorithm=>:concurrently}) main: -> 0.0000s main: == 20240212023136 PrepareAsyncIndexForBuildsPart4: migrated (0.2104s) ========= main: == 20240212031520 SyncIndexForPCiBuildsPart3: migrating ======================= main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_name_exists?(:p_ci_builds, "p_ci_builds_resource_group_id_status_commit_id_bigint_idx") main: -> 0.0014s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_exists?("public.ci_builds", [:resource_group_id, :status, :commit_id_convert_to_bigint], {:name=>"index_bc23fb9243", :where=>"resource_group_id IS NOT NULL", :algorithm=>:concurrently}) main: -> 0.0220s main: -- add_index("public.ci_builds", [:resource_group_id, :status, :commit_id_convert_to_bigint], {:name=>"index_bc23fb9243", :where=>"resource_group_id IS NOT NULL", :algorithm=>:concurrently}) main: -> 0.0076s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_exists?("gitlab_partitions_dynamic.ci_builds_101", [:resource_group_id, :status, :commit_id_convert_to_bigint], {:name=>"index_8de48efee4", :where=>"resource_group_id IS NOT NULL", :algorithm=>:concurrently}) main: -> 0.0234s main: -- add_index("gitlab_partitions_dynamic.ci_builds_101", [:resource_group_id, :status, :commit_id_convert_to_bigint], {:name=>"index_8de48efee4", :where=>"resource_group_id IS NOT NULL", :algorithm=>:concurrently}) main: -> 0.0067s main: -- transaction_open?(nil) main: -> 0.0000s main: -- add_index(:p_ci_builds, [:resource_group_id, :status, :commit_id_convert_to_bigint], {:name=>"p_ci_builds_resource_group_id_status_commit_id_bigint_idx", :where=>"resource_group_id IS NOT NULL"}) main: -> 0.0017s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_name_exists?(:p_ci_builds, "p_ci_builds_commit_id_bigint_stage_idx_created_at_idx") main: -> 0.0016s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_exists?("public.ci_builds", [:commit_id_convert_to_bigint, :stage_idx, :created_at], {:name=>"index_d46de3aa4f", :algorithm=>:concurrently}) main: -> 0.0215s main: -- add_index("public.ci_builds", [:commit_id_convert_to_bigint, :stage_idx, :created_at], {:name=>"index_d46de3aa4f", :algorithm=>:concurrently}) main: -> 0.0060s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_exists?("gitlab_partitions_dynamic.ci_builds_101", [:commit_id_convert_to_bigint, :stage_idx, :created_at], {:name=>"index_19fdfdf488", :algorithm=>:concurrently}) main: -> 0.0219s main: -- add_index("gitlab_partitions_dynamic.ci_builds_101", [:commit_id_convert_to_bigint, :stage_idx, :created_at], {:name=>"index_19fdfdf488", :algorithm=>:concurrently}) main: -> 0.0055s main: -- transaction_open?(nil) main: -> 0.0000s main: -- add_index(:p_ci_builds, [:commit_id_convert_to_bigint, :stage_idx, :created_at], {:name=>"p_ci_builds_commit_id_bigint_stage_idx_created_at_idx"}) main: -> 0.0017s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_name_exists?(:p_ci_builds, "p_ci_builds_runner_id_bigint_id_idx") main: -> 0.0014s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_exists?("public.ci_builds", [:runner_id_convert_to_bigint, :id], {:name=>"index_adafd086ad", :order=>{:id=>:desc}, :algorithm=>:concurrently}) main: -> 0.0252s main: -- add_index("public.ci_builds", [:runner_id_convert_to_bigint, :id], {:name=>"index_adafd086ad", :order=>{:id=>:desc}, :algorithm=>:concurrently}) main: -> 0.0059s main: -- transaction_open?(nil) main: -> 0.0000s main: -- index_exists?("gitlab_partitions_dynamic.ci_builds_101", [:runner_id_convert_to_bigint, :id], {:name=>"index_db48796375", :order=>{:id=>:desc}, :algorithm=>:concurrently}) main: -> 0.0230s main: -- add_index("gitlab_partitions_dynamic.ci_builds_101", [:runner_id_convert_to_bigint, :id], {:name=>"index_db48796375", :order=>{:id=>:desc}, :algorithm=>:concurrently}) main: -> 0.0080s main: -- transaction_open?(nil) main: -> 0.0000s main: -- add_index(:p_ci_builds, [:runner_id_convert_to_bigint, :id], {:name=>"p_ci_builds_runner_id_bigint_id_idx", :order=>{:id=>:desc}}) main: -> 0.0023s main: == 20240212031520 SyncIndexForPCiBuildsPart3: migrated (0.2569s) ============== main: == 20240212031600 AddFkForCommitIdBigintBetweenPCiBuildsAndCiPipelines: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_pipelines, public.ci_builds IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0005s main: -- execute("ALTER TABLE public.ci_builds ADD CONSTRAINT fk_8d588a7095 FOREIGN KEY (commit_id_convert_to_bigint) REFERENCES ci_pipelines (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0013s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_pipelines, gitlab_partitions_dynamic.ci_builds_101 IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0006s main: -- execute("ALTER TABLE gitlab_partitions_dynamic.ci_builds_101 ADD CONSTRAINT fk_8d588a7095 FOREIGN KEY (commit_id_convert_to_bigint) REFERENCES ci_pipelines (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0018s main: == 20240212031600 AddFkForCommitIdBigintBetweenPCiBuildsAndCiPipelines: migrated (0.1376s) main: == 20240212040428 ValidateForeignKeyForUpstreamPipelineIdBetweenPCiBuildsAndCiPipelines: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE public.ci_builds VALIDATE CONSTRAINT fk_6b6c3f3e70;") main: -> 0.0059s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_pipelines, gitlab_partitions_dynamic.ci_builds_101 IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0009s main: -- execute("ALTER TABLE gitlab_partitions_dynamic.ci_builds_101 ADD CONSTRAINT fk_6b6c3f3e70 FOREIGN KEY (upstream_pipeline_id_convert_to_bigint) REFERENCES ci_pipelines (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0016s main: -- execute("ALTER TABLE gitlab_partitions_dynamic.ci_builds_101 VALIDATE CONSTRAINT fk_6b6c3f3e70;") main: -> 0.0034s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_pipelines, p_ci_builds IN ACCESS EXCLUSIVE MODE") main: -> 0.0007s main: -- execute("ALTER TABLE p_ci_builds ADD CONSTRAINT fk_6b6c3f3e70 FOREIGN KEY (upstream_pipeline_id_convert_to_bigint) REFERENCES ci_pipelines (id) ON DELETE CASCADE ;") main: -> 0.0030s main: -- execute("ALTER TABLE p_ci_builds VALIDATE CONSTRAINT fk_6b6c3f3e70;") main: -> 0.0011s main: == 20240212040428 ValidateForeignKeyForUpstreamPipelineIdBetweenPCiBuildsAndCiPipelines: migrated (0.0937s) main: == 20240212084659 ReplaceCiBuildTraceMetadataCiJobArtifactsForeignKey: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE p_ci_job_artifacts, ci_build_trace_metadata IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0007s main: -- execute("ALTER TABLE ci_build_trace_metadata ADD CONSTRAINT tmp_fk_21d25cac1a_p FOREIGN KEY (partition_id, trace_artifact_id) REFERENCES p_ci_job_artifacts (partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID;") main: -> 0.0018s main: == 20240212084659 ReplaceCiBuildTraceMetadataCiJobArtifactsForeignKey: migrated (0.0535s) main: == 20240212084743 ReplaceCiJobArtifactStatesForeignKey: migrating ============= main: -- transaction_open?(nil) main: -> 0.0001s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE p_ci_job_artifacts, ci_job_artifact_states IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0005s main: -- execute("ALTER TABLE ci_job_artifact_states ADD CONSTRAINT tmp_fk_rails_80a9cba3b2_p FOREIGN KEY (partition_id, job_artifact_id) REFERENCES p_ci_job_artifacts (partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID;") main: -> 0.0011s main: == 20240212084743 ReplaceCiJobArtifactStatesForeignKey: migrated (0.0484s) ==== main: == 20240212092520 EnsureIdUniquenessForPCiJobArtifacts: migrating ============= main: -- current_schema(nil) main: -> 0.0011s main: -- change_column_default(:p_ci_job_artifacts, :id, nil) main: -> 0.0041s main: -- execute("CREATE OR REPLACE FUNCTION assign_p_ci_job_artifacts_id_value()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF NEW.\"id\" IS NOT NULL THEN\n RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';\nEND IF;\nNEW.\"id\" := nextval('ci_job_artifacts_id_seq'::regclass);\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n") main: -> 0.0006s main: -- execute("CREATE TRIGGER assign_p_ci_job_artifacts_id_trigger\nBEFORE INSERT ON p_ci_job_artifacts\nFOR EACH ROW\n\nEXECUTE FUNCTION assign_p_ci_job_artifacts_id_value()\n") main: -> 0.0006s main: == 20240212092520 EnsureIdUniquenessForPCiJobArtifacts: migrated (0.0177s) ==== main: == 20240212120012 RemoveIndexOnPipelineMetadata: migrating ==================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0010s main: -- indexes(:ci_pipeline_metadata) main: -> 0.0040s main: -- remove_index(:ci_pipeline_metadata, {:algorithm=>:concurrently, :name=>"index_pipeline_metadata_on_pipeline_id_name_text_pattern"}) main: -> 0.0042s main: == 20240212120012 RemoveIndexOnPipelineMetadata: migrated (0.0231s) =========== main: == 20240212155716 AddViolationDataToScanResultPolicyViolations: migrating ===== main: -- add_column(:scan_result_policy_violations, :violation_data, :jsonb, {:null=>true}) main: -> 0.0034s main: == 20240212155716 AddViolationDataToScanResultPolicyViolations: migrated (0.0088s) main: == 20240212170304 AddAncestorsColumnToSbomOccurrences: migrating ============== main: -- add_column(:sbom_occurrences, :ancestors, :jsonb, {:default=>[], :null=>false}) main: -> 0.0023s main: == 20240212170304 AddAncestorsColumnToSbomOccurrences: migrated (0.0085s) ===== main: == 20240212172655 SelfHostedSentNotificationsCleanup: migrating =============== main: -- column_exists?("sent_notifications", "id_convert_to_bigint") main: -> 0.0025s main: == 20240212172655 SelfHostedSentNotificationsCleanup: migrated (0.0076s) ====== main: == 20240212200632 RemoveForeignKeysUserInteractedProjects: migrating ========== main: == 20240212200632 RemoveForeignKeysUserInteractedProjects: migrated (0.0049s) = main: == 20240212200947 DropUserInteractedProjectsTable: migrating ================== main: == 20240212200947 DropUserInteractedProjectsTable: migrated (0.0058s) ========= main: == 20240212223930 AddArkoseClientApiSettings: migrating ======================= main: -- add_column(:application_settings, :encrypted_arkose_labs_client_xid, :binary) main: -> 0.0015s main: -- add_column(:application_settings, :encrypted_arkose_labs_client_xid_iv, :binary) main: -> 0.0009s main: -- add_column(:application_settings, :encrypted_arkose_labs_client_secret, :binary) main: -> 0.0008s main: -- add_column(:application_settings, :encrypted_arkose_labs_client_secret_iv, :binary) main: -> 0.0009s main: == 20240212223930 AddArkoseClientApiSettings: migrated (0.0098s) ============== main: == 20240213091123 AddTrigramIndexOnNameAndPathForOrganizations: migrating ===== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- index_exists?(:organizations, :name, {:name=>"index_organizations_on_name_trigram", :using=>:gin, :opclass=>{:name=>:gin_trgm_ops}, :algorithm=>:concurrently}) main: -> 0.0029s main: -- add_index(:organizations, :name, {:name=>"index_organizations_on_name_trigram", :using=>:gin, :opclass=>{:name=>:gin_trgm_ops}, :algorithm=>:concurrently}) main: -> 0.0070s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0010s main: -- index_exists?(:organizations, :path, {:name=>"index_organizations_on_path_trigram", :using=>:gin, :opclass=>{:path=>:gin_trgm_ops}, :algorithm=>:concurrently}) main: -> 0.0025s main: -- add_index(:organizations, :path, {:name=>"index_organizations_on_path_trigram", :using=>:gin, :opclass=>{:path=>:gin_trgm_ops}, :algorithm=>:concurrently}) main: -> 0.0037s main: == 20240213091123 AddTrigramIndexOnNameAndPathForOrganizations: migrated (0.0412s) main: == 20240213113719 AddTextLimitToCatalogResourceVersionsSemverPrerelease: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE catalog_resource_versions\nADD CONSTRAINT check_701bdce47b\nCHECK ( char_length(semver_prerelease) <= 255 )\nNOT VALID;\n") main: -> 0.0010s main: -- execute("ALTER TABLE catalog_resource_versions VALIDATE CONSTRAINT check_701bdce47b;") main: -> 0.0015s main: == 20240213113719 AddTextLimitToCatalogResourceVersionsSemverPrerelease: migrated (0.0157s) main: == 20240213150033 DropProductAnalyticsEventsExperimentalTable: migrating ====== main: -- drop_table(:product_analytics_events_experimental, {:if_exists=>true}) main: -> 0.0537s main: == 20240213150033 DropProductAnalyticsEventsExperimentalTable: migrated (0.0591s) main: == 20240213181406 AddCustomWebhookTemplateToWebHook: migrating ================ main: -- add_column(:web_hooks, :custom_webhook_template, :text, {:null=>true}) main: -> 0.0013s main: == 20240213181406 AddCustomWebhookTemplateToWebHook: migrated (0.0076s) ======= main: == 20240213181407 AddTextLimitToWebHooksCustomWebhookTemplate: migrating ====== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE web_hooks\nADD CONSTRAINT check_69ef76ee0c\nCHECK ( char_length(custom_webhook_template) <= 4096 )\nNOT VALID;\n") main: -> 0.0009s main: -- execute("ALTER TABLE web_hooks VALIDATE CONSTRAINT check_69ef76ee0c;") main: -> 0.0025s main: == 20240213181407 AddTextLimitToWebHooksCustomWebhookTemplate: migrated (0.0178s) main: == 20240213210124 QueueBackfillDefaultOrganizationUsers: migrating ============ main: == 20240213210124 QueueBackfillDefaultOrganizationUsers: migrated (0.0345s) === main: == 20240213223630 AddDuoFeaturesEnabledCascadingSetting: migrating ============ main: -- column_exists?(:namespace_settings, :duo_features_enabled) main: -> 0.0049s main: -- column_exists?(:namespace_settings, :lock_duo_features_enabled) main: -> 0.0047s main: -- column_exists?(:application_settings, :duo_features_enabled) main: -> 0.2774s main: -- column_exists?(:application_settings, :lock_duo_features_enabled) main: -> 0.2958s main: -- add_column(:namespace_settings, :duo_features_enabled, :boolean, {:default=>nil, :null=>true}) main: -> 0.0019s main: -- add_column(:namespace_settings, :lock_duo_features_enabled, :boolean, {:default=>false, :null=>false}) main: -> 0.0014s main: -- add_column(:application_settings, :duo_features_enabled, :boolean, {:default=>true, :null=>false}) main: -> 0.0020s main: -- add_column(:application_settings, :lock_duo_features_enabled, :boolean, {:default=>false, :null=>false}) main: -> 0.0017s main: == 20240213223630 AddDuoFeaturesEnabledCascadingSetting: migrated (0.5970s) === main: == 20240214035028 AddFirstAndLatestPipelineIdToVulnerabilityOccurrences: migrating main: -- add_column(:vulnerability_occurrences, :initial_pipeline_id, :bigint, {:null=>true}) main: -> 0.0015s main: -- add_column(:vulnerability_occurrences, :latest_pipeline_id, :bigint, {:null=>true}) main: -> 0.0009s main: == 20240214035028 AddFirstAndLatestPipelineIdToVulnerabilityOccurrences: migrated (0.0079s) main: == 20240214132233 AddIndexGroupsOnOrganizationId: migrating =================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- index_exists?(:namespaces, :organization_id, {:name=>"index_namespaces_on_organization_id_for_groups", :where=>"((type)::text = 'Group'::text)", :algorithm=>:concurrently}) main: -> 0.0176s main: -- add_index(:namespaces, :organization_id, {:name=>"index_namespaces_on_organization_id_for_groups", :where=>"((type)::text = 'Group'::text)", :algorithm=>:concurrently}) main: -> 0.0066s main: == 20240214132233 AddIndexGroupsOnOrganizationId: migrated (0.0402s) ========== main: == 20240214163238 QueueBackfillArchivedAndTraversalIdsToVulnerabilityReads: migrating main: == 20240214163238 QueueBackfillArchivedAndTraversalIdsToVulnerabilityReads: migrated (0.0317s) main: == 20240214203242 QueueBackfillSbomOccurrencesTraversalIdsAndArchived: migrating main: == 20240214203242 QueueBackfillSbomOccurrencesTraversalIdsAndArchived: migrated (0.0336s) main: == 20240214204757 FinalizeFindingIdMigrations: migrating ====================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240214204757 FinalizeFindingIdMigrations: migrated (0.0185s) ============= main: == 20240214204800 DropInvalidVulnerabilitiesGdk: migrating ==================== main: == 20240214204800 DropInvalidVulnerabilitiesGdk: migrated (0.0058s) =========== main: == 20240214204805 MakeFindingIdNotNull: migrating ============================= main: -- current_schema(nil) main: -> 0.0004s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE vulnerabilities\nADD CONSTRAINT check_4d8a873f1f\nCHECK ( finding_id IS NOT NULL )\nNOT VALID;\n") main: -> 0.0007s main: -- execute("ALTER TABLE vulnerabilities VALIDATE CONSTRAINT check_4d8a873f1f;") main: -> 0.0016s main: == 20240214204805 MakeFindingIdNotNull: migrated (0.0189s) ==================== main: == 20240215191658 AddClickHouseToApplicationSettings: migrating =============== main: -- add_column(:application_settings, :clickhouse, :jsonb, {:default=>{}, :null=>false}) main: -> 0.0046s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_application_settings_clickhouse_is_hash\nCHECK ( (jsonb_typeof(clickhouse) = 'object') )\nNOT VALID;\n") main: -> 0.0013s main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_application_settings_clickhouse_is_hash;") main: -> 0.0022s main: == 20240215191658 AddClickHouseToApplicationSettings: migrated (0.0212s) ====== main: == 20240216020102 AddProjectIdToClusterAgentTokens: migrating ================= main: -- add_column(:cluster_agent_tokens, :project_id, :bigint) main: -> 0.0012s main: == 20240216020102 AddProjectIdToClusterAgentTokens: migrated (0.0063s) ======== main: == 20240216020103 IndexClusterAgentTokensOnProjectId: migrating =============== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0014s main: -- index_exists?(:cluster_agent_tokens, :project_id, {:name=>"index_cluster_agent_tokens_on_project_id", :algorithm=>:concurrently}) main: -> 0.0037s main: -- add_index(:cluster_agent_tokens, :project_id, {:name=>"index_cluster_agent_tokens_on_project_id", :algorithm=>:concurrently}) main: -> 0.0049s main: == 20240216020103 IndexClusterAgentTokensOnProjectId: migrated (0.0231s) ====== main: == 20240216020104 AddClusterAgentTokensProjectIdFk: migrating ================= main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE cluster_agent_tokens ADD CONSTRAINT fk_64f741f626 FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0016s main: -- execute("ALTER TABLE cluster_agent_tokens VALIDATE CONSTRAINT fk_64f741f626;") main: -> 0.0046s main: == 20240216020104 AddClusterAgentTokensProjectIdFk: migrated (0.0338s) ======== main: == 20240216020105 AddClusterAgentTokensProjectIdNotNull: migrating ============ main: -- current_schema(nil) main: -> 0.0005s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE cluster_agent_tokens\nADD CONSTRAINT check_5aff240050\nCHECK ( project_id IS NOT NULL )\nNOT VALID;\n") main: -> 0.0007s main: == 20240216020105 AddClusterAgentTokensProjectIdNotNull: migrated (0.0140s) === main: == 20240216020106 QueueBackfillClusterAgentTokensProjectId: migrating ========= main: == 20240216020106 QueueBackfillClusterAgentTokensProjectId: migrated (0.0299s) main: == 20240216133415 RenameTypeColumnOfGroupExternalStreamingDestination: migrating main: -- rename_column(:audit_events_group_external_streaming_destinations, :type, :category) main: -> 0.0030s main: == 20240216133415 RenameTypeColumnOfGroupExternalStreamingDestination: migrated (0.0082s) main: == 20240216133523 RenameTypeColumnOfInstanceExternalStreamingDestination: migrating main: -- rename_column(:audit_events_instance_external_streaming_destinations, :type, :category) main: -> 0.0021s main: == 20240216133523 RenameTypeColumnOfInstanceExternalStreamingDestination: migrated (0.0069s) main: == 20240219040351 SwapColumnsForAutoCanceledByIdBetweenCiBuildsAndCiPipelines: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- indexes(:p_ci_builds) main: -> 0.0648s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_pipelines, p_ci_builds IN ACCESS EXCLUSIVE MODE") main: -> 0.0007s main: -- clear_cache!(nil) main: -> 0.0000s main: -- quote_table_name(:p_ci_builds) main: -> 0.0000s main: -- quote_column_name(:auto_canceled_by_id_convert_to_bigint) main: -> 0.0000s main: -- quote_column_name(:temp_name_for_renaming) main: -> 0.0000s main: -- execute("ALTER TABLE \"p_ci_builds\"\n RENAME COLUMN \"auto_canceled_by_id_convert_to_bigint\" TO \"temp_name_for_renaming\"\n") main: -> 0.0012s main: -- clear_cache!(nil) main: -> 0.0000s main: -- quote_table_name(:p_ci_builds) main: -> 0.0000s main: -- quote_column_name(:auto_canceled_by_id) main: -> 0.0000s main: -- quote_column_name(:auto_canceled_by_id_convert_to_bigint) main: -> 0.0000s main: -- execute("ALTER TABLE \"p_ci_builds\"\n RENAME COLUMN \"auto_canceled_by_id\" TO \"auto_canceled_by_id_convert_to_bigint\"\n") main: -> 0.0006s main: -- clear_cache!(nil) main: -> 0.0000s main: -- quote_table_name(:p_ci_builds) main: -> 0.0000s main: -- quote_column_name(:temp_name_for_renaming) main: -> 0.0000s main: -- quote_column_name(:auto_canceled_by_id) main: -> 0.0000s main: -- execute("ALTER TABLE \"p_ci_builds\"\n RENAME COLUMN \"temp_name_for_renaming\" TO \"auto_canceled_by_id\"\n") main: -> 0.0007s main: -- quote_table_name(:trigger_10ee1357e825) main: -> 0.0001s main: -- execute("ALTER FUNCTION \"trigger_10ee1357e825\" RESET ALL") main: -> 0.0004s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_pipelines, p_ci_builds IN ACCESS EXCLUSIVE MODE") main: -> 0.0005s main: -- remove_foreign_key(:p_ci_builds, :ci_pipelines, {:name=>:fk_a2141b1522}) main: -> 0.0063s main: -- quote_table_name("public.ci_builds") main: -> 0.0000s main: -- quote_column_name(:fk_dd3c83bdee) main: -> 0.0000s main: -- quote_column_name(:fk_a2141b1522) main: -> 0.0000s main: -- execute("ALTER TABLE \"public\".\"ci_builds\"\nRENAME CONSTRAINT \"fk_dd3c83bdee\" TO \"fk_a2141b1522\"\n") main: -> 0.0007s main: -- quote_table_name("gitlab_partitions_dynamic.ci_builds_101") main: -> 0.0000s main: -- quote_column_name(:fk_dd3c83bdee) main: -> 0.0000s main: -- quote_column_name(:fk_a2141b1522) main: -> 0.0000s main: -- execute("ALTER TABLE \"gitlab_partitions_dynamic\".\"ci_builds_101\"\nRENAME CONSTRAINT \"fk_dd3c83bdee\" TO \"fk_a2141b1522\"\n") main: -> 0.0006s main: -- quote_table_name(:p_ci_builds) main: -> 0.0000s main: -- quote_column_name(:fk_dd3c83bdee) main: -> 0.0000s main: -- quote_column_name(:fk_a2141b1522) main: -> 0.0000s main: -- execute("ALTER TABLE \"p_ci_builds\"\nRENAME CONSTRAINT \"fk_dd3c83bdee\" TO \"fk_a2141b1522\"\n") main: -> 0.0005s main: -- indexes(:p_ci_builds) main: -> 0.0304s main: -- indexes(:p_ci_builds) main: -> 0.0237s main: -- indexes("public.ci_builds") main: -> 0.0259s main: -- indexes("public.ci_builds") main: -> 0.0271s main: -- quote_table_name("public.index_ffe1233676") main: -> 0.0000s main: -- quote_table_name("temp_b1a20ba0f9") main: -> 0.0000s main: -- execute("ALTER INDEX \"public\".\"index_ffe1233676\" RENAME TO \"temp_b1a20ba0f9\"") main: -> 0.0006s main: -- quote_table_name("public.index_ci_builds_on_auto_canceled_by_id") main: -> 0.0000s main: -- quote_table_name("index_ffe1233676") main: -> 0.0000s main: -- execute("ALTER INDEX \"public\".\"index_ci_builds_on_auto_canceled_by_id\" RENAME TO \"index_ffe1233676\"") main: -> 0.0005s main: -- quote_table_name("public.temp_b1a20ba0f9") main: -> 0.0001s main: -- quote_table_name("index_ci_builds_on_auto_canceled_by_id") main: -> 0.0000s main: -- execute("ALTER INDEX \"public\".\"temp_b1a20ba0f9\" RENAME TO \"index_ci_builds_on_auto_canceled_by_id\"") main: -> 0.0003s main: -- indexes("gitlab_partitions_dynamic.ci_builds_101") main: -> 0.0276s main: -- indexes("gitlab_partitions_dynamic.ci_builds_101") main: -> 0.0262s main: -- quote_table_name("gitlab_partitions_dynamic.ci_builds_101_auto_canceled_by_id_convert_to_bigint_idx") main: -> 0.0001s main: -- quote_table_name("temp_60506a0340") main: -> 0.0001s main: -- execute("ALTER INDEX \"gitlab_partitions_dynamic\".\"ci_builds_101_auto_canceled_by_id_convert_to_bigint_idx\" RENAME TO \"temp_60506a0340\"") main: -> 0.0009s main: -- quote_table_name("gitlab_partitions_dynamic.ci_builds_101_auto_canceled_by_id_idx") main: -> 0.0001s main: -- quote_table_name("ci_builds_101_auto_canceled_by_id_convert_to_bigint_idx") main: -> 0.0000s main: -- execute("ALTER INDEX \"gitlab_partitions_dynamic\".\"ci_builds_101_auto_canceled_by_id_idx\" RENAME TO \"ci_builds_101_auto_canceled_by_id_convert_to_bigint_idx\"") main: -> 0.0008s main: -- quote_table_name("gitlab_partitions_dynamic.temp_60506a0340") main: -> 0.0001s main: -- quote_table_name("ci_builds_101_auto_canceled_by_id_idx") main: -> 0.0000s main: -- execute("ALTER INDEX \"gitlab_partitions_dynamic\".\"temp_60506a0340\" RENAME TO \"ci_builds_101_auto_canceled_by_id_idx\"") main: -> 0.0010s main: -- quote_table_name("p_ci_builds_auto_canceled_by_id_bigint_idx") main: -> 0.0000s main: -- quote_table_name("temp_3f76d2212d") main: -> 0.0000s main: -- execute("ALTER INDEX \"p_ci_builds_auto_canceled_by_id_bigint_idx\" RENAME TO \"temp_3f76d2212d\"") main: -> 0.0006s main: -- quote_table_name("p_ci_builds_auto_canceled_by_id_idx") main: -> 0.0000s main: -- quote_table_name(:p_ci_builds_auto_canceled_by_id_bigint_idx) main: -> 0.0000s main: -- execute("ALTER INDEX \"p_ci_builds_auto_canceled_by_id_idx\" RENAME TO \"p_ci_builds_auto_canceled_by_id_bigint_idx\"") main: -> 0.0004s main: -- quote_table_name("temp_3f76d2212d") main: -> 0.0000s main: -- quote_table_name(:p_ci_builds_auto_canceled_by_id_idx) main: -> 0.0000s main: -- execute("ALTER INDEX \"temp_3f76d2212d\" RENAME TO \"p_ci_builds_auto_canceled_by_id_idx\"") main: -> 0.0005s main: -- remove_index(:p_ci_builds, {:name=>:p_ci_builds_auto_canceled_by_id_bigint_idx}) main: -> 0.0007s main: == 20240219040351 SwapColumnsForAutoCanceledByIdBetweenCiBuildsAndCiPipelines: migrated (0.3107s) main: == 20240219043439 CreateRdNamespaceClusterAgentMappingsTable: migrating ======= main: -- create_table(:remote_development_namespace_cluster_agent_mappings) main: -> 0.0063s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- index_exists?(:remote_development_namespace_cluster_agent_mappings, [:namespace_id, :cluster_agent_id], {:unique=>true, :name=>"unique_namespace_cluster_agent_mappings_for_agent_association", :algorithm=>:concurrently}) main: -> 0.0020s main: -- add_index(:remote_development_namespace_cluster_agent_mappings, [:namespace_id, :cluster_agent_id], {:unique=>true, :name=>"unique_namespace_cluster_agent_mappings_for_agent_association", :algorithm=>:concurrently}) main: -> 0.0051s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0010s main: -- index_exists?(:remote_development_namespace_cluster_agent_mappings, :cluster_agent_id, {:name=>"i_namespace_cluster_agent_mappings_on_cluster_agent_id", :algorithm=>:concurrently}) main: -> 0.0044s main: -- add_index(:remote_development_namespace_cluster_agent_mappings, :cluster_agent_id, {:name=>"i_namespace_cluster_agent_mappings_on_cluster_agent_id", :algorithm=>:concurrently}) main: -> 0.0051s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0009s main: -- index_exists?(:remote_development_namespace_cluster_agent_mappings, :creator_id, {:name=>"i_namespace_cluster_agent_mappings_on_creator_id", :algorithm=>:concurrently}) main: -> 0.0034s main: -- add_index(:remote_development_namespace_cluster_agent_mappings, :creator_id, {:name=>"i_namespace_cluster_agent_mappings_on_creator_id", :algorithm=>:concurrently}) main: -> 0.0051s main: == 20240219043439 CreateRdNamespaceClusterAgentMappingsTable: migrated (0.0674s) main: == 20240219085852 AddPartitioningConstraintForCiStages2: migrating ============ main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE ci_stages VALIDATE CONSTRAINT partitioning_constraint;") main: -> 0.0017s main: == 20240219085852 AddPartitioningConstraintForCiStages2: migrated (0.0609s) === main: == 20240219092326 ValidateFkCiBuildTraceMetadataPCiJobArtifacts: migrating ==== main: -- execute("ALTER TABLE ci_build_trace_metadata VALIDATE CONSTRAINT tmp_fk_21d25cac1a_p;") main: -> 0.0022s main: == 20240219092326 ValidateFkCiBuildTraceMetadataPCiJobArtifacts: migrated (0.0177s) main: == 20240219092340 ValidateFkCiJobArtifactStatesPCiJobArtifacts: migrating ===== main: -- execute("ALTER TABLE ci_job_artifact_states VALIDATE CONSTRAINT tmp_fk_rails_80a9cba3b2_p;") main: -> 0.0014s main: == 20240219092340 ValidateFkCiJobArtifactStatesPCiJobArtifacts: migrated (0.0168s) main: == 20240219092714 PartitionCiStagesAddFkToCiPipelines: migrating ============== main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("CREATE TABLE IF NOT EXISTS \"p_ci_stages\" (\n LIKE \"ci_stages\" INCLUDING ALL\n) PARTITION BY LIST(\"partition_id\")\n") main: -> 0.0038s main: -- transaction_open?(nil) main: -> 0.0000s main: -- current_schema(nil) main: -> 0.0007s main: -- execute("ALTER TABLE \"p_ci_stages\"\nATTACH PARTITION ci_stages\nFOR VALUES IN (100,101)\n;\n\nALTER SEQUENCE \"ci_stages_id_seq\" OWNED BY \"p_ci_stages\".\"id\";\n\nALTER TABLE \"p_ci_stages\"\nDROP CONSTRAINT \"partitioning_constraint\"\n") main: -> 0.0049s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE p_ci_stages ADD CONSTRAINT fk_fb57e6cc56 FOREIGN KEY (pipeline_id) REFERENCES ci_pipelines (id) ON DELETE CASCADE ;") main: -> 0.0017s main: -- execute("ALTER TABLE p_ci_stages VALIDATE CONSTRAINT fk_fb57e6cc56;") main: -> 0.0008s main: -- execute("ANALYZE VERBOSE \"p_ci_stages\"\n") INFO: analyzing "public.p_ci_stages" inheritance tree INFO: analyzing "public.ci_stages" INFO: "ci_stages": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows main: -> 0.0012s main: == 20240219092714 PartitionCiStagesAddFkToCiPipelines: migrated (0.1284s) ===== main: == 20240219135417 ReplaceOldFkCiBuildTraceMetadataToCiJobArtifacts: migrating = main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_job_artifacts, ci_build_trace_metadata IN ACCESS EXCLUSIVE MODE") main: -> 0.0009s main: -- remove_foreign_key(:ci_build_trace_metadata, :ci_job_artifacts, {:name=>:fk_21d25cac1a_p}) main: -> 0.0055s main: -- quote_table_name(:ci_build_trace_metadata) main: -> 0.0000s main: -- quote_column_name(:tmp_fk_21d25cac1a_p) main: -> 0.0000s main: -- quote_column_name(:fk_21d25cac1a_p) main: -> 0.0000s main: -- execute("ALTER TABLE \"ci_build_trace_metadata\"\nRENAME CONSTRAINT \"tmp_fk_21d25cac1a_p\" TO \"fk_21d25cac1a_p\"\n") main: -> 0.0006s main: == 20240219135417 ReplaceOldFkCiBuildTraceMetadataToCiJobArtifacts: migrated (0.0319s) main: == 20240219135601 UpdatePypiMetadataKeywordsCheckConstraint: migrating ======== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE packages_pypi_metadata\nADD CONSTRAINT check_222e4f5b58\nCHECK ( char_length(keywords) <= 1024 )\nNOT VALID;\n") main: -> 0.0009s main: -- execute("ALTER TABLE packages_pypi_metadata VALIDATE CONSTRAINT check_222e4f5b58;") main: -> 0.0019s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute(" ALTER TABLE packages_pypi_metadata\n DROP CONSTRAINT IF EXISTS check_02be2c39af\n") main: -> 0.0014s main: == 20240219135601 UpdatePypiMetadataKeywordsCheckConstraint: migrated (0.0223s) main: == 20240219142421 ReplaceOldFkCiJobArtifactStatesToCiJobArtifacts: migrating == main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE ci_job_artifacts, ci_job_artifact_states IN ACCESS EXCLUSIVE MODE") main: -> 0.0007s main: -- remove_foreign_key(:ci_job_artifact_states, :ci_job_artifacts, {:name=>:fk_rails_80a9cba3b2_p}) main: -> 0.0044s main: -- quote_table_name(:ci_job_artifact_states) main: -> 0.0000s main: -- quote_column_name(:tmp_fk_rails_80a9cba3b2_p) main: -> 0.0000s main: -- quote_column_name(:fk_rails_80a9cba3b2_p) main: -> 0.0000s main: -- execute("ALTER TABLE \"ci_job_artifact_states\"\nRENAME CONSTRAINT \"tmp_fk_rails_80a9cba3b2_p\" TO \"fk_rails_80a9cba3b2_p\"\n") main: -> 0.0005s main: == 20240219142421 ReplaceOldFkCiJobArtifactStatesToCiJobArtifacts: migrated (0.0279s) main: == 20240219143045 AddRemoveGroupToMemberRoles: migrating ====================== main: -- add_column(:member_roles, :remove_group, :boolean, {:default=>false, :null=>false}) main: -> 0.0016s main: == 20240219143045 AddRemoveGroupToMemberRoles: migrated (0.0081s) ============= main: == 20240220112928 CleanupBigintConversionForSystemNoteMetadata: migrating ===== main: -- remove_column(:system_note_metadata, "id_convert_to_bigint", {:if_exists=>true}) main: -> 0.0035s main: == 20240220112928 CleanupBigintConversionForSystemNoteMetadata: migrated (0.0119s) main: == 20240220120303 UnscheduleStuckBulkImportCron: migrating ==================== main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240220120303 UnscheduleStuckBulkImportCron: migrated (0.0079s) =========== main: == 20240221100732 RemoveBuildHooksWorker: migrating =========================== main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240221100732 RemoveBuildHooksWorker: migrated (0.0068s) ================== main: == 20240221100733 AddIndexOnUpdatedAtAndIdToProjectExportJobs: migrating ====== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- index_exists?(:project_export_jobs, [:updated_at, :id], {:name=>"index_project_export_jobs_on_updated_at_and_id", :algorithm=>:concurrently}) main: -> 0.0059s main: -- add_index(:project_export_jobs, [:updated_at, :id], {:name=>"index_project_export_jobs_on_updated_at_and_id", :algorithm=>:concurrently}) main: -> 0.0069s main: == 20240221100733 AddIndexOnUpdatedAtAndIdToProjectExportJobs: migrated (0.0273s) main: == 20240221134504 AddNameUniqueIndexToMemberRoles: migrating ================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- index_exists?(:member_roles, [:namespace_id, :name], {:name=>"index_member_roles_on_namespace_id_name_unique", :unique=>true, :where=>"namespace_id IS NOT NULL", :algorithm=>:concurrently}) main: -> 0.0032s main: -- add_index(:member_roles, [:namespace_id, :name], {:name=>"index_member_roles_on_namespace_id_name_unique", :unique=>true, :where=>"namespace_id IS NOT NULL", :algorithm=>:concurrently}) main: -> 0.0065s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0008s main: -- index_exists?(:member_roles, [:name], {:name=>"index_member_roles_on_name_unique", :unique=>true, :where=>"namespace_id IS NULL", :algorithm=>:concurrently}) main: -> 0.0046s main: -- add_index(:member_roles, [:name], {:name=>"index_member_roles_on_name_unique", :unique=>true, :where=>"namespace_id IS NULL", :algorithm=>:concurrently}) main: -> 0.0061s main: == 20240221134504 AddNameUniqueIndexToMemberRoles: migrated (0.0448s) ========= main: == 20240221152300 AddOrganisationToRawUsageData: migrating ==================== main: -- add_column(:raw_usage_data, :organization_id, :bigint, {:null=>false, :default=>1}) main: -> 0.0029s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE raw_usage_data ADD CONSTRAINT fk_8e21125854 FOREIGN KEY (organization_id) REFERENCES organizations (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0011s main: -- execute("ALTER TABLE raw_usage_data VALIDATE CONSTRAINT fk_8e21125854;") main: -> 0.0050s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- index_exists?(:raw_usage_data, :organization_id, {:name=>"index_raw_usage_data_on_organization_id", :algorithm=>:concurrently}) main: -> 0.0028s main: -- add_index(:raw_usage_data, :organization_id, {:name=>"index_raw_usage_data_on_organization_id", :algorithm=>:concurrently}) main: -> 0.0060s main: == 20240221152300 AddOrganisationToRawUsageData: migrated (0.0637s) =========== main: == 20240221200754 ChangeDeploymentApprovalsIndex: migrating =================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0013s main: -- index_exists?(:deployment_approvals, [:deployment_id, :user_id, :approval_rule_id], {:name=>"index_deployment_approvals_on_deployment_user_approval_rule", :unique=>true, :algorithm=>:concurrently}) main: -> 0.0050s main: -- add_index(:deployment_approvals, [:deployment_id, :user_id, :approval_rule_id], {:name=>"index_deployment_approvals_on_deployment_user_approval_rule", :unique=>true, :algorithm=>:concurrently}) main: -> 0.0058s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0009s main: -- index_exists?(:deployment_approvals, [:deployment_id, :user_id], {:name=>"index_deployment_approvals_on_deployment_id_and_user_id", :algorithm=>:concurrently}) main: -> 0.0070s main: -- remove_index(:deployment_approvals, {:name=>"index_deployment_approvals_on_deployment_id_and_user_id", :algorithm=>:concurrently, :column=>[:deployment_id, :user_id]}) main: -> 0.0105s main: == 20240221200754 ChangeDeploymentApprovalsIndex: migrated (0.0568s) ========== main: == 20240222000000 RemovePackagesProtectionRulesPackageNamePatternIlikeQueryColumn: migrating main: -- column_exists?(:packages_protection_rules, :package_name_pattern_ilike_query) main: -> 0.0026s main: -- transaction_open?(nil) main: -> 0.0000s main: -- remove_column(:packages_protection_rules, :package_name_pattern_ilike_query) main: -> 0.0011s main: == 20240222000000 RemovePackagesProtectionRulesPackageNamePatternIlikeQueryColumn: migrated (0.0136s) main: == 20240222000001 AddNotNullConstraintToHasMergeRequest: migrating ============ main: -- current_schema(nil) main: -> 0.0004s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE vulnerability_reads\nADD CONSTRAINT check_4b1a1bf5ea\nCHECK ( has_merge_request IS NOT NULL )\nNOT VALID;\n") main: -> 0.0008s main: -- execute("ALTER TABLE vulnerability_reads VALIDATE CONSTRAINT check_4b1a1bf5ea;") main: -> 0.0014s main: == 20240222000001 AddNotNullConstraintToHasMergeRequest: migrated (0.0202s) === main: == 20240222000002 FinalizeBackfillVsCodeSettingsUuid: migrating =============== main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240222000002 FinalizeBackfillVsCodeSettingsUuid: migrated (0.0136s) ====== main: == 20240222000003 RemoveForeignKeyProjectRepositoryStates: migrating ========== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE projects, project_repository_states IN ACCESS EXCLUSIVE MODE") main: -> 0.0009s main: -- remove_foreign_key(:project_repository_states, :projects, {:name=>"fk_rails_0f2298ca8a"}) main: -> 0.0047s main: == 20240222000003 RemoveForeignKeyProjectRepositoryStates: migrated (0.0255s) = main: == 20240222000004 DropProjectRepositoryStatesTable: migrating ================= main: -- drop_table(:project_repository_states, {:if_exists=>true}) main: -> 0.0071s main: == 20240222000004 DropProjectRepositoryStatesTable: migrated (0.0134s) ======== main: == 20240222075046 QueueBackfillUsersColorModeId: migrating ==================== main: == 20240222075046 QueueBackfillUsersColorModeId: migrated (0.0360s) =========== main: == 20240222134433 RegenRemoveForeignKeysUserInteractedProjects: migrating ===== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE users, user_interacted_projects IN ACCESS EXCLUSIVE MODE") main: -> 0.0006s main: -- remove_foreign_key(:user_interacted_projects, :users, {:name=>"fk_0894651f08"}) main: -> 0.0041s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE projects, user_interacted_projects IN ACCESS EXCLUSIVE MODE") main: -> 0.0008s main: -- remove_foreign_key(:user_interacted_projects, :projects, {:name=>"fk_722ceba4f7"}) main: -> 0.0050s main: == 20240222134433 RegenRemoveForeignKeysUserInteractedProjects: migrated (0.0449s) main: == 20240222134513 RegenDropUserInteractedProjectsTable: migrating ============= main: -- drop_table(:user_interacted_projects, {:if_exists=>true}) main: -> 0.0039s main: == 20240222134513 RegenDropUserInteractedProjectsTable: migrated (0.0097s) ==== main: == 20240222142403 RemoveDuplicatedProtectedTagsIndex: migrating =============== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0017s main: -- indexes(:protected_tags) main: -> 0.0038s main: -- remove_index(:protected_tags, {:algorithm=>:concurrently, :name=>"index_protected_tags_on_project_id"}) main: -> 0.0040s main: == 20240222142403 RemoveDuplicatedProtectedTagsIndex: migrated (0.0237s) ====== main: == 20240222143050 RemoveDuplicatedProjectRepositoriesIndex: migrating ========= main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- indexes(:project_repositories) main: -> 0.0051s main: -- remove_index(:project_repositories, {:algorithm=>:concurrently, :name=>"index_project_repositories_on_shard_id"}) main: -> 0.0039s main: == 20240222143050 RemoveDuplicatedProjectRepositoriesIndex: migrated (0.0260s) main: == 20240222143623 RemoveDuplicatedApprovalsIndex: migrating =================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- indexes(:approvals) main: -> 0.0053s main: -- remove_index(:approvals, {:algorithm=>:concurrently, :name=>"index_approvals_on_merge_request_id"}) main: -> 0.0040s main: == 20240222143623 RemoveDuplicatedApprovalsIndex: migrated (0.0235s) ========== main: == 20240222144123 RemoveDuplicatedApprovalProjectRulesUsersIndex: migrating === main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- indexes(:approval_project_rules_users) main: -> 0.0043s main: -- remove_index(:approval_project_rules_users, {:algorithm=>:concurrently, :name=>"index_approval_project_rules_users_on_approval_project_rule_id"}) main: -> 0.0047s main: == 20240222144123 RemoveDuplicatedApprovalProjectRulesUsersIndex: migrated (0.0229s) main: == 20240222212904 AddVisibilityLevelToOrganizations: migrating ================ main: -- add_column(:organizations, :visibility_level, :smallint, {:default=>0, :null=>false}) main: -> 0.0018s main: == 20240222212904 AddVisibilityLevelToOrganizations: migrated (0.0074s) ======= main: == 20240222214106 SetDefaultOrganizationVisibilityToPublic: migrating ========= main: == 20240222214106 SetDefaultOrganizationVisibilityToPublic: migrated (0.0274s) main: == 20240223033342 UnscheduleOpenAiClearConversationsWorker: migrating ========= main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240223033342 UnscheduleOpenAiClearConversationsWorker: migrated (0.0099s) main: == 20240223130548 QueueUpdateSbomComponentsNameBasedOnPep503: migrating ======= main: == 20240223130548 QueueUpdateSbomComponentsNameBasedOnPep503: migrated (0.0337s) main: == 20240223215727 RemoveNamespaceSettingsThirdPartyAiFeaturesEnabled: migrating main: -- remove_column(:namespace_settings, :third_party_ai_features_enabled) main: -> 0.0011s main: == 20240223215727 RemoveNamespaceSettingsThirdPartyAiFeaturesEnabled: migrated (0.0064s) main: == 20240226043959 AddNamespaceFkToNamespaceClusterAgentMappingsTable: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE remote_development_namespace_cluster_agent_mappings ADD CONSTRAINT fk_0c483ecb9d FOREIGN KEY (namespace_id) REFERENCES namespaces (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0014s main: -- execute("ALTER TABLE remote_development_namespace_cluster_agent_mappings VALIDATE CONSTRAINT fk_0c483ecb9d;") main: -> 0.0029s main: == 20240226043959 AddNamespaceFkToNamespaceClusterAgentMappingsTable: migrated (0.0324s) main: == 20240226044028 AddClusterAgentFkToNamespaceClusterAgentMappingsTable: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE remote_development_namespace_cluster_agent_mappings ADD CONSTRAINT fk_be8e9c740f FOREIGN KEY (cluster_agent_id) REFERENCES cluster_agents (id) ON DELETE CASCADE NOT VALID;") main: -> 0.0010s main: -- execute("ALTER TABLE remote_development_namespace_cluster_agent_mappings VALIDATE CONSTRAINT fk_be8e9c740f;") main: -> 0.0027s main: == 20240226044028 AddClusterAgentFkToNamespaceClusterAgentMappingsTable: migrated (0.0365s) main: == 20240226044054 AddCreatorIdFkToNamespaceClusterAgentMappingsTable: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE remote_development_namespace_cluster_agent_mappings ADD CONSTRAINT fk_124d8167c5 FOREIGN KEY (creator_id) REFERENCES users (id) ON DELETE SET NULL NOT VALID;") main: -> 0.0015s main: -- execute("ALTER TABLE remote_development_namespace_cluster_agent_mappings VALIDATE CONSTRAINT fk_124d8167c5;") main: -> 0.0020s main: == 20240226044054 AddCreatorIdFkToNamespaceClusterAgentMappingsTable: migrated (0.0321s) main: == 20240226061749 AddAccessTokenEventsToWebHooks: migrating =================== main: -- add_column(:web_hooks, :resource_access_token_events, :boolean, {:null=>false, :default=>false}) main: -> 0.0017s main: == 20240226061749 AddAccessTokenEventsToWebHooks: migrated (0.0088s) ========== main: == 20240226072310 PrepareIndexForInitialAndLatestPipelineIdToVulnerabilityOccurrences: migrating main: -- index_exists?(:vulnerability_occurrences, :initial_pipeline_id, {:name=>"index_vulnerability_occurrences_on_initial_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0108s main: -- add_index_options(:vulnerability_occurrences, :initial_pipeline_id, {:name=>"index_vulnerability_occurrences_on_initial_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0001s main: -- index_exists?(:vulnerability_occurrences, :latest_pipeline_id, {:name=>"index_vulnerability_occurrences_on_latest_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0136s main: -- add_index_options(:vulnerability_occurrences, :latest_pipeline_id, {:name=>"index_vulnerability_occurrences_on_latest_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0000s main: == 20240226072310 PrepareIndexForInitialAndLatestPipelineIdToVulnerabilityOccurrences: migrated (0.0473s) main: == 20240226081837 EnsureIdUniquenessForPCiStages: migrating =================== main: -- current_schema(nil) main: -> 0.0004s main: -- change_column_default(:p_ci_stages, :id, nil) main: -> 0.0054s main: -- execute("CREATE OR REPLACE FUNCTION assign_p_ci_stages_id_value()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF NEW.\"id\" IS NOT NULL THEN\n RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';\nEND IF;\nNEW.\"id\" := nextval('ci_stages_id_seq'::regclass);\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n") main: -> 0.0013s main: -- execute("CREATE TRIGGER assign_p_ci_stages_id_trigger\nBEFORE INSERT ON p_ci_stages\nFOR EACH ROW\n\nEXECUTE FUNCTION assign_p_ci_stages_id_value()\n") main: -> 0.0011s main: == 20240226081837 EnsureIdUniquenessForPCiStages: migrated (0.0202s) ========== main: == 20240226094324 AddIndexForInitialAndLatestPipelineIdToVulnerabilityOccurrences: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- index_exists?(:vulnerability_occurrences, :initial_pipeline_id, {:name=>"index_vulnerability_occurrences_on_initial_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0080s main: -- add_index(:vulnerability_occurrences, :initial_pipeline_id, {:name=>"index_vulnerability_occurrences_on_initial_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0069s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0009s main: -- index_exists?(:vulnerability_occurrences, :latest_pipeline_id, {:name=>"index_vulnerability_occurrences_on_latest_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0082s main: -- add_index(:vulnerability_occurrences, :latest_pipeline_id, {:name=>"index_vulnerability_occurrences_on_latest_pipeline_id", :algorithm=>:concurrently}) main: -> 0.0068s main: == 20240226094324 AddIndexForInitialAndLatestPipelineIdToVulnerabilityOccurrences: migrated (0.0607s) main: == 20240226102153 RemoveClusterAgentTokensProjectIdNotNull: migrating ========= main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute(" ALTER TABLE cluster_agent_tokens\n DROP CONSTRAINT IF EXISTS check_5aff240050\n") main: -> 0.0006s main: == 20240226102153 RemoveClusterAgentTokensProjectIdNotNull: migrated (0.0087s) main: == 20240226124436 AllowNullForMemberIdAndOldAccessLevelInMemberApprovals: migrating main: -- change_column_null(:member_approvals, :member_id, true) main: -> 0.0013s main: -- change_column_null(:member_approvals, :old_access_level, true) main: -> 0.0012s main: == 20240226124436 AllowNullForMemberIdAndOldAccessLevelInMemberApprovals: migrated (0.0090s) main: == 20240226124502 AddUserIdToMemberApprovals: migrating ======================= main: -- add_column(:member_approvals, :user_id, :bigint, {:null=>false}) main: -> 0.0018s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0012s main: -- index_exists?(:member_approvals, :user_id, {:algorithm=>:concurrently}) main: -> 0.0057s main: -- add_index(:member_approvals, :user_id, {:algorithm=>:concurrently}) main: -> 0.0060s main: -- index_name(:member_approvals, :user_id) main: -> 0.0000s main: == 20240226124502 AddUserIdToMemberApprovals: migrated (0.0303s) ============== main: == 20240226124539 UpdateIndexesOnMemberApprovals: migrating =================== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- indexes(:member_approvals) main: -> 0.0061s main: -- remove_index(:member_approvals, {:algorithm=>:concurrently, :name=>"unique_member_approvals_on_pending_status"}) main: -> 0.0042s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- index_exists?(:member_approvals, [:user_id, :member_namespace_id, :new_access_level], {:unique=>true, :where=>"status = 0", :name=>"unique_idx_member_approvals_on_pending_status", :algorithm=>:concurrently}) main: -> 0.0064s main: -- add_index(:member_approvals, [:user_id, :member_namespace_id, :new_access_level], {:unique=>true, :where=>"status = 0", :name=>"unique_idx_member_approvals_on_pending_status", :algorithm=>:concurrently}) main: -> 0.0047s main: == 20240226124539 UpdateIndexesOnMemberApprovals: migrated (0.0466s) ========== main: == 20240226134150 AddMemberRoleIdToMemberApprovals: migrating ================= main: -- add_column(:member_approvals, :member_role_id, :bigint) main: -> 0.0019s main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- index_exists?(:member_approvals, :member_role_id, {:algorithm=>:concurrently}) main: -> 0.0077s main: -- add_index(:member_approvals, :member_role_id, {:algorithm=>:concurrently}) main: -> 0.0050s main: -- index_name(:member_approvals, :member_role_id) main: -> 0.0000s main: == 20240226134150 AddMemberRoleIdToMemberApprovals: migrated (0.0328s) ======== main: == 20240226134858 EnforceVsCodeSettingsUuidPresence: migrating ================ main: -- current_schema(nil) main: -> 0.0009s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE vs_code_settings\nADD CONSTRAINT check_4680ca265d\nCHECK ( uuid IS NOT NULL )\nNOT VALID;\n") main: -> 0.0009s main: -- execute("ALTER TABLE vs_code_settings VALIDATE CONSTRAINT check_4680ca265d;") main: -> 0.0014s main: == 20240226134858 EnforceVsCodeSettingsUuidPresence: migrated (0.0201s) ======= main: == 20240226135122 AddForeignKeyForMemberRoleIdToMemberApprovals: migrating ==== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE member_approvals ADD CONSTRAINT fk_619f381144 FOREIGN KEY (member_role_id) REFERENCES member_roles (id) ON DELETE SET NULL NOT VALID;") main: -> 0.0011s main: -- execute("ALTER TABLE member_approvals VALIDATE CONSTRAINT fk_619f381144;") main: -> 0.0021s main: == 20240226135122 AddForeignKeyForMemberRoleIdToMemberApprovals: migrated (0.0329s) main: == 20240226141402 ReplaceCiBuildsCiStagesForeignKey: migrating ================ main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE p_ci_stages, public.ci_builds IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0005s main: -- execute("ALTER TABLE public.ci_builds ADD CONSTRAINT tmp_fk_3a9eaa254d_p FOREIGN KEY (partition_id, stage_id) REFERENCES p_ci_stages (partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID;") main: -> 0.0010s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("LOCK TABLE p_ci_stages, gitlab_partitions_dynamic.ci_builds_101 IN SHARE ROW EXCLUSIVE MODE") main: -> 0.0005s main: -- execute("ALTER TABLE gitlab_partitions_dynamic.ci_builds_101 ADD CONSTRAINT tmp_fk_3a9eaa254d_p FOREIGN KEY (partition_id, stage_id) REFERENCES p_ci_stages (partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID;") main: -> 0.0011s main: == 20240226141402 ReplaceCiBuildsCiStagesForeignKey: migrated (0.1171s) ======= main: == 20240226142658 AddTempNotesBackupTable: migrating ========================== main: -- execute("CREATE TABLE IF NOT EXISTS temp_notes_backup (LIKE notes);") main: -> 0.0035s main: -- execute("ALTER TABLE temp_notes_backup ADD PRIMARY KEY (id);") main: -> 0.0029s main: == 20240226142658 AddTempNotesBackupTable: migrated (0.0122s) ================= main: == 20240226143323 QueueBackupAndRemoveNotesWithNullNoteableType: migrating ==== main: == 20240226143323 QueueBackupAndRemoveNotesWithNullNoteableType: migrated (0.0338s) main: == 20240226174509 QueueBackfillOnboardingStatusStepUrl: migrating ============= main: == 20240226174509 QueueBackfillOnboardingStatusStepUrl: migrated (0.0326s) ==== main: == 20240226191235 UpdatePipelineTriggersPlanLimits: migrating ================= main: == 20240226191235 UpdatePipelineTriggersPlanLimits: migrated (0.0052s) ======== main: == 20240227131801 UnscheduleOpenAiClearConvosCron: migrating ================== main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240227131801 UnscheduleOpenAiClearConvosCron: migrated (0.0079s) ========= main: == 20240227180521 AddProjectKeysToJiraTrackerData: migrating ================== main: -- add_column(:jira_tracker_data, :project_keys, :text, {:array=>true, :default=>[], :null=>false}) main: -> 0.0023s main: == 20240227180521 AddProjectKeysToJiraTrackerData: migrated (0.0084s) ========= main: == 20240229223236 AddIndexEnvironmentsNameWithoutType: migrating ============== main: -- transaction_open?(nil) main: -> 0.0000s main: -- view_exists?(:postgres_partitions) main: -> 0.0011s main: -- index_exists?(:environments, "project_id, lower(ltrim(ltrim(name, environment_type), '/')) varchar_pattern_ops, state", {:name=>"index_environments_name_without_type", :algorithm=>:concurrently}) main: -> 0.0100s main: -- add_index(:environments, "project_id, lower(ltrim(ltrim(name, environment_type), '/')) varchar_pattern_ops, state", {:name=>"index_environments_name_without_type", :algorithm=>:concurrently}) main: -> 0.0068s main: == 20240229223236 AddIndexEnvironmentsNameWithoutType: migrated (0.0322s) ===== main: == 20240301210341 CreateCatalogResourceComponentUsagesTable: migrating ======== main: -- create_table(:p_catalog_resource_component_usages, {:primary_key=>[:id, :used_date], :options=>"PARTITION BY RANGE (used_date)", :if_not_exists=>true}) main: -> 0.0038s main: == 20240301210341 CreateCatalogResourceComponentUsagesTable: migrated (0.0096s) main: == 20240301210400 AddComponentFkToCatalogResourceComponentUsages: migrating === main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE p_catalog_resource_component_usages ADD CONSTRAINT fk_rails_e1ba64b7ee FOREIGN KEY (component_id) REFERENCES catalog_resource_components (id) ON DELETE CASCADE ;") main: -> 0.0012s main: -- execute("ALTER TABLE p_catalog_resource_component_usages VALIDATE CONSTRAINT fk_rails_e1ba64b7ee;") main: -> 0.0010s main: == 20240301210400 AddComponentFkToCatalogResourceComponentUsages: migrated (0.0395s) main: == 20240301210420 AddCatalogResourceFkToCatalogResourceComponentUsages: migrating main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE p_catalog_resource_component_usages ADD CONSTRAINT fk_rails_9430673479 FOREIGN KEY (catalog_resource_id) REFERENCES catalog_resources (id) ON DELETE CASCADE ;") main: -> 0.0013s main: -- execute("ALTER TABLE p_catalog_resource_component_usages VALIDATE CONSTRAINT fk_rails_9430673479;") main: -> 0.0005s main: == 20240301210420 AddCatalogResourceFkToCatalogResourceComponentUsages: migrated (0.0403s) main: == 20240301210440 AddProjectFkToCatalogResourceComponentUsages: migrating ===== main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- transaction_open?(nil) main: -> 0.0000s main: -- execute("ALTER TABLE p_catalog_resource_component_usages ADD CONSTRAINT fk_rails_0e15a4677f FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE ;") main: -> 0.0012s main: -- execute("ALTER TABLE p_catalog_resource_component_usages VALIDATE CONSTRAINT fk_rails_0e15a4677f;") main: -> 0.0005s main: == 20240301210440 AddProjectFkToCatalogResourceComponentUsages: migrated (0.0393s) main: == 20240304080358 ValidateFkCiBuildsCiStages: migrating ======================= main: == 20240304080358 ValidateFkCiBuildsCiStages: migrated (0.0051s) ============== main: == 20240305071829 ReplaceOldFkCiBuildsToCiStages: migrating =================== main: == 20240305071829 ReplaceOldFkCiBuildsToCiStages: migrated (0.0053s) ========== main: == 20240305120551 QueueBackfillHasIssuesForExternalIssueLinks: migrating ====== main: == 20240305120551 QueueBackfillHasIssuesForExternalIssueLinks: migrated (0.0306s) main: == 20240305141243 PrepareIndexOnSbomOccurrencesComponentVersionIdAndTraversalIds: migrating main: -- index_exists?(:sbom_occurrences, [:component_version_id, :traversal_ids], {:name=>"idx_sbom_occurrences_on_component_version_id_and_traversal_ids", :algorithm=>:concurrently}) main: -> 0.0112s main: -- add_index_options(:sbom_occurrences, [:component_version_id, :traversal_ids], {:name=>"idx_sbom_occurrences_on_component_version_id_and_traversal_ids", :algorithm=>:concurrently}) main: -> 0.0000s main: == 20240305141243 PrepareIndexOnSbomOccurrencesComponentVersionIdAndTraversalIds: migrated (0.0242s) main: == 20240305141244 PrepareAsyncIndexOnSbomOccurrencesForAggregations: migrating main: -- index_exists?(:sbom_occurrences, [:traversal_ids, :component_id, :component_version_id], {:name=>"index_sbom_occurrences_for_aggregations", :algorithm=>:concurrently}) main: -> 0.0116s main: -- add_index_options(:sbom_occurrences, [:traversal_ids, :component_id, :component_version_id], {:name=>"index_sbom_occurrences_for_aggregations", :algorithm=>:concurrently}) main: -> 0.0000s main: == 20240305141244 PrepareAsyncIndexOnSbomOccurrencesForAggregations: migrated (0.0228s) main: == 20240305182005 QueueBackfillCatalogResourceVersionSemVer: migrating ======== main: == 20240305182005 QueueBackfillCatalogResourceVersionSemVer: migrated (0.0315s) main: == 20240306153539 AddNotNullConstraintToVulnerabilityReadsTraversalIds: migrating main: -- change_column_null(:vulnerability_reads, :traversal_ids, false) main: -> 0.0018s main: == 20240306153539 AddNotNullConstraintToVulnerabilityReadsTraversalIds: migrated (0.0076s) main: == 20240311101017 RemoveAutoFixWorkerJobs: migrating ========================== main: -- transaction_open?(nil) main: -> 0.0000s main: == 20240311101017 RemoveAutoFixWorkerJobs: migrated (0.0082s) ================= main: == 20240312205527 RemoveIndexCiPipelineArtifactsOnPipelineId: migrating ======= main: -- index_exists?(:ci_pipeline_artifacts, :pipeline_id, {:name=>"index_ci_pipeline_artifacts_on_pipeline_id"}) main: -> 0.0075s main: -- quote_column_name("index_ci_pipeline_artifacts_on_pipeline_id") main: -> 0.0000s main: == 20240312205527 RemoveIndexCiPipelineArtifactsOnPipelineId: migrated (0.0194s) main: == [advisory_lock_connection] object_id: 52860, pg_backend_pid: 4771
GitLab: Dienste/Daemons starten
Mit nachfolgendem Befehl wird GitLab wieder gestartet.
Dieser systemd-Befehl bringt die systemd-Dienste/Daemons von GitLab ggf. auf den neusten Stand.
# systemctl daemon-reload
Dieser systemd-Start beinhaltet auch den Start alle anderen benötigten Komponenten bzw. Dienste/Daemons von GitLab.
# systemctl start gitlab.target
Eine Überprüfung, ob der Start des Ziel/Target erfolgreich war, kann mit nachfolgendem Befehl überprüft werden:
● gitlab.target - GitLab - Self Hosted Git Management Loaded: loaded (/usr/lib/systemd/system/gitlab.target; enabled; preset: disabled) Active: active since Fri 2024-03-22 09:34:35 CET; 30min ago Mar 22 09:34:35 server systemd[1]: Reached target GitLab - Self Hosted Git Management.