db:check-schema
Passed Started
by
@.luke

Luke Duncalfe
1Running with gitlab-runner 15.3.0~beta.42.gdb7789ca (db7789ca)2 on green-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org rpvz2FF93 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:ffc079081fed116f7ec22097d3e0308ab568536216cdebf45a8cab78fe30ee8f for postgres:12 with digest postgres@sha256:ca17935b3df07cb09f6ceab07913f6fee0e5f349102fe0a7922a8969c3593ae0 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:374ca386513ad781c1aa2f52c9379052723b49ab188b8517167f0b24055518bf for redis:6.0-alpine with digest redis@sha256:8f94750b64abe7fcb118c2e6706be5e186efc54a62b80fe1d21b8d7a91c0f547 ...13Waiting for services to be up and running (timeout 30 seconds)...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:a9a70e41d030f83cde0068df3d11170dec855e8a8bf3a020e27b85ad5b20d11b for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:b017ecabd2a1190405dc62cb97a82b18482bf812ceeeee2c3f4200b890c43fde ...18Running on runner-rpvz2ff9-project-278964-concurrent-0 via runner-rpvz2ff9-private-1659394743-80dab68f...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 127308, done. 25remote: Counting objects: 100% (127308/127308), done. 26remote: Compressing objects: 100% (86137/86137), done. 27remote: Total 127308 (delta 56589), reused 83753 (delta 36275), pack-reused 0 28Receiving objects: 100% (127308/127308), 114.35 MiB | 35.00 MiB/s, done.29Resolving deltas: 100% (56589/56589), done.31 * [new ref] refs/pipelines/602249477 -> refs/pipelines/60224947732Checking out a33057a2 as refs/merge-requests/93624/merge...33Skipping Git submodules setup34$ git remote set-url origin "${CI_REPOSITORY_URL}"36Checking cache for ruby-gems-debian-bullseye-ruby-2.7-14...37cache.zip is up to date 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-14...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-14 41Successfully extracted cache43Downloading artifacts for setup-test-env (2799740970)...44Downloading artifacts from coordinator... ok id=2799740970 responseStatus=200 OK token=znrcdghp46Using docker image sha256:a9a70e41d030f83cde0068df3d11170dec855e8a8bf3a020e27b85ad5b20d11b for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:b017ecabd2a1190405dc62cb97a82b18482bf812ceeeee2c3f4200b890c43fde ...47$ echo $FOSS_ONLY48$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb49$ export GOPATH=$CI_PROJECT_DIR/.go50$ mkdir -p $GOPATH51$ source scripts/utils.sh52$ source scripts/prepare_build.sh53Using decomposed database config (config/database.yml.decomposed-postgresql)54172.17.0.3 postgres 91ddf7a7c11a runner-rpvz2ff9-project-278964-concurrent-0-ca689d30ce3d3803-postgres-055CREATE ROLE56GRANT57$ [[ -d "ee/" ]] || export PROJECT_TO_CHECKOUT="gitlab"58$ [[ -d "ee/" ]] || export TAG_TO_CHECKOUT="${TAG_TO_CHECKOUT}-ee"59$ retry 'git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT'61 * tag v14.7.0 -> FETCH_HEAD62$ git checkout -f FETCH_HEAD63Previous HEAD position was a33057a20a4 Merge branch 'ld-graphql-display-descriptions-for-alpha-fields-in-docs' into 'master'64HEAD is now at abbf44bd6cf Add latest changes from gitlab-org/gitlab@14-7-stable-ee65$ SETUP_DB=false USE_BUNDLE_INSTALL=true ENABLE_BOOTSNAP=false bash scripts/prepare_build.sh66Bundler version 2.2.3367production:development68Settings are listed in order of priority. The top value will be used.69clean70Set for the current user (/root/.bundle/config): true71frozen72Set via BUNDLE_FROZEN: true73install_flags74Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"75path76Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"77without78Set via BUNDLE_WITHOUT: [:production, :development]79$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check80Don't run Bundler as root. Bundler can ask for sudo if it is needed, and81installing your bundle as root will break this application for all non-root82users on this machine.83The Gemfile's dependencies are satisfied84==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 174 seconds.85$ bundle pristine pg86Installing pg 1.2.3 with native extensions87==> 'bundle pristine pg' succeeded in 12 seconds.88Using decomposed database config (config/database.yml.decomposed-postgresql)89172.17.0.3 postgres 91ddf7a7c11a runner-rpvz2ff9-project-278964-concurrent-0-ca689d30ce3d3803-postgres-090ERROR: role "gitlab" already exists91GRANT92$ run_timed_command "ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu"93$ ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu94Dropped database 'gitlabhq_test'95Dropped database 'gitlabhq_test_ci'96Created database 'gitlabhq_test'97Created database 'gitlabhq_test_ci'98DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:25)99==> 'ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu' succeeded in 45 seconds.100$ git checkout -f $CI_COMMIT_SHA101Warning: you are leaving 104059 commits behind, not connected to102any of your branches:103 abbf44bd6cf Add latest changes from gitlab-org/gitlab@14-7-stable-ee104 5bea74ad7f3 Update VERSION files105 edaa33dee2f Add latest changes from gitlab-org/gitlab@14-7-stable-ee106 d8a56913164 Update VERSION files107 ... and 104055 more.108If you want to keep them by creating a new branch, this may be a good time109to do so with:110 git branch <new-branch-name> abbf44bd6cf111HEAD is now at a33057a20a4 Merge branch 'ld-graphql-display-descriptions-for-alpha-fields-in-docs' into 'master'112$ SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh1133.2.33114Bundler version 2.2.33115Successfully installed bundler-2.3.151161 gem installed117production:development118Settings are listed in order of priority. The top value will be used.119clean120Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true121Set for the current user (/root/.bundle/config): true122frozen123Set via BUNDLE_FROZEN: true124install_flags125Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"126jobs127Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): 2128path129Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"130Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"131retry132Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): 3133without134Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): [:production, :development]135Set via BUNDLE_WITHOUT: [:production, :development]136$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check137Don't run Bundler as root. Bundler can ask for sudo if it is needed, and138installing your bundle as root will break this application for all non-root139users on this machine.140The Gemfile's dependencies are satisfied141==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 221 seconds.142$ bundle pristine pg143Installing pg 1.4.1 with native extensions144==> 'bundle pristine pg' succeeded in 8 seconds.145Using decomposed database config (config/database.yml.decomposed-postgresql)146172.17.0.3 postgres 91ddf7a7c11a runner-rpvz2ff9-project-278964-concurrent-0-ca689d30ce3d3803-postgres-0147ERROR: role "gitlab" already exists148GRANT149$ run_timed_command "scripts/db_tasks db:migrate"150$ scripts/db_tasks db:migrate151== 20210812013042 RemoveDuplicateProjectAuthorizations: migrating =============152-- transaction_open?()153 -> 0.0000s154-- index_exists?(:project_authorizations, [:project_id, :user_id], {:unique=>true, :name=>"index_unique_project_authorizations_on_project_id_user_id", :algorithm=>:concurrently})155 -> 0.0031s156-- execute("SET statement_timeout TO 0")157 -> 0.0005s158-- add_index(:project_authorizations, [:project_id, :user_id], {:unique=>true, :name=>"index_unique_project_authorizations_on_project_id_user_id", :algorithm=>:concurrently})159 -> 0.0017s160-- execute("RESET statement_timeout")161 -> 0.0005s162-- transaction_open?()163 -> 0.0000s164-- indexes(:project_authorizations)165 -> 0.0022s166-- remove_index(:project_authorizations, {:algorithm=>:concurrently, :name=>"index_project_authorizations_on_project_id_user_id"})167 -> 0.0012s168== 20210812013042 RemoveDuplicateProjectAuthorizations: migrated (0.0243s) ====169main: == 20211007090229 CreateIssueSearchTable: migrating ===========================170main: -- execute("CREATE TABLE issue_search_data (\n project_id bigint NOT NULL REFERENCES projects(id) ON DELETE CASCADE,\n issue_id bigint NOT NULL REFERENCES issues(id) ON DELETE CASCADE,\n created_at timestamp with time zone DEFAULT NOW() NOT NULL,\n updated_at timestamp with time zone DEFAULT NOW() NOT NULL,\n search_vector tsvector,\n PRIMARY KEY (project_id, issue_id)\n) PARTITION BY HASH (project_id)\n")171main: -> 0.0040s172main: -- add_index(:issue_search_data, :issue_id)173main: -> 0.0009s174main: -- add_index(:issue_search_data, :search_vector, {:using=>:gin, :name=>"index_issue_search_data_on_search_vector"})175main: -> 0.0008s176main: -- transaction()177main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_00\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 0);\n")178main: -> 0.0036s179main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_01\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 1);\n")180main: -> 0.0030s181main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_02\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 2);\n")182main: -> 0.0029s183main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_03\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 3);\n")184main: -> 0.0028s185main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_04\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 4);\n")186main: -> 0.0028s187main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_05\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 5);\n")188main: -> 0.0027s189main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_06\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 6);\n")190main: -> 0.0027s191main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_07\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 7);\n")192main: -> 0.0027s193main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_08\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 8);\n")194main: -> 0.0026s195main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_09\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 9);\n")196main: -> 0.0026s197main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_10\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 10);\n")198main: -> 0.0023s199main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_11\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 11);\n")200main: -> 0.0025s201main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_12\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 12);\n")202main: -> 0.0024s203main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_13\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 13);\n")204main: -> 0.0024s205main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_14\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 14);\n")206main: -> 0.0025s207main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_15\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 15);\n")208main: -> 0.0024s209main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_16\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 16);\n")210main: -> 0.0024s211main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_17\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 17);\n")212main: -> 0.0024s213main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_18\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 18);\n")214main: -> 0.0024s215main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_19\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 19);\n")216main: -> 0.0024s217main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_20\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 20);\n")218main: -> 0.0024s219main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_21\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 21);\n")220main: -> 0.0026s221main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_22\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 22);\n")222main: -> 0.0026s223main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_23\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 23);\n")224main: -> 0.0027s225main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_24\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 24);\n")226main: -> 0.0025s227main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_25\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 25);\n")228main: -> 0.0025s229main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_26\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 26);\n")230main: -> 0.0032s231main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_27\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 27);\n")232main: -> 0.0028s233main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_28\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 28);\n")234main: -> 0.0027s235main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_29\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 29);\n")236main: -> 0.0026s237main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_30\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 30);\n")238main: -> 0.0028s239main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_31\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 31);\n")240main: -> 0.0027s241main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_32\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 32);\n")242main: -> 0.0029s243main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_33\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 33);\n")244main: -> 0.0029s245main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_34\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 34);\n")246main: -> 0.0030s247main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_35\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 35);\n")248main: -> 0.0029s249main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_36\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 36);\n")250main: -> 0.0026s251main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_37\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 37);\n")252main: -> 0.0026s253main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_38\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 38);\n")254main: -> 0.0026s255main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_39\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 39);\n")256main: -> 0.0026s257main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_40\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 40);\n")258main: -> 0.0027s259main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_41\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 41);\n")260main: -> 0.0026s261main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_42\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 42);\n")262main: -> 0.0027s263main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_43\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 43);\n")264main: -> 0.0028s265main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_44\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 44);\n")266main: -> 0.0028s267main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_45\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 45);\n")268main: -> 0.0027s269main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_46\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 46);\n")270main: -> 0.0027s271main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_47\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 47);\n")272main: -> 0.0025s273main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_48\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 48);\n")274main: -> 0.0025s275main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_49\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 49);\n")276main: -> 0.0025s277main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_50\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 50);\n")278main: -> 0.0027s279main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_51\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 51);\n")280main: -> 0.0026s281main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_52\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 52);\n")282main: -> 0.0028s283main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_53\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 53);\n")284main: -> 0.0026s285main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_54\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 54);\n")286main: -> 0.0027s287main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_55\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 55);\n")288main: -> 0.0025s289main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_56\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 56);\n")290main: -> 0.0026s291main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_57\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 57);\n")292main: -> 0.0026s293main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_58\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 58);\n")294main: -> 0.0026s295main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_59\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 59);\n")296main: -> 0.0025s297main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_60\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 60);\n")298main: -> 0.0027s299main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_61\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 61);\n")300main: -> 0.0026s301main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_62\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 62);\n")302main: -> 0.0028s303main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_63\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 63);\n")304main: -> 0.0026s305main: -> 0.1768s306main: == 20211007090229 CreateIssueSearchTable: migrated (0.1828s) ==================307main: == 20211021115409 AddColorToEpics: migrating ==================================308main: -- add_column(:epics, :color, :text, {:default=>"#1068bf"})309main: -> 0.0028s310main: == 20211021115409 AddColorToEpics: migrated (0.0028s) =========================311main: == 20211021124715 AddTextLimitToEpicsColor: migrating =========================312main: -- transaction_open?()313main: -> 0.0000s314main: -- current_schema()315main: -> 0.0005s316main: -- transaction_open?()317main: -> 0.0000s318main: -- execute("ALTER TABLE epics\nADD CONSTRAINT check_ca608c40b3\nCHECK ( char_length(color) <= 7 )\nNOT VALID;\n")319main: -> 0.0010s320main: -- current_schema()321main: -> 0.0004s322main: -- execute("ALTER TABLE epics VALIDATE CONSTRAINT check_ca608c40b3;")323main: -> 0.0008s324main: == 20211021124715 AddTextLimitToEpicsColor: migrated (0.0120s) ================325main: == 20211026070408 BackfillIssueSearchData: migrating ==========================326main: == 20211026070408 BackfillIssueSearchData: migrated (0.0872s) =================327main: == 20211103184303 DropRunnerFeaturesFromCiBuildsMetadata: migrating ===========328main: -- remove_column(:ci_builds_metadata, :runner_features)329main: -> 0.0012s330main: == 20211103184303 DropRunnerFeaturesFromCiBuildsMetadata: migrated (0.0013s) ==331main: == 20211119111006 CreateJobArtifactStates: migrating ==========================332main: -- create_table(:ci_job_artifact_states, {:id=>false})333main: -- quote_column_name(:verification_failure)334main: -> 0.0000s335main: -> 0.0090s336main: == 20211119111006 CreateJobArtifactStates: migrated (0.0091s) =================337main: == 20211122103051 AddLineCodeToDraftNotes: migrating ==========================338main: -- add_column(:draft_notes, :line_code, :text)339main: -> 0.0017s340main: == 20211122103051 AddLineCodeToDraftNotes: migrated (0.0018s) =================341main: == 20211123135255 CreateBatchedBackgroundMigrationJobTransitionLogs: migrating 342main: -- execute("CREATE TABLE batched_background_migration_job_transition_logs (\n id bigserial NOT NULL,\n batched_background_migration_job_id bigint NOT NULL,\n created_at timestamp with time zone NOT NULL,\n updated_at timestamp with time zone NOT NULL,\n previous_status smallint NOT NULL,\n next_status smallint NOT NULL,\n exception_class text,\n exception_message text,\n CONSTRAINT check_50e580811a CHECK ((char_length(exception_message) <= 1000)),\n CONSTRAINT check_76e202c37a CHECK ((char_length(exception_class) <= 100)),\n PRIMARY KEY (id, created_at)\n) PARTITION BY RANGE (created_at);\n\nCREATE INDEX i_batched_background_migration_job_transition_logs_on_job_id\n ON batched_background_migration_job_transition_logs USING btree (batched_background_migration_job_id);\n\nALTER TABLE batched_background_migration_job_transition_logs ADD CONSTRAINT fk_rails_b7523a175b\n FOREIGN KEY (batched_background_migration_job_id) REFERENCES batched_background_migration_jobs(id) ON DELETE CASCADE;\n")343main: -> 0.0029s344main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_000000")345main: -> 0.0007s346main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_000000 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM (MINVALUE) TO ('2022-08-01')\n")347main: -> 0.0026s348main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202208")349main: -> 0.0006s350main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202208 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM ('2022-08-01') TO ('2022-09-01')\n")351main: -> 0.0026s352main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202209")353main: -> 0.0006s354main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202209 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM ('2022-09-01') TO ('2022-10-01')\n")355main: -> 0.0024s356main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202210")357main: -> 0.0005s358main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202210 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM ('2022-10-01') TO ('2022-11-01')\n")359main: -> 0.0023s360main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202211")361main: -> 0.0006s362main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202211 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM ('2022-11-01') TO ('2022-12-01')\n")363main: -> 0.0022s364main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202212")365main: -> 0.0006s366main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202212 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM ('2022-12-01') TO ('2023-01-01')\n")367main: -> 0.0026s368main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202301")369main: -> 0.0006s370main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202301 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM ('2023-01-01') TO ('2023-02-01')\n")371main: -> 0.0025s372main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202302")373main: -> 0.0006s374main: -- execute("CREATE TABLE gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202302 PARTITION OF batched_background_migration_job_transition_logs\nFOR VALUES FROM ('2023-02-01') TO ('2023-03-01')\n")375main: -> 0.0023s376main: == 20211123135255 CreateBatchedBackgroundMigrationJobTransitionLogs: migrated (0.0291s) 377main: == 20211124095704 AddDraftNotesLineCodeTextLimit: migrating ===================378main: -- transaction_open?()379main: -> 0.0000s380main: -- current_schema()381main: -> 0.0006s382main: -- transaction_open?()383main: -> 0.0000s384main: -- execute("ALTER TABLE draft_notes\nADD CONSTRAINT check_c497a94a0e\nCHECK ( char_length(line_code) <= 255 )\nNOT VALID;\n")385main: -> 0.0009s386main: -- current_schema()387main: -> 0.0003s388main: -- execute("ALTER TABLE draft_notes VALIDATE CONSTRAINT check_c497a94a0e;")389main: -> 0.0007s390main: == 20211124095704 AddDraftNotesLineCodeTextLimit: migrated (0.0085s) ==========391main: == 20211203160952 AddUpdatedStateByUserIdToMergeRequestReviewers: migrating ===392main: -- add_column(:merge_request_reviewers, :updated_state_by_user_id, :bigint)393main: -> 0.0010s394main: == 20211203160952 AddUpdatedStateByUserIdToMergeRequestReviewers: migrated (0.0011s) 395main: == 20211203161149 AddIndexToMergeRequestReviewersUpdatedStateByUserId: migrating 396main: -- transaction_open?()397main: -> 0.0000s398main: -- index_exists?(:merge_request_reviewers, :updated_state_by_user_id, {:name=>"index_on_merge_request_reviewers_updated_state_by_user_id", :algorithm=>:concurrently})399main: -> 0.0025s400main: -- add_index(:merge_request_reviewers, :updated_state_by_user_id, {:name=>"index_on_merge_request_reviewers_updated_state_by_user_id", :algorithm=>:concurrently})401main: -> 0.0013s402main: == 20211203161149 AddIndexToMergeRequestReviewersUpdatedStateByUserId: migrated (0.0071s) 403main: == 20211203161840 AddUpdatedStateByUserIdToMergeRequestAssignees: migrating ===404main: -- add_column(:merge_request_assignees, :updated_state_by_user_id, :bigint)405main: -> 0.0010s406main: == 20211203161840 AddUpdatedStateByUserIdToMergeRequestAssignees: migrated (0.0011s) 407main: == 20211203161942 AddIndexToMergeRequestAssigneesUpdatedStateByUserId: migrating 408main: -- transaction_open?()409main: -> 0.0000s410main: -- index_exists?(:merge_request_assignees, :updated_state_by_user_id, {:name=>"index_on_merge_request_assignees_updated_state_by_user_id", :algorithm=>:concurrently})411main: -> 0.0025s412main: -- add_index(:merge_request_assignees, :updated_state_by_user_id, {:name=>"index_on_merge_request_assignees_updated_state_by_user_id", :algorithm=>:concurrently})413main: -> 0.0014s414main: == 20211203161942 AddIndexToMergeRequestAssigneesUpdatedStateByUserId: migrated (0.0071s) 415main: == 20211209103048 BackfillProjectNamespacesForGroup: migrating ================416main: == 20211209103048 BackfillProjectNamespacesForGroup: migrated (0.0000s) =======417main: == 20220105082217 AddVerificationTokenToExternalAeDestinations: migrating =====418main: -- add_column(:audit_events_external_audit_event_destinations, :verification_token, :text)419main: -> 0.0018s420main: == 20220105082217 AddVerificationTokenToExternalAeDestinations: migrated (0.0019s) 421main: == 20220105152547 AddForeignKeyToUpdatedStateByUserIdToMergeRequestAssignees: migrating 422main: -- transaction_open?()423main: -> 0.0000s424main: -- foreign_keys(:merge_request_assignees)425main: -> 0.0028s426main: -- transaction_open?()427main: -> 0.0000s428main: -- execute("ALTER TABLE merge_request_assignees\nADD CONSTRAINT fk_af036e3261\nFOREIGN KEY (updated_state_by_user_id)\nREFERENCES users (id)\nON DELETE SET NULL\nNOT VALID;\n")429main: -> 0.0016s430main: -- execute("ALTER TABLE merge_request_assignees VALIDATE CONSTRAINT fk_af036e3261;")431main: -> 0.0021s432main: == 20220105152547 AddForeignKeyToUpdatedStateByUserIdToMergeRequestAssignees: migrated (0.0106s) 433main: == 20220105153149 AddForeignKeyToUpdatedStateByUserIdToMergeRequestReviewers: migrating 434main: -- transaction_open?()435main: -> 0.0000s436main: -- foreign_keys(:merge_request_reviewers)437main: -> 0.0026s438main: -- transaction_open?()439main: -> 0.0000s440main: -- execute("ALTER TABLE merge_request_reviewers\nADD CONSTRAINT fk_3d674b9f23\nFOREIGN KEY (updated_state_by_user_id)\nREFERENCES users (id)\nON DELETE SET NULL\nNOT VALID;\n")441main: -> 0.0014s442main: -- execute("ALTER TABLE merge_request_reviewers VALIDATE CONSTRAINT fk_3d674b9f23;")443main: -> 0.0014s444main: == 20220105153149 AddForeignKeyToUpdatedStateByUserIdToMergeRequestReviewers: migrated (0.0094s) 445main: == 20220106111958 AddInsertOrUpdateVulnerabilityReadsTrigger: migrating =======446main: -- execute("CREATE OR REPLACE FUNCTION insert_or_update_vulnerability_reads()\nRETURNS TRIGGER\nLANGUAGE plpgsql\nAS $$\nDECLARE\n severity smallint;\n state smallint;\n report_type smallint;\n resolved_on_default_branch boolean;\nBEGIN\n IF (NEW.vulnerability_id IS NULL AND (TG_OP = 'INSERT' OR TG_OP = 'UPDATE')) THEN\n RETURN NULL;\n END IF;\n\n IF (TG_OP = 'UPDATE' AND OLD.vulnerability_id IS NOT NULL AND NEW.vulnerability_id IS NOT NULL) THEN\n RETURN NULL;\n END IF;\n\n SELECT\n vulnerabilities.severity, vulnerabilities.state, vulnerabilities.report_type, vulnerabilities.resolved_on_default_branch\n INTO\n severity, state, report_type, resolved_on_default_branch\n FROM\n vulnerabilities\n WHERE\n vulnerabilities.id = NEW.vulnerability_id;\n\n INSERT INTO vulnerability_reads (vulnerability_id, project_id, scanner_id, report_type, severity, state, resolved_on_default_branch, uuid, location_image, cluster_agent_id)\n VALUES (NEW.vulnerability_id, NEW.project_id, NEW.scanner_id, report_type, severity, state, resolved_on_default_branch, NEW.uuid::uuid, NEW.location->>'image', NEW.location->'kubernetes_resource'->>'agent_id')\n ON CONFLICT(vulnerability_id) DO NOTHING;\n RETURN NULL;\nEND\n$$;\n")447main: -> 0.0026s448main: -- execute("CREATE TRIGGER trigger_insert_or_update_vulnerability_reads_from_occurrences\nAFTER INSERT OR UPDATE ON vulnerability_occurrences\nFOR EACH ROW\nEXECUTE PROCEDURE insert_or_update_vulnerability_reads();\n")449main: -> 0.0008s450main: == 20220106111958 AddInsertOrUpdateVulnerabilityReadsTrigger: migrated (0.0036s) 451main: == 20220106112043 AddUpdateVulnerabilityReadsTrigger: migrating ===============452main: -- execute("CREATE OR REPLACE FUNCTION update_vulnerability_reads_from_vulnerability()\nRETURNS TRIGGER AS\n$$\nBEGIN\nUPDATE\n vulnerability_reads\nSET\n severity = NEW.severity,\n state = NEW.state,\n resolved_on_default_branch = NEW.resolved_on_default_branch\nWHERE vulnerability_id = NEW.id;\nRETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n")453main: -> 0.0015s454main: -- execute("CREATE TRIGGER trigger_update_vulnerability_reads_on_vulnerability_update\nAFTER UPDATE ON vulnerabilities\nFOR EACH ROW\nWHEN (\n OLD.severity IS DISTINCT FROM NEW.severity OR\n OLD.state IS DISTINCT FROM NEW.state OR\n OLD.resolved_on_default_branch IS DISTINCT FROM NEW.resolved_on_default_branch\n)\nEXECUTE PROCEDURE update_vulnerability_reads_from_vulnerability();\n")455main: -> 0.0009s456main: == 20220106112043 AddUpdateVulnerabilityReadsTrigger: migrated (0.0027s) ======457main: == 20220106112085 AddUpdateVulnerabilityReadsLocationTrigger: migrating =======458main: -- execute("CREATE OR REPLACE FUNCTION update_location_from_vulnerability_occurrences()\nRETURNS TRIGGER AS\n$$\nBEGIN\nUPDATE\n vulnerability_reads\nSET\n location_image = NEW.location->>'image',\n cluster_agent_id = NEW.location->'kubernetes_resource'->>'agent_id'\nWHERE\n vulnerability_id = NEW.vulnerability_id;\nRETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n")459main: -> 0.0014s460main: -- execute("CREATE TRIGGER trigger_update_location_on_vulnerability_occurrences_update\nAFTER UPDATE ON vulnerability_occurrences\nFOR EACH ROW\nWHEN (\n NEW.report_type IN (2, 7) AND (\n OLD.location->>'image' IS DISTINCT FROM NEW.location->>'image' OR\n OLD.location->'kubernetes_resource'->>'agent_id' IS DISTINCT FROM NEW.location->'kubernetes_resource'->>'agent_id'\n )\n)\nEXECUTE PROCEDURE update_location_from_vulnerability_occurrences();\n")461main: -> 0.0011s462main: == 20220106112085 AddUpdateVulnerabilityReadsLocationTrigger: migrated (0.0028s) 463main: == 20220106163326 AddHasIssuesOnVulnerabilityReadsTrigger: migrating ==========464main: -- execute("CREATE OR REPLACE FUNCTION set_has_issues_on_vulnerability_reads()\nRETURNS TRIGGER AS\n$$\nBEGIN\nUPDATE\n vulnerability_reads\nSET\n has_issues = true\nWHERE\n vulnerability_id = NEW.vulnerability_id AND has_issues IS FALSE;\nRETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n")465main: -> 0.0014s466main: -- execute("CREATE OR REPLACE FUNCTION unset_has_issues_on_vulnerability_reads()\nRETURNS TRIGGER\nLANGUAGE plpgsql\nAS $$\nDECLARE\n has_issue_links integer;\nBEGIN\n PERFORM 1\n FROM\n vulnerability_reads\n WHERE\n vulnerability_id = OLD.vulnerability_id\n FOR UPDATE;\n\n SELECT 1 INTO has_issue_links FROM vulnerability_issue_links WHERE vulnerability_id = OLD.vulnerability_id LIMIT 1;\n\n IF (has_issue_links = 1) THEN\n RETURN NULL;\n END IF;\n\n UPDATE\n vulnerability_reads\n SET\n has_issues = false\n WHERE\n vulnerability_id = OLD.vulnerability_id;\n\n RETURN NULL;\nEND\n$$;\n")467main: -> 0.0008s468main: -- execute("CREATE TRIGGER trigger_update_has_issues_on_vulnerability_issue_links_update\nAFTER INSERT ON vulnerability_issue_links\nFOR EACH ROW\nEXECUTE FUNCTION set_has_issues_on_vulnerability_reads();\n")469main: -> 0.0007s470main: -- execute("CREATE TRIGGER trigger_update_has_issues_on_vulnerability_issue_links_delete\nAFTER DELETE ON vulnerability_issue_links\nFOR EACH ROW\nEXECUTE FUNCTION unset_has_issues_on_vulnerability_reads();\n")471main: -> 0.0007s472main: == 20220106163326 AddHasIssuesOnVulnerabilityReadsTrigger: migrated (0.0040s) =473main: == 20220106185033 RemoveFindingEvidenceSummary: migrating =====================474main: -- remove_column(:vulnerability_finding_evidences, :summary, :text)475main: -> 0.0011s476main: == 20220106185033 RemoveFindingEvidenceSummary: migrated (0.0012s) ============477main: == 20220107064845 PopulateVulnerabilityReads: migrating =======================478main: -- transaction_open?()479main: -> 0.0000s480main: -- Scheduled 0 PopulateVulnerabilityReads jobs with a maximum of 10000 records per batch and an interval of 120 seconds.481The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:27 UTC."482main: == 20220107064845 PopulateVulnerabilityReads: migrated (0.0267s) ==============483main: == 20220111093534 RemoveIndexOnAutoStopIn: migrating ==========================484main: -- transaction_open?()485main: -> 0.0000s486main: -- index_exists?(:environments, :auto_stop_at, {:where=>"auto_stop_at IS NOT NULL", :name=>"index_environments_on_auto_stop_at", :algorithm=>:concurrently})487main: -> 0.0055s488main: -- remove_index(:environments, {:where=>"auto_stop_at IS NOT NULL", :name=>"index_environments_on_auto_stop_at", :algorithm=>:concurrently, :column=>:auto_stop_at})489main: -> 0.0062s490main: == 20220111093534 RemoveIndexOnAutoStopIn: migrated (0.0153s) =================491main: == 20220111101421 RemoveIndexOnMergeRequestId: migrating ======================492main: -- transaction_open?()493main: -> 0.0000s494main: -- index_exists?(:merge_request_context_commits, :merge_request_id, {:name=>"index_merge_request_context_commits_on_merge_request_id", :algorithm=>:concurrently})495main: -> 0.0022s496main: == 20220111101421 RemoveIndexOnMergeRequestId: migrated (0.0029s) =============497main: == 20220111154950 AddTokenExpiresAtToCiRunners: migrating =====================498main: -- add_column(:ci_runners, :token_expires_at, :datetime_with_timezone)499main: -> 0.0013s500main: == 20220111154950 AddTokenExpiresAtToCiRunners: migrated (0.0014s) ============501main: == 20220111154951 AddIndexToCiRunnersTokenExpiresAt: migrating ================502main: -- transaction_open?()503main: -> 0.0000s504main: -- index_exists?(:ci_runners, [:token_expires_at, :id], {:order=>{:token_expires_at=>:asc, :id=>:desc}, :name=>"index_ci_runners_on_token_expires_at_and_id_desc", :algorithm=>:concurrently})505main: -> 0.0069s506main: -- add_index(:ci_runners, [:token_expires_at, :id], {:order=>{:token_expires_at=>:asc, :id=>:desc}, :name=>"index_ci_runners_on_token_expires_at_and_id_desc", :algorithm=>:concurrently})507main: -> 0.0015s508main: -- transaction_open?()509main: -> 0.0000s510main: -- index_exists?(:ci_runners, [:token_expires_at, :id], {:order=>{:token_expires_at=>:desc, :id=>:desc}, :name=>"index_ci_runners_on_token_expires_at_desc_and_id_desc", :algorithm=>:concurrently})511main: -> 0.0066s512main: -- add_index(:ci_runners, [:token_expires_at, :id], {:order=>{:token_expires_at=>:desc, :id=>:desc}, :name=>"index_ci_runners_on_token_expires_at_desc_and_id_desc", :algorithm=>:concurrently})513main: -> 0.0021s514main: == 20220111154951 AddIndexToCiRunnersTokenExpiresAt: migrated (0.0242s) =======515main: == 20220113111440 ScheduleFixIncorrectMaxSeatsUsed: migrating =================516main: -- transaction_open?()517main: -> 0.0000s518main: -- index_exists?(:gitlab_subscriptions, :id, {:where=>"start_date >= '2021-08-02' AND start_date <= '2021-11-20' AND max_seats_used != 0 AND max_seats_used > seats_in_use AND max_seats_used > seats", :name=>"tmp_gitlab_subscriptions_max_seats_used_migration", :algorithm=>:concurrently})519main: -> 0.0027s520main: -- add_index(:gitlab_subscriptions, :id, {:where=>"start_date >= '2021-08-02' AND start_date <= '2021-11-20' AND max_seats_used != 0 AND max_seats_used > seats_in_use AND max_seats_used > seats", :name=>"tmp_gitlab_subscriptions_max_seats_used_migration", :algorithm=>:concurrently})521main: -> 0.0017s522main: == 20220113111440 ScheduleFixIncorrectMaxSeatsUsed: migrated (0.0070s) ========523main: == 20220113135449 AddPackageFilesLimitToApplicationSettings: migrating ========524main: -- add_column(:application_settings, :max_package_files_for_package_destruction, :smallint, {:default=>100, :null=>false})525main: -> 0.0024s526main: == 20220113135449 AddPackageFilesLimitToApplicationSettings: migrated (0.0025s) 527main: == 20220113135924 AddApplicationSettingsPackageFilesLimitConstraints: migrating 528main: -- transaction_open?()529main: -> 0.0000s530main: -- current_schema()531main: -> 0.0005s532main: -- transaction_open?()533main: -> 0.0000s534main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT app_settings_max_package_files_for_package_destruction_positive\nCHECK ( max_package_files_for_package_destruction > 0 )\nNOT VALID;\n")535main: -> 0.0012s536main: -- current_schema()537main: -> 0.0003s538main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_max_package_files_for_package_destruction_positive;")539main: -> 0.0010s540main: == 20220113135924 AddApplicationSettingsPackageFilesLimitConstraints: migrated (0.0078s) 541main: == 20220113164801 AddDiffsColorsToUserPreferences: migrating ==================542main: -- add_column(:user_preferences, :diffs_deletion_color, :text)543main: -> 0.0007s544main: -- add_column(:user_preferences, :diffs_addition_color, :text)545main: -> 0.0006s546main: == 20220113164801 AddDiffsColorsToUserPreferences: migrated (0.0014s) =========547main: == 20220113164901 AddTextLimitToUserPreferencesDiffsColors: migrating =========548main: -- transaction_open?()549main: -> 0.0000s550main: -- current_schema()551main: -> 0.0003s552main: -- transaction_open?()553main: -> 0.0000s554main: -- execute("ALTER TABLE user_preferences\nADD CONSTRAINT check_89bf269f41\nCHECK ( char_length(diffs_deletion_color) <= 7 )\nNOT VALID;\n")555main: -> 0.0006s556main: -- current_schema()557main: -> 0.0003s558main: -- execute("ALTER TABLE user_preferences VALIDATE CONSTRAINT check_89bf269f41;")559main: -> 0.0005s560main: -- transaction_open?()561main: -> 0.0000s562main: -- current_schema()563main: -> 0.0003s564main: -- transaction_open?()565main: -> 0.0000s566main: -- execute("ALTER TABLE user_preferences\nADD CONSTRAINT check_d07ccd35f7\nCHECK ( char_length(diffs_addition_color) <= 7 )\nNOT VALID;\n")567main: -> 0.0006s568main: -- current_schema()569main: -> 0.0003s570main: -- execute("ALTER TABLE user_preferences VALIDATE CONSTRAINT check_d07ccd35f7;")571main: -> 0.0006s572main: == 20220113164901 AddTextLimitToUserPreferencesDiffsColors: migrated (0.0125s) 573main: == 20220117034056 RemoveIndexClusterAgentTokensOnAgentIdAndLastUsedAt: migrating 574main: -- transaction_open?()575main: -> 0.0000s576main: -- indexes(:cluster_agent_tokens)577main: -> 0.0028s578main: -- remove_index(:cluster_agent_tokens, {:algorithm=>:concurrently, :name=>"index_cluster_agent_tokens_on_agent_id_and_last_used_at"})579main: -> 0.0009s580main: == 20220117034056 RemoveIndexClusterAgentTokensOnAgentIdAndLastUsedAt: migrated (0.0057s) 581main: == 20220117082611 AddTextLimitToExadVerificationTokens: migrating =============582main: -- transaction_open?()583main: -> 0.0000s584main: -- current_schema()585main: -> 0.0007s586main: -- transaction_open?()587main: -> 0.0000s588main: -- execute("ALTER TABLE audit_events_external_audit_event_destinations\nADD CONSTRAINT check_8ec80a7d06\nCHECK ( char_length(verification_token) <= 24 )\nNOT VALID;\n")589main: -> 0.0007s590main: -- current_schema()591main: -> 0.0003s592main: -- execute("ALTER TABLE audit_events_external_audit_event_destinations VALIDATE CONSTRAINT check_8ec80a7d06;")593main: -> 0.0006s594main: == 20220117082611 AddTextLimitToExadVerificationTokens: migrated (0.0069s) ====595main: == 20220118015633 AddUrlTextToIssuableMetricImages: migrating =================596main: -- add_column(:issuable_metric_images, :url_text, :text)597main: -> 0.0010s598main: == 20220118015633 AddUrlTextToIssuableMetricImages: migrated (0.0011s) ========599main: == 20220118020026 AddUrlTextLimitToIssuableMetricImages: migrating ============600main: -- transaction_open?()601main: -> 0.0000s602main: -- current_schema()603main: -> 0.0004s604main: -- transaction_open?()605main: -> 0.0000s606main: -- execute("ALTER TABLE issuable_metric_images\nADD CONSTRAINT check_3bc6d47661\nCHECK ( char_length(url_text) <= 128 )\nNOT VALID;\n")607main: -> 0.0006s608main: -- current_schema()609main: -> 0.0003s610main: -- execute("ALTER TABLE issuable_metric_images VALIDATE CONSTRAINT check_3bc6d47661;")611main: -> 0.0006s612main: == 20220118020026 AddUrlTextLimitToIssuableMetricImages: migrated (0.0062s) ===613main: == 20220118204039 SelfManagedRescheduleRecalculateVulnerabilityFindingSignaturesForFindings: migrating 614main: -- transaction_open?()615main: -> 0.0000s616main: -- Scheduled 0 RecalculateVulnerabilityFindingSignaturesForFindings jobs with an interval of 120 seconds.617The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:28 UTC."618main: == 20220118204039 SelfManagedRescheduleRecalculateVulnerabilityFindingSignaturesForFindings: migrated (0.0244s) 619main: == 20220119094023 AddUniqueIndexToAedVerificationToken: migrating =============620main: -- transaction_open?()621main: -> 0.0000s622main: -- index_exists?(:audit_events_external_audit_event_destinations, :verification_token, {:unique=>true, :name=>"index_audit_events_external_audit_on_verification_token", :algorithm=>:concurrently})623main: -> 0.0017s624main: -- add_index(:audit_events_external_audit_event_destinations, :verification_token, {:unique=>true, :name=>"index_audit_events_external_audit_on_verification_token", :algorithm=>:concurrently})625main: -> 0.0012s626main: == 20220119094023 AddUniqueIndexToAedVerificationToken: migrated (0.0052s) ====627main: == 20220119094503 PopulateAuditEventStreamingVerificationToken: migrating =====628main: == 20220119094503 PopulateAuditEventStreamingVerificationToken: migrated (0.0013s) 629main: == 20220119141407 AddDependencyProxySizeToNamespaceStatistics: migrating ======630main: -- add_column(:namespace_statistics, :dependency_proxy_size, :bigint, {:default=>0, :null=>false})631main: -> 0.0015s632main: == 20220119141407 AddDependencyProxySizeToNamespaceStatistics: migrated (0.0016s) 633main: == 20220119143130 RemoveProjectsCiSourcesPipelinesSourceProjectIdFk: migrating 634main: -- transaction_open?()635main: -> 0.0000s636main: -- execute("LOCK projects, ci_sources_pipelines IN ACCESS EXCLUSIVE MODE")637main: -> 0.0005s638main: -- foreign_keys(:ci_sources_pipelines)639main: -> 0.0029s640main: -- remove_foreign_key(:ci_sources_pipelines, :projects, {:name=>"fk_acd9737679"})641main: -> 0.0040s642main: == 20220119143130 RemoveProjectsCiSourcesPipelinesSourceProjectIdFk: migrated (0.0097s) 643main: == 20220119144253 AddDependencyProxySizeToNamespaceRootStorageStatistics: migrating 644main: -- add_column(:namespace_root_storage_statistics, :dependency_proxy_size, :bigint, {:default=>0, :null=>false})645main: -> 0.0019s646main: == 20220119144253 AddDependencyProxySizeToNamespaceRootStorageStatistics: migrated (0.0020s) 647main: == 20220119144458 RemoveUsersCiTriggersOwnerIdFk: migrating ===================648main: -- transaction_open?()649main: -> 0.0001s650main: -- execute("LOCK users, ci_triggers IN ACCESS EXCLUSIVE MODE")651main: -> 0.0005s652main: -- foreign_keys(:ci_triggers)653main: -> 0.0028s654main: -- remove_foreign_key(:ci_triggers, :users, {:name=>"fk_e8e10d1964"})655main: -> 0.0037s656main: == 20220119144458 RemoveUsersCiTriggersOwnerIdFk: migrated (0.0097s) ==========657main: == 20220119151221 RemoveMergeRequestsCiPipelinesMergeRequestIdFk: migrating ===658main: -- foreign_keys(:ci_pipelines)659main: -> 0.0030s660main: -- transaction_open?()661main: -> 0.0000s662main: -- transaction_open?()663main: -> 0.0000s664main: -- execute("LOCK merge_requests, ci_pipelines IN ACCESS EXCLUSIVE MODE")665main: -> 0.0006s666main: -- foreign_keys(:ci_pipelines)667main: -> 0.0023s668main: -- remove_foreign_key(:ci_pipelines, :merge_requests, {:name=>"fk_a23be95014"})669main: -> 0.0032s670main: == 20220119151221 RemoveMergeRequestsCiPipelinesMergeRequestIdFk: migrated (0.0120s) 671main: == 20220119153706 RemoveCiPipelinesMergeTrainsPipelineIdFk: migrating =========672main: -- transaction_open?()673main: -> 0.0000s674main: -- execute("LOCK ci_pipelines, merge_trains IN ACCESS EXCLUSIVE MODE")675main: -> 0.0006s676main: -- foreign_keys(:merge_trains)677main: -> 0.0022s678main: -- remove_foreign_key(:merge_trains, :ci_pipelines, {:name=>"fk_rails_f90820cb08"})679main: -> 0.0031s680main: == 20220119153706 RemoveCiPipelinesMergeTrainsPipelineIdFk: migrated (0.0087s) 681main: == 20220119154442 RemoveCiPipelinesMergeRequestsHeadPipelineIdFk: migrating ===682main: -- transaction_open?()683main: -> 0.0000s684main: -- execute("LOCK ci_pipelines, merge_requests IN ACCESS EXCLUSIVE MODE")685main: -> 0.0006s686main: -- foreign_keys(:merge_requests)687main: -> 0.0024s688main: -- remove_foreign_key(:merge_requests, :ci_pipelines, {:name=>"fk_fd82eae0b9"})689main: -> 0.0033s690main: == 20220119154442 RemoveCiPipelinesMergeRequestsHeadPipelineIdFk: migrated (0.0091s) 691main: == 20220119170426 RemoveTemporaryVulnerabilityOccurrencesDeduplicationIndex: migrating 692main: -- transaction_open?()693main: -> 0.0000s694main: -- transaction_open?()695main: -> 0.0000s696main: -- indexes(:vulnerability_occurrences)697main: -> 0.0048s698main: -- remove_index(:vulnerability_occurrences, {:algorithm=>:concurrently, :name=>"tmp_idx_deduplicate_vulnerability_occurrences"})699main: -> 0.0011s700main: == 20220119170426 RemoveTemporaryVulnerabilityOccurrencesDeduplicationIndex: migrated (0.0140s) 701main: == 20220119193130 RemoveCiPipelinesDastProfilesPipelinesCiPipelineIdFk: migrating 702main: -- transaction_open?()703main: -> 0.0000s704main: -- execute("LOCK ci_pipelines, dast_profiles_pipelines IN ACCESS EXCLUSIVE MODE")705main: -> 0.0006s706main: -- foreign_keys(:dast_profiles_pipelines)707main: -> 0.0023s708main: -- remove_foreign_key(:dast_profiles_pipelines, :ci_pipelines, {:name=>"fk_a60cad829d"})709main: -> 0.0031s710main: == 20220119193130 RemoveCiPipelinesDastProfilesPipelinesCiPipelineIdFk: migrated (0.0089s) 711main: == 20220119201340 RemoveCiPipelinesVulnerabilityStatisticsLatestPipelineIdFk: migrating 712main: -- transaction_open?()713main: -> 0.0000s714main: -- execute("LOCK ci_pipelines, vulnerability_statistics IN ACCESS EXCLUSIVE MODE")715main: -> 0.0005s716main: -- foreign_keys(:vulnerability_statistics)717main: -> 0.0024s718main: -- remove_foreign_key(:vulnerability_statistics, :ci_pipelines, {:name=>"fk_e8b13c928f"})719main: -> 0.0030s720main: == 20220119201340 RemoveCiPipelinesVulnerabilityStatisticsLatestPipelineIdFk: migrated (0.0087s) 721main: == 20220119203119 RemoveCiPipelinesVulnerabilityOccurrencePipelinesPipelineIdFk: migrating 722main: -- transaction_open?()723main: -> 0.0000s724main: -- execute("LOCK ci_pipelines, vulnerability_occurrence_pipelines IN ACCESS EXCLUSIVE MODE")725main: -> 0.0006s726main: -- foreign_keys(:vulnerability_occurrence_pipelines)727main: -> 0.0022s728main: -- remove_foreign_key(:vulnerability_occurrence_pipelines, :ci_pipelines, {:name=>"fk_rails_6421e35d7d"})729main: -> 0.0029s730main: == 20220119203119 RemoveCiPipelinesVulnerabilityOccurrencePipelinesPipelineIdFk: migrated (0.0086s) 731main: == 20220119220620 AddScanMethodToDastSiteProfile: migrating ===================732main: -- add_column(:dast_site_profiles, :scan_method, :integer, {:limit=>2, :default=>0, :null=>false})733main: -> 0.0019s734main: == 20220119220620 AddScanMethodToDastSiteProfile: migrated (0.0021s) ==========735main: == 20220120033115 CreateAlertManagementAlertMetricImages: migrating ===========736main: -- create_table(:alert_management_alert_metric_images, {})737main: -- quote_column_name(:file)738main: -> 0.0001s739main: -- quote_column_name(:url)740main: -> 0.0000s741main: -- quote_column_name(:url_text)742main: -> 0.0000s743main: -> 0.0049s744main: == 20220120033115 CreateAlertManagementAlertMetricImages: migrated (0.0051s) ==745main: == 20220120085655 AddCiRunnerProjectIndexToRunnerIdAndProjectId: migrating ====746main: -- transaction_open?()747main: -> 0.0001s748main: -- index_exists?(:ci_runner_projects, [:runner_id, :project_id], {:name=>"index_ci_runner_projects_on_runner_id_and_project_id", :algorithm=>:concurrently})749main: -> 0.0018s750main: -- add_index(:ci_runner_projects, [:runner_id, :project_id], {:name=>"index_ci_runner_projects_on_runner_id_and_project_id", :algorithm=>:concurrently})751main: -> 0.0021s752main: -- transaction_open?()753main: -> 0.0000s754main: -- indexes(:ci_runner_projects)755main: -> 0.0024s756main: -- remove_index(:ci_runner_projects, {:algorithm=>:concurrently, :name=>"index_ci_runner_projects_on_runner_id"})757main: -> 0.0012s758main: == 20220120085655 AddCiRunnerProjectIndexToRunnerIdAndProjectId: migrated (0.0145s) 759main: == 20220120094340 DropPositionFromSecurityFindings: migrating =================760main: -- remove_column(:security_findings, :position, :integer)761main: -> 0.0010s762main: == 20220120094340 DropPositionFromSecurityFindings: migrated (0.0011s) ========763main: == 20220120123700 AddTmpIndexRoutesIdForNamespaces: migrating =================764main: -- transaction_open?()765main: -> 0.0000s766main: -- index_exists?(:routes, :id, {:where=>"routes.namespace_id is null and routes.source_type = 'Namespace'", :name=>"tmp_index_for_namespace_id_migration_on_routes", :algorithm=>:concurrently})767main: -> 0.0038s768main: -- add_index(:routes, :id, {:where=>"routes.namespace_id is null and routes.source_type = 'Namespace'", :name=>"tmp_index_for_namespace_id_migration_on_routes", :algorithm=>:concurrently})769main: -> 0.0016s770main: == 20220120123700 AddTmpIndexRoutesIdForNamespaces: migrated (0.0088s) ========771main: == 20220120123800 BackfillNamespaceIdForNamespaceRoutes: migrating ============772main: == 20220120123800 BackfillNamespaceIdForNamespaceRoutes: migrated (0.0271s) ===773main: == 20220120160625 RemoveTempIndexOnIdFromVulnerabilityOccurrences: migrating ==774main: -- transaction_open?()775main: -> 0.0000s776main: -- indexes(:vulnerability_occurrences)777main: -> 0.0051s778main: -- remove_index(:vulnerability_occurrences, {:algorithm=>:concurrently, :name=>"tmp_idx_vulnerability_occurrences_on_id_where_report_type_7_99"})779main: -> 0.0013s780main: == 20220120160625 RemoveTempIndexOnIdFromVulnerabilityOccurrences: migrated (0.0090s) 781main: == 20220120211831 TempIndexForGroupNamespaceMemberBackfill: migrating =========782main: -- transaction_open?()783main: -> 0.0000s784main: -- index_exists?(:members, :id, {:where=>"members.member_namespace_id IS NULL and members.type = 'GroupMember'", :name=>"tmp_index_for_namespace_id_migration_on_group_members", :algorithm=>:concurrently})785main: -> 0.0066s786main: -- add_index(:members, :id, {:where=>"members.member_namespace_id IS NULL and members.type = 'GroupMember'", :name=>"tmp_index_for_namespace_id_migration_on_group_members", :algorithm=>:concurrently})787main: -> 0.0017s788main: == 20220120211831 TempIndexForGroupNamespaceMemberBackfill: migrated (0.0114s) 789main: == 20220120211832 BackfillMemberNamespaceIdForGroupMembers: migrating =========790main: == 20220120211832 BackfillMemberNamespaceIdForGroupMembers: migrated (0.0278s) 791main: == 20220121214752 RemoveProjectsCiStagesProjectIdFk: migrating ================792main: -- foreign_keys(:ci_stages)793main: -> 0.0035s794main: -- transaction_open?()795main: -> 0.0000s796main: -- transaction_open?()797main: -> 0.0000s798main: -- execute("LOCK projects, ci_stages IN ACCESS EXCLUSIVE MODE")799main: -> 0.0008s800main: -- foreign_keys(:ci_stages)801main: -> 0.0028s802main: -- remove_foreign_key(:ci_stages, :projects, {:name=>"fk_2360681d1d"})803main: -> 0.0042s804main: == 20220121214752 RemoveProjectsCiStagesProjectIdFk: migrated (0.0155s) =======805main: == 20220121214753 ReRemoveProjectsCiStagesProjectIdFk: migrating ==============806main: -- foreign_keys(:ci_stages)807main: -> 0.0027s808main: == 20220121214753 ReRemoveProjectsCiStagesProjectIdFk: migrated (0.0028s) =====809main: == 20220121221651 RemoveProjectsCiVariablesProjectIdFk: migrating =============810main: -- foreign_keys(:ci_variables)811main: -> 0.0027s812main: -- transaction_open?()813main: -> 0.0000s814main: -- transaction_open?()815main: -> 0.0000s816main: -- execute("LOCK projects, ci_variables IN ACCESS EXCLUSIVE MODE")817main: -> 0.0007s818main: -- foreign_keys(:ci_variables)819main: -> 0.0025s820main: -- remove_foreign_key(:ci_variables, :projects, {:name=>"fk_ada5eb64b3"})821main: -> 0.0039s822main: == 20220121221651 RemoveProjectsCiVariablesProjectIdFk: migrated (0.0133s) ====823main: == 20220124130028 DedupRunnerProjects: migrating ==============================824main: -- transaction_open?()825main: -> 0.0000s826main: -- index_exists?(:ci_runner_projects, [:runner_id, :project_id], {:where=>"id > 0", :unique=>true, :name=>"tmp_unique_ci_runner_projects_by_runner_id_and_project_id", :algorithm=>:concurrently})827main: -> 0.0021s828main: -- add_index(:ci_runner_projects, [:runner_id, :project_id], {:where=>"id > 0", :unique=>true, :name=>"tmp_unique_ci_runner_projects_by_runner_id_and_project_id", :algorithm=>:concurrently})829main: -> 0.0015s830main: -- transaction_open?()831main: -> 0.0000s832main: -- index_exists?(:ci_runner_projects, [:runner_id, :project_id], {:unique=>true, :name=>"index_unique_ci_runner_projects_on_runner_id_and_project_id", :algorithm=>:concurrently})833main: -> 0.0032s834main: -- add_index(:ci_runner_projects, [:runner_id, :project_id], {:unique=>true, :name=>"index_unique_ci_runner_projects_on_runner_id_and_project_id", :algorithm=>:concurrently})835main: -> 0.0015s836main: -- transaction_open?()837main: -> 0.0000s838main: -- indexes(:ci_runner_projects)839main: -> 0.0029s840main: -- remove_index(:ci_runner_projects, {:algorithm=>:concurrently, :name=>"tmp_unique_ci_runner_projects_by_runner_id_and_project_id"})841main: -> 0.0011s842main: -- transaction_open?()843main: -> 0.0000s844main: -- indexes(:ci_runner_projects)845main: -> 0.0022s846main: -- remove_index(:ci_runner_projects, {:algorithm=>:concurrently, :name=>"index_ci_runner_projects_on_runner_id_and_project_id"})847main: -> 0.0010s848main: == 20220124130028 DedupRunnerProjects: migrated (0.0432s) =====================849main: == 20220124145019 RemoveProjectsExternalPullRequestsProjectIdFk: migrating ====850main: -- foreign_keys(:external_pull_requests)851main: -> 0.0024s852main: -- transaction_open?()853main: -> 0.0000s854main: -- transaction_open?()855main: -> 0.0000s856main: -- execute("LOCK projects, external_pull_requests IN ACCESS EXCLUSIVE MODE")857main: -> 0.0006s858main: -- foreign_keys(:external_pull_requests)859main: -> 0.0022s860main: -- remove_foreign_key(:external_pull_requests, :projects, {:name=>"fk_rails_bcae9b5c7b"})861main: -> 0.0032s862main: == 20220124145019 RemoveProjectsExternalPullRequestsProjectIdFk: migrated (0.0117s) 863main: == 20220124151456 RemoveProjectsCiTriggersProjectIdFk: migrating ==============864main: -- foreign_keys(:ci_triggers)865main: -> 0.0022s866main: -- transaction_open?()867main: -> 0.0000s868main: -- transaction_open?()869main: -> 0.0000s870main: -- execute("LOCK projects, ci_triggers IN ACCESS EXCLUSIVE MODE")871main: -> 0.0005s872main: -- foreign_keys(:ci_triggers)873main: -> 0.0021s874main: -- remove_foreign_key(:ci_triggers, :projects, {:name=>"fk_e3e63f966e"})875main: -> 0.0031s876main: == 20220124151456 RemoveProjectsCiTriggersProjectIdFk: migrated (0.0109s) =====877main: == 20220124151949 RemoveProjectsCiRunnerProjectsProjectIdFk: migrating ========878main: -- foreign_keys(:ci_runner_projects)879main: -> 0.0024s880main: -- transaction_open?()881main: -> 0.0000s882main: -- transaction_open?()883main: -> 0.0000s884main: -- execute("LOCK projects, ci_runner_projects IN ACCESS EXCLUSIVE MODE")885main: -> 0.0006s886main: -- foreign_keys(:ci_runner_projects)887main: -> 0.0035s888main: -- remove_foreign_key(:ci_runner_projects, :projects, {:name=>"fk_4478a6f1e4"})889main: -> 0.0045s890main: == 20220124151949 RemoveProjectsCiRunnerProjectsProjectIdFk: migrated (0.0147s) 891main: == 20220124152824 RemoveProjectsCiSubscriptionsProjectsDownstreamProjectIdFk: migrating 892main: -- foreign_keys(:ci_subscriptions_projects)893main: -> 0.0029s894main: -- transaction_open?()895main: -> 0.0000s896main: -- transaction_open?()897main: -> 0.0000s898main: -- execute("LOCK projects, ci_subscriptions_projects IN ACCESS EXCLUSIVE MODE")899main: -> 0.0007s900main: -- foreign_keys(:ci_subscriptions_projects)901main: -> 0.0025s902main: -- remove_foreign_key(:ci_subscriptions_projects, :projects, {:name=>"fk_rails_0818751483"})903main: -> 0.0038s904main: == 20220124152824 RemoveProjectsCiSubscriptionsProjectsDownstreamProjectIdFk: migrated (0.0135s) 905main: == 20220124153233 RemoveProjectsCiJobArtifactsProjectIdFk: migrating ==========906main: -- foreign_keys(:ci_job_artifacts)907main: -> 0.0028s908main: -- transaction_open?()909main: -> 0.0000s910main: -- transaction_open?()911main: -> 0.0000s912main: -- execute("LOCK projects, ci_job_artifacts IN ACCESS EXCLUSIVE MODE")913main: -> 0.0007s914main: -- foreign_keys(:ci_job_artifacts)915main: -> 0.0025s916main: -- remove_foreign_key(:ci_job_artifacts, :projects, {:name=>"fk_rails_9862d392f9"})917main: -> 0.0039s918main: == 20220124153233 RemoveProjectsCiJobArtifactsProjectIdFk: migrated (0.0135s) =919main: == 20220124153234 ReRemoveProjectsCiJobArtifactsProjectIdFk: migrating ========920main: -- foreign_keys(:ci_job_artifacts)921main: -> 0.0027s922main: == 20220124153234 ReRemoveProjectsCiJobArtifactsProjectIdFk: migrated (0.0028s) 923main: == 20220124180704 RemoveProjectsCiBuildsMetadataProjectIdFk: migrating ========924main: -- foreign_keys(:ci_builds_metadata)925main: -> 0.0026s926main: -- transaction_open?()927main: -> 0.0000s928main: -- transaction_open?()929main: -> 0.0000s930main: -- execute("LOCK projects, ci_builds_metadata IN ACCESS EXCLUSIVE MODE")931main: -> 0.0007s932main: -- foreign_keys(:ci_builds_metadata)933main: -> 0.0025s934main: -- remove_foreign_key(:ci_builds_metadata, :projects, {:name=>"fk_rails_ffcf702a02"})935main: -> 0.0039s936main: == 20220124180704 RemoveProjectsCiBuildsMetadataProjectIdFk: migrated (0.0133s) 937main: == 20220124180705 ReRemoveProjectsCiBuildsMetadataProjectIdFk: migrating ======938main: -- foreign_keys(:ci_builds_metadata)939main: -> 0.0027s940main: == 20220124180705 ReRemoveProjectsCiBuildsMetadataProjectIdFk: migrated (0.0028s) 941main: == 20220124184338 RemoveProjectsCiSubscriptionsProjectsUpstreamProjectIdFk: migrating 942main: -- foreign_keys(:ci_subscriptions_projects)943main: -> 0.0025s944main: -- transaction_open?()945main: -> 0.0000s946main: -- transaction_open?()947main: -> 0.0000s948main: -- execute("LOCK projects, ci_subscriptions_projects IN ACCESS EXCLUSIVE MODE")949main: -> 0.0006s950main: -- foreign_keys(:ci_subscriptions_projects)951main: -> 0.0024s952main: -- remove_foreign_key(:ci_subscriptions_projects, :projects, {:name=>"fk_rails_7871f9a97b"})953main: -> 0.0036s954main: == 20220124184338 RemoveProjectsCiSubscriptionsProjectsUpstreamProjectIdFk: migrated (0.0125s) 955main: == 20220124200927 AddIndexToIssues: migrating =================================956main: -- transaction_open?()957main: -> 0.0000s958main: -- index_exists?(:issues, [:id, :weight], {:name=>"index_issues_on_id_and_weight", :algorithm=>:concurrently})959main: -> 0.0122s960main: -- add_index(:issues, [:id, :weight], {:name=>"index_issues_on_id_and_weight", :algorithm=>:concurrently})961main: -> 0.0019s962main: == 20220124200927 AddIndexToIssues: migrated (0.0177s) ========================963main: == 20220124204046 RemoveProjectsCiSourcesPipelinesProjectIdFk: migrating ======964main: -- foreign_keys(:ci_sources_pipelines)965main: -> 0.0028s966main: -- transaction_open?()967main: -> 0.0000s968main: -- transaction_open?()969main: -> 0.0000s970main: -- execute("LOCK projects, ci_sources_pipelines IN ACCESS EXCLUSIVE MODE")971main: -> 0.0006s972main: -- foreign_keys(:ci_sources_pipelines)973main: -> 0.0025s974main: -- remove_foreign_key(:ci_sources_pipelines, :projects, {:name=>"fk_1e53c97c0a"})975main: -> 0.0039s976main: == 20220124204046 RemoveProjectsCiSourcesPipelinesProjectIdFk: migrated (0.0134s) 977main: == 20220124214131 RemoveProjectsCiRefsProjectIdFk: migrating ==================978main: -- foreign_keys(:ci_refs)979main: -> 0.0026s980main: -- transaction_open?()981main: -> 0.0000s982main: -- transaction_open?()983main: -> 0.0000s984main: -- execute("LOCK projects, ci_refs IN ACCESS EXCLUSIVE MODE")985main: -> 0.0006s986main: -- foreign_keys(:ci_refs)987main: -> 0.0023s988main: -- remove_foreign_key(:ci_refs, :projects, {:name=>"fk_rails_4249db8cc3"})989main: -> 0.0037s990main: == 20220124214131 RemoveProjectsCiRefsProjectIdFk: migrated (0.0125s) =========991main: == 20220124215857 RemoveProjectsCiJobTokenProjectScopeLinksSourceProjectIdFk: migrating 992main: -- foreign_keys(:ci_job_token_project_scope_links)993main: -> 0.0025s994main: -- transaction_open?()995main: -> 0.0000s996main: -- transaction_open?()997main: -> 0.0000s998main: -- execute("LOCK projects, ci_job_token_project_scope_links IN ACCESS EXCLUSIVE MODE")999main: -> 0.0007s1000main: -- foreign_keys(:ci_job_token_project_scope_links)1001main: -> 0.0022s1002main: -- remove_foreign_key(:ci_job_token_project_scope_links, :projects, {:name=>"fk_rails_4b2ee3290b"})1003main: -> 0.0034s1004main: == 20220124215857 RemoveProjectsCiJobTokenProjectScopeLinksSourceProjectIdFk: migrated (0.0121s) 1005main: == 20220124221521 RemoveProjectsCiProjectMonthlyUsagesProjectIdFk: migrating ==1006main: -- foreign_keys(:ci_project_monthly_usages)1007main: -> 0.0024s1008main: -- transaction_open?()1009main: -> 0.0000s1010main: -- transaction_open?()1011main: -> 0.0000s1012main: -- execute("LOCK projects, ci_project_monthly_usages IN ACCESS EXCLUSIVE MODE")1013main: -> 0.0006s1014main: -- foreign_keys(:ci_project_monthly_usages)1015main: -> 0.0023s1016main: -- remove_foreign_key(:ci_project_monthly_usages, :projects, {:name=>"fk_rails_508bcd4aa6"})1017main: -> 0.0033s1018main: == 20220124221521 RemoveProjectsCiProjectMonthlyUsagesProjectIdFk: migrated (0.0117s) 1019main: == 20220125083520 RemoveCiPipelinesDastSiteProfilesPipelinesCiPipelineIdFk: migrating 1020main: -- foreign_keys(:dast_site_profiles_pipelines)1021main: -> 0.0025s1022main: -- transaction_open?()1023main: -> 0.0000s1024main: -- transaction_open?()1025main: -> 0.0000s1026main: -- execute("LOCK ci_pipelines, dast_site_profiles_pipelines IN ACCESS EXCLUSIVE MODE")1027main: -> 0.0006s1028main: -- foreign_keys(:dast_site_profiles_pipelines)1029main: -> 0.0023s1030main: -- remove_foreign_key(:dast_site_profiles_pipelines, :ci_pipelines, {:name=>"fk_53849b0ad5"})1031main: -> 0.0033s1032main: == 20220125083520 RemoveCiPipelinesDastSiteProfilesPipelinesCiPipelineIdFk: migrated (0.0119s) 1033main: == 20220125084127 AddCleanupAttemptsToLooseForeignKeysDeletedRecords: migrating 1034main: -- add_column(:loose_foreign_keys_deleted_records, :cleanup_attempts, :smallint, {:default=>0})1035main: -> 0.0017s1036main: == 20220125084127 AddCleanupAttemptsToLooseForeignKeysDeletedRecords: migrated (0.0017s) 1037main: == 20220125084348 RemoveCiPipelinesVulnerabilityFeedbackPipelineIdFk: migrating 1038main: -- foreign_keys(:vulnerability_feedback)1039main: -> 0.0026s1040main: -- transaction_open?()1041main: -> 0.0000s1042main: -- transaction_open?()1043main: -> 0.0000s1044main: -- execute("LOCK ci_pipelines, vulnerability_feedback IN ACCESS EXCLUSIVE MODE")1045main: -> 0.0006s1046main: -- foreign_keys(:vulnerability_feedback)1047main: -> 0.0023s1048main: -- remove_foreign_key(:vulnerability_feedback, :ci_pipelines, {:name=>"fk_rails_20976e6fd9"})1049main: -> 0.0033s1050main: == 20220125084348 RemoveCiPipelinesVulnerabilityFeedbackPipelineIdFk: migrated (0.0119s) 1051main: == 20220125122228 AddTopicsNonPrivateProjectsCount: migrating =================1052main: -- add_column(:topics, :non_private_projects_count, :bigint, {:null=>false, :default=>0})1053main: -> 0.0020s1054main: == 20220125122228 AddTopicsNonPrivateProjectsCount: migrated (0.0021s) ========1055main: == 20220125122640 SchedulePopulateTopicsNonPrivateProjectsCount: migrating ====1056main: -- transaction_open?()1057main: -> 0.0000s1058main: -- Scheduled 0 PopulateTopicsNonPrivateProjectsCount jobs with a maximum of 10000 records per batch and an interval of 120 seconds.1059The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:28 UTC."1060main: == 20220125122640 SchedulePopulateTopicsNonPrivateProjectsCount: migrated (0.0041s) 1061main: == 20220125122725 AddTopicsNonPrivateProjectsCountIndex: migrating ============1062main: -- transaction_open?()1063main: -> 0.0000s1064main: -- index_exists?(:topics, [:non_private_projects_count, :id], {:order=>{:non_private_projects_count=>:desc}, :name=>"index_topics_non_private_projects_count", :algorithm=>:concurrently})1065main: -> 0.0023s1066main: -- add_index(:topics, [:non_private_projects_count, :id], {:order=>{:non_private_projects_count=>:desc}, :name=>"index_topics_non_private_projects_count", :algorithm=>:concurrently})1067main: -> 0.0013s1068main: == 20220125122725 AddTopicsNonPrivateProjectsCountIndex: migrated (0.0065s) ===1069main: == 20220125230538 AddCompoundIndexOnProjectIdAndIdForVulnerabilities: migrating 1070main: -- transaction_open?()1071main: -> 0.0000s1072main: -- index_exists?(:vulnerabilities, [:project_id, :id], {:name=>"index_vulnerabilities_on_project_id_and_id", :algorithm=>:concurrently})1073main: -> 0.0061s1074main: -- add_index(:vulnerabilities, [:project_id, :id], {:name=>"index_vulnerabilities_on_project_id_and_id", :algorithm=>:concurrently})1075main: -> 0.0014s1076main: == 20220125230538 AddCompoundIndexOnProjectIdAndIdForVulnerabilities: migrated (0.0102s) 1077main: == 20220126201752 RemoveProjectsCiJobTokenProjectScopeLinksTargetProjectIdFk: migrating 1078main: -- foreign_keys(:ci_job_token_project_scope_links)1079main: -> 0.0024s1080main: -- transaction_open?()1081main: -> 0.0000s1082main: -- transaction_open?()1083main: -> 0.0000s1084main: -- execute("LOCK projects, ci_job_token_project_scope_links IN ACCESS EXCLUSIVE MODE")1085main: -> 0.0006s1086main: -- foreign_keys(:ci_job_token_project_scope_links)1087main: -> 0.0024s1088main: -- remove_foreign_key(:ci_job_token_project_scope_links, :projects, {:name=>"fk_rails_6904b38465"})1089main: -> 0.0036s1090main: == 20220126201752 RemoveProjectsCiJobTokenProjectScopeLinksTargetProjectIdFk: migrated (0.0123s) 1091main: == 20220126202654 RemoveProjectsCiSourcesProjectsSourceProjectIdFk: migrating =1092main: -- foreign_keys(:ci_sources_projects)1093main: -> 0.0026s1094main: -- transaction_open?()1095main: -> 0.0000s1096main: -- transaction_open?()1097main: -> 0.0000s1098main: -- execute("LOCK projects, ci_sources_projects IN ACCESS EXCLUSIVE MODE")1099main: -> 0.0006s1100main: -- foreign_keys(:ci_sources_projects)1101main: -> 0.0024s1102main: -- remove_foreign_key(:ci_sources_projects, :projects, {:name=>"fk_rails_64b6855cbc"})1103main: -> 0.0035s1104main: == 20220126202654 RemoveProjectsCiSourcesProjectsSourceProjectIdFk: migrated (0.0124s) 1105main: == 20220126203421 RemoveProjectsCiPipelineSchedulesProjectIdFk: migrating =====1106main: -- foreign_keys(:ci_pipeline_schedules)1107main: -> 0.0025s1108main: -- transaction_open?()1109main: -> 0.0000s1110main: -- transaction_open?()1111main: -> 0.0000s1112main: -- execute("LOCK projects, ci_pipeline_schedules IN ACCESS EXCLUSIVE MODE")1113main: -> 0.0007s1114main: -- foreign_keys(:ci_pipeline_schedules)1115main: -> 0.0023s1116main: -- remove_foreign_key(:ci_pipeline_schedules, :projects, {:name=>"fk_8ead60fcc4"})1117main: -> 0.0035s1118main: == 20220126203421 RemoveProjectsCiPipelineSchedulesProjectIdFk: migrated (0.0122s) 1119main: == 20220126210021 RemoveProjectsCiBuildsProjectIdFk: migrating ================1120main: -- foreign_keys(:ci_builds)1121main: -> 0.0027s1122main: -- transaction_open?()1123main: -> 0.0000s1124main: -- transaction_open?()1125main: -> 0.0000s1126main: -- execute("LOCK projects, ci_builds IN ACCESS EXCLUSIVE MODE")1127main: -> 0.0007s1128main: -- foreign_keys(:ci_builds)1129main: -> 0.0024s1130main: -- remove_foreign_key(:ci_builds, :projects, {:name=>"fk_befce0568a"})1131main: -> 0.0037s1132main: == 20220126210021 RemoveProjectsCiBuildsProjectIdFk: migrated (0.0127s) =======1133main: == 20220126210022 ReRemoveProjectsCiBuildsProjectIdFk: migrating ==============1134main: -- foreign_keys(:ci_builds)1135main: -> 0.0026s1136main: == 20220126210022 ReRemoveProjectsCiBuildsProjectIdFk: migrated (0.0027s) =====1137main: == 20220126210657 RemoveProjectsCiPipelinesProjectIdFk: migrating =============1138main: -- foreign_keys(:ci_pipelines)1139main: -> 0.0027s1140main: -- transaction_open?()1141main: -> 0.0000s1142main: -- transaction_open?()1143main: -> 0.0000s1144main: -- execute("LOCK projects, ci_pipelines IN ACCESS EXCLUSIVE MODE")1145main: -> 0.0007s1146main: -- foreign_keys(:ci_pipelines)1147main: -> 0.0024s1148main: -- remove_foreign_key(:ci_pipelines, :projects, {:name=>"fk_86635dbd80"})1149main: -> 0.0038s1150main: == 20220126210657 RemoveProjectsCiPipelinesProjectIdFk: migrated (0.0131s) ====1151main: == 20220127112243 AddIndexToMergeRequestAssigneesState: migrating =============1152main: -- transaction_open?()1153main: -> 0.0000s1154main: -- index_exists?(:merge_request_assignees, :state, {:where=>"state = 2", :name=>"index_on_merge_request_assignees_state", :algorithm=>:concurrently})1155main: -> 0.0030s1156main: -- add_index(:merge_request_assignees, :state, {:where=>"state = 2", :name=>"index_on_merge_request_assignees_state", :algorithm=>:concurrently})1157main: -> 0.0013s1158main: == 20220127112243 AddIndexToMergeRequestAssigneesState: migrated (0.0075s) ====1159main: == 20220127112412 AddIndexToMergeRequestReviewersState: migrating =============1160main: -- transaction_open?()1161main: -> 0.0000s1162main: -- index_exists?(:merge_request_reviewers, :state, {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_state", :algorithm=>:concurrently})1163main: -> 0.0025s1164main: -- add_index(:merge_request_reviewers, :state, {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_state", :algorithm=>:concurrently})1165main: -> 0.0015s1166main: == 20220127112412 AddIndexToMergeRequestReviewersState: migrated (0.0072s) ====1167main: == 20220127132200 CleanupBackfillCiNamespaceMirrors: migrating ================1168main: -- transaction_open?()1169main: -> 0.0000s1170main: == 20220127132200 CleanupBackfillCiNamespaceMirrors: migrated (0.0070s) =======1171main: == 20220127132201 CleanupBackfillCiProjectMirrors: migrating ==================1172main: -- transaction_open?()1173main: -> 0.0000s1174main: == 20220127132201 CleanupBackfillCiProjectMirrors: migrated (0.0064s) =========1175main: == 20220128093756 AddEcdsaSkAndEd25519SkKeyRestrictionsToApplicationSettings: migrating 1176main: -- add_column(:application_settings, :ecdsa_sk_key_restriction, :integer, {:default=>0, :null=>false})1177main: -> 0.0025s1178main: -- add_column(:application_settings, :ed25519_sk_key_restriction, :integer, {:default=>0, :null=>false})1179main: -> 0.0017s1180main: == 20220128093756 AddEcdsaSkAndEd25519SkKeyRestrictionsToApplicationSettings: migrated (0.0043s) 1181main: == 20220128103042 ScheduleDeleteInvalidEpicIssuesRevised: migrating ===========1182main: == 20220128103042 ScheduleDeleteInvalidEpicIssuesRevised: migrated (0.0387s) ==1183main: == 20220128155251 RemoveDanglingRunningBuilds: migrating ======================1184main: -- transaction_open?()1185main: -> 0.0000s1186main: == 20220128155251 RemoveDanglingRunningBuilds: migrated (0.0156s) =============1187main: == 20220128155814 FixApprovalRulesCodeOwnersRuleTypeIndex: migrating ==========1188main: -- indexes(:approval_merge_request_rules)1189main: -> 0.0040s1190main: -- indexes(:approval_merge_request_rules)1191main: -> 0.0035s1192main: -- current_schema()1193main: -> 0.0003s1194main: -- rename_index(:approval_merge_request_rules, "index_approval_rules_code_owners_rule_type", "index_approval_rules_code_owners_rule_type_old")1195main: -> 0.0007s1196main: -- transaction_open?()1197main: -> 0.0000s1198main: -- index_exists?(:approval_merge_request_rules, :merge_request_id, {:where=>"rule_type = 2", :name=>"index_approval_rules_code_owners_rule_type", :algorithm=>:concurrently})1199main: -> 0.0035s1200main: -- add_index(:approval_merge_request_rules, :merge_request_id, {:where=>"rule_type = 2", :name=>"index_approval_rules_code_owners_rule_type", :algorithm=>:concurrently})1201main: -> 0.0015s1202main: -- transaction_open?()1203main: -> 0.0000s1204main: -- indexes(:approval_merge_request_rules)1205main: -> 0.0037s1206main: -- remove_index(:approval_merge_request_rules, {:algorithm=>:concurrently, :name=>"index_approval_rules_code_owners_rule_type_old"})1207main: -> 0.0010s1208main: == 20220128155814 FixApprovalRulesCodeOwnersRuleTypeIndex: migrated (0.0254s) =1209main: == 20220128194722 AddIndexOnMigrationStateAndImportDoneAtToContainerRepositories: migrating 1210main: -- transaction_open?()1211main: -> 0.0000s1212main: -- index_exists?(:container_repositories, [:migration_state, :migration_import_done_at], {:name=>"index_container_repositories_on_migration_state_import_done_at", :algorithm=>:concurrently})1213main: -> 0.0032s1214main: -- add_index(:container_repositories, [:migration_state, :migration_import_done_at], {:name=>"index_container_repositories_on_migration_state_import_done_at", :algorithm=>:concurrently})1215main: -> 0.0012s1216main: == 20220128194722 AddIndexOnMigrationStateAndImportDoneAtToContainerRepositories: migrated (0.0069s) 1217main: == 20220131000000 IndexJobArtifactsOnTraceTypeAndExpireAt: migrating ==========1218main: -- transaction_open?()1219main: -> 0.0000s1220main: -- index_exists?(:ci_job_artifacts, :id, {:where=>"file_type = 3 AND expire_at IN ('2021-04-22 00:00:00', '2021-05-22 00:00:00', '2021-06-22 00:00:00', '2022-01-22 00:00:00', '2022-02-22 00:00:00', '2022-03-22 00:00:00', '2022-04-22 00:00:00')", :name=>"tmp_index_ci_job_artifacts_on_id_where_trace_and_expire_at", :algorithm=>:concurrently})1221main: -> 0.0049s1222main: -- add_index(:ci_job_artifacts, :id, {:where=>"file_type = 3 AND expire_at IN ('2021-04-22 00:00:00', '2021-05-22 00:00:00', '2021-06-22 00:00:00', '2022-01-22 00:00:00', '2022-02-22 00:00:00', '2022-03-22 00:00:00', '2022-04-22 00:00:00')", :name=>"tmp_index_ci_job_artifacts_on_id_where_trace_and_expire_at", :algorithm=>:concurrently})1223main: -> 0.0015s1224main: == 20220131000000 IndexJobArtifactsOnTraceTypeAndExpireAt: migrated (0.0090s) =1225main: == 20220131000001 ScheduleTraceExpiryRemoval: migrating =======================1226main: == 20220131000001 ScheduleTraceExpiryRemoval: migrated (0.0000s) ==============1227main: == 20220131135725 AddSeverityLevelToMergeRequestsComplianceViolations: migrating 1228main: -- add_column(:merge_requests_compliance_violations, :severity_level, :integer, {:limit=>2, :null=>false, :default=>0})1229main: -> 0.0016s1230main: == 20220131135725 AddSeverityLevelToMergeRequestsComplianceViolations: migrated (0.0016s) 1231main: == 20220131192643 AddShowDiffPreviewInEmailToProjectSettings: migrating =======1232main: -- add_column(:project_settings, :show_diff_preview_in_email, :boolean, {:default=>true, :null=>false})1233main: -> 0.0011s1234main: == 20220131192643 AddShowDiffPreviewInEmailToProjectSettings: migrated (0.0012s) 1235main: == 20220201034731 RemoveIndexClustersKubernetesNamespacesOnClusterId: migrating 1236main: -- transaction_open?()1237main: -> 0.0000s1238main: -- indexes(:clusters_kubernetes_namespaces)1239main: -> 0.0036s1240main: -- remove_index(:clusters_kubernetes_namespaces, {:algorithm=>:concurrently, :name=>"index_clusters_kubernetes_namespaces_on_cluster_id"})1241main: -> 0.0011s1242main: == 20220201034731 RemoveIndexClustersKubernetesNamespacesOnClusterId: migrated (0.0068s) 1243main: == 20220201141705 CleanupBackgroundMigrationPopulateTestReportsIssueId: migrating 1244main: -- transaction_open?()1245main: -> 0.0000s1246main: == 20220201141705 CleanupBackgroundMigrationPopulateTestReportsIssueId: migrated (0.0046s) 1247main: == 20220201173212 AddUserDetailsProvisioningIndex: migrating ==================1248main: -- transaction_open?()1249main: -> 0.0000s1250main: -- index_exists?(:user_details, [:provisioned_by_group_id, :user_id], {:name=>"idx_user_details_on_provisioned_by_group_id_user_id", :algorithm=>:concurrently})1251main: -> 0.0026s1252main: -- add_index(:user_details, [:provisioned_by_group_id, :user_id], {:name=>"idx_user_details_on_provisioned_by_group_id_user_id", :algorithm=>:concurrently})1253main: -> 0.0012s1254main: -- transaction_open?()1255main: -> 0.0000s1256main: -- indexes(:user_details)1257main: -> 0.0026s1258main: -- remove_index(:user_details, {:algorithm=>:concurrently, :name=>"index_user_details_on_provisioned_by_group_id"})1259main: -> 0.0009s1260main: == 20220201173212 AddUserDetailsProvisioningIndex: migrated (0.0117s) =========1261main: == 20220201193033 AddUniqueIndexToVulnerabilityFindingLinksWithTruncate: migrating 1262main: -- execute("TRUNCATE TABLE vulnerability_finding_links")1263main: -> 0.0021s1264main: -- transaction_open?()1265main: -> 0.0000s1266main: -- index_exists?(:vulnerability_finding_links, [:vulnerability_occurrence_id, :name, :url], {:unique=>true, :name=>"finding_link_name_url_idx", :algorithm=>:concurrently})1267main: -> 0.0025s1268main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: vulnerability_finding_links, column_name: [:vulnerability_occurrence_id, :name, :url]1269main: -- transaction_open?()1270main: -> 0.0000s1271main: -- index_exists?(:vulnerability_finding_links, [:vulnerability_occurrence_id, :url], {:unique=>true, :where=>"name is null", :name=>"finding_link_url_idx", :algorithm=>:concurrently})1272main: -> 0.0024s1273main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: vulnerability_finding_links, column_name: [:vulnerability_occurrence_id, :url]1274main: == 20220201193033 AddUniqueIndexToVulnerabilityFindingLinksWithTruncate: migrated (0.0092s) 1275main: == 20220201205300 RemoveIndexForVulnerabilityOccurrences: migrating ===========1276main: -- transaction_open?()1277main: -> 0.0000s1278main: -- indexes(:vulnerability_occurrences)1279main: -> 0.0044s1280main: -- remove_index(:vulnerability_occurrences, {:algorithm=>:concurrently, :name=>"index_vulnerability_occurrences_on_unique_keys"})1281main: -> 0.0015s1282main: == 20220201205300 RemoveIndexForVulnerabilityOccurrences: migrated (0.0079s) ==1283main: == 20220202034409 AddTmpIndexOnIdAndMigrationStateToContainerRepositories: migrating 1284main: -- transaction_open?()1285main: -> 0.0000s1286main: -- index_exists?(:container_repositories, [:id, :migration_state], {:name=>"tmp_index_container_repositories_on_id_migration_state", :algorithm=>:concurrently})1287main: -> 0.0036s1288main: -- add_index(:container_repositories, [:id, :migration_state], {:name=>"tmp_index_container_repositories_on_id_migration_state", :algorithm=>:concurrently})1289main: -> 0.0013s1290main: == 20220202034409 AddTmpIndexOnIdAndMigrationStateToContainerRepositories: migrated (0.0073s) 1291main: == 20220202105733 DeleteServiceTemplateRecords: migrating =====================1292main: == 20220202105733 DeleteServiceTemplateRecords: migrated (0.0253s) ============1293main: == 20220202115350 AddMigrationIndexesToContainerRepositories: migrating =======1294main: -- transaction_open?()1295main: -> 0.0000s1296main: -- index_exists?(:container_repositories, :migration_pre_import_started_at, {:name=>"idx_container_repos_on_pre_import_started_at_when_pre_importing", :where=>"migration_state = 'pre_importing'", :algorithm=>:concurrently})1297main: -> 0.0043s1298main: -- add_index(:container_repositories, :migration_pre_import_started_at, {:name=>"idx_container_repos_on_pre_import_started_at_when_pre_importing", :where=>"migration_state = 'pre_importing'", :algorithm=>:concurrently})1299main: -> 0.0014s1300main: -- transaction_open?()1301main: -> 0.0000s1302main: -- index_exists?(:container_repositories, :migration_pre_import_done_at, {:name=>"idx_container_repos_on_pre_import_done_at_when_pre_import_done", :where=>"migration_state = 'pre_import_done'", :algorithm=>:concurrently})1303main: -> 0.0043s1304main: -- add_index(:container_repositories, :migration_pre_import_done_at, {:name=>"idx_container_repos_on_pre_import_done_at_when_pre_import_done", :where=>"migration_state = 'pre_import_done'", :algorithm=>:concurrently})1305main: -> 0.0013s1306main: -- transaction_open?()1307main: -> 0.0000s1308main: -- index_exists?(:container_repositories, :migration_import_started_at, {:name=>"idx_container_repos_on_import_started_at_when_importing", :where=>"migration_state = 'importing'", :algorithm=>:concurrently})1309main: -> 0.0046s1310main: -- add_index(:container_repositories, :migration_import_started_at, {:name=>"idx_container_repos_on_import_started_at_when_importing", :where=>"migration_state = 'importing'", :algorithm=>:concurrently})1311main: -> 0.0015s1312main: == 20220202115350 AddMigrationIndexesToContainerRepositories: migrated (0.0274s) 1313main: == 20220203074916 AddTopicsLowerNameIndex: migrating ==========================1314main: -- transaction_open?()1315main: -> 0.0000s1316main: -- index_exists?(:topics, "lower(name)", {:name=>"index_topics_on_lower_name", :algorithm=>:concurrently})1317main: -> 0.0029s1318main: -- add_index(:topics, "lower(name)", {:name=>"index_topics_on_lower_name", :algorithm=>:concurrently})1319main: -> 0.0013s1320main: == 20220203074916 AddTopicsLowerNameIndex: migrated (0.0073s) =================1321main: == 20220203091304 FixUniquePackagesIndexExcludingPendingDestructionStatus: migrating 1322main: -- transaction_open?()1323main: -> 0.0000s1324main: -- index_exists?(:packages_packages, [:project_id, :name, :version], {:unique=>true, :name=>"idx_packages_on_project_id_name_version_unique_when_golang", :where=>"package_type = 8 AND status != 4", :algorithm=>:concurrently})1325main: -> 0.0072s1326main: -- add_index(:packages_packages, [:project_id, :name, :version], {:unique=>true, :name=>"idx_packages_on_project_id_name_version_unique_when_golang", :where=>"package_type = 8 AND status != 4", :algorithm=>:concurrently})1327main: -> 0.0018s1328main: -- transaction_open?()1329main: -> 0.0000s1330main: -- index_exists?(:packages_packages, [:project_id, :name, :version], {:unique=>true, :name=>"idx_packages_on_project_id_name_version_unique_when_generic", :where=>"package_type = 7 AND status != 4", :algorithm=>:concurrently})1331main: -> 0.0088s1332main: -- add_index(:packages_packages, [:project_id, :name, :version], {:unique=>true, :name=>"idx_packages_on_project_id_name_version_unique_when_generic", :where=>"package_type = 7 AND status != 4", :algorithm=>:concurrently})1333main: -> 0.0017s1334main: -- transaction_open?()1335main: -> 0.0000s1336main: -- index_exists?(:packages_packages, [:project_id, :name, :version], {:unique=>true, :name=>"idx_packages_on_project_id_name_version_unique_when_helm", :where=>"package_type = 11 AND status != 4", :algorithm=>:concurrently})1337main: -> 0.0078s1338main: -- add_index(:packages_packages, [:project_id, :name, :version], {:unique=>true, :name=>"idx_packages_on_project_id_name_version_unique_when_helm", :where=>"package_type = 11 AND status != 4", :algorithm=>:concurrently})1339main: -> 0.0014s1340main: -- transaction_open?()1341main: -> 0.0000s1342main: -- indexes(:packages_packages)1343main: -> 0.0079s1344main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_on_project_id_name_version_unique_when_golang"})1345main: -> 0.0012s1346main: -- transaction_open?()1347main: -> 0.0000s1348main: -- indexes(:packages_packages)1349main: -> 0.0075s1350main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_on_project_id_name_version_unique_when_generic"})1351main: -> 0.0010s1352main: -- transaction_open?()1353main: -> 0.0000s1354main: -- indexes(:packages_packages)1355main: -> 0.0073s1356main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_on_project_id_name_version_unique_when_helm"})1357main: -> 0.0011s1358main: == 20220203091304 FixUniquePackagesIndexExcludingPendingDestructionStatus: migrated (0.0722s) 1359main: == 20220203123333 AddBatchedMigrationMaxBatch: migrating ======================1360main: -- add_column(:batched_background_migrations, :max_batch_size, :integer)1361main: -> 0.0015s1362main: == 20220203123333 AddBatchedMigrationMaxBatch: migrated (0.0016s) =============1363main: == 20220203133652 AddLegacyOpenSourceLicenseAvailableToProjectSettings: migrating 1364main: -- add_column(:project_settings, :legacy_open_source_license_available, :boolean, {:default=>true, :null=>false})1365main: -> 0.0012s1366main: == 20220203133652 AddLegacyOpenSourceLicenseAvailableToProjectSettings: migrated (0.0013s) 1367main: == 20220203134942 AddHiddenToProjects: migrating ==============================1368main: -- add_column(:projects, :hidden, :boolean, {:default=>false, :null=>false})1369main: -> 0.0017s1370main: == 20220203134942 AddHiddenToProjects: migrated (0.0018s) =====================1371main: == 20220204053655 RemoveIndexEpicIssuesOnEpicId: migrating ====================1372main: -- transaction_open?()1373main: -> 0.0000s1374main: -- indexes(:epic_issues)1375main: -> 0.0023s1376main: -- remove_index(:epic_issues, {:algorithm=>:concurrently, :name=>"index_epic_issues_on_epic_id"})1377main: -> 0.0011s1378main: == 20220204053655 RemoveIndexEpicIssuesOnEpicId: migrated (0.0057s) ===========1379main: == 20220204093120 CreateAnalyticsCycleAnalyticsAggregations: migrating ========1380main: -- create_table(:analytics_cycle_analytics_aggregations, {:id=>false})1381main: -> 0.0076s1382main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations ADD PRIMARY KEY (group_id)")1383main: -> 0.0009s1384main: == 20220204093120 CreateAnalyticsCycleAnalyticsAggregations: migrated (0.0087s) 1385main: == 20220204095121 BackfillNamespaceStatisticsWithDependencyProxySize: migrating 1386main: -- exec_query("SELECT dependency_proxy_manifests.group_id FROM dependency_proxy_manifests\nUNION\nSELECT dependency_proxy_blobs.group_id from dependency_proxy_blobs\n")1387main: -> 0.0011s1388main: == 20220204095121 BackfillNamespaceStatisticsWithDependencyProxySize: migrated (0.0012s) 1389main: == 20220204110725 BackfillCycleAnalyticsAggregations: migrating ===============1390main: == 20220204110725 BackfillCycleAnalyticsAggregations: migrated (0.0132s) ======1391main: == 20220204154220 AddIndexOnGreatestDoneAtToContainerRepositories: migrating ==1392main: -- transaction_open?()1393main: -> 0.0000s1394main: -- index_exists?(:container_repositories, "GREATEST(migration_pre_import_done_at, migration_import_done_at, migration_aborted_at)", {:where=>"migration_state IN ('import_done', 'pre_import_done', 'import_aborted')", :name=>"index_container_repositories_on_greatest_done_at", :algorithm=>:concurrently})1395main: -> 0.0050s1396main: -- add_index(:container_repositories, "GREATEST(migration_pre_import_done_at, migration_import_done_at, migration_aborted_at)", {:where=>"migration_state IN ('import_done', 'pre_import_done', 'import_aborted')", :name=>"index_container_repositories_on_greatest_done_at", :algorithm=>:concurrently})1397main: -> 0.0013s1398main: == 20220204154220 AddIndexOnGreatestDoneAtToContainerRepositories: migrated (0.0089s) 1399main: == 20220204193000 AddIntegrationsEncryptedProperties: migrating ===============1400main: -- add_column(:integrations, :encrypted_properties, :binary)1401main: -> 0.0012s1402main: -- add_column(:integrations, :encrypted_properties_iv, :binary)1403main: -> 0.0007s1404main: == 20220204193000 AddIntegrationsEncryptedProperties: migrated (0.0019s) ======1405main: == 20220204194347 EncryptIntegrationProperties: migrating =====================1406main: -- transaction_open?()1407main: -> 0.0000s1408main: -- Scheduled 0 EncryptIntegrationProperties jobs with a maximum of 1000 records per batch and an interval of 120 seconds.1409The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:29 UTC."1410main: == 20220204194347 EncryptIntegrationProperties: migrated (0.0024s) ============1411main: == 20220207080758 UpdateApiIndexesForProjects: migrating ======================1412main: -- transaction_open?()1413main: -> 0.0000s1414main: -- index_exists?(:projects, [:created_at, :id], {:where=>"archived = true AND pending_delete = false AND hidden = false", :name=>"idx_projects_api_created_at_id_for_archived", :algorithm=>:concurrently})1415main: -> 0.0242s1416main: -- add_index(:projects, [:created_at, :id], {:where=>"archived = true AND pending_delete = false AND hidden = false", :name=>"idx_projects_api_created_at_id_for_archived", :algorithm=>:concurrently})1417main: -> 0.0031s1418main: -- transaction_open?()1419main: -> 0.0000s1420main: -- index_exists?(:projects, [:created_at, :id], {:where=>"archived = true AND visibility_level = 20 AND pending_delete = false AND hidden = false", :name=>"idx_projects_api_created_at_id_for_archived_vis20", :algorithm=>:concurrently})1421main: -> 0.0254s1422main: -- add_index(:projects, [:created_at, :id], {:where=>"archived = true AND visibility_level = 20 AND pending_delete = false AND hidden = false", :name=>"idx_projects_api_created_at_id_for_archived_vis20", :algorithm=>:concurrently})1423main: -> 0.0027s1424main: -- transaction_open?()1425main: -> 0.0000s1426main: -- index_exists?(:projects, [:created_at, :id], {:where=>"visibility_level = 10 AND pending_delete = false AND hidden = false", :name=>"idx_projects_api_created_at_id_for_vis10", :algorithm=>:concurrently})1427main: -> 0.0252s1428main: -- add_index(:projects, [:created_at, :id], {:where=>"visibility_level = 10 AND pending_delete = false AND hidden = false", :name=>"idx_projects_api_created_at_id_for_vis10", :algorithm=>:concurrently})1429main: -> 0.0024s1430main: -- transaction_open?()1431main: -> 0.0000s1432main: -- indexes(:projects)1433main: -> 0.0250s1434main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_api_created_at_id_for_archived"})1435main: -> 0.0016s1436main: -- transaction_open?()1437main: -> 0.0000s1438main: -- indexes(:projects)1439main: -> 0.0237s1440main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_api_created_at_id_for_archived_vis20"})1441main: -> 0.0018s1442main: -- transaction_open?()1443main: -> 0.0000s1444main: -- indexes(:projects)1445main: -> 0.0247s1446main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_api_created_at_id_for_vis10"})1447main: -> 0.0015s1448main: == 20220207080758 UpdateApiIndexesForProjects: migrated (0.1790s) =============1449main: == 20220207083129 AddUsersGetByIdLimitToApplicationSetting: migrating =========1450main: -- add_column(:application_settings, :users_get_by_id_limit, :integer, {:null=>false, :default=>300})1451main: -> 0.0019s1452main: -- add_column(:application_settings, :users_get_by_id_limit_allowlist, :text, {:array=>true, :limit=>255, :null=>false, :default=>[]})1453main: -> 0.0015s1454main: == 20220207083129 AddUsersGetByIdLimitToApplicationSetting: migrated (0.0036s) 1455main: == 20220208080921 ScheduleMigratePersonalNamespaceProjectMaintainerToOwner: migrating 1456main: == 20220208080921 ScheduleMigratePersonalNamespaceProjectMaintainerToOwner: migrated (0.0255s) 1457main: == 20220208115439 StartBackfillCiQueuingTables: migrating =====================1458main: -- transaction_open?()1459main: -> 0.0000s1460main: -- Scheduled 0 BackfillCiQueuingTables jobs with a maximum of 500 records per batch and an interval of 120 seconds.1461The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:29 UTC."1462main: == 20220208115439 StartBackfillCiQueuingTables: migrated (0.0111s) ============1463main: == 20220208170445 AddNotValidForeignKeyToCiBuildsRunnerId: migrating ==========1464main: -- transaction_open?()1465main: -> 0.0000s1466main: -- foreign_keys(:ci_builds)1467main: -> 0.0031s1468main: -- transaction_open?()1469main: -> 0.0000s1470main: -- execute("ALTER TABLE ci_builds\nADD CONSTRAINT fk_e4ef9c2f27\nFOREIGN KEY (runner_id)\nREFERENCES ci_runners (id)\nON DELETE SET NULL\nNOT VALID;\n")1471main: -> 0.0013s1472main: == 20220208170445 AddNotValidForeignKeyToCiBuildsRunnerId: migrated (0.0071s) =1473main: == 20220208171826 UpdateDefaultScanMethodOfDastSiteProfile: migrating =========1474main: -- transaction_open?()1475main: -> 0.0000s1476main: == 20220208171826 UpdateDefaultScanMethodOfDastSiteProfile: migrated (0.0207s) 1477main: == 20220209111007 AddPartialIndexForBatchingActiveClusterImageScanningVulnerabilities: migrating 1478main: -- transaction_open?()1479main: -> 0.0000s1480main: -- index_exists?(:vulnerabilities, [:project_id, :id], {:where=>"report_type = 7 AND state = ANY(ARRAY[1, 4])", :name=>"index_vulnerabilities_on_project_id_and_id_active_cis", :algorithm=>:concurrently})1481main: -> 0.0063s1482main: -- add_index(:vulnerabilities, [:project_id, :id], {:where=>"report_type = 7 AND state = ANY(ARRAY[1, 4])", :name=>"index_vulnerabilities_on_project_id_and_id_active_cis", :algorithm=>:concurrently})1483main: -> 0.0016s1484main: == 20220209111007 AddPartialIndexForBatchingActiveClusterImageScanningVulnerabilities: migrated (0.0105s) 1485main: == 20220211090920 CleanupPopulateTopicsNonPrivateProjectsCount: migrating =====1486main: -- transaction_open?()1487main: -> 0.0000s1488main: == 20220211090920 CleanupPopulateTopicsNonPrivateProjectsCount: migrated (0.0045s) 1489main: == 20220211125954 CreateRelatedEpicLinks: migrating ===========================1490main: -- create_table(:related_epic_links, {})1491main: -> 0.0052s1492main: == 20220211125954 CreateRelatedEpicLinks: migrated (0.0053s) ==================1493main: == 20220211214605 UpdateIntegrationsTriggerTypeNewOnInsertNullSafe: migrating =1494main: -- execute("CREATE OR REPLACE FUNCTION integrations_set_type_new()\nRETURNS TRIGGER AS\n$$\nBEGIN\nUPDATE integrations SET type_new = COALESCE(NEW.type_new, regexp_replace(NEW.type, '\\A(.+)Service\\Z', 'Integrations::\\1')) , type = COALESCE(NEW.type, regexp_replace(NEW.type_new, '\\AIntegrations::(.+)\\Z', '\\1Service')) WHERE integrations.id = NEW.id; RETURN NULL;\nEND\n$$ LANGUAGE PLPGSQL\n")1495main: -> 0.0011s1496main: == 20220211214605 UpdateIntegrationsTriggerTypeNewOnInsertNullSafe: migrated (0.0012s) 1497main: == 20220212120735 ScheduleFixIncorrectMaxSeatsUsed2: migrating ================1498main: -- transaction_open?()1499main: -> 0.0000s1500main: -- index_exists?(:gitlab_subscriptions, :id, {:where=>"start_date < '2021-08-02' AND max_seats_used != 0 AND max_seats_used > seats_in_use AND max_seats_used > seats", :name=>"tmp_gitlab_subscriptions_max_seats_used_migration_2", :algorithm=>:concurrently})1501main: -> 0.0028s1502main: -- add_index(:gitlab_subscriptions, :id, {:where=>"start_date < '2021-08-02' AND max_seats_used != 0 AND max_seats_used > seats_in_use AND max_seats_used > seats", :name=>"tmp_gitlab_subscriptions_max_seats_used_migration_2", :algorithm=>:concurrently})1503main: -> 0.0013s1504main: == 20220212120735 ScheduleFixIncorrectMaxSeatsUsed2: migrated (0.0065s) =======1505main: == 20220213100000 RemoveIntegrationTypeTriggers: migrating ====================1506main: -- execute("DROP TRIGGER IF EXISTS trigger_type_new_on_insert ON integrations")1507main: -> 0.0009s1508main: -- execute("DROP FUNCTION IF EXISTS integrations_set_type_new()")1509main: -> 0.0005s1510main: == 20220213100000 RemoveIntegrationTypeTriggers: migrated (0.0015s) ===========1511main: == 20220213103859 RemoveIntegrationsType: migrating ===========================1512main: -- transaction_open?()1513main: -> 0.0000s1514main: -- index_exists?(:integrations, :id, {:where=>"type_new is null", :name=>"tmp_idx_integrations_unmigrated_type_new", :algorithm=>:concurrently})1515main: -> 0.0046s1516main: -- add_index(:integrations, :id, {:where=>"type_new is null", :name=>"tmp_idx_integrations_unmigrated_type_new", :algorithm=>:concurrently})1517main: -> 0.0014s1518main: -- transaction_open?()1519main: -> 0.0000s1520main: -- indexes(:integrations)1521main: -> 0.0047s1522main: -- remove_index(:integrations, {:algorithm=>:concurrently, :name=>"tmp_idx_integrations_unmigrated_type_new"})1523main: -> 0.0010s1524main: -- remove_column(:integrations, :type, :text)1525main: -> 0.0016s1526main: == 20220213103859 RemoveIntegrationsType: migrated (0.0239s) ==================1527main: == 20220213104531 CreateIndexesOnIntegrationTypeNew: migrating ================1528main: -- transaction_open?()1529main: -> 0.0000s1530main: -- index_exists?(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_and_type_new_where_inherit_null", :where=>"inherit_from_id IS NULL", :algorithm=>:concurrently})1531main: -> 0.0020s1532main: -- add_index(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_and_type_new_where_inherit_null", :where=>"inherit_from_id IS NULL", :algorithm=>:concurrently})1533main: -> 0.0012s1534main: -- transaction_open?()1535main: -> 0.0000s1536main: -- index_exists?(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_id_and_type_new_unique", :unique=>true, :algorithm=>:concurrently})1537main: -> 0.0023s1538main: -- add_index(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_id_and_type_new_unique", :unique=>true, :algorithm=>:concurrently})1539main: -> 0.0012s1540main: -- transaction_open?()1541main: -> 0.0000s1542main: -- index_exists?(:integrations, [:type_new], {:name=>"index_integrations_on_type_new", :algorithm=>:concurrently})1543main: -> 0.0027s1544main: -- add_index(:integrations, [:type_new], {:name=>"index_integrations_on_type_new", :algorithm=>:concurrently})1545main: -> 0.0012s1546main: -- transaction_open?()1547main: -> 0.0000s1548main: -- index_exists?(:integrations, [:type_new, :instance], {:name=>"index_integrations_on_type_new_and_instance_partial", :where=>"instance = true", :algorithm=>:concurrently})1549main: -> 0.0030s1550main: -- add_index(:integrations, [:type_new, :instance], {:name=>"index_integrations_on_type_new_and_instance_partial", :where=>"instance = true", :algorithm=>:concurrently})1551main: -> 0.0013s1552main: -- transaction_open?()1553main: -> 0.0000s1554main: -- index_exists?(:integrations, [:type_new, :template], {:name=>"index_integrations_on_type_new_and_template_partial", :where=>"template = true", :algorithm=>:concurrently})1555main: -> 0.0034s1556main: -- add_index(:integrations, [:type_new, :template], {:name=>"index_integrations_on_type_new_and_template_partial", :where=>"template = true", :algorithm=>:concurrently})1557main: -> 0.0013s1558main: -- transaction_open?()1559main: -> 0.0000s1560main: -- index_exists?(:integrations, [:type_new, :id], {:name=>"index_integrations_on_type_new_id_when_active_and_has_project", :where=>"((active = true) AND (project_id IS NOT NULL))", :algorithm=>:concurrently})1561main: -> 0.0037s1562main: -- add_index(:integrations, [:type_new, :id], {:name=>"index_integrations_on_type_new_id_when_active_and_has_project", :where=>"((active = true) AND (project_id IS NOT NULL))", :algorithm=>:concurrently})1563main: -> 0.0015s1564main: -- transaction_open?()1565main: -> 0.0000s1566main: -- index_exists?(:integrations, [:group_id, :type_new], {:name=>"index_integrations_on_unique_group_id_and_type_new", :algorithm=>:concurrently})1567main: -> 0.0042s1568main: -- add_index(:integrations, [:group_id, :type_new], {:name=>"index_integrations_on_unique_group_id_and_type_new", :algorithm=>:concurrently})1569main: -> 0.0012s1570main: == 20220213104531 CreateIndexesOnIntegrationTypeNew: migrated (0.0467s) =======1571main: == 20220215164709 UpdateApplicationSettingsContainerRegistryExpPolWorkerCapacityDefault: migrating 1572main: -- change_column_default(:application_settings, :container_registry_expiration_policies_worker_capacity, {:from=>0, :to=>4})1573main: -> 0.2559s1574main: == 20220215164709 UpdateApplicationSettingsContainerRegistryExpPolWorkerCapacityDefault: migrated (0.5387s) 1575main: == 20220215190020 RerunConvertStringifiedRawMetadataHashToJson: migrating =====1576main: -- transaction_open?()1577main: -> 0.0000s1578main: -- Scheduled 0 FixVulnerabilityOccurrencesWithHashesAsRawMetadata jobs with a maximum of 500 records per batch and an interval of 120 seconds.1579The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:30 UTC."1580main: == 20220215190020 RerunConvertStringifiedRawMetadataHashToJson: migrated (0.0081s) 1581main: == 20220216110023 CreateSavedReplies: migrating ===============================1582main: -- create_table(:saved_replies, {})1583main: -- quote_column_name(:name)1584main: -> 0.0000s1585main: -- quote_column_name(:content)1586main: -> 0.0001s1587main: -> 0.0049s1588main: == 20220216110023 CreateSavedReplies: migrated (0.0050s) ======================1589main: == 20220216201949 RemovePackageFilesLimitFromApplicationSettings: migrating ===1590main: -- column_exists?(:application_settings, :max_package_files_for_package_destruction)1591main: -> 0.1124s1592main: -- remove_column(:application_settings, :max_package_files_for_package_destruction, :smallint)1593main: -> 0.0021s1594main: == 20220216201949 RemovePackageFilesLimitFromApplicationSettings: migrated (0.1147s) 1595main: == 20220217100008 AddContainerRegistryExpirationPoliciesCachingToApplicationSettings: migrating 1596main: -- add_column(:application_settings, :container_registry_expiration_policies_caching, :boolean, {:null=>false, :default=>true})1597main: -> 0.0021s1598main: == 20220217100008 AddContainerRegistryExpirationPoliciesCachingToApplicationSettings: migrated (0.0022s) 1599main: == 20220217113058 AddStatusToStatusCheckResponses: migrating ==================1600main: -- add_column(:status_check_responses, :status, :integer, {:default=>0, :null=>false, :limit=>2})1601main: -> 0.0021s1602main: == 20220217113058 AddStatusToStatusCheckResponses: migrated (0.0022s) =========1603main: == 20220217135229 ValidateNotNullConstraintOnSecurityFindingsUuid: migrating ==1604main: -- current_schema()1605main: -> 0.0004s1606main: -- execute("ALTER TABLE security_findings VALIDATE CONSTRAINT check_6c2851a8c9;")1607main: -> 0.0007s1608main: == 20220217135229 ValidateNotNullConstraintOnSecurityFindingsUuid: migrated (0.0031s) 1609main: == 20220221102333 ChangeMaintainerNoteLimitInCiRunner: migrating ==============1610main: -- transaction_open?()1611main: -> 0.0000s1612main: -- current_schema()1613main: -> 0.0004s1614main: -- transaction_open?()1615main: -> 0.0000s1616main: -- execute("ALTER TABLE ci_runners\nADD CONSTRAINT check_ce275cee06\nCHECK ( char_length(maintainer_note) <= 1024 )\nNOT VALID;\n")1617main: -> 0.0008s1618main: -- current_schema()1619main: -> 0.0004s1620main: -- execute("ALTER TABLE ci_runners VALIDATE CONSTRAINT check_ce275cee06;")1621main: -> 0.0007s1622main: -- transaction_open?()1623main: -> 0.0000s1624main: -- transaction_open?()1625main: -> 0.0000s1626main: -- execute("ALTER TABLE ci_runners\nDROP CONSTRAINT IF EXISTS check_56f5ea8804\n")1627main: -> 0.0008s1628main: == 20220221102333 ChangeMaintainerNoteLimitInCiRunner: migrated (0.0121s) =====1629main: == 20220221214928 RemoveShowDiffPreviewInEmailColumn: migrating ===============1630main: -- remove_column(:project_settings, :show_diff_preview_in_email, :boolean)1631main: -> 0.0009s1632main: == 20220221214928 RemoveShowDiffPreviewInEmailColumn: migrated (0.0010s) ======1633main: == 20220222072536 AddTargetAccessLevelsToBroadcastMessages: migrating =========1634main: -- add_column(:broadcast_messages, :target_access_levels, :integer, {:if_not_exists=>true, :array=>true, :null=>false, :default=>[]})1635main: -> 0.0037s1636main: == 20220222072536 AddTargetAccessLevelsToBroadcastMessages: migrated (0.0038s) 1637main: == 20220222191845 RemoveNotNullConstraintForSecurityScanSucceeded: migrating ==1638main: -- change_column_null(:analytics_devops_adoption_snapshots, :security_scan_succeeded, true)1639main: -> 0.0014s1640main: == 20220222191845 RemoveNotNullConstraintForSecurityScanSucceeded: migrated (0.0016s) 1641main: == 20220222192524 CreateNotNullConstraintReleasesTag: migrating ===============1642main: -- current_schema()1643main: -> 0.0005s1644main: -- transaction_open?()1645main: -> 0.0000s1646main: -- current_schema()1647main: -> 0.0004s1648main: -- transaction_open?()1649main: -> 0.0000s1650main: -- execute("ALTER TABLE releases\nADD CONSTRAINT releases_not_null_tag\nCHECK ( tag IS NOT NULL )\nNOT VALID;\n")1651main: -> 0.0009s1652main: == 20220222192524 CreateNotNullConstraintReleasesTag: migrated (0.0094s) ======1653main: == 20220222192525 RemoveNullReleases: migrating ===============================1654main: == 20220222192525 RemoveNullReleases: migrated (0.0162s) ======================1655main: == 20220223112304 ScheduleNullifyOrphanRunnerIdOnCiBuilds: migrating ==========1656main: == 20220223112304 ScheduleNullifyOrphanRunnerIdOnCiBuilds: migrated (0.0380s) =1657main: == 20220223124428 ScheduleMergeTopicsWithSameName: migrating ==================1658main: == 20220223124428 ScheduleMergeTopicsWithSameName: migrated (0.0024s) =========1659main: == 20220224000000 AsyncBuildTraceExpireAtIndex: migrating =====================1660main: -- index_exists?(:ci_job_artifacts, :id, {:where=>"file_type = 3 AND expire_at IN ('2021-04-22 00:00:00', '2021-05-22 00:00:00', '2021-06-22 00:00:00', '2022-01-22 00:00:00', '2022-02-22 00:00:00', '2022-03-22 00:00:00', '2022-04-22 00:00:00')", :name=>"tmp_index_ci_job_artifacts_on_id_where_trace_and_expire_at", :algorithm=>:concurrently})1661main: -> 0.0056s1662main: == 20220224000000 AsyncBuildTraceExpireAtIndex: migrated (0.0077s) ============1663main: == 20220224204415 RecreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrating 1664main: -- rename_index("ci_builds", "index_security_ci_builds_on_name_and_id_parser_features", "index_security_ci_builds_on_name_and_id_parser_features_old")1665main: -> 0.0008s1666main: -- index_exists?("ci_builds", [:name, :id], {:name=>"index_security_ci_builds_on_name_and_id_parser_features", :where=>"(name::text = ANY (ARRAY['container_scanning'::character varying::text,\n 'dast'::character varying::text,\n 'dependency_scanning'::character varying::text,\n 'license_management'::character varying::text,\n 'sast'::character varying::text,\n 'secret_detection'::character varying::text,\n 'coverage_fuzzing'::character varying::text,\n 'license_scanning'::character varying::text,\n 'apifuzzer_fuzz'::character varying::text,\n 'apifuzzer_fuzz_dnd'::character varying::text])\n ) AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently})1667main: -> 0.0126s1668main: -- add_index_options("ci_builds", [:name, :id], {:name=>"index_security_ci_builds_on_name_and_id_parser_features", :where=>"(name::text = ANY (ARRAY['container_scanning'::character varying::text,\n 'dast'::character varying::text,\n 'dependency_scanning'::character varying::text,\n 'license_management'::character varying::text,\n 'sast'::character varying::text,\n 'secret_detection'::character varying::text,\n 'coverage_fuzzing'::character varying::text,\n 'license_scanning'::character varying::text,\n 'apifuzzer_fuzz'::character varying::text,\n 'apifuzzer_fuzz_dnd'::character varying::text])\n ) AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently})1669main: -> 0.0001s1670main: == 20220224204415 RecreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrated (0.0486s) 1671main: == 20220225133705 CleanupBackfillCiQueuingTables: migrating ===================1672main: -- transaction_open?()1673main: -> 0.0000s1674main: == 20220225133705 CleanupBackfillCiQueuingTables: migrated (0.0072s) ==========1675main: == 20220301002101 AddSecurityOrchestrationPolicyConfigurationNamespaceReference: migrating 1676main: -- add_column(:security_orchestration_policy_configurations, :namespace_id, :bigint)1677main: -> 0.0018s1678main: == 20220301002101 AddSecurityOrchestrationPolicyConfigurationNamespaceReference: migrated (0.0019s) 1679main: == 20220301003502 AddSecurityOrchestrationPolicyConfigurationNamespaceIndex: migrating 1680main: -- transaction_open?()1681main: -> 0.0000s1682main: -- index_exists?(:security_orchestration_policy_configurations, :namespace_id, {:unique=>true, :name=>"partial_index_sop_configs_on_namespace_id", :where=>"namespace_id IS NOT NULL", :algorithm=>:concurrently})1683main: -> 0.0023s1684main: -- add_index(:security_orchestration_policy_configurations, :namespace_id, {:unique=>true, :name=>"partial_index_sop_configs_on_namespace_id", :where=>"namespace_id IS NOT NULL", :algorithm=>:concurrently})1685main: -> 0.0014s1686main: -- transaction_open?()1687main: -> 0.0000s1688main: -- foreign_keys(:security_orchestration_policy_configurations)1689main: -> 0.0025s1690main: -- transaction_open?()1691main: -> 0.0000s1692main: -- execute("LOCK TABLE namespaces, security_orchestration_policy_configurations IN SHARE ROW EXCLUSIVE MODE")1693main: -> 0.0006s1694main: -- execute("ALTER TABLE security_orchestration_policy_configurations\nADD CONSTRAINT fk_a50430b375\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")1695main: -> 0.0014s1696main: -- execute("ALTER TABLE security_orchestration_policy_configurations VALIDATE CONSTRAINT fk_a50430b375;")1697main: -> 0.0018s1698main: -- transaction_open?()1699main: -> 0.0000s1700main: -- current_schema()1701main: -> 0.0004s1702main: -- transaction_open?()1703main: -> 0.0000s1704main: -- execute("ALTER TABLE security_orchestration_policy_configurations\nADD CONSTRAINT cop_configs_project_or_namespace_existence\nCHECK ( ((project_id IS NULL) != (namespace_id IS NULL)) )\nNOT VALID;\n")1705main: -> 0.0009s1706main: -- current_schema()1707main: -> 0.0004s1708main: -- execute("ALTER TABLE security_orchestration_policy_configurations VALIDATE CONSTRAINT cop_configs_project_or_namespace_existence;")1709main: -> 0.0007s1710main: == 20220301003502 AddSecurityOrchestrationPolicyConfigurationNamespaceIndex: migrated (0.0266s) 1711main: == 20220301091503 AddNotNullConstraintToSecurityPolicyConfigurations: migrating 1712main: -- change_column_null(:security_orchestration_policy_configurations, :project_id, true)1713main: -> 0.0009s1714main: == 20220301091503 AddNotNullConstraintToSecurityPolicyConfigurations: migrated (0.0009s) 1715main: == 20220301093434 BackfillAllProjectNamespaces: migrating =====================1716main: == 20220301093434 BackfillAllProjectNamespaces: migrated (0.0398s) ============1717main: == 20220301175104 ChangeSecurityOrchestrationPolicyConfigurationProjectIndex: migrating 1718main: -- transaction_open?()1719main: -> 0.0000s1720main: -- index_exists?(:security_orchestration_policy_configurations, :project_id, {:unique=>true, :name=>"partial_index_sop_configs_on_project_id", :where=>"project_id IS NOT NULL", :algorithm=>:concurrently})1721main: -> 0.0030s1722main: -- add_index(:security_orchestration_policy_configurations, :project_id, {:unique=>true, :name=>"partial_index_sop_configs_on_project_id", :where=>"project_id IS NOT NULL", :algorithm=>:concurrently})1723main: -> 0.0016s1724main: -- transaction_open?()1725main: -> 0.0000s1726main: -- indexes(:security_orchestration_policy_configurations)1727main: -> 0.0032s1728main: -- remove_index(:security_orchestration_policy_configurations, {:algorithm=>:concurrently, :name=>"index_sop_configs_on_project_id"})1729main: -> 0.0010s1730main: == 20220301175104 ChangeSecurityOrchestrationPolicyConfigurationProjectIndex: migrated (0.0146s) 1731main: == 20220301175426 CreateProjectBuildArtifactsSizeRefresh: migrating ===========1732main: -- create_table(:project_build_artifacts_size_refreshes, {})1733main: -> 0.0052s1734main: == 20220301175426 CreateProjectBuildArtifactsSizeRefresh: migrated (0.0053s) ==1735main: == 20220302110724 AddGroupFeaturesTable: migrating ============================1736main: -- create_table(:group_features, {:id=>false})1737main: -> 0.0039s1738main: -- execute("ALTER TABLE group_features ADD PRIMARY KEY (group_id)")1739main: -> 0.0008s1740main: == 20220302110724 AddGroupFeaturesTable: migrated (0.0048s) ===================1741main: == 20220302114046 BackfillGroupFeatures: migrating ============================1742main: == 20220302114046 BackfillGroupFeatures: migrated (0.0379s) ===================1743main: == 20220302203410 CreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrating 1744main: -- transaction_open?()1745main: -> 0.0000s1746main: -- index_exists?("ci_builds", [:name, :id], {:name=>"index_security_ci_builds_on_name_and_id_parser_features", :where=>"(name::text = ANY (ARRAY['container_scanning'::character varying::text,\n 'dast'::character varying::text,\n 'dependency_scanning'::character varying::text,\n 'license_management'::character varying::text,\n 'sast'::character varying::text,\n 'secret_detection'::character varying::text,\n 'coverage_fuzzing'::character varying::text,\n 'license_scanning'::character varying::text,\n 'apifuzzer_fuzz'::character varying::text,\n 'apifuzzer_fuzz_dnd'::character varying::text])\n ) AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently})1747main: -> 0.0162s1748main: -- add_index("ci_builds", [:name, :id], {:name=>"index_security_ci_builds_on_name_and_id_parser_features", :where=>"(name::text = ANY (ARRAY['container_scanning'::character varying::text,\n 'dast'::character varying::text,\n 'dependency_scanning'::character varying::text,\n 'license_management'::character varying::text,\n 'sast'::character varying::text,\n 'secret_detection'::character varying::text,\n 'coverage_fuzzing'::character varying::text,\n 'license_scanning'::character varying::text,\n 'apifuzzer_fuzz'::character varying::text,\n 'apifuzzer_fuzz_dnd'::character varying::text])\n ) AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently})1749main: -> 0.0025s1750main: == 20220302203410 CreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrated (0.0259s) 1751main: == 20220303190555 AddCommentToDeploymentApprovals: migrating ==================1752main: -- add_column(:deployment_approvals, :comment, :text)1753main: -> 0.0030s1754main: == 20220303190555 AddCommentToDeploymentApprovals: migrated (0.0031s) =========1755main: == 20220303191047 AddTextLimitToDeploymentApprovalsComment: migrating =========1756main: -- transaction_open?()1757main: -> 0.0000s1758main: -- current_schema()1759main: -> 0.0004s1760main: -- transaction_open?()1761main: -> 0.0000s1762main: -- execute("ALTER TABLE deployment_approvals\nADD CONSTRAINT check_e2eb6a17d8\nCHECK ( char_length(comment) <= 255 )\nNOT VALID;\n")1763main: -> 0.0008s1764main: -- current_schema()1765main: -> 0.0004s1766main: -- execute("ALTER TABLE deployment_approvals VALIDATE CONSTRAINT check_e2eb6a17d8;")1767main: -> 0.0013s1768main: == 20220303191047 AddTextLimitToDeploymentApprovalsComment: migrated (0.0122s) 1769main: == 20220304052335 RemoveNotNullContraintOnTitleFromSprints: migrating =========1770main: -- change_column_null(:sprints, :title, true)1771main: -> 0.0010s1772main: == 20220304052335 RemoveNotNullContraintOnTitleFromSprints: migrated (0.0010s) 1773main: == 20220304061631 RemoveUniqueIndexForSprintsOnIterationsCadenceIdAndTitle: migrating 1774main: -- transaction_open?()1775main: -> 0.0000s1776main: -- indexes(:sprints)1777main: -> 0.0058s1778main: -- remove_index(:sprints, {:algorithm=>:concurrently, :name=>"index_sprints_on_iterations_cadence_id_and_title"})1779main: -> 0.0013s1780main: == 20220304061631 RemoveUniqueIndexForSprintsOnIterationsCadenceIdAndTitle: migrated (0.0107s) 1781main: == 20220304062107 RemoveUniqueIndexForSprintsOnProjectIdAndTitle: migrating ===1782main: -- transaction_open?()1783main: -> 0.0000s1784main: -- indexes(:sprints)1785main: -> 0.0054s1786main: -- remove_index(:sprints, {:algorithm=>:concurrently, :name=>"index_sprints_on_project_id_and_title"})1787main: -> 0.0010s1788main: == 20220304062107 RemoveUniqueIndexForSprintsOnProjectIdAndTitle: migrated (0.0088s) 1789main: == 20220304152729 AddDefaultToRequiredPythonOnPackagesPypiMetadata: migrating =1790main: -- change_column_default(:packages_pypi_metadata, :required_python, "")1791main: -> 0.0024s1792main: == 20220304152729 AddDefaultToRequiredPythonOnPackagesPypiMetadata: migrated (0.0025s) 1793main: == 20220304165107 DropPartitionedForeignKeys: migrating =======================1794main: -- drop_table(:partitioned_foreign_keys)1795main: -> 0.0022s1796main: == 20220304165107 DropPartitionedForeignKeys: migrated (0.0023s) ==============1797main: == 20220304201847 AddUniqueIndexOnSecurityTrainingProviders: migrating ========1798main: -- transaction_open?()1799main: -> 0.0000s1800main: -- index_exists?(:security_training_providers, :name, {:unique=>true, :name=>"index_security_training_providers_on_unique_name", :algorithm=>:concurrently})1801main: -> 0.0011s1802main: -- add_index(:security_training_providers, :name, {:unique=>true, :name=>"index_security_training_providers_on_unique_name", :algorithm=>:concurrently})1803main: -> 0.0011s1804main: == 20220304201847 AddUniqueIndexOnSecurityTrainingProviders: migrated (0.0063s) 1805main: == 20220305223212 AddSecurityTrainingProviders: migrating =====================1806main: == 20220305223212 AddSecurityTrainingProviders: migrated (0.0236s) ============1807main: == 20220307192534 CreateIndexForRemoveDuplicateProjectTagReleases: migrating ==1808main: -- transaction_open?()1809main: -> 0.0000s1810main: -- index_exists?(:releases, [:project_id, :tag, :id], {:name=>"index_releases_on_id_project_id_tag", :algorithm=>:concurrently})1811main: -> 0.0022s1812main: -- add_index(:releases, [:project_id, :tag, :id], {:name=>"index_releases_on_id_project_id_tag", :algorithm=>:concurrently})1813main: -> 0.0012s1814main: == 20220307192534 CreateIndexForRemoveDuplicateProjectTagReleases: migrated (0.0075s) 1815main: == 20220307192610 RemoveDuplicateProjectTagReleases: migrating ================1816main: == 20220307192610 RemoveDuplicateProjectTagReleases: migrated (0.0038s) =======1817main: == 20220307192645 RemoveIndexForRemoveDuplicateProjectTagReleases: migrating ==1818main: -- transaction_open?()1819main: -> 0.0000s1820main: -- indexes(:releases)1821main: -> 0.0035s1822main: -- remove_index(:releases, {:algorithm=>:concurrently, :name=>"index_releases_on_id_project_id_tag"})1823main: -> 0.0016s1824main: == 20220307192645 RemoveIndexForRemoveDuplicateProjectTagReleases: migrated (0.0072s) 1825main: == 20220307192725 CreateUniqueIndexReleaseTagProject: migrating ===============1826main: -- transaction_open?()1827main: -> 0.0000s1828main: -- index_exists?(:releases, [:project_id, :tag], {:unique=>true, :name=>"index_releases_on_project_tag_unique", :algorithm=>:concurrently})1829main: -> 0.0031s1830main: -- add_index(:releases, [:project_id, :tag], {:unique=>true, :name=>"index_releases_on_project_tag_unique", :algorithm=>:concurrently})1831main: -> 0.0019s1832main: -- transaction_open?()1833main: -> 0.0000s1834main: -- indexes(:releases)1835main: -> 0.0026s1836main: -- remove_index(:releases, {:algorithm=>:concurrently, :name=>"index_releases_on_project_id_and_tag"})1837main: -> 0.0010s1838main: == 20220307192725 CreateUniqueIndexReleaseTagProject: migrated (0.0138s) ======1839main: == 20220307203458 RenameUserEmailLookupLimitSettingToSearchSettings: migrating 1840main: -- add_column(:application_settings, :search_rate_limit, :integer, {:null=>false, :default=>30})1841main: -> 0.0026s1842main: -- add_column(:application_settings, :search_rate_limit_unauthenticated, :integer, {:null=>false, :default=>10})1843main: -> 0.0016s1844main: == 20220307203458 RenameUserEmailLookupLimitSettingToSearchSettings: migrated (0.0043s) 1845main: == 20220307203459 RenameUserEmailLookupLimitSettingToSearchSettingsCleanup: migrating 1846main: == 20220307203459 RenameUserEmailLookupLimitSettingToSearchSettingsCleanup: migrated (0.0024s) 1847main: == 20220308000205 DropOldIndexSecurityCiBuildsOnNameAndIdParserFeatures: migrating 1848main: -- transaction_open?()1849main: -> 0.0000s1850main: -- index_exists?("ci_builds", [:name, :id], {:name=>"index_security_ci_builds_on_name_and_id_parser_features_old", :where=>"(name::text = ANY (ARRAY['container_scanning'::character varying::text,\n 'dast'::character varying::text,\n 'dependency_scanning'::character varying::text,\n 'license_management'::character varying::text,\n 'sast'::character varying::text,\n 'secret_detection'::character varying::text,\n 'coverage_fuzzing'::character varying::text,\n 'license_scanning'::character varying::text])\n ) AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently})1851main: -> 0.0152s1852main: -- remove_index("ci_builds", {:name=>"index_security_ci_builds_on_name_and_id_parser_features_old", :where=>"(name::text = ANY (ARRAY['container_scanning'::character varying::text,\n 'dast'::character varying::text,\n 'dependency_scanning'::character varying::text,\n 'license_management'::character varying::text,\n 'sast'::character varying::text,\n 'secret_detection'::character varying::text,\n 'coverage_fuzzing'::character varying::text,\n 'license_scanning'::character varying::text])\n ) AND type::text = 'Ci::Build'::text", :algorithm=>:concurrently, :column=>[:name, :id]})1853main: -> 0.0165s1854main: == 20220308000205 DropOldIndexSecurityCiBuildsOnNameAndIdParserFeatures: migrated (0.0351s) 1855main: == 20220308115219 ScheduleResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrating 1856main: -- transaction_open?()1857main: -> 0.0000s1858main: -- index_exists?(:projects, [:id, :runners_token_encrypted], {:where=>"runners_token_encrypted IS NOT NULL", :unique=>false, :name=>"tmp_index_projects_on_id_and_runners_token_encrypted", :algorithm=>:concurrently})1859main: -> 0.0262s1860main: -- add_index(:projects, [:id, :runners_token_encrypted], {:where=>"runners_token_encrypted IS NOT NULL", :unique=>false, :name=>"tmp_index_projects_on_id_and_runners_token_encrypted", :algorithm=>:concurrently})1861main: -> 0.0021s1862main: -- transaction_open?()1863main: -> 0.0000s1864main: -- Scheduled 0 ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects jobs with a maximum of 10000 records per batch and an interval of 120 seconds.1865The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:31 UTC."1866main: == 20220308115219 ScheduleResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrated (0.0479s) 1867main: == 20220308115502 ScheduleResetDuplicateCiRunnersTokenValuesOnProjects: migrating 1868main: -- transaction_open?()1869main: -> 0.0000s1870main: -- index_exists?(:projects, [:id, :runners_token], {:where=>"runners_token IS NOT NULL", :unique=>false, :name=>"tmp_index_projects_on_id_and_runners_token", :algorithm=>:concurrently})1871main: -> 0.0288s1872main: -- add_index(:projects, [:id, :runners_token], {:where=>"runners_token IS NOT NULL", :unique=>false, :name=>"tmp_index_projects_on_id_and_runners_token", :algorithm=>:concurrently})1873main: -> 0.0023s1874main: -- transaction_open?()1875main: -> 0.0000s1876main: -- Scheduled 0 ResetDuplicateCiRunnersTokenValuesOnProjects jobs with a maximum of 10000 records per batch and an interval of 120 seconds.1877The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:31 UTC."1878main: == 20220308115502 ScheduleResetDuplicateCiRunnersTokenValuesOnProjects: migrated (0.0449s) 1879main: == 20220309084838 RemoveExternalPullRequestTracking: migrating ================1880main: -- execute("DROP TRIGGER IF EXISTS external_pull_requests_loose_fk_trigger ON external_pull_requests")1881main: -> 0.0009s1882main: == 20220309084838 RemoveExternalPullRequestTracking: migrated (0.0010s) =======1883main: == 20220309084954 RemoveLeftoverExternalPullRequestDeletions: migrating =======1884main: -- execute("DELETE FROM \"loose_foreign_keys_deleted_records\"\nWHERE\n(\"loose_foreign_keys_deleted_records\".\"partition\", \"loose_foreign_keys_deleted_records\".\"id\") IN (\n SELECT \"loose_foreign_keys_deleted_records\".\"partition\", \"loose_foreign_keys_deleted_records\".\"id\"\n FROM \"loose_foreign_keys_deleted_records\"\n WHERE\n \"loose_foreign_keys_deleted_records\".\"fully_qualified_table_name\" = 'public.external_pull_requests' AND\n \"loose_foreign_keys_deleted_records\".\"status\" = 1\n LIMIT 100\n)\n")1885main: -> 0.0013s1886main: == 20220309084954 RemoveLeftoverExternalPullRequestDeletions: migrated (0.0014s) 1887main: == 20220309100648 AddTimeToRestoreServiceDoraMetric: migrating ================1888main: -- add_column(:dora_daily_metrics, :time_to_restore_service_in_seconds, :integer)1889main: -> 0.0024s1890main: == 20220309100648 AddTimeToRestoreServiceDoraMetric: migrated (0.0025s) =======1891main: == 20220309154855 AddIndexOnIssuesClosedIncidents: migrating ==================1892main: -- transaction_open?()1893main: -> 0.0000s1894main: -- index_exists?(:issues, [:project_id, :closed_at], {:where=>"issue_type = 1 AND state_id = 2", :name=>"index_on_issues_closed_incidents_by_project_id_and_closed_at", :algorithm=>:concurrently})1895main: -> 0.0155s1896main: -- add_index(:issues, [:project_id, :closed_at], {:where=>"issue_type = 1 AND state_id = 2", :name=>"index_on_issues_closed_incidents_by_project_id_and_closed_at", :algorithm=>:concurrently})1897main: -> 0.0018s1898main: == 20220309154855 AddIndexOnIssuesClosedIncidents: migrated (0.0210s) =========1899main: == 20220310011530 AddDatabaseGrafanaConfigToApplicationSettings: migrating ====1900main: -- add_column(:application_settings, :encrypted_database_grafana_api_key, :binary)1901main: -> 0.0020s1902main: -- add_column(:application_settings, :encrypted_database_grafana_api_key_iv, :binary)1903main: -> 0.0009s1904main: -- add_column(:application_settings, :database_grafana_api_url, :text)1905main: -> 0.0014s1906main: -- add_column(:application_settings, :database_grafana_tag, :text)1907main: -> 0.0010s1908main: == 20220310011530 AddDatabaseGrafanaConfigToApplicationSettings: migrated (0.0055s) 1909main: == 20220310011613 AddTextLimitToDatabaseGrafanaApplicationSettings: migrating =1910main: -- transaction_open?()1911main: -> 0.0000s1912main: -- current_schema()1913main: -> 0.0004s1914main: -- transaction_open?()1915main: -> 0.0000s1916main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_3455368420\nCHECK ( char_length(database_grafana_api_url) <= 255 )\nNOT VALID;\n")1917main: -> 0.0012s1918main: -- current_schema()1919main: -> 0.0008s1920main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_3455368420;")1921main: -> 0.0011s1922main: -- transaction_open?()1923main: -> 0.0001s1924main: -- current_schema()1925main: -> 0.0004s1926main: -- transaction_open?()1927main: -> 0.0000s1928main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_2b820eaac3\nCHECK ( char_length(database_grafana_tag) <= 255 )\nNOT VALID;\n")1929main: -> 0.0019s1930main: -- current_schema()1931main: -> 0.0003s1932main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_2b820eaac3;")1933main: -> 0.0018s1934main: == 20220310011613 AddTextLimitToDatabaseGrafanaApplicationSettings: migrated (0.0226s) 1935main: == 20220310095341 AddAsyncIndexCiJobArtifactsProjectIdCreatedAt: migrating ====1936main: -- index_exists?(:ci_job_artifacts, [:project_id, :created_at, :id], {:name=>"index_ci_job_artifacts_on_id_project_id_and_created_at", :algorithm=>:concurrently})1937main: -> 0.0065s1938main: -- add_index_options(:ci_job_artifacts, [:project_id, :created_at, :id], {:name=>"index_ci_job_artifacts_on_id_project_id_and_created_at", :algorithm=>:concurrently})1939main: -> 0.0001s1940main: == 20220310095341 AddAsyncIndexCiJobArtifactsProjectIdCreatedAt: migrated (0.0142s) 1941main: == 20220310101118 UpdateHolderNameLimit: migrating ============================1942main: -- transaction_open?()1943main: -> 0.0001s1944main: -- current_schema()1945main: -> 0.0004s1946main: -- transaction_open?()1947main: -> 0.0000s1948main: -- execute("ALTER TABLE user_credit_card_validations\nADD CONSTRAINT check_cc0c8dc0fe\nCHECK ( char_length(holder_name) <= 50 )\nNOT VALID;\n")1949main: -> 0.0009s1950main: -- current_schema()1951main: -> 0.0003s1952main: -- execute("ALTER TABLE user_credit_card_validations VALIDATE CONSTRAINT check_cc0c8dc0fe;")1953main: -> 0.0007s1954main: -- transaction_open?()1955main: -> 0.0000s1956main: -- transaction_open?()1957main: -> 0.0001s1958main: -- execute("ALTER TABLE user_credit_card_validations\nDROP CONSTRAINT IF EXISTS check_eafe45d88b\n")1959main: -> 0.0011s1960main: == 20220310101118 UpdateHolderNameLimit: migrated (0.0162s) ===================1961main: == 20220310134207 AddIndexProjectIdAndReleasedAtAndIdOnReleases: migrating ====1962main: -- transaction_open?()1963main: -> 0.0000s1964main: -- index_exists?(:releases, [:project_id, :released_at, :id], {:name=>"index_releases_on_project_id_and_released_at_and_id", :algorithm=>:concurrently})1965main: -> 0.0026s1966main: -- add_index(:releases, [:project_id, :released_at, :id], {:name=>"index_releases_on_project_id_and_released_at_and_id", :algorithm=>:concurrently})1967main: -> 0.0014s1968main: == 20220310134207 AddIndexProjectIdAndReleasedAtAndIdOnReleases: migrated (0.0079s) 1969main: == 20220310141349 RemoveDependencyListUsageDataFromRedis: migrating ===========1970main: == 20220310141349 RemoveDependencyListUsageDataFromRedis: migrated (0.0005s) ==1971main: == 20220311010352 CreateScanIdAndIdIndexOnSecurityFindings: migrating =========1972main: -- transaction_open?()1973main: -> 0.0000s1974main: -- index_exists?(:security_findings, [:scan_id, :id], {:name=>"index_security_findings_on_scan_id_and_id", :algorithm=>:concurrently})1975main: -> 0.0043s1976main: -- add_index(:security_findings, [:scan_id, :id], {:name=>"index_security_findings_on_scan_id_and_id", :algorithm=>:concurrently})1977main: -> 0.0013s1978main: == 20220311010352 CreateScanIdAndIdIndexOnSecurityFindings: migrated (0.0088s) 1979main: == 20220314094841 AddPackageRegistryAccessLevelIntoProjectFeatures: migrating =1980main: -- add_column(:project_features, :package_registry_access_level, :integer, {:default=>0, :null=>false})1981main: -> 0.0022s1982main: == 20220314094841 AddPackageRegistryAccessLevelIntoProjectFeatures: migrated (0.0023s) 1983main: == 20220314154235 MigrateVulnerabilityApprovalRules: migrating ================1984main: == 20220314154235 MigrateVulnerabilityApprovalRules: migrated (0.0003s) =======1985main: == 20220314162342 AddIndexCiJobArtifactsProjectIdCreatedAt: migrating =========1986main: -- transaction_open?()1987main: -> 0.0000s1988main: -- index_exists?(:ci_job_artifacts, [:project_id, :created_at, :id], {:name=>"index_ci_job_artifacts_on_id_project_id_and_created_at", :algorithm=>:concurrently})1989main: -> 0.0058s1990main: -- add_index(:ci_job_artifacts, [:project_id, :created_at, :id], {:name=>"index_ci_job_artifacts_on_id_project_id_and_created_at", :algorithm=>:concurrently})1991main: -> 0.0018s1992main: == 20220314162342 AddIndexCiJobArtifactsProjectIdCreatedAt: migrated (0.0128s) 1993main: == 20220314184009 CreateProtectedEnvironmentApprovalRules: migrating ==========1994main: -- create_table(:protected_environment_approval_rules, {})1995main: -> 0.0057s1996main: == 20220314184009 CreateProtectedEnvironmentApprovalRules: migrated (0.0057s) =1997main: == 20220314184109 AddUserFkToProtectedEnvironmentApprovalRules: migrating =====1998main: -- transaction_open?()1999main: -> 0.0000s2000main: -- foreign_keys(:protected_environment_approval_rules)2001main: -> 0.0032s2002main: -- transaction_open?()2003main: -> 0.0000s2004main: -- execute("ALTER TABLE protected_environment_approval_rules\nADD CONSTRAINT fk_6ee8249821\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")2005main: -> 0.0018s2006main: -- execute("ALTER TABLE protected_environment_approval_rules VALIDATE CONSTRAINT fk_6ee8249821;")2007main: -> 0.0013s2008main: == 20220314184109 AddUserFkToProtectedEnvironmentApprovalRules: migrated (0.0093s) 2009main: == 20220314184209 AddGroupFkToProtectedEnvironmentApprovalRules: migrating ====2010main: -- transaction_open?()2011main: -> 0.0000s2012main: -- foreign_keys(:protected_environment_approval_rules)2013main: -> 0.0035s2014main: -- transaction_open?()2015main: -> 0.0000s2016main: -- execute("ALTER TABLE protected_environment_approval_rules\nADD CONSTRAINT fk_405568b491\nFOREIGN KEY (group_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")2017main: -> 0.0011s2018main: -- execute("ALTER TABLE protected_environment_approval_rules VALIDATE CONSTRAINT fk_405568b491;")2019main: -> 0.0015s2020main: == 20220314184209 AddGroupFkToProtectedEnvironmentApprovalRules: migrated (0.0095s) 2021main: == 20220314194009 AddApprovalRuleIdToDeploymentApprovals: migrating ===========2022main: -- add_column(:deployment_approvals, :approval_rule_id, :bigint)2023main: -> 0.0013s2024main: == 20220314194009 AddApprovalRuleIdToDeploymentApprovals: migrated (0.0014s) ==2025main: == 20220314194149 AddProjectCiSecureFilesToPlanLimits: migrating ==============2026main: -- add_column(:plan_limits, :project_ci_secure_files, :integer, {:default=>100, :null=>false})2027main: -> 0.0020s2028main: == 20220314194149 AddProjectCiSecureFilesToPlanLimits: migrated (0.0021s) =====2029main: == 20220314204009 AddApprovalRuleFkToDeploymentApprovals: migrating ===========2030main: -- transaction_open?()2031main: -> 0.0000s2032main: -- index_exists?(:deployment_approvals, :approval_rule_id, {:name=>"index_deployment_approvals_on_approval_rule_id", :algorithm=>:concurrently})2033main: -> 0.0021s2034main: -- add_index(:deployment_approvals, :approval_rule_id, {:name=>"index_deployment_approvals_on_approval_rule_id", :algorithm=>:concurrently})2035main: -> 0.0011s2036main: -- transaction_open?()2037main: -> 0.0000s2038main: -- foreign_keys(:deployment_approvals)2039main: -> 0.0029s2040main: -- transaction_open?()2041main: -> 0.0000s2042main: -- execute("ALTER TABLE deployment_approvals\nADD CONSTRAINT fk_61cdbdc5b9\nFOREIGN KEY (approval_rule_id)\nREFERENCES protected_environment_approval_rules (id)\nON DELETE SET NULL\nNOT VALID;\n")2043main: -> 0.0011s2044main: -- execute("ALTER TABLE deployment_approvals VALIDATE CONSTRAINT fk_61cdbdc5b9;")2045main: -> 0.0013s2046main: == 20220314204009 AddApprovalRuleFkToDeploymentApprovals: migrated (0.0149s) ==2047main: == 20220315171027 AddTmpIndexToSupportLeakyRegexCleanup: migrating ============2048main: -- transaction_open?()2049main: -> 0.0000s2050main: -- index_exists?(:merge_requests, :id, {:where=>"draft = true AND state_id = 1 AND ((title)::text ~* '^\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP'::text) AND ((title)::text !~* '^(\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP)'::text)", :name=>"tmp_index_merge_requests_draft_and_status_leaky_regex", :algorithm=>:concurrently})2051main: -> 0.0159s2052main: -- add_index(:merge_requests, :id, {:where=>"draft = true AND state_id = 1 AND ((title)::text ~* '^\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP'::text) AND ((title)::text !~* '^(\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP)'::text)", :name=>"tmp_index_merge_requests_draft_and_status_leaky_regex", :algorithm=>:concurrently})2053main: -> 0.0019s2054main: == 20220315171027 AddTmpIndexToSupportLeakyRegexCleanup: migrated (0.0215s) ===2055main: == 20220315171129 CleanupDraftDataFromFaultyRegex: migrating ==================2056main: == 20220315171129 CleanupDraftDataFromFaultyRegex: migrated (0.0000s) =========2057main: == 20220315181125 RemoveIssuesWorkItemTypeIdIndex: migrating ==================2058main: -- transaction_open?()2059main: -> 0.0000s2060main: -- indexes(:issues)2061main: -> 0.0138s2062main: -- remove_index(:issues, {:algorithm=>:concurrently, :name=>"index_issues_on_work_item_type_id"})2063main: -> 0.0015s2064main: == 20220315181125 RemoveIssuesWorkItemTypeIdIndex: migrated (0.0175s) =========2065main: == 20220315181130 AddTemporaryIssueTypeIndexForWorkItemTypes: migrating =======2066main: -- transaction_open?()2067main: -> 0.0000s2068main: -- index_exists?(:issues, [:issue_type, :id], {:name=>"tmp_index_issues_on_issue_type_and_id", :algorithm=>:concurrently})2069main: -> 0.0128s2070main: -- add_index(:issues, [:issue_type, :id], {:name=>"tmp_index_issues_on_issue_type_and_id", :algorithm=>:concurrently})2071main: -> 0.0017s2072main: == 20220315181130 AddTemporaryIssueTypeIndexForWorkItemTypes: migrated (0.0186s) 2073main: == 20220315181136 BackfillWorkItemTypeIdOnIssues: migrating ===================2074main: == 20220315181136 BackfillWorkItemTypeIdOnIssues: migrated (0.0000s) ==========2075main: == 20220315211043 AddIndexToVulnerabilityReads: migrating =====================2076main: -- transaction_open?()2077main: -> 0.0000s2078main: -- index_exists?(:vulnerability_reads, [:project_id, :state, :report_type, :severity, :vulnerability_id], {:name=>"index_vulnerability_reads_common_finder_query", :order=>{:vulnerability_id=>:desc}, :algorithm=>:concurrently})2079main: -> 0.0042s2080main: -- add_index(:vulnerability_reads, [:project_id, :state, :report_type, :severity, :vulnerability_id], {:name=>"index_vulnerability_reads_common_finder_query", :order=>{:vulnerability_id=>:desc}, :algorithm=>:concurrently})2081main: -> 0.0021s2082main: == 20220315211043 AddIndexToVulnerabilityReads: migrated (0.0090s) ============2083main: == 20220316095126 AddCreatorIdToDeployTokens: migrating =======================2084main: -- add_column(:deploy_tokens, :creator_id, :bigint)2085main: -> 0.0019s2086main: == 20220316095126 AddCreatorIdToDeployTokens: migrated (0.0019s) ==============2087main: == 20220316102900 AddIndexToDeployTokensOnCreatorId: migrating ================2088main: -- transaction_open?()2089main: -> 0.0000s2090main: -- index_exists?(:deploy_tokens, :creator_id, {:name=>"index_deploy_tokens_on_creator_id", :algorithm=>:concurrently})2091main: -> 0.0025s2092main: -- add_index(:deploy_tokens, :creator_id, {:name=>"index_deploy_tokens_on_creator_id", :algorithm=>:concurrently})2093main: -> 0.0011s2094main: == 20220316102900 AddIndexToDeployTokensOnCreatorId: migrated (0.0066s) =======2095main: == 20220316102902 AddUserForeignKeyToDeployTokens: migrating ==================2096main: -- transaction_open?()2097main: -> 0.0000s2098main: -- foreign_keys(:deploy_tokens)2099main: -> 0.0028s2100main: -- transaction_open?()2101main: -> 0.0000s2102main: -- execute("LOCK TABLE users, deploy_tokens IN SHARE ROW EXCLUSIVE MODE")2103main: -> 0.0005s2104main: -- execute("ALTER TABLE deploy_tokens\nADD CONSTRAINT fk_7082f8a288\nFOREIGN KEY (creator_id)\nREFERENCES users (id)\nON DELETE SET NULL\nNOT VALID;\n")2105main: -> 0.0018s2106main: -- execute("ALTER TABLE deploy_tokens VALIDATE CONSTRAINT fk_7082f8a288;")2107main: -> 0.0013s2108main: == 20220316102902 AddUserForeignKeyToDeployTokens: migrated (0.0101s) =========2109main: == 20220316112118 UpdateOrganizationsNameIndexAddId: migrating ================2110main: -- transaction_open?()2111main: -> 0.0000s2112main: -- index_exists?(:customer_relations_organizations, "group_id, lower(name), id", {:name=>"index_organizations_on_unique_name_per_group", :unique=>true, :algorithm=>:concurrently})2113main: -> 0.0014s2114main: -- add_index(:customer_relations_organizations, "group_id, lower(name), id", {:name=>"index_organizations_on_unique_name_per_group", :unique=>true, :algorithm=>:concurrently})2115main: -> 0.0018s2116main: -- transaction_open?()2117main: -> 0.0000s2118main: -- indexes(:customer_relations_organizations)2119main: -> 0.0013s2120main: -- remove_index(:customer_relations_organizations, {:algorithm=>:concurrently, :name=>"index_customer_relations_organizations_on_unique_name_per_group"})2121main: -> 0.0010s2122main: == 20220316112118 UpdateOrganizationsNameIndexAddId: migrated (0.0105s) =======2123main: == 20220316112206 AddContactsIndexOnGroupEmailAndId: migrating ================2124main: -- transaction_open?()2125main: -> 0.0000s2126main: -- index_exists?(:customer_relations_contacts, "group_id, lower(email), id", {:name=>"index_customer_relations_contacts_on_unique_email_per_group", :unique=>true, :algorithm=>:concurrently})2127main: -> 0.0026s2128main: -- add_index(:customer_relations_contacts, "group_id, lower(email), id", {:name=>"index_customer_relations_contacts_on_unique_email_per_group", :unique=>true, :algorithm=>:concurrently})2129main: -> 0.0014s2130main: == 20220316112206 AddContactsIndexOnGroupEmailAndId: migrated (0.0069s) =======2131main: == 20220316165539 AddIndexToVulnerabilities: migrating ========================2132main: -- transaction_open?()2133main: -> 0.0000s2134main: -- index_exists?(:vulnerabilities, [:project_id, :state, :report_type, :severity, :id], {:name=>"index_vulnerabilites_common_finder_query", :algorithm=>:concurrently})2135main: -> 0.0078s2136main: -- add_index(:vulnerabilities, [:project_id, :state, :report_type, :severity, :id], {:name=>"index_vulnerabilites_common_finder_query", :algorithm=>:concurrently})2137main: -> 0.0015s2138main: == 20220316165539 AddIndexToVulnerabilities: migrated (0.0124s) ===============2139main: == 20220316202200 AddMigrationPlanToContainerRepositories: migrating ==========2140main: -- add_column(:container_repositories, :migration_plan, :text)2141main: -> 0.0016s2142main: == 20220316202200 AddMigrationPlanToContainerRepositories: migrated (0.0017s) =2143main: == 20220316202402 AddTextLimitToContainerRepositoriesMigrationPlan: migrating =2144main: -- transaction_open?()2145main: -> 0.0000s2146main: -- current_schema()2147main: -> 0.0004s2148main: -- transaction_open?()2149main: -> 0.0000s2150main: -- execute("ALTER TABLE container_repositories\nADD CONSTRAINT check_05e9012f36\nCHECK ( char_length(migration_plan) <= 255 )\nNOT VALID;\n")2151main: -> 0.0007s2152main: -- current_schema()2153main: -> 0.0003s2154main: -- execute("ALTER TABLE container_repositories VALIDATE CONSTRAINT check_05e9012f36;")2155main: -> 0.0012s2156main: == 20220316202402 AddTextLimitToContainerRepositoriesMigrationPlan: migrated (0.0095s) 2157main: == 20220316202640 PopulateContainerRepositoriesMigrationPlan: migrating =======2158main: -- transaction_open?()2159main: -> 0.0000s2160main: -- Scheduled 0 PopulateContainerRepositoryMigrationPlan jobs with a maximum of 1500 records per batch and an interval of 120 seconds.2161The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:31 UTC."2162main: == 20220316202640 PopulateContainerRepositoriesMigrationPlan: migrated (0.0058s) 2163main: == 20220317161914 RemoveCiRunnersCiBuildsRunnerIdFk: migrating ================2164main: -- foreign_keys(:ci_builds)2165main: -> 0.0030s2166main: -- transaction_open?()2167main: -> 0.0000s2168main: -- transaction_open?()2169main: -> 0.0000s2170main: -- execute("LOCK ci_runners, ci_builds IN ACCESS EXCLUSIVE MODE")2171main: -> 0.0004s2172main: -- foreign_keys(:ci_builds)2173main: -> 0.0028s2174main: -- remove_foreign_key(:ci_builds, :ci_runners, {:name=>"fk_e4ef9c2f27"})2175main: -> 0.0045s2176main: == 20220317161914 RemoveCiRunnersCiBuildsRunnerIdFk: migrated (0.0151s) =======2177main: == 20220317170122 AddNotificationLevelToNamespaceRootStorageStatistics: migrating 2178main: -- add_column(:namespace_root_storage_statistics, :notification_level, :integer, {:limit=>2, :default=>100, :null=>false})2179main: -> 0.0011s2180main: == 20220317170122 AddNotificationLevelToNamespaceRootStorageStatistics: migrated (0.0012s) 2181main: == 20220318111040 AddIndexesForPrimaryEmailSecondCleanupMigration: migrating ==2182main: -- indexes(:users)2183main: -> 0.0139s2184main: -- current_schema()2185main: -> 0.0003s2186main: -- execute("CREATE INDEX CONCURRENTLY index_users_on_id_for_primary_email_migration\nON users (id) INCLUDE (email, confirmed_at)\nWHERE confirmed_at IS NOT NULL\n")2187main: -> 0.0020s2188main: -- transaction_open?()2189main: -> 0.0000s2190main: -- index_exists?(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})2191main: -> 0.0031s2192main: -- add_index(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})2193main: -> 0.0012s2194main: == 20220318111040 AddIndexesForPrimaryEmailSecondCleanupMigration: migrated (0.0269s) 2195main: == 20220318111729 CleanupAfterFixingIssueWhenAdminChangedPrimaryEmail: migrating 2196main: == 20220318111729 CleanupAfterFixingIssueWhenAdminChangedPrimaryEmail: migrated (0.0335s) 2197main: == 20220318111949 DropTemporaryIndexesForPrimaryEmailMigrationSecondCleanup: migrating 2198main: -- transaction_open?()2199main: -> 0.0000s2200main: -- indexes(:users)2201main: -> 0.0144s2202main: -- remove_index(:users, {:algorithm=>:concurrently, :name=>:index_users_on_id_for_primary_email_migration})2203main: -> 0.0020s2204main: -- transaction_open?()2205main: -> 0.0000s2206main: -- indexes(:emails)2207main: -> 0.0032s2208main: -- remove_index(:emails, {:algorithm=>:concurrently, :name=>:index_emails_on_email_user_id})2209main: -> 0.0009s2210main: == 20220318111949 DropTemporaryIndexesForPrimaryEmailMigrationSecondCleanup: migrated (0.0253s) 2211main: == 20220318120802 AddTargetPlatformsToProjectSetting: migrating ===============2212main: -- add_column(:project_settings, :target_platforms, :string, {:array=>true, :default=>[], :null=>false, :if_not_exists=>true})2213main: -> 0.0037s2214main: == 20220318120802 AddTargetPlatformsToProjectSetting: migrated (0.0037s) ======2215main: == 20220318141037 AddPagesOnboardingState: migrating ==========================2216main: -- add_column(:project_pages_metadata, :onboarding_complete, :boolean, {:default=>false, :null=>false})2217main: -> 0.0015s2218main: == 20220318141037 AddPagesOnboardingState: migrated (0.0016s) =================2219main: == 20220321025720 AlterConstraintRemoteImportUrl: migrating ===================2220main: -- transaction_open?()2221main: -> 0.0000s2222main: -- transaction_open?()2223main: -> 0.0006s2224main: -- execute("ALTER TABLE import_export_uploads\nDROP CONSTRAINT IF EXISTS check_58f0d37481\n")2225main: -> 0.0006s2226main: -- transaction_open?()2227main: -> 0.0000s2228main: -- current_schema()2229main: -> 0.0004s2230main: -- transaction_open?()2231main: -> 0.0000s2232main: -- execute("ALTER TABLE import_export_uploads\nADD CONSTRAINT check_58f0d37481\nCHECK ( char_length(remote_import_url) <= 2048 )\nNOT VALID;\n")2233main: -> 0.0007s2234main: -- current_schema()2235main: -> 0.0003s2236main: -- execute("ALTER TABLE import_export_uploads VALIDATE CONSTRAINT check_58f0d37481;")2237main: -> 0.0006s2238main: == 20220321025720 AlterConstraintRemoteImportUrl: migrated (0.0127s) ==========2239main: == 20220321150028 AddStartedAtToBatchedBackgroundMigrationsTable: migrating ===2240main: -- add_column(:batched_background_migrations, :started_at, :datetime_with_timezone)2241main: -> 0.0015s2242main: == 20220321150028 AddStartedAtToBatchedBackgroundMigrationsTable: migrated (0.0016s) 2243main: == 20220321201912 RemoveUserEmailLookupLimit: migrating =======================2244main: -- remove_column(:application_settings, :user_email_lookup_limit)2245main: -> 0.0016s2246main: == 20220321201912 RemoveUserEmailLookupLimit: migrated (0.0017s) ==============2247main: == 20220321234317 RemoveAllIssuableEscalationStatuses: migrating ==============2248main: -- transaction_open?()2249main: -> 0.0000s2250main: == 20220321234317 RemoveAllIssuableEscalationStatuses: migrated (0.0199s) =====2251main: == 20220322023800 AddTmpIndexRoutesIdForProjectNamespaces: migrating ==========2252main: -- transaction_open?()2253main: -> 0.0000s2254main: -- index_exists?(:routes, :id, {:where=>"namespace_id IS NULL AND source_type = 'Project'", :name=>"tmp_index_for_project_namespace_id_migration_on_routes", :algorithm=>:concurrently})2255main: -> 0.0038s2256main: -- add_index(:routes, :id, {:where=>"namespace_id IS NULL AND source_type = 'Project'", :name=>"tmp_index_for_project_namespace_id_migration_on_routes", :algorithm=>:concurrently})2257main: -> 0.0012s2258main: == 20220322023800 AddTmpIndexRoutesIdForProjectNamespaces: migrated (0.0085s) =2259main: == 20220322035654 AddMigrationPlanIndexToContainerRepositories: migrating =====2260main: -- transaction_open?()2261main: -> 0.0000s2262main: -- index_exists?(:container_repositories, [:migration_state, :migration_plan, :created_at], {:name=>"idx_container_repos_on_migration_state_migration_plan_created", :algorithm=>:concurrently})2263main: -> 0.0062s2264main: -- add_index(:container_repositories, [:migration_state, :migration_plan, :created_at], {:name=>"idx_container_repos_on_migration_state_migration_plan_created", :algorithm=>:concurrently})2265main: -> 0.0014s2266main: == 20220322035654 AddMigrationPlanIndexToContainerRepositories: migrated (0.0111s) 2267main: == 20220322071127 FinalizeProjectNamespacesBackfill: migrating ================2268main: == 20220322071127 FinalizeProjectNamespacesBackfill: migrated (0.0194s) =======2269main: == 20220322094410 RemoveWikiNotes: migrating ==================================2270main: == 20220322094410 RemoveWikiNotes: migrated (0.0211s) =========================2271main: == 20220322132242 UpdatePagesOnboardingState: migrating =======================2272main: == 20220322132242 UpdatePagesOnboardingState: migrated (0.0037s) ==============2273main: == 20220322143441 AddDoraIncidentsCount: migrating ============================2274main: -- add_column(:dora_daily_metrics, :incidents_count, :integer)2275main: -> 0.0019s2276main: == 20220322143441 AddDoraIncidentsCount: migrated (0.0020s) ===================2277main: == 20220322205004 ChangeSearchRateLimitDefaultValues: migrating ===============2278main: -- change_column_default(:application_settings, :search_rate_limit, {:from=>30, :to=>300})2279main: -> 0.2788s2280main: -- change_column_default(:application_settings, :search_rate_limit_unauthenticated, {:from=>10, :to=>100})2281main: -> 0.2772s2282main: == 20220322205004 ChangeSearchRateLimitDefaultValues: migrated (0.5561s) ======2283main: == 20220322205008 ChangeSearchRateLimitValues: migrating ======================2284main: -- execute("update application_settings set search_rate_limit=300 where search_rate_limit IN (30,60)")2285main: -> 0.0023s2286main: -- execute("update application_settings set search_rate_limit_unauthenticated=100 where search_rate_limit_unauthenticated = 10")2287main: -> 0.0009s2288main: == 20220322205008 ChangeSearchRateLimitValues: migrated (0.0034s) =============2289main: == 20220323023800 BackfillNamespaceIdForProjectRoutes: migrating ==============2290main: == 20220323023800 BackfillNamespaceIdForProjectRoutes: migrated (0.0378s) =====2291main: == 20220323130000 AddTempIndexOnNullProjectNamespaceIds: migrating ============2292main: -- transaction_open?()2293main: -> 0.0000s2294main: -- index_exists?(:projects, :id, {:name=>"tmp_index_for_null_project_namespace_id", :where=>"project_namespace_id IS NULL", :algorithm=>:concurrently})2295main: -> 0.0299s2296main: -- add_index(:projects, :id, {:name=>"tmp_index_for_null_project_namespace_id", :where=>"project_namespace_id IS NULL", :algorithm=>:concurrently})2297main: -> 0.0023s2298main: == 20220323130000 AddTempIndexOnNullProjectNamespaceIds: migrated (0.0355s) ===2299main: == 20220323152202 AddIndexOnVisibleDeployments: migrating =====================2300main: -- transaction_open?()2301main: -> 0.0000s2302main: -- index_exists?(:deployments, [:environment_id, :finished_at], {:order=>{:finished_at=>:desc}, :where=>"status IN (1, 2, 3, 4, 6)", :name=>"index_deployments_for_visible_scope", :algorithm=>:concurrently})2303main: -> 0.0133s2304main: -- add_index(:deployments, [:environment_id, :finished_at], {:order=>{:finished_at=>:desc}, :where=>"status IN (1, 2, 3, 4, 6)", :name=>"index_deployments_for_visible_scope", :algorithm=>:concurrently})2305main: -> 0.0016s2306main: == 20220323152202 AddIndexOnVisibleDeployments: migrated (0.0197s) ============2307main: == 20220324032250 MigrateShimoConfluenceServiceCategory: migrating ============2308main: -- transaction_open?()2309main: -> 0.0000s2310main: -- Scheduled 0 MigrateShimoConfluenceIntegrationCategory jobs with a maximum of 10000 records per batch and an interval of 120 seconds.2311The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:32 UTC."2312main: == 20220324032250 MigrateShimoConfluenceServiceCategory: migrated (0.0042s) ===2313main: == 20220324081709 FixAndBackfillProjectNamespacesForProjectsWithDuplicateName: migrating 2314main: -- transaction_open?()2315main: -> 0.0000s2316main: -- Scheduled 0 FixDuplicateProjectNameAndPath jobs with a maximum of 1000 records per batch and an interval of 120 seconds.2317The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:32 UTC."2318main: == 20220324081709 FixAndBackfillProjectNamespacesForProjectsWithDuplicateName: migrated (0.0939s) 2319main: == 20220324091224 AddEnforceAuthChecksOnUploadsToProjectSettings: migrating ===2320main: -- add_column(:project_settings, :enforce_auth_checks_on_uploads, :boolean, {:null=>false, :default=>true})2321main: -> 0.0013s2322main: == 20220324091224 AddEnforceAuthChecksOnUploadsToProjectSettings: migrated (0.0014s) 2323main: == 20220324110247 UntrackDeletionsOnCiJobArtifacts: migrating =================2324main: -- execute("DROP TRIGGER IF EXISTS ci_job_artifacts_loose_fk_trigger ON ci_job_artifacts")2325main: -> 0.0006s2326main: == 20220324110247 UntrackDeletionsOnCiJobArtifacts: migrated (0.0007s) ========2327main: == 20220324165436 ScheduleBackfillProjectSettings: migrating ==================2328main: == 20220324165436 ScheduleBackfillProjectSettings: migrated (0.0263s) =========2329main: == 20220324171254 AddPublicGitLabRunnerReleasesUrlToApplicationSettings: migrating 2330main: -- add_column(:application_settings, :public_runner_releases_url, :text, {:null=>false, :default=>"https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-runner/releases"})2331main: -> 0.0021s2332main: == 20220324171254 AddPublicGitLabRunnerReleasesUrlToApplicationSettings: migrated (0.0022s) 2333main: == 20220324173554 AddTextLimitToPublicGitLabRunnerReleasesUrlApplicationSettings: migrating 2334main: -- transaction_open?()2335main: -> 0.0000s2336main: -- current_schema()2337main: -> 0.0004s2338main: -- transaction_open?()2339main: -> 0.0000s2340main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_8dca35398a\nCHECK ( char_length(public_runner_releases_url) <= 255 )\nNOT VALID;\n")2341main: -> 0.0013s2342main: -- current_schema()2343main: -> 0.0003s2344main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_8dca35398a;")2345main: -> 0.0010s2346main: == 20220324173554 AddTextLimitToPublicGitLabRunnerReleasesUrlApplicationSettings: migrated (0.0078s) 2347main: == 20220324175325 AddKeyDataToSecureFiles: migrating ==========================2348main: -- column_exists?(:ci_secure_files, :key_data)2349main: -> 0.0016s2350main: -- add_column(:ci_secure_files, :key_data, :text)2351main: -> 0.0007s2352main: -- transaction_open?()2353main: -> 0.0000s2354main: -- current_schema()2355main: -> 0.0005s2356main: -- transaction_open?()2357main: -> 0.0000s2358main: -- execute("ALTER TABLE ci_secure_files\nADD CONSTRAINT check_7279b4e293\nCHECK ( char_length(key_data) <= 128 )\nNOT VALID;\n")2359main: -> 0.0013s2360main: -- current_schema()2361main: -> 0.0003s2362main: -- execute("ALTER TABLE ci_secure_files VALIDATE CONSTRAINT check_7279b4e293;")2363main: -> 0.0007s2364main: == 20220324175325 AddKeyDataToSecureFiles: migrated (0.0101s) =================2365main: == 20220324180717 RemoveProjectPagesMetadataArtifactsArchiveIdColumn: migrating 2366main: -- remove_column(:project_pages_metadata, :artifacts_archive_id)2367main: -> 0.0010s2368main: == 20220324180717 RemoveProjectPagesMetadataArtifactsArchiveIdColumn: migrated (0.0012s) 2369main: == 20220325000000 PrepareIndexForCiJobArtifactsUnlockedWithExpireAt: migrating 2370main: -- index_exists?("ci_job_artifacts", [:expire_at], {:where=>"locked = 0 AND expire_at IS NOT NULL", :name=>"index_ci_job_artifacts_on_expire_at_for_removal", :algorithm=>:concurrently})2371main: -> 0.0059s2372main: -- add_index_options("ci_job_artifacts", [:expire_at], {:where=>"locked = 0 AND expire_at IS NOT NULL", :name=>"index_ci_job_artifacts_on_expire_at_for_removal", :algorithm=>:concurrently})2373main: -> 0.0001s2374main: == 20220325000000 PrepareIndexForCiJobArtifactsUnlockedWithExpireAt: migrated (0.0111s) 2375main: == 20220325000001 FinalizeIndexForCiJobArtifactsUnlockedWithExpireAt: migrating 2376main: -- transaction_open?()2377main: -> 0.0000s2378main: -- index_exists?("ci_job_artifacts", [:expire_at], {:where=>"locked = 0 AND expire_at IS NOT NULL", :name=>"index_ci_job_artifacts_on_expire_at_for_removal", :algorithm=>:concurrently})2379main: -> 0.0056s2380main: -- add_index("ci_job_artifacts", [:expire_at], {:where=>"locked = 0 AND expire_at IS NOT NULL", :name=>"index_ci_job_artifacts_on_expire_at_for_removal", :algorithm=>:concurrently})2381main: -> 0.0013s2382main: == 20220325000001 FinalizeIndexForCiJobArtifactsUnlockedWithExpireAt: migrated (0.0113s) 2383main: == 20220325050642 DropIntegrationsTemplateColumn: migrating ===================2384main: -- remove_column(:integrations, :template, :boolean, {:default=>false})2385main: -> 0.0013s2386main: == 20220325050642 DropIntegrationsTemplateColumn: migrated (0.0013s) ==========2387main: == 20220325155953 StealBackgroundJobForFixingConflictingProjectNamesAndPaths: migrating 2388main: == 20220325155953 StealBackgroundJobForFixingConflictingProjectNamesAndPaths: migrated (0.0012s) 2389main: == 20220325160153 CreateUniqueIndexOnProjectsNameAndNamespaceId: migrating ====2390main: -- transaction_open?()2391main: -> 0.0000s2392main: -- index_exists?(:projects, [:name, :namespace_id], {:unique=>true, :name=>"unique_projects_on_name_namespace_id", :algorithm=>:concurrently})2393main: -> 0.0254s2394main: -- add_index(:projects, [:name, :namespace_id], {:unique=>true, :name=>"unique_projects_on_name_namespace_id", :algorithm=>:concurrently})2395main: -> 0.0022s2396main: == 20220325160153 CreateUniqueIndexOnProjectsNameAndNamespaceId: migrated (0.0304s) 2397main: == 20220326161803 AddCascadeDeleteFkOnProjectNamespaceId: migrating ===========2398main: -- transaction_open?()2399main: -> 0.0000s2400main: -- foreign_keys(:projects)2401main: -> 0.0031s2402main: -- transaction_open?()2403main: -> 0.0000s2404main: -- execute("ALTER TABLE projects\nADD CONSTRAINT fk_6ca23af0a3\nFOREIGN KEY (project_namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")2405main: -> 0.0019s2406main: -- execute("ALTER TABLE projects VALIDATE CONSTRAINT fk_6ca23af0a3;")2407main: -> 0.0019s2408main: -- transaction_open?()2409main: -> 0.0000s2410main: -- foreign_keys(:projects)2411main: -> 0.0029s2412main: -- remove_foreign_key(:projects, {:column=>:project_namespace_id, :name=>"fk_71625606ac"})2413main: -> 0.0043s2414main: == 20220326161803 AddCascadeDeleteFkOnProjectNamespaceId: migrated (0.0195s) ==2415main: == 20220326163653 AddNotNullContraintToProjectNamespaceId: migrating ==========2416main: -- current_schema()2417main: -> 0.0005s2418main: -- transaction_open?()2419main: -> 0.0000s2420main: -- current_schema()2421main: -> 0.0003s2422main: -- transaction_open?()2423main: -> 0.0000s2424main: -- execute("ALTER TABLE projects\nADD CONSTRAINT check_fa75869cb1\nCHECK ( project_namespace_id IS NOT NULL )\nNOT VALID;\n")2425main: -> 0.0012s2426main: == 20220326163653 AddNotNullContraintToProjectNamespaceId: migrated (0.0085s) =2427main: == 20220328095848 DeleteFailedResetDuplicateCiRunnersTokenMigrationRecords: migrating 2428main: == 20220328095848 DeleteFailedResetDuplicateCiRunnersTokenMigrationRecords: migrated (0.0025s) 2429main: == 20220328100456 Schedule20220328ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrating 2430main: -- transaction_open?()2431main: -> 0.0000s2432main: -- Scheduled 0 ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects jobs with a maximum of 2000 records per batch and an interval of 120 seconds.2433The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:33 UTC."2434main: == 20220328100456 Schedule20220328ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrated (0.0044s) 2435main: == 20220328100457 Schedule20220328ResetDuplicateCiRunnersTokenValuesOnProjects: migrating 2436main: -- transaction_open?()2437main: -> 0.0000s2438main: -- Scheduled 0 ResetDuplicateCiRunnersTokenValuesOnProjects jobs with a maximum of 2000 records per batch and an interval of 120 seconds.2439The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:33 UTC."2440main: == 20220328100457 Schedule20220328ResetDuplicateCiRunnersTokenValuesOnProjects: migrated (0.0038s) 2441main: == 20220329061545 AddRepositorySizeToPlanLimits: migrating ====================2442main: -- add_column(:plan_limits, :repository_size, :bigint, {:default=>0, :null=>false})2443main: -> 0.0019s2444main: == 20220329061545 AddRepositorySizeToPlanLimits: migrated (0.0019s) ===========2445main: == 20220329092245 AddPasswordCharsRequirementToApplicationSettings: migrating =2446main: -- add_column(:application_settings, :password_uppercase_required, :boolean, {:default=>false, :null=>false})2447main: -> 0.0031s2448main: -- add_column(:application_settings, :password_lowercase_required, :boolean, {:default=>false, :null=>false})2449main: -> 0.0018s2450main: -- add_column(:application_settings, :password_number_required, :boolean, {:default=>false, :null=>false})2451main: -> 0.0017s2452main: -- add_column(:application_settings, :password_symbol_required, :boolean, {:default=>false, :null=>false})2453main: -> 0.0017s2454main: == 20220329092245 AddPasswordCharsRequirementToApplicationSettings: migrated (0.0088s) 2455main: == 20220329095632 AddThemeToBroadcastMessage: migrating =======================2456main: -- add_column(:broadcast_messages, :theme, :smallint, {:null=>false, :default=>0})2457main: -> 0.0015s2458main: == 20220329095632 AddThemeToBroadcastMessage: migrated (0.0016s) ==============2459main: == 20220329110630 AddCiNamespaceMirrorsUnnestIndexOnTraversalIds: migrating ===2460main: -- indexes(:ci_namespace_mirrors)2461main: -> 0.0022s2462main: -- current_schema()2463main: -> 0.0003s2464main: -- execute(" CREATE INDEX CONCURRENTLY index_ci_namespace_mirrors_on_traversal_ids_unnest ON ci_namespace_mirrors\n USING btree ((traversal_ids[1]), (traversal_ids[2]), (traversal_ids[3]), (traversal_ids[4]))\n INCLUDE (traversal_ids, namespace_id)\n")2465main: -> 0.0012s2466main: == 20220329110630 AddCiNamespaceMirrorsUnnestIndexOnTraversalIds: migrated (0.0057s) 2467main: == 20220329130330 AddAuthorToCiSubscriptionsProjects: migrating ===============2468main: -- column_exists?(:ci_subscriptions_projects, :author_id)2469main: -> 0.0021s2470main: -- add_column(:ci_subscriptions_projects, :author_id, :bigint)2471main: -> 0.0009s2472main: -- transaction_open?()2473main: -> 0.0000s2474main: -- index_exists?(:ci_subscriptions_projects, :author_id, {:name=>"index_ci_subscriptions_projects_author_id", :algorithm=>:concurrently})2475main: -> 0.0032s2476main: -- add_index(:ci_subscriptions_projects, :author_id, {:name=>"index_ci_subscriptions_projects_author_id", :algorithm=>:concurrently})2477main: -> 0.0013s2478main: == 20220329130330 AddAuthorToCiSubscriptionsProjects: migrated (0.0113s) ======2479main: == 20220329175119 RemoveLeftoverCiJobArtifactDeletions: migrating =============2480main: -- execute("DELETE FROM \"loose_foreign_keys_deleted_records\"\nWHERE\n(\"loose_foreign_keys_deleted_records\".\"partition\", \"loose_foreign_keys_deleted_records\".\"id\") IN (\n SELECT \"loose_foreign_keys_deleted_records\".\"partition\", \"loose_foreign_keys_deleted_records\".\"id\"\n FROM \"loose_foreign_keys_deleted_records\"\n WHERE\n \"loose_foreign_keys_deleted_records\".\"fully_qualified_table_name\" = 'public.ci_job_artifacts' AND\n \"loose_foreign_keys_deleted_records\".\"status\" = 1\n LIMIT 100\n)\n")2481main: -> 0.0009s2482main: == 20220329175119 RemoveLeftoverCiJobArtifactDeletions: migrated (0.0010s) ====2483main: == 20220331074722 AddNotesNullDiscussionIdTempIndexAsync: migrating ===========2484main: -- index_exists?(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2485main: -> 0.0053s2486main: -- add_index_options(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2487main: -> 0.0001s2488main: == 20220331074722 AddNotesNullDiscussionIdTempIndexAsync: migrated (0.0107s) ==2489main: == 20220331125725 AddTitleToTopic: migrating ==================================2490main: -- add_column(:topics, :title, :text)2491main: -> 0.0011s2492main: == 20220331125725 AddTitleToTopic: migrated (0.0012s) =========================2493main: == 20220331130726 AddTextLimitToTopicsTitle: migrating ========================2494main: -- transaction_open?()2495main: -> 0.0000s2496main: -- current_schema()2497main: -> 0.0004s2498main: -- transaction_open?()2499main: -> 0.0000s2500main: -- execute("ALTER TABLE topics\nADD CONSTRAINT check_223b50f9be\nCHECK ( char_length(title) <= 255 )\nNOT VALID;\n")2501main: -> 0.0009s2502main: -- current_schema()2503main: -> 0.0003s2504main: -- execute("ALTER TABLE topics VALIDATE CONSTRAINT check_223b50f9be;")2505main: -> 0.0006s2506main: == 20220331130726 AddTextLimitToTopicsTitle: migrated (0.0073s) ===============2507main: == 20220331133802 ScheduleBackfillTopicsTitle: migrating ======================2508main: -- transaction_open?()2509main: -> 0.0000s2510main: -- Scheduled 0 BackfillTopicsTitle jobs with a maximum of 1000 records per batch and an interval of 120 seconds.2511The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:33 UTC."2512main: == 20220331133802 ScheduleBackfillTopicsTitle: migrated (0.0022s) =============2513main: == 20220331174026 AddSubmitFieldToDastSiteProfiles: migrating =================2514main: -- add_column(:dast_site_profiles, :auth_submit_field, :text)2515main: -> 0.0012s2516main: == 20220331174026 AddSubmitFieldToDastSiteProfiles: migrated (0.0013s) ========2517main: == 20220331174459 AddTextLimitToSubmitFieldDastSiteProfiles: migrating ========2518main: -- transaction_open?()2519main: -> 0.0000s2520main: -- current_schema()2521main: -> 0.0004s2522main: -- transaction_open?()2523main: -> 0.0000s2524main: -- execute("ALTER TABLE dast_site_profiles\nADD CONSTRAINT check_af44f54c96\nCHECK ( char_length(auth_submit_field) <= 255 )\nNOT VALID;\n")2525main: -> 0.0008s2526main: -- current_schema()2527main: -> 0.0003s2528main: -- execute("ALTER TABLE dast_site_profiles VALIDATE CONSTRAINT check_af44f54c96;")2529main: -> 0.0006s2530main: == 20220331174459 AddTextLimitToSubmitFieldDastSiteProfiles: migrated (0.0070s) 2531main: == 20220401044858 AddUserIdAndStateIndexToMergeRequestAssignees: migrating ====2532main: -- transaction_open?()2533main: -> 0.0000s2534main: -- index_exists?(:merge_request_assignees, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_assignees_user_id_and_state", :algorithm=>:concurrently})2535main: -> 0.0029s2536main: -- add_index(:merge_request_assignees, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_assignees_user_id_and_state", :algorithm=>:concurrently})2537main: -> 0.0012s2538main: == 20220401044858 AddUserIdAndStateIndexToMergeRequestAssignees: migrated (0.0068s) 2539main: == 20220401045116 AddUserIdAndStateIndexToMergeRequestReviewers: migrating ====2540main: -- transaction_open?()2541main: -> 0.0000s2542main: -- index_exists?(:merge_request_reviewers, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_user_id_and_state", :algorithm=>:concurrently})2543main: -> 0.0027s2544main: -- add_index(:merge_request_reviewers, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_user_id_and_state", :algorithm=>:concurrently})2545main: -> 0.0011s2546main: == 20220401045116 AddUserIdAndStateIndexToMergeRequestReviewers: migrated (0.0063s) 2547main: == 20220401045621 RemoveStateIndexOnMergeRequestAssignees: migrating ==========2548main: -- transaction_open?()2549main: -> 0.0000s2550main: -- indexes(:merge_request_assignees)2551main: -> 0.0034s2552main: -- remove_index(:merge_request_assignees, {:algorithm=>:concurrently, :name=>"index_on_merge_request_assignees_state"})2553main: -> 0.0010s2554main: == 20220401045621 RemoveStateIndexOnMergeRequestAssignees: migrated (0.0063s) =2555main: == 20220401045642 RemoveStateIndexOnMergeRequestReviewers: migrating ==========2556main: -- transaction_open?()2557main: -> 0.0000s2558main: -- indexes(:merge_request_reviewers)2559main: -> 0.0030s2560main: -- remove_index(:merge_request_reviewers, {:algorithm=>:concurrently, :name=>"index_on_merge_request_reviewers_state"})2561main: -> 0.0010s2562main: == 20220401045642 RemoveStateIndexOnMergeRequestReviewers: migrated (0.0059s) =2563main: == 20220401071609 AddCampaignToInProductMarketingEmail: migrating =============2564main: -- change_column_null(:in_product_marketing_emails, :track, true)2565main: -> 0.0006s2566main: -- change_column_null(:in_product_marketing_emails, :series, true)2567main: -> 0.0006s2568main: -- add_column(:in_product_marketing_emails, :campaign, :text, {:if_not_exists=>true})2569main: -> 0.0024s2570main: -- transaction_open?()2571main: -> 0.0000s2572main: -- index_exists?(:in_product_marketing_emails, [:user_id, :campaign], {:unique=>true, :name=>:index_in_product_marketing_emails_on_user_campaign, :algorithm=>:concurrently})2573main: -> 0.0021s2574main: -- add_index(:in_product_marketing_emails, [:user_id, :campaign], {:unique=>true, :name=>:index_in_product_marketing_emails_on_user_campaign, :algorithm=>:concurrently})2575main: -> 0.0011s2576main: -- transaction_open?()2577main: -> 0.0000s2578main: -- current_schema()2579main: -> 0.0003s2580main: -- transaction_open?()2581main: -> 0.0000s2582main: -- execute("ALTER TABLE in_product_marketing_emails\nADD CONSTRAINT in_product_marketing_emails_track_and_series_or_campaign\nCHECK ( (track IS NOT NULL AND series IS NOT NULL AND campaign IS NULL) OR (track IS NULL AND series IS NULL AND campaign IS NOT NULL) )\nNOT VALID;\n")2583main: -> 0.0007s2584main: -- current_schema()2585main: -> 0.0003s2586main: -- execute("ALTER TABLE in_product_marketing_emails VALIDATE CONSTRAINT in_product_marketing_emails_track_and_series_or_campaign;")2587main: -> 0.0006s2588main: == 20220401071609 AddCampaignToInProductMarketingEmail: migrated (0.0160s) ====2589main: == 20220401110443 AddOnHoldUntilColumnForBatchedMigration: migrating ==========2590main: -- add_column(:batched_background_migrations, :on_hold_until, :timestamptz, {:comment=>"execution of this migration is on hold until this time"})2591main: -> 0.0014s2592main: == 20220401110443 AddOnHoldUntilColumnForBatchedMigration: migrated (0.0015s) =2593main: == 20220401110511 AddRuntimeDataColumnsToVsaAggregations: migrating ===========2594main: -- change_table(:analytics_cycle_analytics_aggregations, {:bulk=>true})2595main: -> 0.0041s2596main: == 20220401110511 AddRuntimeDataColumnsToVsaAggregations: migrated (0.0042s) ==2597main: == 20220401113123 AddCheckConstraintToVsaAggregationRuntimeDataColumns: migrating 2598main: -- transaction_open?()2599main: -> 0.0000s2600main: -- current_schema()2601main: -> 0.0004s2602main: -- transaction_open?()2603main: -> 0.0000s2604main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations\nADD CONSTRAINT full_runtimes_in_seconds_size\nCHECK ( CARDINALITY(full_runtimes_in_seconds) <= 10 )\nNOT VALID;\n")2605main: -> 0.0007s2606main: -- current_schema()2607main: -> 0.0003s2608main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations VALIDATE CONSTRAINT full_runtimes_in_seconds_size;")2609main: -> 0.0006s2610main: -- transaction_open?()2611main: -> 0.0000s2612main: -- current_schema()2613main: -> 0.0003s2614main: -- transaction_open?()2615main: -> 0.0000s2616main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations\nADD CONSTRAINT full_processed_records_size\nCHECK ( CARDINALITY(full_processed_records) <= 10 )\nNOT VALID;\n")2617main: -> 0.0006s2618main: -- current_schema()2619main: -> 0.0003s2620main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations VALIDATE CONSTRAINT full_processed_records_size;")2621main: -> 0.0006s2622main: == 20220401113123 AddCheckConstraintToVsaAggregationRuntimeDataColumns: migrated (0.0128s) 2623main: == 20220401151123 AddLastRepositoryUpdatedAtToProjectRepositoryState: migrating 2624main: -- add_column(:project_repository_states, :last_repository_updated_at, :datetime_with_timezone)2625main: -> 0.0011s2626main: -- add_column(:project_repository_states, :last_wiki_updated_at, :datetime_with_timezone)2627main: -> 0.0006s2628main: == 20220401151123 AddLastRepositoryUpdatedAtToProjectRepositoryState: migrated (0.0018s) 2629main: == 20220404114106 AddContainerRegistrySizeToProjectStatistics: migrating ======2630main: -- add_column(:project_statistics, :container_registry_size, :bigint, {:default=>0, :null=>false})2631main: -> 0.0011s2632main: == 20220404114106 AddContainerRegistrySizeToProjectStatistics: migrated (0.0011s) 2633main: == 20220404170446 AddIndexForNonRequestedNonInvitedAwaitingMembers: migrating =2634main: -- transaction_open?()2635main: -> 0.0000s2636main: -- index_exists?(:members, :source_id, {:where=>"((requested_at IS NULL) AND (invite_token IS NULL) AND (access_level > 5) AND (state = 1))", :name=>"index_members_on_non_requested_non_invited_and_state_awaiting", :algorithm=>:concurrently})2637main: -> 0.0063s2638main: -- add_index(:members, :source_id, {:where=>"((requested_at IS NULL) AND (invite_token IS NULL) AND (access_level > 5) AND (state = 1))", :name=>"index_members_on_non_requested_non_invited_and_state_awaiting", :algorithm=>:concurrently})2639main: -> 0.0014s2640main: == 20220404170446 AddIndexForNonRequestedNonInvitedAwaitingMembers: migrated (0.0103s) 2641main: == 20220404183350 AddForbiddenStateIndexToUsers: migrating ====================2642main: -- transaction_open?()2643main: -> 0.0000s2644main: -- index_exists?(:users, :id, {:name=>"users_forbidden_state_idx", :where=>"confirmed_at IS NOT NULL AND (state <> ALL (ARRAY['blocked', 'banned', 'ldap_blocked']))", :algorithm=>:concurrently})2645main: -> 0.0120s2646main: -- add_index(:users, :id, {:name=>"users_forbidden_state_idx", :where=>"confirmed_at IS NOT NULL AND (state <> ALL (ARRAY['blocked', 'banned', 'ldap_blocked']))", :algorithm=>:concurrently})2647main: -> 0.0021s2648main: == 20220404183350 AddForbiddenStateIndexToUsers: migrated (0.0166s) ===========2649main: == 20220404184814 DropBroaderExpiredArtifactIndex: migrating ==================2650main: -- transaction_open?()2651main: -> 0.0000s2652main: -- indexes("ci_job_artifacts")2653main: -> 0.0059s2654main: -- remove_index("ci_job_artifacts", {:algorithm=>:concurrently, :name=>"ci_job_artifacts_expire_at_unlocked_idx"})2655main: -> 0.0011s2656main: == 20220404184814 DropBroaderExpiredArtifactIndex: migrated (0.0092s) =========2657main: == 20220404194649 ReplaceWorkItemTypeBackfillNextBatchStrategy: migrating =====2658main: == 20220404194649 ReplaceWorkItemTypeBackfillNextBatchStrategy: migrated (0.0000s) 2659main: == 20220405061122 AddLicenseScanningActionToOnboardingProgresses: migrating ===2660main: -- add_column(:onboarding_progresses, :license_scanning_run_at, :datetime_with_timezone)2661main: -> 0.0012s2662main: == 20220405061122 AddLicenseScanningActionToOnboardingProgresses: migrated (0.0013s) 2663main: == 20220405092619 ToggleVsaAggregationsEnable: migrating ======================2664main: == 20220405092619 ToggleVsaAggregationsEnable: migrated (0.0232s) =============2665main: == 20220405125459 AddNonMigratedIndexToContainerRepositories: migrating =======2666main: -- transaction_open?()2667main: -> 0.0000s2668main: -- index_exists?(:container_repositories, [:project_id, :id], {:name=>"tmp_idx_container_repos_on_non_migrated", :where=>"migration_state != 'import_done' AND created_at < '2022-01-23'", :algorithm=>:concurrently})2669main: -> 0.0054s2670main: -- add_index(:container_repositories, [:project_id, :id], {:name=>"tmp_idx_container_repos_on_non_migrated", :where=>"migration_state != 'import_done' AND created_at < '2022-01-23'", :algorithm=>:concurrently})2671main: -> 0.0014s2672main: == 20220405125459 AddNonMigratedIndexToContainerRepositories: migrated (0.0099s) 2673main: == 20220405181814 AddArkoseSettingsToApplicationSettings: migrating ===========2674main: -- add_column(:application_settings, :encrypted_arkose_labs_public_api_key, :binary)2675main: -> 0.0019s2676main: -- add_column(:application_settings, :encrypted_arkose_labs_public_api_key_iv, :binary)2677main: -> 0.0010s2678main: -- add_column(:application_settings, :encrypted_arkose_labs_private_api_key, :binary)2679main: -> 0.0009s2680main: -- add_column(:application_settings, :encrypted_arkose_labs_private_api_key_iv, :binary)2681main: -> 0.0009s2682main: -- add_column(:application_settings, :arkose_labs_verify_api_url, :text)2683main: -> 0.0010s2684main: == 20220405181814 AddArkoseSettingsToApplicationSettings: migrated (0.0061s) ==2685main: == 20220405203843 AddTextLimitToArkoseVerifyUrlApplicationSettings: migrating =2686main: -- transaction_open?()2687main: -> 0.0000s2688main: -- current_schema()2689main: -> 0.0005s2690main: -- transaction_open?()2691main: -> 0.0000s2692main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_f6563bc000\nCHECK ( char_length(arkose_labs_verify_api_url) <= 255 )\nNOT VALID;\n")2693main: -> 0.0012s2694main: -- current_schema()2695main: -> 0.0004s2696main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_f6563bc000;")2697main: -> 0.0011s2698main: == 20220405203843 AddTextLimitToArkoseVerifyUrlApplicationSettings: migrated (0.0091s) 2699main: == 20220406113217 AddInactiveProjectDeletionToApplicationSettings: migrating ==2700main: -- add_column(:application_settings, :delete_inactive_projects, :boolean, {:default=>false, :null=>false})2701main: -> 0.0027s2702main: -- add_column(:application_settings, :inactive_projects_delete_after_months, :integer, {:default=>2, :null=>false})2703main: -> 0.0015s2704main: -- add_column(:application_settings, :inactive_projects_min_size_mb, :integer, {:default=>0, :null=>false})2705main: -> 0.0014s2706main: -- add_column(:application_settings, :inactive_projects_send_warning_email_after_months, :integer, {:default=>1, :null=>false})2707main: -> 0.0015s2708main: == 20220406113217 AddInactiveProjectDeletionToApplicationSettings: migrated (0.0074s) 2709main: == 20220406121831 AddIndexOnStatusForBatchedBackgroundMigrations: migrating ===2710main: -- transaction_open?()2711main: -> 0.0000s2712main: -- index_exists?(:batched_background_migrations, :status, {:algorithm=>:concurrently})2713main: -> 0.0017s2714main: -- add_index(:batched_background_migrations, :status, {:algorithm=>:concurrently})2715main: -> 0.0013s2716main: -- index_name(:batched_background_migrations, :status)2717main: -> 0.0001s2718main: == 20220406121831 AddIndexOnStatusForBatchedBackgroundMigrations: migrated (0.0064s) 2719main: == 20220406133049 AddDelayedGroupDeletionToApplicationSettings: migrating =====2720main: -- add_column(:application_settings, :delayed_group_deletion, :boolean, {:default=>true, :null=>false})2721main: -> 0.0023s2722main: == 20220406133049 AddDelayedGroupDeletionToApplicationSettings: migrated (0.0024s) 2723main: == 20220407135820 AddEpicsRelativePosition: migrating =========================2724main: -- table_exists?(:epics)2725main: -> 0.0010s2726main: -- column_exists?(:epics, :relative_position)2727main: -> 0.0029s2728main: == 20220407135820 AddEpicsRelativePosition: migrated (0.0040s) ================2729main: == 20220407163559 SchedulePurgingStaleSecurityScans: migrating ================2730main: -- transaction_open?()2731main: -> 0.0000s2732main: -- Scheduled 0 PurgeStaleSecurityScans jobs with a maximum of 10000 records per batch and an interval of 120 seconds.2733The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:33 UTC."2734main: == 20220407163559 SchedulePurgingStaleSecurityScans: migrated (0.0091s) =======2735main: == 20220408001450 AddWorkItemTypeNameUniqueIndexNullNamespaces: migrating =====2736main: -- transaction_open?()2737main: -> 0.0000s2738main: -- index_exists?(:work_item_types, "TRIM(BOTH FROM LOWER(name)), (namespace_id IS NULL)", {:unique=>true, :name=>:idx_work_item_types_on_namespace_id_and_name_null_namespace, :where=>"namespace_id IS NULL", :algorithm=>:concurrently})2739main: -> 0.0013s2740main: -- add_index(:work_item_types, "TRIM(BOTH FROM LOWER(name)), (namespace_id IS NULL)", {:unique=>true, :name=>:idx_work_item_types_on_namespace_id_and_name_null_namespace, :where=>"namespace_id IS NULL", :algorithm=>:concurrently})2741main: -> 0.0015s2742main: == 20220408001450 AddWorkItemTypeNameUniqueIndexNullNamespaces: migrated (0.0058s) 2743main: == 20220408135815 UpdateIndexOnGreatedDoneAtOnContainerRepositories: migrating 2744main: -- transaction_open?()2745main: -> 0.0000s2746main: -- index_exists?(:container_repositories, "GREATEST(migration_pre_import_done_at, migration_import_done_at, migration_aborted_at, migration_skipped_at)", {:where=>"migration_state IN ('import_done', 'pre_import_done', 'import_aborted', 'import_skipped')", :name=>"index_container_repositories_on_greatest_completed_at", :algorithm=>:concurrently})2747main: -> 0.0059s2748main: -- add_index(:container_repositories, "GREATEST(migration_pre_import_done_at, migration_import_done_at, migration_aborted_at, migration_skipped_at)", {:where=>"migration_state IN ('import_done', 'pre_import_done', 'import_aborted', 'import_skipped')", :name=>"index_container_repositories_on_greatest_completed_at", :algorithm=>:concurrently})2749main: -> 0.0013s2750main: -- transaction_open?()2751main: -> 0.0000s2752main: -- indexes(:container_repositories)2753main: -> 0.0055s2754main: -- remove_index(:container_repositories, {:algorithm=>:concurrently, :name=>"index_container_repositories_on_greatest_done_at"})2755main: -> 0.0011s2756main: == 20220408135815 UpdateIndexOnGreatedDoneAtOnContainerRepositories: migrated (0.0190s) 2757main: == 20220409160628 AddAsyncIndexForEventsFollowedUsers: migrating ==============2758main: -- index_exists?(:events, [:author_id, :target_type, :action, :id], {:name=>"index_events_for_followed_users", :algorithm=>:concurrently})2759main: -> 0.0055s2760main: -- add_index_options(:events, [:author_id, :target_type, :action, :id], {:name=>"index_events_for_followed_users", :algorithm=>:concurrently})2761main: -> 0.0001s2762main: == 20220409160628 AddAsyncIndexForEventsFollowedUsers: migrated (0.0114s) =====2763main: == 20220411173544 CleanupOrphansApprovalProjectRules: migrating ===============2764main: == 20220411173544 CleanupOrphansApprovalProjectRules: migrated (0.0242s) ======2765main: == 20220412044906 FinalizeTraversalIdsBackgroundMigrations: migrating =========2766main: -- transaction_open?()2767main: -> 0.0000s2768main: -- transaction_open?()2769main: -> 0.0000s2770main: == 20220412044906 FinalizeTraversalIdsBackgroundMigrations: migrated (0.0087s) 2771main: == 20220412060931 AddNullifyBuildDataTriggerOnMergeRequestMetrics: migrating ==2772main: -- execute("CREATE OR REPLACE FUNCTION nullify_merge_request_metrics_build_data()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF (OLD.pipeline_id IS NOT NULL) AND (NEW.pipeline_id IS NULL) THEN\n NEW.latest_build_started_at = NULL;\n NEW.latest_build_finished_at = NULL;\nEND IF;\nRETURN NEW;\n\nEND\n$$ LANGUAGE PLPGSQL\n")2773main: -> 0.0015s2774main: -- execute("CREATE TRIGGER nullify_merge_request_metrics_build_data_on_update\nBEFORE UPDATE ON merge_request_metrics\nFOR EACH ROW\n\nEXECUTE FUNCTION nullify_merge_request_metrics_build_data()\n")2775main: -> 0.0008s2776main: == 20220412060931 AddNullifyBuildDataTriggerOnMergeRequestMetrics: migrated (0.0025s) 2777main: == 20220412135446 AddUniqueFingerprintSha256IndexToKey: migrating =============2778main: -- transaction_open?()2779main: -> 0.0000s2780main: -- index_exists?(:keys, :fingerprint_sha256, {:unique=>true, :name=>"index_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2781main: -> 0.0035s2782main: -- add_index(:keys, :fingerprint_sha256, {:unique=>true, :name=>"index_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2783main: -> 0.0013s2784main: -- transaction_open?()2785main: -> 0.0000s2786main: -- indexes(:keys)2787main: -> 0.0038s2788main: -- remove_index(:keys, {:algorithm=>:concurrently, :name=>"index_keys_on_fingerprint_sha256"})2789main: -> 0.0011s2790main: == 20220412135446 AddUniqueFingerprintSha256IndexToKey: migrated (0.0149s) ====2791main: == 20220412140446 AddUniqueFingerprintSha256IndexToGroupDeployKey: migrating ==2792main: -- transaction_open?()2793main: -> 0.0000s2794main: -- index_exists?(:group_deploy_keys, :fingerprint_sha256, {:unique=>true, :name=>"index_group_deploy_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2795main: -> 0.0024s2796main: -- add_index(:group_deploy_keys, :fingerprint_sha256, {:unique=>true, :name=>"index_group_deploy_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2797main: -> 0.0013s2798main: -- transaction_open?()2799main: -> 0.0000s2800main: -- indexes(:group_deploy_keys)2801main: -> 0.0026s2802main: -- remove_index(:group_deploy_keys, {:algorithm=>:concurrently, :name=>"index_group_deploy_keys_on_fingerprint_sha256"})2803main: -> 0.0011s2804main: == 20220412140446 AddUniqueFingerprintSha256IndexToGroupDeployKey: migrated (0.0122s) 2805main: == 20220412140755 DropUniqueFingerprintMd5IndexFromKey: migrating =============2806main: -- transaction_open?()2807main: -> 0.0000s2808main: -- indexes(:keys)2809main: -> 0.0038s2810main: -- remove_index(:keys, {:algorithm=>:concurrently, :name=>"index_keys_on_fingerprint"})2811main: -> 0.0011s2812main: -- transaction_open?()2813main: -> 0.0000s2814main: -- index_exists?(:keys, :fingerprint, {:name=>"index_keys_on_fingerprint", :algorithm=>:concurrently})2815main: -> 0.0031s2816main: -- add_index(:keys, :fingerprint, {:name=>"index_keys_on_fingerprint", :algorithm=>:concurrently})2817main: -> 0.0011s2818main: == 20220412140755 DropUniqueFingerprintMd5IndexFromKey: migrated (0.0140s) ====2819main: == 20220412141020 DropUniqueFingerprintMd5IndexFromGroupDeployKey: migrating ==2820main: -- transaction_open?()2821main: -> 0.0000s2822main: -- indexes(:group_deploy_keys)2823main: -> 0.0024s2824main: -- remove_index(:group_deploy_keys, {:algorithm=>:concurrently, :name=>"index_group_deploy_keys_on_fingerprint"})2825main: -> 0.0010s2826main: -- transaction_open?()2827main: -> 0.0000s2828main: -- index_exists?(:group_deploy_keys, :fingerprint, {:name=>"index_group_deploy_keys_on_fingerprint", :algorithm=>:concurrently})2829main: -> 0.0019s2830main: -- add_index(:group_deploy_keys, :fingerprint, {:name=>"index_group_deploy_keys_on_fingerprint", :algorithm=>:concurrently})2831main: -> 0.0011s2832main: == 20220412141020 DropUniqueFingerprintMd5IndexFromGroupDeployKey: migrated (0.0108s) 2833main: == 20220412143551 AddPartialIndexOnUnencryptedIntegrations: migrating =========2834main: -- transaction_open?()2835main: -> 0.0000s2836main: -- index_exists?(:integrations, [:id], {:where=>"properties IS NOT NULL AND encrypted_properties IS NULL", :name=>"index_integrations_on_id_where_not_encrypted", :algorithm=>:concurrently})2837main: -> 0.0041s2838main: -- add_index(:integrations, [:id], {:where=>"properties IS NOT NULL AND encrypted_properties IS NULL", :name=>"index_integrations_on_id_where_not_encrypted", :algorithm=>:concurrently})2839main: -> 0.0014s2840main: == 20220412143551 AddPartialIndexOnUnencryptedIntegrations: migrated (0.0081s) 2841main: == 20220412143552 ConsumeRemainingEncryptIntegrationPropertyJobs: migrating ===2842main: == 20220412143552 ConsumeRemainingEncryptIntegrationPropertyJobs: migrated (0.0036s) 2843main: == 20220412171810 AddOtpSecretExpiresAt: migrating ============================2844main: -- add_column(:users, :otp_secret_expires_at, :datetime_with_timezone)2845main: -> 0.0011s2846main: == 20220412171810 AddOtpSecretExpiresAt: migrated (0.0012s) ===================2847main: == 20220413011328 RemovePartialIndexOnUnencryptedIntegrations: migrating ======2848main: -- transaction_open?()2849main: -> 0.0000s2850main: -- indexes(:integrations)2851main: -> 0.0043s2852main: -- remove_index(:integrations, {:algorithm=>:concurrently, :name=>"index_integrations_on_id_where_not_encrypted"})2853main: -> 0.0009s2854main: == 20220413011328 RemovePartialIndexOnUnencryptedIntegrations: migrated (0.0074s) 2855main: == 20220413054910 BackfillDelayedGroupDeletion: migrating =====================2856main: == 20220413054910 BackfillDelayedGroupDeletion: migrated (0.3225s) ============2857main: == 20220413075921 UpdateIndexOnPackagesBuildInfos: migrating ==================2858main: -- transaction_open?()2859main: -> 0.0000s2860main: -- index_exists?(:packages_build_infos, [:package_id, :pipeline_id, :id], {:name=>"index_packages_build_infos_package_id_pipeline_id_id", :algorithm=>:concurrently})2861main: -> 0.0021s2862main: -- add_index(:packages_build_infos, [:package_id, :pipeline_id, :id], {:name=>"index_packages_build_infos_package_id_pipeline_id_id", :algorithm=>:concurrently})2863main: -> 0.0012s2864main: -- transaction_open?()2865main: -> 0.0000s2866main: -- indexes(:packages_build_infos)2867main: -> 0.0022s2868main: -- remove_index(:packages_build_infos, {:algorithm=>:concurrently, :name=>"index_packages_build_infos_package_id_pipeline_id"})2869main: -> 0.0009s2870main: == 20220413075921 UpdateIndexOnPackagesBuildInfos: migrated (0.0107s) =========2871main: == 20220413124200 AddViewForPerTableAutovacuumStatus: migrating ===============2872main: -- execute("DROP VIEW IF EXISTS postgres_autovacuum_activity;\nDROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum;\n\nCREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS SETOF pg_catalog.pg_stat_activity AS\n$$\n SELECT *\n FROM pg_stat_activity\n WHERE datname = current_database()\n AND state = 'active'\n AND backend_type = 'autovacuum worker'\n$$\nLANGUAGE sql\nVOLATILE\nSECURITY DEFINER\nSET search_path = 'pg_catalog', 'pg_temp';\n\nCREATE VIEW postgres_autovacuum_activity AS\n WITH processes as\n (\n SELECT query, query_start, (regexp_matches(query, '^autovacuum: VACUUM (w+).(w+)')) as matches\n FROM postgres_pg_stat_activity_autovacuum()\n WHERE query ~* '^autovacuum: VACUUM w+.w+'\n )\n SELECT matches[1] || '.' || matches[2] as table_identifier,\n matches[1] as schema,\n matches[2] as table,\n query_start as vacuum_start\n FROM processes;\n\nCOMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.';\n")2873main: -> 0.0023s2874main: == 20220413124200 AddViewForPerTableAutovacuumStatus: migrated (0.0024s) ======2875main: == 20220413164146 RemoveMaxSeatsUsedIndices: migrating ========================2876main: -- transaction_open?()2877main: -> 0.0000s2878main: -- indexes(:gitlab_subscriptions)2879main: -> 0.0048s2880main: -- remove_index(:gitlab_subscriptions, {:algorithm=>:concurrently, :name=>"tmp_gitlab_subscriptions_max_seats_used_migration"})2881main: -> 0.0010s2882main: -- transaction_open?()2883main: -> 0.0000s2884main: -- indexes(:gitlab_subscriptions)2885main: -> 0.0039s2886main: -- remove_index(:gitlab_subscriptions, {:algorithm=>:concurrently, :name=>"tmp_gitlab_subscriptions_max_seats_used_migration_2"})2887main: -> 0.0010s2888main: == 20220413164146 RemoveMaxSeatsUsedIndices: migrated (0.0157s) ===============2889main: == 20220413235818 AddMaxSeatsUsedChangedAtToGitlabSubscriptions: migrating ====2890main: -- add_column(:gitlab_subscriptions, :max_seats_used_changed_at, :datetime_with_timezone)2891main: -> 0.0012s2892main: == 20220413235818 AddMaxSeatsUsedChangedAtToGitlabSubscriptions: migrated (0.0014s) 2893main: == 20220414203622 AddIndexForColumnsUserCustomAttribute: migrating ============2894main: -- transaction_open?()2895main: -> 0.0000s2896main: -- index_exists?(:user_custom_attributes, [:key, :updated_at], {:name=>"index_key_updated_at_on_user_custom_attribute", :algorithm=>:concurrently})2897main: -> 0.0030s2898main: -- add_index(:user_custom_attributes, [:key, :updated_at], {:name=>"index_key_updated_at_on_user_custom_attribute", :algorithm=>:concurrently})2899main: -> 0.0011s2900main: == 20220414203622 AddIndexForColumnsUserCustomAttribute: migrated (0.0074s) ===2901main: == 20220415015143 ReplaceIterationsCadenceDateRangeConstraint: migrating ======2902main: -- execute("ALTER TABLE sprints\n DROP CONSTRAINT IF EXISTS iteration_start_and_due_date_iterations_cadence_id_constraint;\n\nALTER TABLE sprints\n ADD CONSTRAINT iteration_start_and_due_date_iterations_cadence_id_constraint\n EXCLUDE USING gist\n ( iterations_cadence_id WITH =,\n daterange(start_date, due_date, '[]') WITH &&\n )\n WHERE (group_id IS NOT NULL) DEFERRABLE INITIALLY DEFERRED;\n")2903main: -> 0.0019s2904main: == 20220415015143 ReplaceIterationsCadenceDateRangeConstraint: migrated (0.0021s) 2905main: == 20220415124802 RemoveJobArtifactDeprecatedGeoFields: migrating =============2906main: -- transaction_open?()2907main: -> 0.0000s2908main: -- remove_column(:geo_event_log, :job_artifact_deleted_event_id, :bigint)2909main: -> 0.0012s2910main: == 20220415124802 RemoveJobArtifactDeprecatedGeoFields: migrated (0.0040s) ====2911main: == 20220415124804 RemoveJobArtifactDeletedEventTable: migrating ===============2912main: -- drop_table(:geo_job_artifact_deleted_events)2913main: -> 0.0020s2914main: == 20220415124804 RemoveJobArtifactDeletedEventTable: migrated (0.0022s) ======2915main: == 20220418180958 RemoveIntegrationsProperties: migrating =====================2916main: -- remove_column(:integrations, :properties, :text)2917main: -> 0.0009s2918main: == 20220418180958 RemoveIntegrationsProperties: migrated (0.0011s) ============2919main: == 20220419223906 AddArkoseNamespaceToApplicationSettings: migrating ==========2920main: -- column_exists?(:application_settings, :arkose_labs_namespace)2921main: -> 0.2955s2922main: -- add_column(:application_settings, :arkose_labs_namespace, :text, {:default=>"client", :null=>false})2923main: -> 0.0027s2924main: -- transaction_open?()2925main: -> 0.0000s2926main: -- current_schema()2927main: -> 0.0005s2928main: -- transaction_open?()2929main: -> 0.0000s2930main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_7ccfe2764a\nCHECK ( char_length(arkose_labs_namespace) <= 255 )\nNOT VALID;\n")2931main: -> 0.0013s2932main: -- current_schema()2933main: -> 0.0005s2934main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_7ccfe2764a;")2935main: -> 0.0012s2936main: == 20220419223906 AddArkoseNamespaceToApplicationSettings: migrated (0.3095s) =2937main: == 20220420034519 AddTextLimitToInProductMarketingEmailCampaign: migrating ====2938main: -- transaction_open?()2939main: -> 0.0000s2940main: -- current_schema()2941main: -> 0.0006s2942main: -- transaction_open?()2943main: -> 0.0000s2944main: -- execute("ALTER TABLE in_product_marketing_emails\nADD CONSTRAINT check_9d8b29f74f\nCHECK ( char_length(campaign) <= 255 )\nNOT VALID;\n")2945main: -> 0.0010s2946main: -- current_schema()2947main: -> 0.0005s2948main: -- execute("ALTER TABLE in_product_marketing_emails VALIDATE CONSTRAINT check_9d8b29f74f;")2949main: -> 0.0008s2950main: == 20220420034519 AddTextLimitToInProductMarketingEmailCampaign: migrated (0.0098s) 2951main: == 20220420061439 AddNotesNullDiscussionIdTempIndex: migrating ================2952main: -- transaction_open?()2953main: -> 0.0000s2954main: -- index_exists?(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2955main: -> 0.0094s2956main: -- add_index(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2957main: -> 0.0015s2958main: == 20220420061439 AddNotesNullDiscussionIdTempIndex: migrated (0.0181s) =======2959main: == 20220420061450 BackfillNullNoteDiscussionIds: migrating ====================2960main: -- transaction_open?()2961main: -> 0.0000s2962main: -- Scheduled 0 BackfillNoteDiscussionId jobs with a maximum of 10000 records per batch and an interval of 120 seconds.2963The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:34 UTC."2964main: == 20220420061450 BackfillNullNoteDiscussionIds: migrated (0.0041s) ===========2965main: == 20220420135245 FixBatchedBackgroundMigrationDefaultArguments: migrating ====2966main: -- change_column_default(:batched_background_migrations, :job_arguments, {:from=>"[]", :to=>[]})2967main: -> 0.0037s2968main: == 20220420135245 FixBatchedBackgroundMigrationDefaultArguments: migrated (0.0038s) 2969main: == 20220420135946 UpdateBatchedBackgroundMigrationArguments: migrating ========2970main: -- execute("UPDATE batched_background_migrations\nSET job_arguments = '[]'\nWHERE job_arguments = '\"[]\"';\n")2971main: -> 0.0014s2972main: == 20220420135946 UpdateBatchedBackgroundMigrationArguments: migrated (0.0015s) 2973main: == 20220420173247 AddGroupInheritanceTypeToPeAuthorizable: migrating ==========2974main: -- add_column(:protected_environment_deploy_access_levels, :group_inheritance_type, :smallint, {:default=>0, :limit=>2, :null=>false})2975main: -> 0.0024s2976main: -- add_column(:protected_environment_approval_rules, :group_inheritance_type, :smallint, {:default=>0, :limit=>2, :null=>false})2977main: -> 0.0014s2978main: == 20220420173247 AddGroupInheritanceTypeToPeAuthorizable: migrated (0.0041s) =2979main: == 20220420192542 AddIdForCleanupIndexPackagesPackageFiles: migrating =========2980main: -- transaction_open?()2981main: -> 0.0000s2982main: -- index_exists?(:packages_package_files, :id, {:name=>"index_packages_package_files_on_id_for_cleanup", :where=>"status = 1", :algorithm=>:concurrently})2983main: -> 0.0082s2984main: -- add_index(:packages_package_files, :id, {:name=>"index_packages_package_files_on_id_for_cleanup", :where=>"status = 1", :algorithm=>:concurrently})2985main: -> 0.0016s2986main: == 20220420192542 AddIdForCleanupIndexPackagesPackageFiles: migrated (0.0141s) 2987main: == 20220420214703 ScheduleBackfillDraftStatusOnMergeRequestsCorrectedRegex: migrating 2988main: -- transaction_open?()2989main: -> 0.0000s2990main: -- index_exists?(:merge_requests, :id, {:where=>"draft = false AND state_id = 1 AND ((title)::text ~* '^(\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP)'::text)", :name=>"tmp_index_merge_requests_draft_and_status", :algorithm=>:concurrently})2991main: -> 0.0140s2992main: -- add_index(:merge_requests, :id, {:where=>"draft = false AND state_id = 1 AND ((title)::text ~* '^(\\[draft\\]|\\(draft\\)|draft:|draft|\\[WIP\\]|WIP:|WIP)'::text)", :name=>"tmp_index_merge_requests_draft_and_status", :algorithm=>:concurrently})2993main: -> 0.0018s2994main: -- transaction_open?()2995main: -> 0.0000s2996main: -- Scheduled 0 BackfillDraftStatusOnMergeRequestsWithCorrectedRegex jobs with a maximum of 50 records per batch and an interval of 120 seconds.2997The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:34 UTC."2998main: == 20220420214703 ScheduleBackfillDraftStatusOnMergeRequestsCorrectedRegex: migrated (0.0278s) 2999main: == 20220421114418 MakeFingerprintNullableForGroupDeployKey: migrating =========3000main: -- change_column_null(:group_deploy_keys, :fingerprint, true)3001main: -> 0.0013s3002main: == 20220421114418 MakeFingerprintNullableForGroupDeployKey: migrated (0.0016s) 3003main: == 20220421141342 AddAllowedPlansToCiRunners: migrating =======================3004main: -- add_column(:ci_runners, :allowed_plans, :text, {:array=>true, :null=>false, :default=>[]})3005main: -> 0.0015s3006main: == 20220421141342 AddAllowedPlansToCiRunners: migrated (0.0016s) ==============3007main: == 20220421144758 ChangeDotenvPlanLimitsForOldPlans: migrating ================3008main: -- quote_column_name("dotenv_variables")3009main: -> 0.0000s3010main: -- quote("early_adopter")3011main: -> 0.0000s3012main: -- quote(50)3013main: -> 0.0000s3014main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '50' FROM plans WHERE name = 'early_adopter' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")3015main: -> 0.0021s3016main: -- quote_column_name("dotenv_variables")3017main: -> 0.0000s3018main: -- quote("bronze")3019main: -> 0.0000s3020main: -- quote(50)3021main: -> 0.0000s3022main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '50' FROM plans WHERE name = 'bronze' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")3023main: -> 0.0011s3024main: -- quote_column_name("dotenv_variables")3025main: -> 0.0000s3026main: -- quote("silver")3027main: -> 0.0000s3028main: -- quote(100)3029main: -> 0.0000s3030main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '100' FROM plans WHERE name = 'silver' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")3031main: -> 0.0013s3032main: -- quote_column_name("dotenv_variables")3033main: -> 0.0000s3034main: -- quote("gold")3035main: -> 0.0000s3036main: -- quote(150)3037main: -> 0.0000s3038main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'gold' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")3039main: -> 0.0011s3040main: == 20220421144758 ChangeDotenvPlanLimitsForOldPlans: migrated (0.0074s) =======3041main: == 20220421180321 AddLastCleanupDeletedTagsCountToContainerRepository: migrating 3042main: -- add_column(:container_repositories, :last_cleanup_deleted_tags_count, :integer)3043main: -> 0.0013s3044main: == 20220421180321 AddLastCleanupDeletedTagsCountToContainerRepository: migrated (0.0016s) 3045main: == 20220422121443 AddAsyncIndexForGroupActivityEvents: migrating ==============3046main: -- index_exists?(:events, [:group_id, :target_type, :action, :id], {:name=>"index_events_for_group_activity", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3047main: -> 0.0090s3048main: -- add_index_options(:events, [:group_id, :target_type, :action, :id], {:name=>"index_events_for_group_activity", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3049main: -> 0.0001s3050main: == 20220422121443 AddAsyncIndexForGroupActivityEvents: migrated (0.0142s) =====3051main: == 20220422200633 FixViewForPerTableAutovacuumStatus: migrating ===============3052main: -- execute("DROP VIEW IF EXISTS postgres_autovacuum_activity;\nDROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum;\n\nCREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS TABLE(query text, query_start timestamptz) AS\n$$\n SELECT query, query_start\n FROM pg_stat_activity\n WHERE datname = current_database()\n AND state = 'active'\n AND backend_type = 'autovacuum worker'\n$$\nLANGUAGE sql\nVOLATILE\nSECURITY DEFINER\nSET search_path = 'pg_catalog', 'pg_temp';\n\nCREATE VIEW postgres_autovacuum_activity AS\n WITH processes as\n (\n SELECT query, query_start, (regexp_matches(query, '^autovacuum: VACUUM (w+).(w+)')) as matches\n FROM postgres_pg_stat_activity_autovacuum()\n WHERE query ~* '^autovacuum: VACUUM w+.w+'\n )\n SELECT matches[1] || '.' || matches[2] as table_identifier,\n matches[1] as schema,\n matches[2] as table,\n query_start as vacuum_start\n FROM processes;\n\nCOMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.';\n")3053main: -> 0.0028s3054main: == 20220422200633 FixViewForPerTableAutovacuumStatus: migrated (0.0030s) ======3055main: == 20220422220507 RemoveTmpIndexSupportingLeakyRegexCleanup: migrating ========3056main: -- transaction_open?()3057main: -> 0.0000s3058main: -- indexes(:merge_requests)3059main: -> 0.0269s3060main: -- remove_index(:merge_requests, {:algorithm=>:concurrently, :name=>"tmp_index_merge_requests_draft_and_status_leaky_regex"})3061main: -> 0.0014s3062main: == 20220422220507 RemoveTmpIndexSupportingLeakyRegexCleanup: migrated (0.0320s) 3063main: == 20220425111114 AddAsyncIndexForProjectActivityEvents: migrating ============3064main: -- index_exists?(:events, [:project_id, :target_type, :action, :id], {:name=>"index_events_for_project_activity", :algorithm=>:concurrently})3065main: -> 0.0104s3066main: -- add_index_options(:events, [:project_id, :target_type, :action, :id], {:name=>"index_events_for_project_activity", :algorithm=>:concurrently})3067main: -> 0.0001s3068main: == 20220425111114 AddAsyncIndexForProjectActivityEvents: migrated (0.0177s) ===3069main: == 20220425111453 AddAsyncIndexToEventsOnGroupIdAndId: migrating ==============3070main: -- index_exists?(:events, [:group_id, :id], {:name=>"index_events_on_group_id_and_id", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3071main: -> 0.0102s3072main: -- add_index_options(:events, [:group_id, :id], {:name=>"index_events_on_group_id_and_id", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3073main: -> 0.0001s3074main: == 20220425111453 AddAsyncIndexToEventsOnGroupIdAndId: migrated (0.0176s) =====3075main: == 20220425120604 CreatePackagesCleanupPolicies: migrating ====================3076main: -- create_table(:packages_cleanup_policies, {:id=>false})3077main: -- quote_column_name(:keep_n_duplicated_package_files)3078main: -> 0.0000s3079main: -> 0.0040s3080main: == 20220425120604 CreatePackagesCleanupPolicies: migrated (0.0042s) ===========3081main: == 20220425121410 AddTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrating 3082main: -- transaction_open?()3083main: -> 0.0000s3084main: -- index_exists?(:integrations, :id, {:where=>"type_new IN ('Integrations::DroneCi', 'Integrations::Teamcity') AND encrypted_properties IS NOT NULL", :name=>"tmp_index_integrations_on_id_where_type_droneci_or_teamcity", :algorithm=>:concurrently})3085main: -> 0.0069s3086main: -- add_index(:integrations, :id, {:where=>"type_new IN ('Integrations::DroneCi', 'Integrations::Teamcity') AND encrypted_properties IS NOT NULL", :name=>"tmp_index_integrations_on_id_where_type_droneci_or_teamcity", :algorithm=>:concurrently})3087main: -> 0.0015s3088main: == 20220425121410 AddTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrated (0.0131s) 3089main: == 20220425121435 BackfillIntegrationsEnableSslVerification: migrating ========3090main: -- transaction_open?()3091main: -> 0.0000s3092main: -- Scheduled 0 BackfillIntegrationsEnableSslVerification jobs with a maximum of 1000 records per batch and an interval of 300 seconds.3093The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:34 UTC."3094main: == 20220425121435 BackfillIntegrationsEnableSslVerification: migrated (0.0038s) 3095main: == 20220426130217 AddMaxExportSizeToApplicationSettings: migrating ============3096main: -- add_column(:application_settings, :max_export_size, :integer, {:default=>0})3097main: -> 0.0030s3098main: == 20220426130217 AddMaxExportSizeToApplicationSettings: migrated (0.0033s) ===3099main: == 20220426185933 BackfillDeploymentsFinishedAt: migrating ====================3100main: == 20220426185933 BackfillDeploymentsFinishedAt: migrated (0.0243s) ===========3101main: == 20220428133724 ScheduleExpireOAuthTokens: migrating ========================3102main: == 20220428133724 ScheduleExpireOAuthTokens: migrated (0.0002s) ===============3103main: == 20220502015011 CleanUpFixMergeRequestDiffCommitUsers: migrating ============3104main: -- transaction_open?()3105main: -> 0.0000s3106main: == 20220502015011 CleanUpFixMergeRequestDiffCommitUsers: migrated (0.0058s) ===3107main: == 20220502125053 RecreateIndexForProjectGroupLinkWithGroupIdAndProjectId: migrating 3108main: -- transaction_open?()3109main: -> 0.0000s3110main: -- index_exists?(:project_group_links, [:group_id, :project_id], {:name=>"index_project_group_links_on_group_id_and_project_id", :algorithm=>:concurrently})3111main: -> 0.0032s3112main: -- add_index(:project_group_links, [:group_id, :project_id], {:name=>"index_project_group_links_on_group_id_and_project_id", :algorithm=>:concurrently})3113main: -> 0.0016s3114main: -- transaction_open?()3115main: -> 0.0000s3116main: -- indexes(:project_group_links)3117main: -> 0.0035s3118main: -- remove_index(:project_group_links, {:algorithm=>:concurrently, :name=>"index_project_group_links_on_group_id"})3119main: -> 0.0011s3120main: == 20220502125053 RecreateIndexForProjectGroupLinkWithGroupIdAndProjectId: migrated (0.0157s) 3121main: == 20220502150408 AddSlackIntegrationsBotColumns: migrating ===================3122main: -- change_table(:slack_integrations)3123main: -> 0.0024s3124main: == 20220502150408 AddSlackIntegrationsBotColumns: migrated (0.0026s) ==========3125main: == 20220502152633 AddSlackIntegrationsBotUserIdTextLimit: migrating ===========3126main: -- transaction_open?()3127main: -> 0.0000s3128main: -- current_schema()3129main: -> 0.0005s3130main: -- transaction_open?()3131main: -> 0.0000s3132main: -- execute("ALTER TABLE slack_integrations\nADD CONSTRAINT check_bc553aea8a\nCHECK ( char_length(bot_user_id) <= 255 )\nNOT VALID;\n")3133main: -> 0.0008s3134main: -- current_schema()3135main: -> 0.0004s3136main: -- execute("ALTER TABLE slack_integrations VALIDATE CONSTRAINT check_bc553aea8a;")3137main: -> 0.0006s3138main: == 20220502152633 AddSlackIntegrationsBotUserIdTextLimit: migrated (0.0084s) ==3139main: == 20220502173045 ResetTooManyTagsSkippedRegistryImports: migrating ===========3140main: -- transaction_open?()3141main: -> 0.0000s3142main: -- Scheduled 0 ResetTooManyTagsSkippedRegistryImports jobs with a maximum of 10000 records per batch and an interval of 120 seconds.3143The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:34 UTC."3144main: == 20220502173045 ResetTooManyTagsSkippedRegistryImports: migrated (0.0031s) ==3145main: == 20220503035221 AddGitlabSchemaToBatchedBackgroundMigrations: migrating =====3146main: -- add_column(:batched_background_migrations, :gitlab_schema, :text, {:null=>false, :default=>:gitlab_main})3147main: -> 0.0018s3148main: -- change_column_default(:batched_background_migrations, :gitlab_schema, {:from=>:gitlab_main, :to=>nil})3149main: -> 0.0032s3150main: == 20220503035221 AddGitlabSchemaToBatchedBackgroundMigrations: migrated (0.0052s) 3151main: == 20220503035437 AddTextLimitToBatchedBackgroundMigrationsGitlabSchema: migrating 3152main: -- transaction_open?()3153main: -> 0.0000s3154main: -- current_schema()3155main: -> 0.0004s3156main: -- transaction_open?()3157main: -> 0.0000s3158main: -- execute("ALTER TABLE batched_background_migrations\nADD CONSTRAINT check_0406d9776f\nCHECK ( char_length(gitlab_schema) <= 255 )\nNOT VALID;\n")3159main: -> 0.0008s3160main: -- current_schema()3161main: -> 0.0004s3162main: -- execute("ALTER TABLE batched_background_migrations VALIDATE CONSTRAINT check_0406d9776f;")3163main: -> 0.0008s3164main: == 20220503035437 AddTextLimitToBatchedBackgroundMigrationsGitlabSchema: migrated (0.0083s) 3165main: == 20220503073401 RecreateIndexForGroupGroupLinkWithBothGroupIds: migrating ===3166main: -- transaction_open?()3167main: -> 0.0000s3168main: -- index_exists?(:group_group_links, [:shared_with_group_id, :shared_group_id], {:name=>"index_group_group_links_on_shared_with_group_and_shared_group", :algorithm=>:concurrently})3169main: -> 0.0030s3170main: -- add_index(:group_group_links, [:shared_with_group_id, :shared_group_id], {:name=>"index_group_group_links_on_shared_with_group_and_shared_group", :algorithm=>:concurrently})3171main: -> 0.0013s3172main: -- transaction_open?()3173main: -> 0.0000s3174main: -- indexes(:group_group_links)3175main: -> 0.0034s3176main: -- remove_index(:group_group_links, {:algorithm=>:concurrently, :name=>"index_group_group_links_on_shared_with_group_id"})3177main: -> 0.0010s3178main: == 20220503073401 RecreateIndexForGroupGroupLinkWithBothGroupIds: migrated (0.0147s) 3179main: == 20220503102855 AddNamespaceCiCdSettingsTable: migrating ====================3180main: -- create_table(:namespace_ci_cd_settings, {:id=>false})3181main: -> 0.0028s3182main: == 20220503102855 AddNamespaceCiCdSettingsTable: migrated (0.0030s) ===========3183main: == 20220503114353 PrepareConfidentialNoteIndex: migrating =====================3184main: -- index_exists?(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3185main: -> 0.0089s3186main: -- add_index_options(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3187main: -> 0.0000s3188main: == 20220503114353 PrepareConfidentialNoteIndex: migrated (0.0146s) ============3189main: == 20220503134610 RemoveRequirementsManagementTestReportsRequirementId: migrating 3190main: -- transaction_open?()3191main: -> 0.0000s3192main: -- remove_column(:requirements_management_test_reports, :requirement_id)3193main: -> 0.0012s3194main: == 20220503134610 RemoveRequirementsManagementTestReportsRequirementId: migrated (0.0036s) 3195main: == 20220504042847 AddSlackSigningKeyToApplicationSettings: migrating ==========3196main: -- add_column(:application_settings, :encrypted_slack_app_signing_secret, :binary)3197main: -> 0.0018s3198main: -- add_column(:application_settings, :encrypted_slack_app_signing_secret_iv, :binary)3199main: -> 0.0010s3200main: == 20220504042847 AddSlackSigningKeyToApplicationSettings: migrated (0.0029s) =3201main: == 20220504083348 AddIndexesForPrimaryEmailPostRegressionCleanupMigration: migrating 3202main: -- indexes(:users)3203main: -> 0.0193s3204main: -- current_schema()3205main: -> 0.0004s3206main: -- execute("CREATE INDEX CONCURRENTLY index_users_on_id_for_primary_email_migration\nON users (id) INCLUDE (email, confirmed_at)\nWHERE confirmed_at IS NOT NULL\n")3207main: -> 0.0020s3208main: -- transaction_open?()3209main: -> 0.0000s3210main: -- index_exists?(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})3211main: -> 0.0037s3212main: -- add_index(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})3213main: -> 0.0012s3214main: == 20220504083348 AddIndexesForPrimaryEmailPostRegressionCleanupMigration: migrated (0.0323s) 3215main: == 20220504083836 CleanupAfterFixingRegressionWithNewUsersEmails: migrating ===3216main: == 20220504083836 CleanupAfterFixingRegressionWithNewUsersEmails: migrated (0.0038s) 3217main: == 20220504084136 DropTemporaryIndexesForPrimaryEmailPostRegressionCleanup: migrating 3218main: -- transaction_open?()3219main: -> 0.0000s3220main: -- indexes(:users)3221main: -> 0.0200s3222main: -- remove_index(:users, {:algorithm=>:concurrently, :name=>:index_users_on_id_for_primary_email_migration})3223main: -> 0.0014s3224main: -- transaction_open?()3225main: -> 0.0000s3226main: -- indexes(:emails)3227main: -> 0.0042s3228main: -- remove_index(:emails, {:algorithm=>:concurrently, :name=>:index_emails_on_email_user_id})3229main: -> 0.0010s3230main: == 20220504084136 DropTemporaryIndexesForPrimaryEmailPostRegressionCleanup: migrated (0.0325s) 3231main: == 20220504140036 AddContainerRegistrySizeToNamespaceRootStorageStatistics: migrating 3232main: -- add_column(:namespace_root_storage_statistics, :container_registry_size, :bigint, {:default=>0, :null=>false})3233main: -> 0.0015s3234main: == 20220504140036 AddContainerRegistrySizeToNamespaceRootStorageStatistics: migrated (0.0017s) 3235main: == 20220505022001 AddIndexToDeploymentsOnCreatedAtClusterIdAndProjectId: migrating 3236main: -- transaction_open?()3237main: -> 0.0000s3238main: -- index_exists?(:deployments, [:created_at, :cluster_id, :project_id], {:name=>"tp_index_created_at_cluster_id_project_id_on_deployments", :where=>"cluster_id is not null and created_at > '2022-04-03 00:00:00'", :algorithm=>:concurrently})3239main: -> 0.0181s3240main: -- add_index(:deployments, [:created_at, :cluster_id, :project_id], {:name=>"tp_index_created_at_cluster_id_project_id_on_deployments", :where=>"cluster_id is not null and created_at > '2022-04-03 00:00:00'", :algorithm=>:concurrently})3241main: -> 0.0017s3242main: == 20220505022001 AddIndexToDeploymentsOnCreatedAtClusterIdAndProjectId: migrated (0.0238s) 3243main: == 20220505044348 FixAutomaticIterationsCadencesStartDate: migrating ==========3244main: -- execute("UPDATE iterations_cadences\nSET start_date=COALESCE(\n (\n SELECT start_date\n FROM sprints\n WHERE iterations_cadences.id=sprints.iterations_cadence_id\n ORDER BY sprints.start_date ASC\n LIMIT 1\n ),\n start_date\n)\nWHERE iterations_cadences.automatic=true;\n")3245main: -> 0.0025s3246main: == 20220505044348 FixAutomaticIterationsCadencesStartDate: migrated (0.0027s) =3247main: == 20220505053504 RemoveNamespacesIdParentIdInversePartialIndex: migrating ====3248main: -- transaction_open?()3249main: -> 0.0000s3250main: -- index_exists?(:namespaces, :id, {:name=>"index_namespaces_id_parent_id_is_not_null", :algorithm=>:concurrently})3251main: -> 0.0184s3252main: -- remove_index(:namespaces, {:name=>"index_namespaces_id_parent_id_is_not_null", :algorithm=>:concurrently, :column=>:id})3253main: -> 0.0192s3254main: == 20220505053504 RemoveNamespacesIdParentIdInversePartialIndex: migrated (0.0416s) 3255main: == 20220505060011 RemoveNamespacesIdParentIdPartialIndex: migrating ===========3256main: -- transaction_open?()3257main: -> 0.0000s3258main: -- index_exists?(:namespaces, :id, {:name=>"index_namespaces_id_parent_id_is_null", :algorithm=>:concurrently})3259main: -> 0.0169s3260main: -- remove_index(:namespaces, {:name=>"index_namespaces_id_parent_id_is_null", :algorithm=>:concurrently, :column=>:id})3261main: -> 0.0199s3262main: == 20220505060011 RemoveNamespacesIdParentIdPartialIndex: migrated (0.0406s) ==3263main: == 20220505092254 AddAllowStaleRunnerPruningIndexToNamespaceCiCdSettings: migrating 3264main: -- transaction_open?()3265main: -> 0.0000s3266main: -- index_exists?(:namespace_ci_cd_settings, :namespace_id, {:where=>"(allow_stale_runner_pruning = true)", :name=>"index_cicd_settings_on_namespace_id_where_stale_pruning_enabled", :algorithm=>:concurrently})3267main: -> 0.0017s3268main: -- add_index(:namespace_ci_cd_settings, :namespace_id, {:where=>"(allow_stale_runner_pruning = true)", :name=>"index_cicd_settings_on_namespace_id_where_stale_pruning_enabled", :algorithm=>:concurrently})3269main: -> 0.0013s3270main: == 20220505092254 AddAllowStaleRunnerPruningIndexToNamespaceCiCdSettings: migrated (0.0065s) 3271main: == 20220505174658 UpdateIndexOnAlertsToExcludeNullFingerprints: migrating =====3272main: -- transaction_open?()3273main: -> 0.0000s3274main: -- index_exists?(:alert_management_alerts, [:project_id, :fingerprint], {:where=>"fingerprint IS NOT NULL and status <> 2", :name=>"index_unresolved_alerts_on_project_id_and_fingerprint", :unique=>true, :algorithm=>:concurrently})3275main: -> 0.0055s3276main: -- add_index(:alert_management_alerts, [:project_id, :fingerprint], {:where=>"fingerprint IS NOT NULL and status <> 2", :name=>"index_unresolved_alerts_on_project_id_and_fingerprint", :unique=>true, :algorithm=>:concurrently})3277main: -> 0.0015s3278main: -- transaction_open?()3279main: -> 0.0000s3280main: -- indexes(:alert_management_alerts)3281main: -> 0.0059s3282main: -- remove_index(:alert_management_alerts, {:algorithm=>:concurrently, :name=>"index_partial_am_alerts_on_project_id_and_fingerprint"})3283main: -> 0.0011s3284main: == 20220505174658 UpdateIndexOnAlertsToExcludeNullFingerprints: migrated (0.0201s) 3285main: == 20220505193512 AddNotNullConstraintToIssuesWorkItemType: migrating =========3286main: -- current_schema()3287main: -> 0.0004s3288main: -- transaction_open?()3289main: -> 0.0000s3290main: -- current_schema()3291main: -> 0.0004s3292main: -- transaction_open?()3293main: -> 0.0000s3294main: -- execute("ALTER TABLE issues\nADD CONSTRAINT check_2addf801cd\nCHECK ( work_item_type_id IS NOT NULL )\nNOT VALID;\n")3295main: -> 0.0009s3296main: == 20220505193512 AddNotNullConstraintToIssuesWorkItemType: migrated (0.0093s) 3297main: == 20220506123922 AddNotNullConstraintWithoutValidationToRequirementsIssueId: migrating 3298main: -- current_schema()3299main: -> 0.0005s3300main: -- transaction_open?()3301main: -> 0.0000s3302main: -- current_schema()3303main: -> 0.0004s3304main: -- transaction_open?()3305main: -> 0.0000s3306main: -- execute("ALTER TABLE requirements\nADD CONSTRAINT check_requirement_issue_not_null\nCHECK ( issue_id IS NOT NULL )\nNOT VALID;\n")3307main: -> 0.0008s3308main: == 20220506123922 AddNotNullConstraintWithoutValidationToRequirementsIssueId: migrated (0.0090s) 3309main: == 20220506124021 SchedulePopulateRequirementsIssueId: migrating ==============3310main: -- transaction_open?()3311main: -> 0.0000s3312main: -- Scheduled 0 MigrateRequirementsToWorkItems jobs with a maximum of 100 records per batch and an interval of 120 seconds.3313The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-01 23:36:35 UTC."3314main: == 20220506124021 SchedulePopulateRequirementsIssueId: migrated (0.0050s) =====3315main: == 20220506180411 AddIndexToVulnerabilityFeedbackFindingUuid: migrating =======3316main: -- transaction_open?()3317main: -> 0.0000s3318main: -- index_exists?(:vulnerability_feedback, :finding_uuid, {:using=>:hash, :name=>"index_vulnerability_feedback_finding_uuid", :algorithm=>:concurrently})3319main: -> 0.0061s3320main: -- add_index(:vulnerability_feedback, :finding_uuid, {:using=>:hash, :name=>"index_vulnerability_feedback_finding_uuid", :algorithm=>:concurrently})3321main: -> 0.0012s3322main: == 20220506180411 AddIndexToVulnerabilityFeedbackFindingUuid: migrated (0.0109s) 3323main: == 20220506201639 RemoveDevopsAdoptionSecurityScanSucceededColumn: migrating ==3324main: -- remove_column(:analytics_devops_adoption_snapshots, :security_scan_succeeded)3325main: -> 0.0012s3326main: == 20220506201639 RemoveDevopsAdoptionSecurityScanSucceededColumn: migrated (0.0014s) 3327main: == 20220507204024 AddSeparatedCachesOptionToProjectCiSettings: migrating ======3328main: -- add_column(:project_ci_cd_settings, :separated_caches, :boolean, {:default=>true, :null=>false})3329main: -> 0.0014s3330main: == 20220507204024 AddSeparatedCachesOptionToProjectCiSettings: migrated (0.0016s) 3331main: == 20220510003916 RemoveTmpEmptyTraversalIdsRootNamespaceIndex: migrating =====3332main: -- transaction_open?()3333main: -> 0.0000s3334main: -- index_exists?(:namespaces, :id, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_root_namespaces", :algorithm=>:concurrently})3335main: -> 0.0166s3336main: -- remove_index(:namespaces, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_root_namespaces", :algorithm=>:concurrently, :column=>:id})3337main: -> 0.0174s3338main: == 20220510003916 RemoveTmpEmptyTraversalIdsRootNamespaceIndex: migrated (0.0377s) 3339main: == 20220510004501 RemoveTmpEmptyTraversalIdsChildNamespaceIndex: migrating ====3340main: -- transaction_open?()3341main: -> 0.0000s3342main: -- index_exists?(:namespaces, :id, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_child_namespaces", :algorithm=>:concurrently})3343main: -> 0.0160s3344main: -- remove_index(:namespaces, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_child_namespaces", :algorithm=>:concurrently, :column=>:id})3345main: -> 0.0174s3346main: == 20220510004501 RemoveTmpEmptyTraversalIdsChildNamespaceIndex: migrated (0.0372s) 3347main: == 20220510121338 RemoveThreatMonitoringAlerts: migrating =====================3348main: -- execute("DELETE FROM alert_management_alerts WHERE domain = 1")3349main: -> 0.0011s3350main: == 20220510121338 RemoveThreatMonitoringAlerts: migrated (0.0013s) ============3351main: == 20220510192117 IndexExpirableUnknownArtifactsForRemoval: migrating =========3352main: -- index_exists?("ci_job_artifacts", [:expire_at, :job_id], {:name=>"tmp_index_ci_job_artifacts_on_expire_at_where_locked_unknown", :where=>"locked = 2 AND expire_at IS NOT NULL", :algorithm=>:concurrently})3353main: -> 0.0095s3354main: -- add_index_options("ci_job_artifacts", [:expire_at, :job_id], {:name=>"tmp_index_ci_job_artifacts_on_expire_at_where_locked_unknown", :where=>"locked = 2 AND expire_at IS NOT NULL", :algorithm=>:concurrently})3355main: -> 0.0001s3356main: == 20220510192117 IndexExpirableUnknownArtifactsForRemoval: migrated (0.0160s) 3357main: == 20220511090324 AddLastConsistencyCheckCursorsToVsaAggregations: migrating ==3358main: -- change_table(:analytics_cycle_analytics_aggregations, {:bulk=>true})3359main: -> 0.0023s3360main: == 20220511090324 AddLastConsistencyCheckCursorsToVsaAggregations: migrated (0.0026s) 3361main: == 20220511144946 AddWorkItemParentChildTable: migrating ======================3362main: -- create_table(:work_item_parent_links, {})3363main: -> 0.0054s3364main: == 20220511144946 AddWorkItemParentChildTable: migrated (0.0056s) =============3365main: == 20220511151646 AddExcludeFromFreeUserCapToNamespaceSettings: migrating =====3366main: -- add_column(:namespace_settings, :exclude_from_free_user_cap, :boolean, {:null=>false, :default=>false})3367main: -> 0.0016s3368main: == 20220511151646 AddExcludeFromFreeUserCapToNamespaceSettings: migrated (0.0019s) 3369main: == 20220511152439 RemoveNotNullConstraintFromWorkItemType: migrating ==========3370main: -- transaction_open?()3371main: -> 0.0000s3372main: -- transaction_open?()3373main: -> 0.0000s3374main: -- execute("ALTER TABLE issues\nDROP CONSTRAINT IF EXISTS check_2addf801cd\n")3375main: -> 0.0010s3376main: == 20220511152439 RemoveNotNullConstraintFromWorkItemType: migrated (0.0038s) =3377main: == 20220511191502 AddRegistryMigrationGuardThresholdsToApplicationSettings: migrating 3378main: -- add_column(:application_settings, :container_registry_pre_import_timeout, :integer, {:default=>30 minutes, :null=>false})3379main: -> 0.0027s3380main: -- add_column(:application_settings, :container_registry_import_timeout, :integer, {:default=>10 minutes, :null=>false})3381main: -> 0.0017s3382main: == 20220511191502 AddRegistryMigrationGuardThresholdsToApplicationSettings: migrated (0.0049s) 3383main: == 20220511191503 AddPipelineCreateLimitPerProjectUserShaToApplicationSettings: migrating 3384main: -- add_column(:application_settings, :pipeline_limit_per_project_user_sha, :integer, {:default=>0, :null=>false})3385main: -> 0.0024s3386main: == 20220511191503 AddPipelineCreateLimitPerProjectUserShaToApplicationSettings: migrated (0.0026s) 3387main: == 20220511212620 AddIndexOnExpirableUnknownArtifactsForRemoval: migrating ====3388main: -- transaction_open?()3389main: -> 0.0000s3390main: -- index_exists?("ci_job_artifacts", [:expire_at, :job_id], {:name=>"tmp_index_ci_job_artifacts_on_expire_at_where_locked_unknown", :where=>"locked = 2 AND expire_at IS NOT NULL", :algorithm=>:concurrently})3391main: -> 0.0095s3392main: -- add_index("ci_job_artifacts", [:expire_at, :job_id], {:name=>"tmp_index_ci_job_artifacts_on_expire_at_where_locked_unknown", :where=>"locked = 2 AND expire_at IS NOT NULL", :algorithm=>:concurrently})3393main: -> 0.0017s3394main: == 20220511212620 AddIndexOnExpirableUnknownArtifactsForRemoval: migrated (0.0174s) 3395main: == 20220512020500 IndexBatchedMigrationsOnGitlabSchemaAndConfiguration: migrating 3396main: -- transaction_open?()3397main: -> 0.0000s3398main: -- index_exists?(:batched_background_migrations, [:gitlab_schema, :job_class_name, :table_name, :column_name, :job_arguments], {:unique=>true, :name=>"index_batched_migrations_on_gl_schema_and_unique_configuration", :algorithm=>:concurrently})3399main: -> 0.0039s3400main: -- add_index(:batched_background_migrations, [:gitlab_schema, :job_class_name, :table_name, :column_name, :job_arguments], {:unique=>true, :name=>"index_batched_migrations_on_gl_schema_and_unique_configuration", :algorithm=>:concurrently})3401main: -> 0.0018s3402main: == 20220512020500 IndexBatchedMigrationsOnGitlabSchemaAndConfiguration: migrated (0.0095s) 3403main: == 20220512190659 RemoveWebHooksWebHookLogsWebHookIdFk: migrating =============3404main: -- transaction_open?()3405main: -> 0.0000s3406main: -- transaction_open?()3407main: -> 0.0000s3408main: -- execute("LOCK web_hooks, web_hook_logs IN ACCESS EXCLUSIVE MODE")3409main: -> 0.0008s3410main: -- foreign_keys(:web_hook_logs)3411main: -> 0.0038s3412main: -- remove_foreign_key(:web_hook_logs, :web_hooks, {:name=>"fk_rails_bb3355782d"})3413main: -> 0.0062s3414main: == 20220512190659 RemoveWebHooksWebHookLogsWebHookIdFk: migrated (0.0139s) ====3415main: == 20220513043344 RescheduleExpireOAuthTokens: migrating ======================3416main: == 20220513043344 RescheduleExpireOAuthTokens: migrated (0.0414s) =============3417main: == 20220513093614 AddDingTalkIntoApplicationSettings: migrating ===============3418main: -- add_column(:application_settings, :dingtalk_integration_enabled, :boolean, {:null=>false, :default=>false, :comment=>"JiHu-specific column"})3419main: -> 0.0034s3420main: -- add_column(:application_settings, :encrypted_dingtalk_corpid, :binary, {:comment=>"JiHu-specific column"})3421main: -> 0.0015s3422main: -- add_column(:application_settings, :encrypted_dingtalk_corpid_iv, :binary, {:comment=>"JiHu-specific column"})3423main: -> 0.0015s3424main: -- add_column(:application_settings, :encrypted_dingtalk_app_key, :binary, {:comment=>"JiHu-specific column"})3425main: -> 0.0015s3426main: -- add_column(:application_settings, :encrypted_dingtalk_app_key_iv, :binary, {:comment=>"JiHu-specific column"})3427main: -> 0.0016s3428main: -- add_column(:application_settings, :encrypted_dingtalk_app_secret, :binary, {:comment=>"JiHu-specific column"})3429main: -> 0.0015s3430main: -- add_column(:application_settings, :encrypted_dingtalk_app_secret_iv, :binary, {:comment=>"JiHu-specific column"})3431main: -> 0.0015s3432main: == 20220513093614 AddDingTalkIntoApplicationSettings: migrated (0.0129s) ======3433main: == 20220513093615 AddDingTalkTrackerData: migrating ===========================3434main: -- create_table(:dingtalk_tracker_data, {:comment=>"JiHu-specific table"})3435main: -- quote_column_name(:corpid)3436main: -> 0.0000s3437main: -> 0.0078s3438main: == 20220513093615 AddDingTalkTrackerData: migrated (0.0080s) ==================3439main: == 20220513095545 CreateTimelogCategories: migrating ==========================3440main: -- create_table(:timelog_categories, {})3441main: -- quote_column_name(:name)3442main: -> 0.0000s3443main: -- quote_column_name(:description)3444main: -> 0.0000s3445main: -- quote_column_name(:color)3446main: -> 0.0000s3447main: -> 0.0068s3448main: == 20220513095545 CreateTimelogCategories: migrated (0.0071s) =================3449main: == 20220513114706 AddJiraConnectApplicationIdApplicationSetting: migrating ====3450main: -- add_column(:application_settings, :jira_connect_application_key, :text)3451main: -> 0.0019s3452main: == 20220513114706 AddJiraConnectApplicationIdApplicationSetting: migrated (0.0021s) 3453main: == 20220513114850 AddTextLimitToJiraConnectApplicationIdApplicationSetting: migrating 3454main: -- transaction_open?()3455main: -> 0.0000s3456main: -- current_schema()3457main: -> 0.0006s3458main: -- transaction_open?()3459main: -> 0.0000s3460main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_e2dd6e290a\nCHECK ( char_length(jira_connect_application_key) <= 255 )\nNOT VALID;\n")3461main: -> 0.0015s3462main: -- current_schema()3463main: -> 0.0004s3464main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_e2dd6e290a;")3465main: -> 0.0012s3466main: == 20220513114850 AddTextLimitToJiraConnectApplicationIdApplicationSetting: migrated (0.0102s) 3467main: == 20220516054002 TempIndexForProjectNamespaceMemberBackfill: migrating =======3468main: -- transaction_open?()3469main: -> 0.0000s3470main: -- index_exists?(:members, :id, {:where=>"members.member_namespace_id IS NULL and members.type = 'ProjectMember'", :name=>"tmp_index_for_namespace_id_migration_on_project_members", :algorithm=>:concurrently})3471main: -> 0.0132s3472main: -- add_index(:members, :id, {:where=>"members.member_namespace_id IS NULL and members.type = 'ProjectMember'", :name=>"tmp_index_for_namespace_id_migration_on_project_members", :algorithm=>:concurrently})3473main: -> 0.0018s3474main: == 20220516054002 TempIndexForProjectNamespaceMemberBackfill: migrated (0.0195s) 3475main: == 20220516054011 ScheduleBackfillProjectMemberNamespaceId: migrating =========3476main: == 20220516054011 ScheduleBackfillProjectMemberNamespaceId: migrated (0.0392s) 3477main: == 20220516092207 AddGloballyAllowedIpsToApplicationSetting: migrating ========3478main: -- add_column(:application_settings, :globally_allowed_ips, :text, {:null=>false, :default=>""})3479main: -> 0.0031s3480main: == 20220516092207 AddGloballyAllowedIpsToApplicationSetting: migrated (0.0034s) 3481main: == 20220516100652 DropComplianceManagementFrameworksRegulated: migrating ======3482main: -- remove_column(:compliance_management_frameworks, :regulated)3483main: -> 0.0018s3484main: == 20220516100652 DropComplianceManagementFrameworksRegulated: migrated (0.0021s) 3485main: == 20220516103353 FinalizeRoutesBackfillingForProjects: migrating =============3486main: == 20220516103353 FinalizeRoutesBackfillingForProjects: migrated (0.0238s) ====3487main: == 20220516123101 AddTextLimitToGloballyAllowedIpsOnApplicationSettings: migrating 3488main: -- transaction_open?()3489main: -> 0.0001s3490main: -- current_schema()3491main: -> 0.0007s3492main: -- transaction_open?()3493main: -> 0.0000s3494main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_734cc9407a\nCHECK ( char_length(globally_allowed_ips) <= 255 )\nNOT VALID;\n")3495main: -> 0.0015s3496main: -- current_schema()3497main: -> 0.0005s3498main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_734cc9407a;")3499main: -> 0.0011s3500main: == 20220516123101 AddTextLimitToGloballyAllowedIpsOnApplicationSettings: migrated (0.0112s) 3501main: == 20220516201245 AddSecurityPolicyScanExecutionSchedulesToPlanLimits: migrating 3502main: -- add_column(:plan_limits, :security_policy_scan_execution_schedules, :integer, {:default=>0, :null=>false})3503main: -> 0.0025s3504main: == 20220516201245 AddSecurityPolicyScanExecutionSchedulesToPlanLimits: migrated (0.0029s) 3505main: == 20220517101119 CreateConfidentialNotesIndexSynchronously: migrating ========3506main: -- transaction_open?()3507main: -> 0.0000s3508main: -- index_exists?(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3509main: -> 0.0095s3510main: -- add_index(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3511main: -> 0.0016s3512main: == 20220517101119 CreateConfidentialNotesIndexSynchronously: migrated (0.0187s) 3513main: == 20220517133753 MigrateFreeUserCapRemediation: migrating ====================3514main: == 20220517133753 MigrateFreeUserCapRemediation: migrated (0.0007s) ===========3515main: == 20220517144749 RemoveVulnerabilityApprovalRules: migrating =================3516main: == 20220517144749 RemoveVulnerabilityApprovalRules: migrated (0.0219s) ========3517main: == 20220517182529 CreateVulnerabilityStateTransition: migrating ===============3518main: -- create_table(:vulnerability_state_transitions, {})3519main: -> 0.0037s3520main: == 20220517182529 CreateVulnerabilityStateTransition: migrated (0.0041s) ======3521main: == 20220518102414 AddIndexToErrorTrackingClientKeys: migrating ================3522main: -- transaction_open?()3523main: -> 0.0000s3524main: -- index_exists?(:error_tracking_client_keys, [:project_id, :public_key], {:where=>"active = true", :name=>"index_error_tracking_client_for_enabled_check", :algorithm=>:concurrently})3525main: -> 0.0026s3526main: -- add_index(:error_tracking_client_keys, [:project_id, :public_key], {:where=>"active = true", :name=>"index_error_tracking_client_for_enabled_check", :algorithm=>:concurrently})3527main: -> 0.0014s3528main: == 20220518102414 AddIndexToErrorTrackingClientKeys: migrated (0.0077s) =======3529main: == 20220518183504 CreateSshSignatures: migrating ==============================3530main: -- create_table(:ssh_signatures, {})3531main: -> 0.0064s3532main: == 20220518183504 CreateSshSignatures: migrated (0.0067s) =====================3533main: == 20220518183548 AddProjectsRelationToSshSignatures: migrating ===============3534main: -- transaction_open?()3535main: -> 0.0000s3536main: -- foreign_keys(:ssh_signatures)3537main: -> 0.0042s3538main: -- transaction_open?()3539main: -> 0.0000s3540main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT fk_7d2f93996c\nFOREIGN KEY (project_id)\nREFERENCES projects (id)\nON DELETE CASCADE\nNOT VALID;\n")3541main: -> 0.0016s3542main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT fk_7d2f93996c;")3543main: -> 0.0017s3544main: == 20220518183548 AddProjectsRelationToSshSignatures: migrated (0.0115s) ======3545main: == 20220519013213 CreateClusterEnabledGrants: migrating =======================3546main: -- create_table(:cluster_enabled_grants, {})3547main: -> 0.0035s3548main: == 20220519013213 CreateClusterEnabledGrants: migrated (0.0039s) ==============3549main: == 20220519045133 BulkInsertClusterEnabledGrants: migrating ===================3550main: == 20220519045133 BulkInsertClusterEnabledGrants: migrated (0.0456s) ==========3551main: == 20220519141345 AddJobArtifactIdOnRefreshStartToBuildArtifactsSizeRefresh: migrating 3552main: -- add_column(:project_build_artifacts_size_refreshes, :last_job_artifact_id_on_refresh_start, :bigint, {:default=>0})3553main: -> 0.0018s3554main: == 20220519141345 AddJobArtifactIdOnRefreshStartToBuildArtifactsSizeRefresh: migrated (0.0021s) 3555main: == 20220520030504 DropIndexNamespacesOnName: migrating ========================3556main: -- transaction_open?()3557main: -> 0.0000s3558main: -- indexes(:namespaces)3559main: -> 0.0156s3560main: -- current_schema()3561main: -> 0.0006s3562main: == 20220520030504 DropIndexNamespacesOnName: migrated (0.0188s) ===============3563main: == 20220520040416 ScheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrating 3564main: == 20220520040416 ScheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrated (0.0001s) 3565main: == 20220520120637 AddInstallableConanPackagesIndexToPackages: migrating =======3566main: -- transaction_open?()3567main: -> 0.0000s3568main: -- index_exists?(:packages_packages, [:project_id, :id], {:where=>"package_type = 3 AND status IN (0, 1)", :name=>"idx_installable_conan_pkgs_on_project_id_id", :algorithm=>:concurrently})3569main: -> 0.0117s3570main: -- add_index(:packages_packages, [:project_id, :id], {:where=>"package_type = 3 AND status IN (0, 1)", :name=>"idx_installable_conan_pkgs_on_project_id_id", :algorithm=>:concurrently})3571main: -> 0.0017s3572main: == 20220520120637 AddInstallableConanPackagesIndexToPackages: migrated (0.0173s) 3573main: == 20220520122755 UnlockDelayedProjectRemoval: migrating ======================3574main: == 20220520122755 UnlockDelayedProjectRemoval: migrated (0.0002s) =============3575main: == 20220520143105 AddKeysRelationToSshSignatures: migrating ===================3576main: -- transaction_open?()3577main: -> 0.0000s3578main: -- foreign_keys(:ssh_signatures)3579main: -> 0.0039s3580main: -- transaction_open?()3581main: -> 0.0000s3582main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT fk_f177ea6aa5\nFOREIGN KEY (key_id)\nREFERENCES keys (id)\nON DELETE CASCADE\nNOT VALID;\n")3583main: -> 0.0010s3584main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT fk_f177ea6aa5;")3585main: -> 0.0012s3586main: == 20220520143105 AddKeysRelationToSshSignatures: migrated (0.0094s) ==========3587main: == 20220520144821 AddRegistryMigrationPreImportTagsRateToApplicationSettings: migrating 3588main: -- add_column(:application_settings, :container_registry_pre_import_tags_rate, :decimal, {:precision=>6, :scale=>2, :default=>0.5, :null=>false})3589main: -> 0.0026s3590main: == 20220520144821 AddRegistryMigrationPreImportTagsRateToApplicationSettings: migrated (0.0028s) 3591main: == 20220523030804 AddWebHookCallsMedAndMaxToPlanLimits: migrating =============3592main: -- add_column(:plan_limits, :web_hook_calls_mid, :integer, {:null=>false, :default=>0})3593main: -> 0.0018s3594main: -- add_column(:plan_limits, :web_hook_calls_low, :integer, {:null=>false, :default=>0})3595main: -> 0.0011s3596main: == 20220523030804 AddWebHookCallsMedAndMaxToPlanLimits: migrated (0.0032s) ====3597main: == 20220523030805 AddWebHookCallsToPlanLimitsPaidTiers: migrating =============3598main: == 20220523030805 AddWebHookCallsToPlanLimitsPaidTiers: migrated (0.0002s) ====3599main: == 20220523162734 AddVulnerabilityReadsCastedClusterAgentColumn: migrating ====3600main: -- add_column(:vulnerability_reads, :casted_cluster_agent_id, :bigint)3601main: -> 0.0008s3602main: == 20220523162734 AddVulnerabilityReadsCastedClusterAgentColumn: migrated (0.0010s) 3603main: == 20220523163734 UpdateVulnerabilityReadsTriggerFunctions: migrating =========3604main: -- execute("CREATE OR REPLACE FUNCTION insert_or_update_vulnerability_reads()\nRETURNS TRIGGER\nLANGUAGE plpgsql\nAS $$\nDECLARE\n severity smallint;\n state smallint;\n report_type smallint;\n resolved_on_default_branch boolean;\nBEGIN\n IF (NEW.vulnerability_id IS NULL AND (TG_OP = 'INSERT' OR TG_OP = 'UPDATE')) THEN\n RETURN NULL;\n END IF;\n\n IF (TG_OP = 'UPDATE' AND OLD.vulnerability_id IS NOT NULL AND NEW.vulnerability_id IS NOT NULL) THEN\n RETURN NULL;\n END IF;\n\n SELECT\n vulnerabilities.severity, vulnerabilities.state, vulnerabilities.report_type, vulnerabilities.resolved_on_default_branch\n INTO\n severity, state, report_type, resolved_on_default_branch\n FROM\n vulnerabilities\n WHERE\n vulnerabilities.id = NEW.vulnerability_id;\n\n INSERT INTO vulnerability_reads (vulnerability_id, project_id, scanner_id, report_type, severity, state, resolved_on_default_branch, uuid, location_image, cluster_agent_id, casted_cluster_agent_id)\n VALUES (NEW.vulnerability_id, NEW.project_id, NEW.scanner_id, report_type, severity, state, resolved_on_default_branch, NEW.uuid::uuid, NEW.location->>'image', NEW.location->'kubernetes_resource'->>'agent_id', CAST(NEW.location->'kubernetes_resource'->>'agent_id' AS bigint))\n ON CONFLICT(vulnerability_id) DO NOTHING;\n RETURN NULL;\nEND\n$$;\n")3605main: -> 0.0014s3606main: -- execute("CREATE OR REPLACE FUNCTION update_location_from_vulnerability_occurrences()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\nUPDATE\n vulnerability_reads\nSET\n location_image = NEW.location->>'image',\n casted_cluster_agent_id = CAST(NEW.location->'kubernetes_resource'->>'agent_id' AS bigint),\n cluster_agent_id = NEW.location->'kubernetes_resource'->>'agent_id'\nWHERE\n vulnerability_id = NEW.vulnerability_id;\nRETURN NULL;\n\nEND\n$$;\n")3607main: -> 0.0007s3608main: == 20220523163734 UpdateVulnerabilityReadsTriggerFunctions: migrated (0.0024s) 3609main: == 20220523164734 AddForeignKeyToVulnerabilityReadsCastedClusterAgentId: migrating 3610main: -- transaction_open?()3611main: -> 0.0000s3612main: -- foreign_keys(:vulnerability_reads)3613main: -> 0.0048s3614main: -- transaction_open?()3615main: -> 0.0000s3616main: -- execute("ALTER TABLE vulnerability_reads\nADD CONSTRAINT fk_aee839e611\nFOREIGN KEY (casted_cluster_agent_id)\nREFERENCES cluster_agents (id)\nON DELETE SET NULL\nNOT VALID;\n")3617main: -> 0.0012s3618main: -- execute("ALTER TABLE vulnerability_reads VALIDATE CONSTRAINT fk_aee839e611;")3619main: -> 0.0012s3620main: == 20220523164734 AddForeignKeyToVulnerabilityReadsCastedClusterAgentId: migrated (0.0105s) 3621main: == 20220523165734 AddIndexToVulnerabilityReadsCastedClusterAgentId: migrating =3622main: -- transaction_open?()3623main: -> 0.0000s3624main: -- index_exists?(:vulnerability_reads, :casted_cluster_agent_id, {:name=>"index_cis_vulnerability_reads_on_cluster_agent_id", :where=>"report_type = 7", :algorithm=>:concurrently})3625main: -> 0.0060s3626main: -- add_index(:vulnerability_reads, :casted_cluster_agent_id, {:name=>"index_cis_vulnerability_reads_on_cluster_agent_id", :where=>"report_type = 7", :algorithm=>:concurrently})3627main: -> 0.0014s3628main: == 20220523165734 AddIndexToVulnerabilityReadsCastedClusterAgentId: migrated (0.0108s) 3629main: == 20220523171107 DropDeployTokensTokenColumn: migrating ======================3630main: -- remove_column(:deploy_tokens, :token)3631main: -> 0.0012s3632main: == 20220523171107 DropDeployTokensTokenColumn: migrated (0.0014s) =============3633main: == 20220524021855 AddDeletedAtToTerraformStates: migrating ====================3634main: -- add_column(:terraform_states, :deleted_at, :datetime_with_timezone)3635main: -> 0.0009s3636main: == 20220524021855 AddDeletedAtToTerraformStates: migrated (0.0011s) ===========3637main: == 20220524074947 FinalizeBackfillNullNoteDiscussionIds: migrating ============3638main: == 20220524074947 FinalizeBackfillNullNoteDiscussionIds: migrated (0.0037s) ===3639main: == 20220524080944 CleanupOrphanedRoutes: migrating ============================3640main: == 20220524080944 CleanupOrphanedRoutes: migrated (0.0313s) ===================3641main: == 20220524081955 RemoveNotesNullDiscussionIdTempIndex: migrating =============3642main: -- transaction_open?()3643main: -> 0.0000s3644main: -- indexes(:notes)3645main: -> 0.0112s3646main: -- remove_index(:notes, {:algorithm=>:concurrently, :name=>"tmp_index_notes_on_id_where_discussion_id_is_null"})3647main: -> 0.0013s3648main: == 20220524081955 RemoveNotesNullDiscussionIdTempIndex: migrated (0.0163s) ====3649main: == 20220524132416 PrepareJobArtifactProjectIdIndex: migrating =================3650main: -- index_exists?(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3651main: -> 0.0113s3652main: -- add_index_options(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3653main: -> 0.0001s3654main: == 20220524132416 PrepareJobArtifactProjectIdIndex: migrated (0.0188s) ========3655main: == 20220524141800 CreateAuditEventsStreamingHeaders: migrating ================3656main: -- create_table(:audit_events_streaming_headers, {})3657main: -- quote_column_name(:key)3658main: -> 0.0000s3659main: -- quote_column_name(:value)3660main: -> 0.0000s3661main: -> 0.0066s3662main: == 20220524141800 CreateAuditEventsStreamingHeaders: migrated (0.0068s) =======3663main: == 20220524164122 LimitProjectAndGroupVariables: migrating ====================3664main: -- add_column(:plan_limits, :project_ci_variables, :integer, {:default=>200, :null=>false})3665main: -> 0.0027s3666main: -- add_column(:plan_limits, :group_ci_variables, :integer, {:default=>200, :null=>false})3667main: -> 0.0015s3668main: == 20220524164122 LimitProjectAndGroupVariables: migrated (0.0045s) ===========3669main: == 20220524191259 AddApplicationSettingsContainerRegistryPreImportTagsRateConstraint: migrating 3670main: -- transaction_open?()3671main: -> 0.0000s3672main: -- current_schema()3673main: -> 0.0006s3674main: -- transaction_open?()3675main: -> 0.0000s3676main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT app_settings_container_registry_pre_import_tags_rate_positive\nCHECK ( container_registry_pre_import_tags_rate >= 0 )\nNOT VALID;\n")3677main: -> 0.0016s3678main: -- current_schema()3679main: -> 0.0004s3680main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_container_registry_pre_import_tags_rate_positive;")3681main: -> 0.0012s3682main: == 20220524191259 AddApplicationSettingsContainerRegistryPreImportTagsRateConstraint: migrated (0.0117s) 3683main: == 20220524202158 DropIndexOnDeploymentsOnCreatedAtClusterIdAndProjectId: migrating 3684main: -- transaction_open?()3685main: -> 0.0000s3686main: -- indexes(:deployments)3687main: -> 0.0213s3688main: -- remove_index(:deployments, {:algorithm=>:concurrently, :name=>"tp_index_created_at_cluster_id_project_id_on_deployments"})3689main: -> 0.0013s3690main: == 20220524202158 DropIndexOnDeploymentsOnCreatedAtClusterIdAndProjectId: migrated (0.0266s) 3691main: == 20220525082303 CreateIssuableResourceLinks: migrating ======================3692main: -- create_table(:issuable_resource_links, {})3693main: -- quote_column_name(:link_text)3694main: -> 0.0000s3695main: -- quote_column_name(:link)3696main: -> 0.0000s3697main: -> 0.0059s3698main: == 20220525082303 CreateIssuableResourceLinks: migrated (0.0061s) =============3699main: == 20220525084153 AddSentryProjectIdToProjectErrorTrackingSettings: migrating =3700main: -- add_column(:project_error_tracking_settings, :sentry_project_id, :bigint)3701main: -> 0.0016s3702main: == 20220525084153 AddSentryProjectIdToProjectErrorTrackingSettings: migrated (0.0018s) 3703main: == 20220525123825 AddRawToCiPipelineVariables: migrating ======================3704main: -- add_column(:ci_pipeline_variables, :raw, :boolean, {:null=>false, :default=>true})3705main: -> 0.0015s3706main: == 20220525123825 AddRawToCiPipelineVariables: migrated (0.0017s) =============3707main: == 20220525123851 AddRawToCiGroupVariables: migrating =========================3708main: -- add_column(:ci_group_variables, :raw, :boolean, {:null=>false, :default=>true})3709main: -> 0.0016s3710main: == 20220525123851 AddRawToCiGroupVariables: migrated (0.0018s) ================3711main: == 20220525123914 AddRawToCiInstanceVariables: migrating ======================3712main: -- add_column(:ci_instance_variables, :raw, :boolean, {:null=>false, :default=>true})3713main: -> 0.0016s3714main: == 20220525123914 AddRawToCiInstanceVariables: migrated (0.0018s) =============3715main: == 20220525123940 AddRawToCiJobVariables: migrating ===========================3716main: -- add_column(:ci_job_variables, :raw, :boolean, {:null=>false, :default=>true})3717main: -> 0.0015s3718main: == 20220525123940 AddRawToCiJobVariables: migrated (0.0017s) ==================3719main: == 20220525124104 AddRawToCiPipelineScheduleVariables: migrating ==============3720main: -- add_column(:ci_pipeline_schedule_variables, :raw, :boolean, {:null=>false, :default=>true})3721main: -> 0.0016s3722main: == 20220525124104 AddRawToCiPipelineScheduleVariables: migrated (0.0019s) =====3723main: == 20220525124125 AddRawToCiVariables: migrating ==============================3724main: -- add_column(:ci_variables, :raw, :boolean, {:null=>false, :default=>true})3725main: -> 0.0016s3726main: == 20220525124125 AddRawToCiVariables: migrated (0.0018s) =====================3727main: == 20220525131557 CleanupBackfillIntegrationsEnableSslVerification: migrating =3728main: -- transaction_open?()3729main: -> 0.0000s3730main: == 20220525131557 CleanupBackfillIntegrationsEnableSslVerification: migrated (0.0077s) 3731main: == 20220525131624 DropTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrating 3732main: -- transaction_open?()3733main: -> 0.0000s3734main: -- indexes(:integrations)3735main: -> 0.0089s3736main: -- remove_index(:integrations, {:algorithm=>:concurrently, :name=>"tmp_index_integrations_on_id_where_type_droneci_or_teamcity"})3737main: -> 0.0014s3738main: == 20220525131624 DropTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrated (0.0140s) 3739main: == 20220525141540 MigrateProjectServiceWorkerQueue: migrating =================3740main: == 20220525141540 MigrateProjectServiceWorkerQueue: migrated (0.0005s) ========3741main: == 20220525165334 MigrateIrkerWorkerQueue: migrating ==========================3742main: == 20220525165334 MigrateIrkerWorkerQueue: migrated (0.0004s) =================3743main: == 20220525172001 MigrateClusterIntegrationWorkerQueues: migrating ============3744main: == 20220525172001 MigrateClusterIntegrationWorkerQueues: migrated (0.0006s) ===3745main: == 20220525201022 AddTemporaryIndexForVulnerabilityReadsClusterAgentIdMigration: migrating 3746main: -- transaction_open?()3747main: -> 0.0000s3748main: -- index_exists?(:vulnerability_reads, :id, {:name=>"tmp_index_cis_vulnerability_reads_on_id", :where=>"report_type = 7", :algorithm=>:concurrently})3749main: -> 0.0081s3750main: -- add_index(:vulnerability_reads, :id, {:name=>"tmp_index_cis_vulnerability_reads_on_id", :where=>"report_type = 7", :algorithm=>:concurrently})3751main: -> 0.0014s3752main: == 20220525201022 AddTemporaryIndexForVulnerabilityReadsClusterAgentIdMigration: migrated (0.0138s) 3753main: == 20220525221133 ScheduleBackfillVulnerabilityReadsClusterAgent: migrating ===3754main: == 20220525221133 ScheduleBackfillVulnerabilityReadsClusterAgent: migrated (0.0401s) 3755main: == 20220526042017 RemoveGeoLfsObjectDeletedEventReferences: migrating =========3756main: -- transaction_open?()3757main: -> 0.0000s3758main: -- remove_column(:geo_event_log, :lfs_object_deleted_event_id, :bigint)3759main: -> 0.0013s3760main: == 20220526042017 RemoveGeoLfsObjectDeletedEventReferences: migrated (0.0050s) 3761main: == 20220526044516 RemoveGeoLfsObjectDeletedEventsTable: migrating =============3762main: -- drop_table(:geo_lfs_object_deleted_events)3763main: -> 0.0018s3764main: == 20220526044516 RemoveGeoLfsObjectDeletedEventsTable: migrated (0.0021s) ====3765main: == 20220530044712 AddIndexForVulnerabilityReadsLocationImage: migrating =======3766main: -- transaction_open?()3767main: -> 0.0000s3768main: -- index_exists?(:vulnerability_reads, [:project_id, :location_image], {:where=>"report_type in (2, 7) AND\nlocation_image IS NOT NULL\n", :name=>:index_vulnerability_reads_on_location_image_partial, :algorithm=>:concurrently})3769main: -> 0.0087s3770main: -- add_index(:vulnerability_reads, [:project_id, :location_image], {:where=>"report_type in (2, 7) AND\nlocation_image IS NOT NULL\n", :name=>:index_vulnerability_reads_on_location_image_partial, :algorithm=>:concurrently})3771main: -> 0.0016s3772main: == 20220530044712 AddIndexForVulnerabilityReadsLocationImage: migrated (0.0157s) 3773main: == 20220530074027 AddProjectIdIndexToJobArtifacts: migrating ==================3774main: -- transaction_open?()3775main: -> 0.0000s3776main: -- index_exists?(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3777main: -> 0.0150s3778main: -- add_index(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3779main: -> 0.0016s3780main: == 20220530074027 AddProjectIdIndexToJobArtifacts: migrated (0.0250s) =========3781main: == 20220530082653 AddTraversalIdTypeGroupIndex: migrating =====================3782main: -- transaction_open?()3783main: -> 0.0000s3784main: -- index_exists?(:namespaces, :traversal_ids, {:using=>:btree, :where=>"type='Group'", :name=>"index_namespaces_on_traversal_ids_for_groups_btree", :algorithm=>:concurrently})3785main: -> 0.0197s3786main: -- add_index(:namespaces, :traversal_ids, {:using=>:btree, :where=>"type='Group'", :name=>"index_namespaces_on_traversal_ids_for_groups_btree", :algorithm=>:concurrently})3787main: -> 0.0022s3788main: == 20220530082653 AddTraversalIdTypeGroupIndex: migrated (0.0269s) ============3789main: == 20220530103023 AddCreatedAtAndIdIndexToDeploymentApprovals: migrating ======3790main: -- transaction_open?()3791main: -> 0.0000s3792main: -- index_exists?(:deployment_approvals, [:created_at, :id], {:name=>"index_deployment_approvals_on_created_at_and_id", :algorithm=>:concurrently})3793main: -> 0.0044s3794main: -- add_index(:deployment_approvals, [:created_at, :id], {:name=>"index_deployment_approvals_on_created_at_and_id", :algorithm=>:concurrently})3795main: -> 0.0015s3796main: == 20220530103023 AddCreatedAtAndIdIndexToDeploymentApprovals: migrated (0.0105s) 3797main: == 20220530104431 AddTimestampsToComplianceFrameworks: migrating ==============3798main: -- add_column(:compliance_management_frameworks, :created_at, :datetime_with_timezone, {:null=>true})3799main: -> 0.0021s3800main: -- add_column(:compliance_management_frameworks, :updated_at, :datetime_with_timezone, {:null=>true})3801main: -> 0.0009s3802main: == 20220530104431 AddTimestampsToComplianceFrameworks: migrated (0.0034s) =====3803main: == 20220530170915 AddIndexForVulnerabilityStateTransition: migrating ==========3804main: -- transaction_open?()3805main: -> 0.0000s3806main: -- index_exists?(:vulnerability_state_transitions, [:vulnerability_id, :id], {:name=>"index_vulnerability_state_transitions_id_and_vulnerability_id", :algorithm=>:concurrently})3807main: -> 0.0029s3808main: -- add_index(:vulnerability_state_transitions, [:vulnerability_id, :id], {:name=>"index_vulnerability_state_transitions_id_and_vulnerability_id", :algorithm=>:concurrently})3809main: -> 0.0014s3810main: -- transaction_open?()3811main: -> 0.0000s3812main: -- indexes(:vulnerability_state_transitions)3813main: -> 0.0035s3814main: -- remove_index(:vulnerability_state_transitions, {:algorithm=>:concurrently, :name=>"index_vulnerability_state_transitions_on_vulnerability_id"})3815main: -> 0.0019s3816main: == 20220530170915 AddIndexForVulnerabilityStateTransition: migrated (0.0186s) =3817main: == 20220531024142 TrackClustersDeletions: migrating ===========================3818main: -- execute("CREATE TRIGGER clusters_loose_fk_trigger\nAFTER DELETE ON clusters REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")3819main: -> 0.0010s3820main: == 20220531024142 TrackClustersDeletions: migrated (0.0014s) ==================3821main: == 20220531024143 RemoveClustersDeploymentsClusterIdFk: migrating =============3822main: -- transaction_open?()3823main: -> 0.0000s3824main: -- foreign_keys(:deployments)3825main: -> 0.0035s3826main: -- transaction_open?()3827main: -> 0.0000s3828main: -- execute("LOCK TABLE clusters, deployments IN ACCESS EXCLUSIVE MODE")3829main: -> 0.0008s3830main: -- remove_foreign_key(:deployments, :clusters, {:name=>"fk_289bba3222"})3831main: -> 0.0046s3832main: == 20220531024143 RemoveClustersDeploymentsClusterIdFk: migrated (0.0125s) ====3833main: == 20220531024905 AddOperationsAccessLevelsToProjectFeature: migrating ========3834main: -- add_column(:project_features, :monitor_access_level, :integer, {:null=>false, :default=>20})3835main: -> 0.0019s3836main: -- add_column(:project_features, :infrastructure_access_level, :integer, {:null=>false, :default=>20})3837main: -> 0.0016s3838main: -- add_column(:project_features, :feature_flags_access_level, :integer, {:null=>false, :default=>20})3839main: -> 0.0017s3840main: -- add_column(:project_features, :environments_access_level, :integer, {:null=>false, :default=>20})3841main: -> 0.0016s3842main: -- add_column(:project_features, :releases_access_level, :integer, {:null=>false, :default=>20})3843main: -> 0.0015s3844main: == 20220531024905 AddOperationsAccessLevelsToProjectFeature: migrated (0.0091s) 3845main: == 20220531035113 PopulateOperationVisibilityPermissions: migrating ===========3846main: == 20220531035113 PopulateOperationVisibilityPermissions: migrated (0.0383s) ==3847main: == 20220531100920 AddLicenseUsageDataExportedToApplicationSettings: migrating =3848main: -- add_column(:application_settings, :license_usage_data_exported, :boolean, {:default=>false, :null=>false})3849main: -> 0.0026s3850main: == 20220531100920 AddLicenseUsageDataExportedToApplicationSettings: migrated (0.0028s) 3851main: == 20220531140515 AddAppliesToAllProtectedBranchesToApprovalProjectRule: migrating 3852main: -- add_column(:approval_project_rules, :applies_to_all_protected_branches, :boolean, {:default=>false, :null=>false})3853main: -> 0.0026s3854main: == 20220531140515 AddAppliesToAllProtectedBranchesToApprovalProjectRule: migrated (0.0029s) 3855main: == 20220531233600 RemoveSseUsageDataFromRedis: migrating ======================3856main: == 20220531233600 RemoveSseUsageDataFromRedis: migrated (0.0010s) =============3857main: == 20220601040233 FinalizeBackfillIssueSearchData: migrating ==================3858main: == 20220601040233 FinalizeBackfillIssueSearchData: migrated (0.0260s) =========3859main: == 20220601091804 AddSemverColumnToCiRunners: migrating =======================3860main: -- add_column(:ci_runners, :semver, :text, {:null=>true})3861main: -> 0.0022s3862main: == 20220601091804 AddSemverColumnToCiRunners: migrated (0.0024s) ==============3863main: == 20220601091805 AddTextLimitToCiRunnersSemver: migrating ====================3864main: -- transaction_open?()3865main: -> 0.0000s3866main: -- current_schema()3867main: -> 0.0006s3868main: -- transaction_open?()3869main: -> 0.0000s3870main: -- execute("ALTER TABLE ci_runners\nADD CONSTRAINT check_a4f24953fd\nCHECK ( char_length(semver) <= 16 )\nNOT VALID;\n")3871main: -> 0.0014s3872main: -- current_schema()3873main: -> 0.0006s3874main: -- execute("ALTER TABLE ci_runners VALIDATE CONSTRAINT check_a4f24953fd;")3875main: -> 0.0009s3876main: == 20220601091805 AddTextLimitToCiRunnersSemver: migrated (0.0150s) ===========3877main: == 20220601101800 AddIndexOnRunnerIdAndSemverColumns: migrating ===============3878main: -- transaction_open?()3879main: -> 0.0000s3880main: -- index_exists?(:ci_runners, "id, (semver::cidr)", {:name=>"index_ci_runners_on_id_and_semver_cidr", :algorithm=>:concurrently})3881main: -> 0.0139s3882main: -- add_index(:ci_runners, "id, (semver::cidr)", {:name=>"index_ci_runners_on_id_and_semver_cidr", :algorithm=>:concurrently})3883main: -> 0.0018s3884main: == 20220601101800 AddIndexOnRunnerIdAndSemverColumns: migrated (0.0211s) ======3885main: == 20220601151900 ScheduleBackfillCiRunnerSemver: migrating ===================3886main: -- The migration is skipped since it modifies the schemas: [:gitlab_ci].3887main: -- This database can only apply migrations in one of the following schemas: [:gitlab_main, :gitlab_shared, :gitlab_internal].3888main: == 20220601151900 ScheduleBackfillCiRunnerSemver: migrated (0.0004s) ==========3889main: == 20220601152916 AddUserIdAndIpAddressSuccessIndexToAuthenticationEvents: migrating 3890main: -- transaction_open?()3891main: -> 0.0000s3892main: -- index_exists?(:authentication_events, [:user_id, :ip_address, :result], {:name=>"index_authentication_events_on_user_and_ip_address_and_result", :algorithm=>:concurrently})3893main: -> 0.0051s3894main: -- add_index(:authentication_events, [:user_id, :ip_address, :result], {:name=>"index_authentication_events_on_user_and_ip_address_and_result", :algorithm=>:concurrently})3895main: -> 0.0018s3896main: -- transaction_open?()3897main: -> 0.0000s3898main: -- indexes(:authentication_events)3899main: -> 0.0053s3900main: -- remove_index(:authentication_events, {:algorithm=>:concurrently, :name=>"index_authentication_events_on_user_id"})3901main: -> 0.0014s3902main: == 20220601152916 AddUserIdAndIpAddressSuccessIndexToAuthenticationEvents: migrated (0.0224s) 3903main: == 20220601223501 AddVulnerabilityRelatedColumns: migrating ===================3904main: -- add_column(:approval_merge_request_rules, :vulnerabilities_allowed, :integer, {:limit=>2, :null=>false, :default=>0})3905main: -> 0.0038s3906main: -- add_column(:approval_merge_request_rules, :scanners, :text, {:array=>true, :null=>false, :default=>[]})3907main: -> 0.0019s3908main: -- add_column(:approval_merge_request_rules, :severity_levels, :text, {:array=>true, :null=>false, :default=>[]})3909main: -> 0.0018s3910main: -- add_column(:approval_merge_request_rules, :vulnerability_states, :text, {:array=>true, :null=>false, :default=>["newly_detected"]})3911main: -> 0.0018s3912main: == 20220601223501 AddVulnerabilityRelatedColumns: migrated (0.0100s) ==========3913main: == 20220602070502 QueueBackfillProjectFeaturePackageRegistryAccessLevel: migrating 3914main: == 20220602070502 QueueBackfillProjectFeaturePackageRegistryAccessLevel: migrated (0.0436s) 3915main: == 20220602111923 PrepareIndexForOpenIssuesCount: migrating ===================3916main: -- index_exists?(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})3917main: -> 0.0292s3918main: -- add_index_options(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})3919main: -> 0.0001s3920main: == 20220602111923 PrepareIndexForOpenIssuesCount: migrated (0.0392s) ==========3921main: == 20220602130306 AddNamespaceTypeIndex: migrating ============================3922main: -- transaction_open?()3923main: -> 0.0000s3924main: -- index_exists?(:namespaces, [:parent_id, :id], {:where=>"type = 'Group'", :name=>"index_groups_on_parent_id_id", :algorithm=>:concurrently})3925main: -> 0.0188s3926main: -- add_index(:namespaces, [:parent_id, :id], {:where=>"type = 'Group'", :name=>"index_groups_on_parent_id_id", :algorithm=>:concurrently})3927main: -> 0.0025s3928main: == 20220602130306 AddNamespaceTypeIndex: migrated (0.0261s) ===================3929main: == 20220603095158 DropCiBuildReportResultsBuildIdSequence: migrating ==========3930main: -- quote_table_name(:ci_build_report_results)3931main: -> 0.0001s3932main: -- quote_column_name(:build_id)3933main: -> 0.0001s3934main: -- quote_table_name(:ci_build_report_results_build_id_seq)3935main: -> 0.0001s3936main: -- execute("ALTER TABLE \"ci_build_report_results\" ALTER COLUMN \"build_id\" DROP DEFAULT;\nDROP SEQUENCE IF EXISTS \"ci_build_report_results_build_id_seq\"\n")3937main: -> 0.0015s3938main: == 20220603095158 DropCiBuildReportResultsBuildIdSequence: migrated (0.0025s) =3939main: == 20220603173103 UpdateVulnerabilitiesProjectIdIdIndex: migrating ============3940main: -- transaction_open?()3941main: -> 0.0000s3942main: -- index_exists?(:vulnerabilities, [:project_id, :created_at, :present_on_default_branch], {:where=>"state != 1", :name=>"idx_vulnerabilities_partial_devops_adoption_and_default_branch", :algorithm=>:concurrently})3943main: -> 0.0161s3944main: -- add_index(:vulnerabilities, [:project_id, :created_at, :present_on_default_branch], {:where=>"state != 1", :name=>"idx_vulnerabilities_partial_devops_adoption_and_default_branch", :algorithm=>:concurrently})3945main: -> 0.0020s3946main: -- transaction_open?()3947main: -> 0.0000s3948main: -- indexes(:vulnerabilities)3949main: -> 0.0172s3950main: -- remove_index(:vulnerabilities, {:algorithm=>:concurrently, :name=>"idx_vulnerabilities_partial_devops_adoption"})3951main: -> 0.0017s3952main: == 20220603173103 UpdateVulnerabilitiesProjectIdIdIndex: migrated (0.0465s) ===3953main: == 20220605170009 AddUrlVarsToWebHook: migrating ==============================3954main: -- add_column(:web_hooks, :encrypted_url_variables, :binary)3955main: -> 0.0020s3956main: -- add_column(:web_hooks, :encrypted_url_variables_iv, :binary)3957main: -> 0.0010s3958main: == 20220605170009 AddUrlVarsToWebHook: migrated (0.0034s) =====================3959main: == 20220606060825 SetOnDeleteCascadeOnNamespaceIdOnRoutesTable: migrating =====3960main: -- transaction_open?()3961main: -> 0.0000s3962main: -- foreign_keys(:routes)3963main: -> 0.0036s3964main: -- transaction_open?()3965main: -> 0.0000s3966main: -- execute("ALTER TABLE routes\nADD CONSTRAINT fk_bb2e5b8968\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")3967main: -> 0.0015s3968main: -- execute("ALTER TABLE routes VALIDATE CONSTRAINT fk_bb2e5b8968;")3969main: -> 0.0015s3970main: -- transaction_open?()3971main: -> 0.0000s3972main: -- foreign_keys(:routes)3973main: -> 0.0039s3974main: -- remove_foreign_key(:routes, {:column=>:namespace_id, :name=>"fk_679ff8213d"})3975main: -> 0.0051s3976main: == 20220606060825 SetOnDeleteCascadeOnNamespaceIdOnRoutesTable: migrated (0.0242s) 3977main: == 20220606060850 AddNotNullConstraintOnRoutesNamespaceId: migrating ==========3978main: -- current_schema()3979main: -> 0.0007s3980main: -- transaction_open?()3981main: -> 0.0000s3982main: -- current_schema()3983main: -> 0.0006s3984main: -- transaction_open?()3985main: -> 0.0000s3986main: -- execute("ALTER TABLE routes\nADD CONSTRAINT check_af84c6c93f\nCHECK ( namespace_id IS NOT NULL )\nNOT VALID;\n")3987main: -> 0.0011s3988main: == 20220606060850 AddNotNullConstraintOnRoutesNamespaceId: migrated (0.0122s) =3989main: == 20220606082910 AddTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrating 3990main: -- index_exists?(:vulnerability_occurrences, [:id, :scanner_id], {:where=>"report_type IN (7,99)", :name=>"tmp_index_vulnerability_occurrences_on_id_and_scanner_id", :algorithm=>:concurrently})3991main: -> 0.0089s3992main: -- add_index_options(:vulnerability_occurrences, [:id, :scanner_id], {:where=>"report_type IN (7,99)", :name=>"tmp_index_vulnerability_occurrences_on_id_and_scanner_id", :algorithm=>:concurrently})3993main: -> 0.0001s3994main: == 20220606082910 AddTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrated (0.0206s) 3995main: == 20220607011733 AddPhoneVerificationCodeEnabledToApplicationSettings: migrating 3996main: -- add_column(:application_settings, :phone_verification_code_enabled, :boolean, {:null=>false, :default=>false, :comment=>"JiHu-specific column"})3997main: -> 0.0050s3998main: == 20220607011733 AddPhoneVerificationCodeEnabledToApplicationSettings: migrated (0.0053s) 3999main: == 20220607082910 AddSyncTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrating 4000main: -- transaction_open?()4001main: -> 0.0000s4002main: -- index_exists?(:vulnerability_occurrences, [:id, :scanner_id], {:where=>"report_type IN (7,99)", :name=>"tmp_index_vulnerability_occurrences_on_id_and_scanner_id", :algorithm=>:concurrently})4003main: -> 0.0095s4004main: -- add_index(:vulnerability_occurrences, [:id, :scanner_id], {:where=>"report_type IN (7,99)", :name=>"tmp_index_vulnerability_occurrences_on_id_and_scanner_id", :algorithm=>:concurrently})4005main: -> 0.0020s4006main: == 20220607082910 AddSyncTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrated (0.0205s) 4007main: == 20220607095219 DropCiPipelinesConfigPipelineIdSequence: migrating ==========4008main: -- quote_table_name(:ci_pipelines_config)4009main: -> 0.0001s4010main: -- quote_column_name(:pipeline_id)4011main: -> 0.0001s4012main: -- quote_table_name(:ci_pipelines_config_pipeline_id_seq)4013main: -> 0.0000s4014main: -- execute("ALTER TABLE \"ci_pipelines_config\" ALTER COLUMN \"pipeline_id\" DROP DEFAULT;\nDROP SEQUENCE IF EXISTS \"ci_pipelines_config_pipeline_id_seq\"\n")4015main: -> 0.0014s4016main: == 20220607095219 DropCiPipelinesConfigPipelineIdSequence: migrated (0.0021s) =4017main: == 20220607115703 DropCiJobArtifactStatesJobArtifactIdSequence: migrating =====4018main: -- quote_table_name(:ci_job_artifact_states)4019main: -> 0.0001s4020main: -- quote_column_name(:job_artifact_id)4021main: -> 0.0000s4022main: -- quote_table_name(:ci_job_artifact_states_job_artifact_id_seq)4023main: -> 0.0001s4024main: -- execute("ALTER TABLE \"ci_job_artifact_states\" ALTER COLUMN \"job_artifact_id\" DROP DEFAULT;\nDROP SEQUENCE IF EXISTS \"ci_job_artifact_states_job_artifact_id_seq\"\n")4025main: -> 0.0022s4026main: == 20220607115703 DropCiJobArtifactStatesJobArtifactIdSequence: migrated (0.0028s) 4027main: == 20220607140222 RemoveInvalidIntegrations: migrating ========================4028main: == 20220607140222 RemoveInvalidIntegrations: migrated (0.0041s) ===============4029main: == 20220608074738 AddMaxRepositoryDownloadsLimitToApplicationSettings: migrating 4030main: -- add_column(:application_settings, :max_number_of_repository_downloads, :smallint, {:default=>0, :null=>false})4031main: -> 0.0035s4032main: -- add_column(:application_settings, :max_number_of_repository_downloads_within_time_period, :integer, {:default=>0, :null=>false})4033main: -> 0.0020s4034main: == 20220608074738 AddMaxRepositoryDownloadsLimitToApplicationSettings: migrated (0.0058s) 4035main: == 20220608114734 PrepareConfidentialNoteIndexOnId: migrating =================4036main: -- index_exists?(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4037main: -> 0.0423s4038main: -- add_index_options(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4039main: -> 0.0001s4040main: == 20220608114734 PrepareConfidentialNoteIndexOnId: migrated (0.0519s) ========4041main: == 20220609150626 AddPartialIndexOnSlackIntegrationsWithBotUserId: migrating ==4042main: -- transaction_open?()4043main: -> 0.0000s4044main: -- index_exists?(:slack_integrations, :id, {:name=>"partial_index_slack_integrations_with_bot_user_id", :where=>"bot_user_id IS NOT NULL", :algorithm=>:concurrently})4045main: -> 0.0046s4046main: -- add_index(:slack_integrations, :id, {:name=>"partial_index_slack_integrations_with_bot_user_id", :where=>"bot_user_id IS NOT NULL", :algorithm=>:concurrently})4047main: -> 0.0016s4048main: == 20220609150626 AddPartialIndexOnSlackIntegrationsWithBotUserId: migrated (0.0115s) 4049main: == 20220609195803 RemoveDeploymentClustersClusterIdFk: migrating ==============4050main: -- transaction_open?()4051main: -> 0.0000s4052main: -- foreign_keys(:deployment_clusters)4053main: -> 0.0040s4054main: -- transaction_open?()4055main: -> 0.0000s4056main: -- execute("LOCK TABLE clusters, deployment_clusters IN ACCESS EXCLUSIVE MODE")4057main: -> 0.0010s4058main: -- remove_foreign_key(:deployment_clusters, :clusters, {:name=>"fk_rails_4e6243e120"})4059main: -> 0.0051s4060main: == 20220609195803 RemoveDeploymentClustersClusterIdFk: migrated (0.0148s) =====4061main: == 20220610074326 AddEpicIssueWeight: migrating ===============================4062main: -- add_column(:epics, :total_opened_issue_weight, :integer, {:default=>0, :null=>false})4063main: -> 0.0029s4064main: -- add_column(:epics, :total_closed_issue_weight, :integer, {:default=>0, :null=>false})4065main: -> 0.0019s4066main: -- add_column(:epics, :total_opened_issue_count, :integer, {:default=>0, :null=>false})4067main: -> 0.0016s4068main: -- add_column(:epics, :total_closed_issue_count, :integer, {:default=>0, :null=>false})4069main: -> 0.0023s4070main: == 20220610074326 AddEpicIssueWeight: migrated (0.0093s) ======================4071main: == 20220610125248 AddEnabledGitAccessProtocolToNamespaceSettings: migrating ===4072main: -- add_column(:namespace_settings, :enabled_git_access_protocol, :integer, {:default=>0, :null=>false, :limit=>2})4073main: -> 0.0029s4074main: == 20220610125248 AddEnabledGitAccessProtocolToNamespaceSettings: migrated (0.0032s) 4075main: == 20220610140605 ChangePublicProjectsCostFactor: migrating ===================4076main: -- The migration is skipped since it modifies the schemas: [:gitlab_ci].4077main: -- This database can only apply migrations in one of the following schemas: [:gitlab_main, :gitlab_shared, :gitlab_internal].4078main: == 20220610140605 ChangePublicProjectsCostFactor: migrated (0.0003s) ==========4079main: == 20220610223040 AddIndexOnAvailablePypiPackages: migrating ==================4080main: -- transaction_open?()4081main: -> 0.0000s4082main: -- index_exists?(:packages_packages, [:project_id, :id], {:where=>"status IN (0,1) AND package_type = 5 AND version IS NOT NULL", :name=>"index_packages_on_available_pypi_packages", :algorithm=>:concurrently})4083main: -> 0.0157s4084main: -- add_index(:packages_packages, [:project_id, :id], {:where=>"status IN (0,1) AND package_type = 5 AND version IS NOT NULL", :name=>"index_packages_on_available_pypi_packages", :algorithm=>:concurrently})4085main: -> 0.0022s4086main: == 20220610223040 AddIndexOnAvailablePypiPackages: migrated (0.0233s) =========4087main: == 20220613054349 AddUniqueProjectDownloadLimitSettingsToNamespaceSettings: migrating 4088main: -- add_column(:namespace_settings, :unique_project_download_limit, :smallint, {:default=>0, :null=>false})4089main: -> 0.0019s4090main: -- add_column(:namespace_settings, :unique_project_download_limit_interval_in_seconds, :integer, {:default=>0, :null=>false})4091main: -> 0.0015s4092main: == 20220613054349 AddUniqueProjectDownloadLimitSettingsToNamespaceSettings: migrated (0.0038s) 4093main: == 20220613095911 CreateConfidentialNotesIndexOnId: migrating =================4094main: -- transaction_open?()4095main: -> 0.0000s4096main: -- indexes(:notes)4097main: -> 0.0113s4098main: -- remove_index(:notes, {:algorithm=>:concurrently, :name=>"index_notes_on_confidential"})4099main: -> 0.0016s4100main: -- transaction_open?()4101main: -> 0.0000s4102main: -- index_exists?(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4103main: -> 0.0107s4104main: -- add_index(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4105main: -> 0.0017s4106main: == 20220613095911 CreateConfidentialNotesIndexOnId: migrated (0.0376s) ========4107main: == 20220614095912 AddHasVulnerabilitiesToClusterAgents: migrating =============4108main: -- add_column(:cluster_agents, :has_vulnerabilities, :boolean, {:default=>false, :null=>false})4109main: -> 0.0022s4110main: == 20220614095912 AddHasVulnerabilitiesToClusterAgents: migrated (0.0025s) ====4111main: == 20220614120415 AddToggleOptInJwt: migrating ================================4112main: -- add_column(:project_ci_cd_settings, :opt_in_jwt, :boolean, {:default=>false, :null=>false})4113main: -> 0.0027s4114main: == 20220614120415 AddToggleOptInJwt: migrated (0.0030s) =======================4115main: == 20220615091059 AddCreatedAtIndexToComplianceManagementFrameworks: migrating 4116main: -- transaction_open?()4117main: -> 0.0000s4118main: -- index_exists?(:compliance_management_frameworks, [:id, :created_at, :pipeline_configuration_full_path], {:name=>"i_compliance_frameworks_on_id_and_created_at", :algorithm=>:concurrently})4119main: -> 0.0041s4120main: -- add_index(:compliance_management_frameworks, [:id, :created_at, :pipeline_configuration_full_path], {:name=>"i_compliance_frameworks_on_id_and_created_at", :algorithm=>:concurrently})4121main: -> 0.0032s4122main: == 20220615091059 AddCreatedAtIndexToComplianceManagementFrameworks: migrated (0.0126s) 4123main: == 20220615105811 AddIndexOnClustersAgentProjectIdAndHasVulnerabilitiesColumns: migrating 4124main: -- transaction_open?()4125main: -> 0.0000s4126main: -- index_exists?(:cluster_agents, [:project_id, :has_vulnerabilities], {:name=>"index_cluster_agents_on_project_id_and_has_vulnerabilities", :algorithm=>:concurrently})4127main: -> 0.0038s4128main: -- add_index(:cluster_agents, [:project_id, :has_vulnerabilities], {:name=>"index_cluster_agents_on_project_id_and_has_vulnerabilities", :algorithm=>:concurrently})4129main: -> 0.0015s4130main: == 20220615105811 AddIndexOnClustersAgentProjectIdAndHasVulnerabilitiesColumns: migrated (0.0100s) 4131main: == 20220616092541 PrepareIndexIssuesOnProjectIdAndClosedAt: migrating =========4132main: -- index_exists?(:issues, "project_id, closed_at DESC NULLS LAST, state_id, id", {:name=>"index_issues_on_project_id_closed_at_desc_state_id_and_id", :algorithm=>:concurrently})4133main: -> 0.0254s4134main: -- add_index_options(:issues, "project_id, closed_at DESC NULLS LAST, state_id, id", {:name=>"index_issues_on_project_id_closed_at_desc_state_id_and_id", :algorithm=>:concurrently})4135main: -> 0.0001s4136main: -- index_exists?(:issues, [:project_id, :closed_at, :state_id, :id], {:name=>"index_issues_on_project_id_closed_at_state_id_and_id", :algorithm=>:concurrently})4137main: -> 0.0252s4138main: -- add_index_options(:issues, [:project_id, :closed_at, :state_id, :id], {:name=>"index_issues_on_project_id_closed_at_state_id_and_id", :algorithm=>:concurrently})4139main: -> 0.0001s4140main: == 20220616092541 PrepareIndexIssuesOnProjectIdAndClosedAt: migrated (0.0663s) 4141main: == 20220616182001 CreateSbomComponents: migrating =============================4142main: -- create_table(:sbom_components, {})4143main: -- quote_column_name(:name)4144main: -> 0.0000s4145main: -> 0.0039s4146main: == 20220616182001 CreateSbomComponents: migrated (0.0042s) ====================4147main: == 20220616182015 CreateSbomComponentVersions: migrating ======================4148main: -- create_table(:sbom_component_versions, {})4149main: -- quote_column_name(:version)4150main: -> 0.0000s4151main: -> 0.0052s4152main: == 20220616182015 CreateSbomComponentVersions: migrated (0.0055s) =============4153main: == 20220616182016 CreateSbomSources: migrating ================================4154main: -- create_table(:sbom_sources, {})4155main: -> 0.0040s4156main: == 20220616182016 CreateSbomSources: migrated (0.0043s) =======================4157main: == 20220616182038 CreateSbomOccurrences: migrating ============================4158main: -- create_table(:sbom_occurrences, {})4159main: -> 0.0071s4160main: == 20220616182038 CreateSbomOccurrences: migrated (0.0074s) ===================4161main: == 20220616183240 AddSbomComponentVersionsForeignKeyToSbomOccurrences: migrating 4162main: -- transaction_open?()4163main: -> 0.0000s4164main: -- foreign_keys(:sbom_occurrences)4165main: -> 0.0038s4166main: -- transaction_open?()4167main: -> 0.0000s4168main: -- execute("ALTER TABLE sbom_occurrences\nADD CONSTRAINT fk_4b88e5b255\nFOREIGN KEY (component_version_id)\nREFERENCES sbom_component_versions (id)\nON DELETE CASCADE\nNOT VALID;\n")4169main: -> 0.0012s4170main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_4b88e5b255;")4171main: -> 0.0012s4172main: == 20220616183240 AddSbomComponentVersionsForeignKeyToSbomOccurrences: migrated (0.0107s) 4173main: == 20220616183309 AddSbomSourceForeignKeyToSbomOccurrences: migrating =========4174main: -- transaction_open?()4175main: -> 0.0000s4176main: -- foreign_keys(:sbom_occurrences)4177main: -> 0.0040s4178main: -- transaction_open?()4179main: -> 0.0000s4180main: -- execute("ALTER TABLE sbom_occurrences\nADD CONSTRAINT fk_c2a5562923\nFOREIGN KEY (source_id)\nREFERENCES sbom_sources (id)\nON DELETE CASCADE\nNOT VALID;\n")4181main: -> 0.0014s4182main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_c2a5562923;")4183main: -> 0.0012s4184main: == 20220616183309 AddSbomSourceForeignKeyToSbomOccurrences: migrated (0.0114s) 4185main: == 20220616183310 AddProjectForeignKeyToSbomOccurrences: migrating ============4186main: -- transaction_open?()4187main: -> 0.0000s4188main: -- foreign_keys(:sbom_occurrences)4189main: -> 0.0040s4190main: -- transaction_open?()4191main: -> 0.0000s4192main: -- execute("ALTER TABLE sbom_occurrences\nADD CONSTRAINT fk_157506c0e2\nFOREIGN KEY (project_id)\nREFERENCES projects (id)\nON DELETE CASCADE\nNOT VALID;\n")4193main: -> 0.0016s4194main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_157506c0e2;")4195main: -> 0.0018s4196main: == 20220616183310 AddProjectForeignKeyToSbomOccurrences: migrated (0.0124s) ===4197main: == 20220616222253 RemoveCiSecureFilesPermissionsColumn: migrating =============4198main: -- remove_column(:ci_secure_files, :permissions)4199main: -> 0.0022s4200main: == 20220616222253 RemoveCiSecureFilesPermissionsColumn: migrated (0.0024s) ====4201main: == 20220617073407 AddIndexForOpenIssuesCount: migrating =======================4202main: -- transaction_open?()4203main: -> 0.0000s4204main: -- index_exists?(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})4205main: -> 0.0264s4206main: -- add_index(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})4207main: -> 0.0023s4208main: == 20220617073407 AddIndexForOpenIssuesCount: migrated (0.0373s) ==============4209main: == 20220617123022 AddUniqueIndexOnProjectsOnRunnersToken: migrating ===========4210main: -- transaction_open?()4211main: -> 0.0000s4212main: -- index_exists?(:projects, :runners_token, {:name=>"index_uniq_projects_on_runners_token", :unique=>true, :algorithm=>:concurrently})4213main: -> 0.0481s4214main: -- add_index(:projects, :runners_token, {:name=>"index_uniq_projects_on_runners_token", :unique=>true, :algorithm=>:concurrently})4215main: -> 0.0026s4216main: == 20220617123022 AddUniqueIndexOnProjectsOnRunnersToken: migrated (0.0564s) ==4217main: == 20220617123034 AddUniqueIndexOnProjectsOnRunnersTokenEncrypted: migrating ==4218main: -- transaction_open?()4219main: -> 0.0000s4220main: -- index_exists?(:projects, :runners_token_encrypted, {:name=>"index_uniq_projects_on_runners_token_encrypted", :unique=>true, :algorithm=>:concurrently})4221main: -> 0.0499s4222main: -- add_index(:projects, :runners_token_encrypted, {:name=>"index_uniq_projects_on_runners_token_encrypted", :unique=>true, :algorithm=>:concurrently})4223main: -> 0.0021s4224main: == 20220617123034 AddUniqueIndexOnProjectsOnRunnersTokenEncrypted: migrated (0.0588s) 4225main: == 20220617123105 DropIndexOnProjectsOnRunnersToken: migrating ================4226main: -- transaction_open?()4227main: -> 0.0000s4228main: -- indexes(:projects)4229main: -> 0.0475s4230main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_on_runners_token"})4231main: -> 0.0028s4232main: == 20220617123105 DropIndexOnProjectsOnRunnersToken: migrated (0.0554s) =======4233main: == 20220617123113 DropIndexOnProjectsOnRunnersTokenEncrypted: migrating =======4234main: -- transaction_open?()4235main: -> 0.0000s4236main: -- indexes(:projects)4237main: -> 0.0493s4238main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_on_runners_token_encrypted"})4239main: -> 0.0015s4240main: == 20220617123113 DropIndexOnProjectsOnRunnersTokenEncrypted: migrated (0.0554s) 4241main: == 20220617123135 DropTempIndexOnProjectsOnIdAndRunnersToken: migrating =======4242main: -- transaction_open?()4243main: -> 0.0000s4244main: -- transaction_open?()4245main: -> 0.0000s4246main: -- indexes(:projects)4247main: -> 0.0464s4248main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"tmp_index_projects_on_id_and_runners_token"})4249main: -> 0.0016s4250main: == 20220617123135 DropTempIndexOnProjectsOnIdAndRunnersToken: migrated (0.0584s) 4251main: == 20220617123144 DropTempIndexOnProjectsOnIdAndRunnersTokenEncrypted: migrating 4252main: -- transaction_open?()4253main: -> 0.0000s4254main: -- transaction_open?()4255main: -> 0.0000s4256main: -- indexes(:projects)4257main: -> 0.0430s4258main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"tmp_index_projects_on_id_and_runners_token_encrypted"})4259main: -> 0.0015s4260main: == 20220617123144 DropTempIndexOnProjectsOnIdAndRunnersTokenEncrypted: migrated (0.0550s) 4261main: == 20220617141347 CreateCiSecureFileStates: migrating =========================4262main: -- create_table(:ci_secure_file_states, {:id=>false})4263main: -- quote_column_name(:verification_failure)4264main: -> 0.0000s4265main: -> 0.0088s4266main: == 20220617141347 CreateCiSecureFileStates: migrated (0.0091s) ================4267main: == 20220617142124 AddIndexOnInstallablePackageFiles: migrating ================4268main: -- transaction_open?()4269main: -> 0.0000s4270main: -- index_exists?(:packages_package_files, [:package_id, :id, :file_name], {:where=>"(status = 0)", :name=>"idx_pkgs_installable_package_files_on_package_id_id_file_name", :algorithm=>:concurrently})4271main: -> 0.0093s4272main: -- add_index(:packages_package_files, [:package_id, :id, :file_name], {:where=>"(status = 0)", :name=>"idx_pkgs_installable_package_files_on_package_id_id_file_name", :algorithm=>:concurrently})4273main: -> 0.0017s4274main: == 20220617142124 AddIndexOnInstallablePackageFiles: migrated (0.0158s) =======4275main: == 20220617143228 ReplacePackagesIndexOnProjectIdAndStatus: migrating =========4276main: -- transaction_open?()4277main: -> 0.0001s4278main: -- index_exists?(:packages_packages, [:project_id, :status, :id], {:name=>"index_packages_packages_on_project_id_and_status_and_id", :algorithm=>:concurrently})4279main: -> 0.0148s4280main: -- add_index(:packages_packages, [:project_id, :status, :id], {:name=>"index_packages_packages_on_project_id_and_status_and_id", :algorithm=>:concurrently})4281main: -> 0.0015s4282main: -- transaction_open?()4283main: -> 0.0000s4284main: -- indexes(:packages_packages)4285main: -> 0.0153s4286main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_packages_on_project_id_and_status"})4287main: -> 0.0014s4288main: == 20220617143228 ReplacePackagesIndexOnProjectIdAndStatus: migrated (0.0411s) 4289main: == 20220619182308 CreateProjectRelationExports: migrating =====================4290main: -- create_table(:project_relation_exports, {})4291main: -- quote_column_name(:relation)4292main: -> 0.0000s4293main: -- quote_column_name(:jid)4294main: -> 0.0000s4295main: -- quote_column_name(:export_error)4296main: -> 0.0000s4297main: -> 0.0066s4298main: == 20220619182308 CreateProjectRelationExports: migrated (0.0068s) ============4299main: == 20220619184931 CreateProjectRelationExportUploads: migrating ===============4300main: -- create_table(:project_relation_export_uploads, {})4301main: -- quote_column_name(:export_file)4302main: -> 0.0000s4303main: -> 0.0045s4304main: == 20220619184931 CreateProjectRelationExportUploads: migrated (0.0048s) ======4305main: == 20220620060633 FinalizeOrphanedRoutesCleanup: migrating ====================4306main: == 20220620060633 FinalizeOrphanedRoutesCleanup: migrated (0.0252s) ===========4307main: == 20220620132300 UpdateLastRunDateForIterationsCadences: migrating ===========4308main: -- execute("UPDATE iterations_cadences SET last_run_date=CURRENT_DATE WHERE automatic=true;\n")4309main: -> 0.0019s4310main: == 20220620132300 UpdateLastRunDateForIterationsCadences: migrated (0.0021s) ==4311main: == 20220620151740 AddIndexesIssuesOnProjectIdAndClosedAt: migrating ===========4312main: -- indexes(:issues)4313main: -> 0.0264s4314main: -- current_schema()4315main: -> 0.0006s4316main: -- transaction_open?()4317main: -> 0.0000s4318main: -- index_exists?(:issues, "project_id, closed_at DESC NULLS LAST, state_id, id", {:name=>"index_issues_on_project_id_closed_at_desc_state_id_and_id", :algorithm=>:concurrently})4319main: -> 0.0258s4320main: -- add_index(:issues, "project_id, closed_at DESC NULLS LAST, state_id, id", {:name=>"index_issues_on_project_id_closed_at_desc_state_id_and_id", :algorithm=>:concurrently})4321main: -> 0.0018s4322main: -- indexes(:issues)4323main: -> 0.0265s4324main: -- current_schema()4325main: -> 0.0005s4326main: -- transaction_open?()4327main: -> 0.0000s4328main: -- index_exists?(:issues, [:project_id, :closed_at, :state_id, :id], {:name=>"index_issues_on_project_id_closed_at_state_id_and_id", :algorithm=>:concurrently})4329main: -> 0.0256s4330main: -- add_index(:issues, [:project_id, :closed_at, :state_id, :id], {:name=>"index_issues_on_project_id_closed_at_state_id_and_id", :algorithm=>:concurrently})4331main: -> 0.0018s4332main: -- transaction_open?()4333main: -> 0.0000s4334main: -- indexes(:issues)4335main: -> 0.0266s4336main: -- remove_index(:issues, {:algorithm=>:concurrently, :name=>"index_issues_on_project_id_and_closed_at"})4337main: -> 0.0014s4338main: == 20220620151740 AddIndexesIssuesOnProjectIdAndClosedAt: migrated (0.1603s) ==4339main: == 20220621040800 BackfillImportedIssueSearchData: migrating ==================4340main: == 20220621040800 BackfillImportedIssueSearchData: migrated (0.0002s) =========4341main: == 20220621082245 RemoveTmpIndexOnRoutesNamespaceIdColumn: migrating ==========4342main: -- transaction_open?()4343main: -> 0.0000s4344main: -- indexes(:routes)4345main: -> 0.0082s4346main: -- remove_index(:routes, {:algorithm=>:concurrently, :name=>"tmp_index_for_namespace_id_migration_on_routes"})4347main: -> 0.0013s4348main: == 20220621082245 RemoveTmpIndexOnRoutesNamespaceIdColumn: migrated (0.0136s) =4349main: == 20220621092245 ValidateNotNullConstraintOnRoutesNamespaceIdColumn: migrating 4350main: -- current_schema()4351main: -> 0.0006s4352main: -- execute("ALTER TABLE routes VALIDATE CONSTRAINT check_af84c6c93f;")4353main: -> 0.0010s4354main: == 20220621092245 ValidateNotNullConstraintOnRoutesNamespaceIdColumn: migrated (0.0044s) 4355main: == 20220621192541 AddProjectIdStateSeverityDefaultBranchIndexForVulnerabilities: migrating 4356main: -- transaction_open?()4357main: -> 0.0000s4358main: -- index_exists?(:vulnerabilities, [:project_id, :state, :severity, :present_on_default_branch], {:name=>"index_vulnerabilities_project_id_state_severity_default_branch", :algorithm=>:concurrently})4359main: -> 0.0145s4360main: -- add_index(:vulnerabilities, [:project_id, :state, :severity, :present_on_default_branch], {:name=>"index_vulnerabilities_project_id_state_severity_default_branch", :algorithm=>:concurrently})4361main: -> 0.0018s4362main: == 20220621192541 AddProjectIdStateSeverityDefaultBranchIndexForVulnerabilities: migrated (0.0216s) 4363main: == 20220621202616 AddPartialIndexOnOauthAccessTokensRevokedAt: migrating ======4364main: -- transaction_open?()4365main: -> 0.0000s4366main: -- index_exists?(:oauth_access_tokens, [:resource_owner_id, :created_at], {:name=>"partial_index_resource_owner_id_created_at_token_not_revoked", :where=>"revoked_at IS NULL", :algorithm=>:concurrently})4367main: -> 0.0054s4368main: -- add_index(:oauth_access_tokens, [:resource_owner_id, :created_at], {:name=>"partial_index_resource_owner_id_created_at_token_not_revoked", :where=>"revoked_at IS NULL", :algorithm=>:concurrently})4369main: -> 0.0017s4370main: -- transaction_open?()4371main: -> 0.0000s4372main: -- index_exists?(:oauth_access_tokens, :resource_owner_id, {:name=>"index_oauth_access_tokens_on_resource_owner_id", :algorithm=>:concurrently})4373main: -> 0.0066s4374main: -- remove_index(:oauth_access_tokens, {:name=>"index_oauth_access_tokens_on_resource_owner_id", :algorithm=>:concurrently, :column=>:resource_owner_id})4375main: -> 0.0073s4376main: == 20220621202616 AddPartialIndexOnOauthAccessTokensRevokedAt: migrated (0.0313s) 4377main: == 20220622070547 AddTempIndexForContainerRegistrySizeMigration: migrating ====4378main: -- transaction_open?()4379main: -> 0.0000s4380main: -- index_exists?(:container_repositories, [:project_id], {:name=>"tmp_index_migrated_container_registries", :where=>"migration_state = 'import_done' OR created_at >= '2022-01-23'", :algorithm=>:concurrently})4381main: -> 0.0124s4382main: -- add_index(:container_repositories, [:project_id], {:name=>"tmp_index_migrated_container_registries", :where=>"migration_state = 'import_done' OR created_at >= '2022-01-23'", :algorithm=>:concurrently})4383main: -> 0.0019s4384main: -- transaction_open?()4385main: -> 0.0000s4386main: -- index_exists?(:project_statistics, [:project_id], {:name=>"tmp_index_project_statistics_cont_registry_size", :where=>"container_registry_size = 0", :algorithm=>:concurrently})4387main: -> 0.0087s4388main: -- add_index(:project_statistics, [:project_id], {:name=>"tmp_index_project_statistics_cont_registry_size", :where=>"container_registry_size = 0", :algorithm=>:concurrently})4389main: -> 0.0017s4390main: == 20220622070547 AddTempIndexForContainerRegistrySizeMigration: migrated (0.0342s) 4391main: == 20220622080547 BackfillProjectStatisticsWithContainerRegistrySize: migrating 4392main: == 20220622080547 BackfillProjectStatisticsWithContainerRegistrySize: migrated (0.0409s) 4393main: == 20220624062300 DeleteBackfillCiRunnerSemverMigration: migrating ============4394main: -- The migration is skipped since it modifies the schemas: [:gitlab_ci].4395main: -- This database can only apply migrations in one of the following schemas: [:gitlab_main, :gitlab_shared, :gitlab_internal].4396main: == 20220624062300 DeleteBackfillCiRunnerSemverMigration: migrated (0.0003s) ===4397main: == 20220624081524 AddCiRunnerVersionsTable: migrating =========================4398main: -- create_table(:ci_runner_versions, {:id=>false})4399main: -- quote_column_name(:version)4400main: -> 0.0000s4401main: -> 0.0042s4402main: == 20220624081524 AddCiRunnerVersionsTable: migrated (0.0044s) ================4403main: == 20220624090458 AddIndexOnRunnerVersion: migrating ==========================4404main: -- transaction_open?()4405main: -> 0.0000s4406main: -- index_exists?(:ci_runners, :version, {:name=>"index_ci_runners_on_version", :algorithm=>:concurrently})4407main: -> 0.0115s4408main: -- add_index(:ci_runners, :version, {:name=>"index_ci_runners_on_version", :algorithm=>:concurrently})4409main: -> 0.0015s4410main: == 20220624090458 AddIndexOnRunnerVersion: migrated (0.0173s) =================4411main: == 20220627061008 AddFeiShuIntegration: migrating =============================4412main: -- add_column(:application_settings, :feishu_integration_enabled, :boolean, {:null=>false, :default=>false, :comment=>"JiHu-specific column"})4413main: -> 0.0037s4414main: -- add_column(:application_settings, :encrypted_feishu_app_key, :binary, {:comment=>"JiHu-specific column"})4415main: -> 0.0018s4416main: -- add_column(:application_settings, :encrypted_feishu_app_key_iv, :binary, {:comment=>"JiHu-specific column"})4417main: -> 0.0018s4418main: -- add_column(:application_settings, :encrypted_feishu_app_secret, :binary, {:comment=>"JiHu-specific column"})4419main: -> 0.0029s4420main: -- add_column(:application_settings, :encrypted_feishu_app_secret_iv, :binary, {:comment=>"JiHu-specific column"})4421main: -> 0.0024s4422main: == 20220627061008 AddFeiShuIntegration: migrated (0.0132s) ====================4423main: == 20220627090231 ScheduleDisableLegacyOpenSourceLicenseForInactivePublicProjects: migrating 4424main: == 20220627090231 ScheduleDisableLegacyOpenSourceLicenseForInactivePublicProjects: migrated (0.0003s) 4425main: == 20220627122229 CreateUserNamespaceCallouts: migrating ======================4426main: -- create_table(:user_namespace_callouts, {})4427main: -> 0.0036s4428main: == 20220627122229 CreateUserNamespaceCallouts: migrated (0.0039s) =============4429main: == 20220627122230 AddForeignKeysToUserNamespaceCallouts: migrating ============4430main: -- transaction_open?()4431main: -> 0.0000s4432main: -- foreign_keys(:user_namespace_callouts)4433main: -> 0.0039s4434main: -- transaction_open?()4435main: -> 0.0000s4436main: -- execute("ALTER TABLE user_namespace_callouts\nADD CONSTRAINT fk_4b1257f385\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")4437main: -> 0.0016s4438main: -- execute("ALTER TABLE user_namespace_callouts VALIDATE CONSTRAINT fk_4b1257f385;")4439main: -> 0.0014s4440main: -- transaction_open?()4441main: -> 0.0000s4442main: -- foreign_keys(:user_namespace_callouts)4443main: -> 0.0038s4444main: -- transaction_open?()4445main: -> 0.0000s4446main: -- execute("ALTER TABLE user_namespace_callouts\nADD CONSTRAINT fk_27a69fd1bd\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")4447main: -> 0.0014s4448main: -- execute("ALTER TABLE user_namespace_callouts VALIDATE CONSTRAINT fk_27a69fd1bd;")4449main: -> 0.0013s4450main: -- transaction_open?()4451main: -> 0.0000s4452main: -- index_exists?(:user_namespace_callouts, [:user_id, :feature_name, :namespace_id], {:unique=>true, :name=>"index_ns_user_callouts_feature", :algorithm=>:concurrently})4453main: -> 0.0028s4454main: -- add_index(:user_namespace_callouts, [:user_id, :feature_name, :namespace_id], {:unique=>true, :name=>"index_ns_user_callouts_feature", :algorithm=>:concurrently})4455main: -> 0.0013s4456main: == 20220627122230 AddForeignKeysToUserNamespaceCallouts: migrated (0.0283s) ===4457main: == 20220627140315 AddLastFeatureFlagUpdatedAtToOperationsFeatureFlagsClients: migrating 4458main: -- add_column(:operations_feature_flags_clients, :last_feature_flag_updated_at, :datetime_with_timezone)4459main: -> 0.0016s4460main: == 20220627140315 AddLastFeatureFlagUpdatedAtToOperationsFeatureFlagsClients: migrated (0.0019s) 4461main: == 20220627152642 QueueUpdateDelayedProjectRemovalToNullForUserNamespace: migrating 4462main: == 20220627152642 QueueUpdateDelayedProjectRemovalToNullForUserNamespace: migrated (0.0348s) 4463main: == 20220627171538 AddErrorTrackingSettings: migrating =========================4464main: -- add_column(:application_settings, :error_tracking_enabled, :boolean, {:default=>false, :null=>false, :if_not_exists=>true})4465main: -> 0.1581s4466main: -- add_column(:application_settings, :error_tracking_api_url, :text, {:if_not_exists=>true})4467main: -> 0.1566s4468main: -- transaction_open?()4469main: -> 0.0000s4470main: -- current_schema()4471main: -> 0.0007s4472main: -- transaction_open?()4473main: -> 0.0000s4474main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_492cc1354d\nCHECK ( char_length(error_tracking_api_url) <= 255 )\nNOT VALID;\n")4475main: -> 0.0018s4476main: -- current_schema()4477main: -> 0.0005s4478main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_492cc1354d;")4479main: -> 0.0015s4480main: == 20220627171538 AddErrorTrackingSettings: migrated (0.3287s) ================4481main: == 20220627223041 AddPostMigrateTestTable: migrating ==========================4482main: -- create_table(:post_migration_test_table, {})4483main: -> 0.0030s4484main: == 20220627223041 AddPostMigrateTestTable: migrated (0.0033s) =================4485main: == 20220628012902 FinaliseProjectNamespaceMembers: migrating ==================4486main: == 20220628012902 FinaliseProjectNamespaceMembers: migrated (0.0179s) =========4487main: == 20220628110214 AddNamespaceIdColumnToIssuesTable: migrating ================4488main: -- add_column(:issues, :namespace_id, :bigint)4489main: -> 0.0015s4490main: == 20220628110214 AddNamespaceIdColumnToIssuesTable: migrated (0.0020s) =======4491main: == 20220628110823 AddIssuesNamespaceIdFkAndIndex: migrating ===================4492main: -- transaction_open?()4493main: -> 0.0000s4494main: -- index_exists?(:issues, :namespace_id, {:name=>"index_issues_on_namespace_id", :algorithm=>:concurrently})4495main: -> 0.0255s4496main: -- add_index(:issues, :namespace_id, {:name=>"index_issues_on_namespace_id", :algorithm=>:concurrently})4497main: -> 0.0018s4498main: -- transaction_open?()4499main: -> 0.0000s4500main: -- foreign_keys(:issues)4501main: -> 0.0042s4502main: -- transaction_open?()4503main: -> 0.0000s4504main: -- execute("LOCK TABLE namespaces, issues IN SHARE ROW EXCLUSIVE MODE")4505main: -> 0.0006s4506main: -- execute("ALTER TABLE issues\nADD CONSTRAINT fk_6e10d4d38a\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE SET NULL\nNOT VALID;\n")4507main: -> 0.0015s4508main: -- execute("ALTER TABLE issues VALIDATE CONSTRAINT fk_6e10d4d38a;")4509main: -> 0.0017s4510main: == 20220628110823 AddIssuesNamespaceIdFkAndIndex: migrated (0.0430s) ==========4511main: == 20220628111752 DropTokenIndexFromCiBuilds: migrating =======================4512main: -- transaction_open?()4513main: -> 0.0000s4514main: -- indexes(:ci_builds)4515main: -> 0.0205s4516main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_on_token_partial"})4517main: -> 0.0013s4518main: == 20220628111752 DropTokenIndexFromCiBuilds: migrated (0.0252s) ==============4519main: == 20220628120708 CreateNamespaceBans: migrating ==============================4520main: -- create_table(:namespace_bans, {})4521main: -> 0.0043s4522main: == 20220628120708 CreateNamespaceBans: migrated (0.0045s) =====================4523main: == 20220628121644 AddNamespaceBansNamespaceIdForeignKey: migrating ============4524main: -- transaction_open?()4525main: -> 0.0000s4526main: -- foreign_keys(:namespace_bans)4527main: -> 0.0039s4528main: -- transaction_open?()4529main: -> 0.0000s4530main: -- execute("ALTER TABLE namespace_bans\nADD CONSTRAINT fk_bcc024eef2\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")4531main: -> 0.0014s4532main: -- execute("ALTER TABLE namespace_bans VALIDATE CONSTRAINT fk_bcc024eef2;")4533main: -> 0.0013s4534main: == 20220628121644 AddNamespaceBansNamespaceIdForeignKey: migrated (0.0101s) ===4535main: == 20220628121712 AddNamespaceBansUserIdForeignKey: migrating =================4536main: -- transaction_open?()4537main: -> 0.0000s4538main: -- foreign_keys(:namespace_bans)4539main: -> 0.0038s4540main: -- transaction_open?()4541main: -> 0.0000s4542main: -- execute("ALTER TABLE namespace_bans\nADD CONSTRAINT fk_4275fbb1d7\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")4543main: -> 0.0013s4544main: -- execute("ALTER TABLE namespace_bans VALIDATE CONSTRAINT fk_4275fbb1d7;")4545main: -> 0.0013s4546main: == 20220628121712 AddNamespaceBansUserIdForeignKey: migrated (0.0097s) ========4547main: == 20220628122622 RenameBuildsSidekiqQueuesToNamespaces: migrating ============4548main: == 20220628122622 RenameBuildsSidekiqQueuesToNamespaces: migrated (0.0006s) ===4549main: == 20220629124942 RemoveVulnerabilityOccurrencesMigratedToNewStructureColumn: migrating 4550main: -- transaction_open?()4551main: -> 0.0000s4552main: -- remove_column(:vulnerability_occurrences, :migrated_to_new_structure)4553main: -> 0.0011s4554main: == 20220629124942 RemoveVulnerabilityOccurrencesMigratedToNewStructureColumn: migrated (0.0039s) 4555main: == 20220629184402 UnsetEscalationPoliciesForAlertIncidents: migrating =========4556main: == 20220629184402 UnsetEscalationPoliciesForAlertIncidents: migrated (0.0017s) 4557main: == 20220629220129 IncreaseWebauthnXidLength: migrating ========================4558main: -- transaction_open?()4559main: -> 0.0000s4560main: -- current_schema()4561main: -> 0.0005s4562main: -- transaction_open?()4563main: -> 0.0000s4564main: -- execute("ALTER TABLE webauthn_registrations\nADD CONSTRAINT check_f5ab2b551a\nCHECK ( char_length(credential_xid) <= 1364 )\nNOT VALID;\n")4565main: -> 0.0008s4566main: -- current_schema()4567main: -> 0.0004s4568main: -- execute("ALTER TABLE webauthn_registrations VALIDATE CONSTRAINT check_f5ab2b551a;")4569main: -> 0.0007s4570main: -- transaction_open?()4571main: -> 0.0000s4572main: -- transaction_open?()4573main: -> 0.0000s4574main: -- execute("ALTER TABLE webauthn_registrations\nDROP CONSTRAINT IF EXISTS check_e54008d9ce\n")4575main: -> 0.0008s4576main: == 20220629220129 IncreaseWebauthnXidLength: migrated (0.0123s) ===============4577main: == 20220630050050 IndexVulnerabilityReadsOnCastedClusterAgentIdFull: migrating 4578main: -- transaction_open?()4579main: -> 0.0000s4580main: -- index_exists?(:vulnerability_reads, :casted_cluster_agent_id, {:name=>"index_vuln_reads_on_casted_cluster_agent_id_where_it_is_null", :where=>"casted_cluster_agent_id IS NOT NULL", :algorithm=>:concurrently})4581main: -> 0.0086s4582main: -- add_index(:vulnerability_reads, :casted_cluster_agent_id, {:name=>"index_vuln_reads_on_casted_cluster_agent_id_where_it_is_null", :where=>"casted_cluster_agent_id IS NOT NULL", :algorithm=>:concurrently})4583main: -> 0.0014s4584main: == 20220630050050 IndexVulnerabilityReadsOnCastedClusterAgentIdFull: migrated (0.0136s) 4585main: == 20220630085003 DropProjectSuccessfullPagesDeployIndexFromCiBuilds: migrating 4586main: -- transaction_open?()4587main: -> 0.0000s4588main: -- indexes(:ci_builds)4589main: -> 0.0202s4590main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_on_project_id_for_successfull_pages_deploy"})4591main: -> 0.0012s4592main: == 20220630085003 DropProjectSuccessfullPagesDeployIndexFromCiBuilds: migrated (0.0241s) 4593main: == 20220630091409 AddIndexOnEventsForContributionAnalyticsOptimization: migrating 4594main: -- transaction_open?()4595main: -> 0.0000s4596main: -- index_exists?(:events, [:project_id, :target_type, :action, :created_at, :author_id, :id], {:name=>"index_on_events_to_improve_contribution_analytics_performance", :algorithm=>:concurrently})4597main: -> 0.0092s4598main: -- add_index(:events, [:project_id, :target_type, :action, :created_at, :author_id, :id], {:name=>"index_on_events_to_improve_contribution_analytics_performance", :algorithm=>:concurrently})4599main: -> 0.0015s4600main: == 20220630091409 AddIndexOnEventsForContributionAnalyticsOptimization: migrated (0.0148s) 4601main: == 20220630151641 ScheduleSetCorrectVulnerabilityState: migrating =============4602main: == 20220630151641 ScheduleSetCorrectVulnerabilityState: migrated (0.0358s) ====4603main: == 20220630202329 AddPartialIndexOnOauthAccessTokensRevokedAtWithOrder: migrating 4604main: -- transaction_open?()4605main: -> 0.0000s4606main: -- index_exists?(:oauth_access_tokens, [:resource_owner_id, :application_id, :created_at], {:name=>"partial_index_user_id_app_id_created_at_token_not_revoked", :where=>"revoked_at IS NULL", :algorithm=>:concurrently})4607main: -> 0.0046s4608main: -- add_index(:oauth_access_tokens, [:resource_owner_id, :application_id, :created_at], {:name=>"partial_index_user_id_app_id_created_at_token_not_revoked", :where=>"revoked_at IS NULL", :algorithm=>:concurrently})4609main: -> 0.0014s4610main: -- transaction_open?()4611main: -> 0.0000s4612main: -- index_exists?(:oauth_access_tokens, [:resource_owner_id, :created_at], {:name=>"partial_index_resource_owner_id_created_at_token_not_revoked", :algorithm=>:concurrently})4613main: -> 0.0051s4614main: -- remove_index(:oauth_access_tokens, {:name=>"partial_index_resource_owner_id_created_at_token_not_revoked", :algorithm=>:concurrently, :column=>[:resource_owner_id, :created_at]})4615main: -> 0.0059s4616main: == 20220630202329 AddPartialIndexOnOauthAccessTokensRevokedAtWithOrder: migrated (0.0246s) 4617main: == 20220701085523 ScheduleIndexOnEventsForContributionAnalyticsOptimization: migrating 4618main: -- index_exists?(:events, [:project_id, :target_type, :action, :created_at, :author_id, :id], {:name=>"index_on_events_to_improve_contribution_analytics_performance", :algorithm=>:concurrently})4619main: -> 0.0105s4620main: == 20220701085523 ScheduleIndexOnEventsForContributionAnalyticsOptimization: migrated (0.0125s) 4621main: == 20220701173859 RemoveNotNullConstraintsFromRequirements: migrating =========4622main: -- change_column_null(:requirements, :created_at, true)4623main: -> 0.0009s4624main: -- change_column_null(:requirements, :updated_at, true)4625main: -> 0.0007s4626main: -- change_column_null(:requirements, :title, true)4627main: -> 0.0007s4628main: -- change_column_null(:requirements, :state, true)4629main: -> 0.0007s4630main: == 20220701173859 RemoveNotNullConstraintsFromRequirements: migrated (0.0033s) 4631main: == 20220703182234 AddFindingsPartitionNumberToSecurityScans: migrating ========4632main: -- add_column(:security_scans, :findings_partition_number, :integer, {:default=>1, :null=>false})4633main: -> 0.0014s4634main: == 20220703182234 AddFindingsPartitionNumberToSecurityScans: migrated (0.0016s) 4635main: == 20220703182254 AddPartitionNumberToSecurityFindings: migrating =============4636main: -- add_column(:security_findings, :partition_number, :integer, {:default=>1, :null=>false})4637main: -> 0.0014s4638main: == 20220703182254 AddPartitionNumberToSecurityFindings: migrated (0.0016s) ====4639main: == 20220703182314 AddCheckConstraintForSecurityFindingsPartitionNumber: migrating 4640main: -- transaction_open?()4641main: -> 0.0000s4642main: -- current_schema()4643main: -> 0.0004s4644main: -- transaction_open?()4645main: -> 0.0000s4646main: -- execute("ALTER TABLE security_findings\nADD CONSTRAINT check_partition_number\nCHECK ( partition_number = 1 )\nNOT VALID;\n")4647main: -> 0.0009s4648main: -- current_schema()4649main: -> 0.0005s4650main: -- execute("ALTER TABLE security_findings VALIDATE CONSTRAINT check_partition_number;")4651main: -> 0.0007s4652main: == 20220703182314 AddCheckConstraintForSecurityFindingsPartitionNumber: migrated (0.0091s) 4653main: == 20220704034050 AddUsersAllowlistToGitRateLimits: migrating =================4654main: -- add_column(:application_settings, :git_rate_limit_users_allowlist, :text, {:array=>true, :default=>[], :null=>false})4655main: -> 0.0030s4656main: == 20220704034050 AddUsersAllowlistToGitRateLimits: migrated (0.0032s) ========4657main: == 20220704034105 AddApplicationSettingsGitUsersAllowlistMaxUsernamesConstraint: migrating 4658main: -- transaction_open?()4659main: -> 0.0000s4660main: -- current_schema()4661main: -> 0.0005s4662main: -- transaction_open?()4663main: -> 0.0000s4664main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT app_settings_git_rate_limit_users_allowlist_max_usernames\nCHECK ( CARDINALITY(git_rate_limit_users_allowlist) <= 100 )\nNOT VALID;\n")4665main: -> 0.0016s4666main: -- current_schema()4667main: -> 0.0005s4668main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_git_rate_limit_users_allowlist_max_usernames;")4669main: -> 0.0014s4670main: == 20220704034105 AddApplicationSettingsGitUsersAllowlistMaxUsernamesConstraint: migrated (0.0107s) 4671main: == 20220704044408 RemoveForeignKeyInProjectTracingSettings: migrating =========4672main: -- transaction_open?()4673main: -> 0.0000s4674main: -- foreign_keys(:project_tracing_settings)4675main: -> 0.0039s4676main: -- remove_foreign_key(:project_tracing_settings, {:column=>:project_id})4677main: -> 0.0052s4678main: == 20220704044408 RemoveForeignKeyInProjectTracingSettings: migrated (0.0121s) 4679main: == 20220704045440 DropProjectTracingSettingsTable: migrating ==================4680main: -- drop_table(:project_tracing_settings)4681main: -> 0.0019s4682main: == 20220704045440 DropProjectTracingSettingsTable: migrated (0.0021s) =========4683main: == 20220705114635 DropIndexOnCiRunnerVersionsOnVersion: migrating =============4684main: -- transaction_open?()4685main: -> 0.0000s4686main: -- indexes(:ci_runner_versions)4687main: -> 0.0035s4688main: -- remove_index(:ci_runner_versions, {:algorithm=>:concurrently, :name=>"index_ci_runner_versions_on_version"})4689main: -> 0.0009s4690main: == 20220705114635 DropIndexOnCiRunnerVersionsOnVersion: migrated (0.0074s) ====4691main: == 20220705145349 AddProjectImportLevelToNamespaceSettings: migrating =========4692main: -- add_column(:namespace_settings, :project_import_level, :smallint, {:default=>0, :null=>false})4693main: -> 0.0014s4694main: == 20220705145349 AddProjectImportLevelToNamespaceSettings: migrated (0.0017s) 4695main: == 20220705180843 ValidateRequirementsIssueIdNotNull: migrating ===============4696main: -- current_schema()4697main: -> 0.0004s4698main: -- execute("ALTER TABLE requirements VALIDATE CONSTRAINT check_requirement_issue_not_null;")4699main: -> 0.0007s4700main: == 20220705180843 ValidateRequirementsIssueIdNotNull: migrated (0.0032s) ======4701main: == 20220706065245 RemoveForeignKeyInClustersApplicationsElasticStacks: migrating 4702main: -- transaction_open?()4703main: -> 0.0000s4704main: -- foreign_keys(:clusters_applications_elastic_stacks)4705main: -> 0.0037s4706main: -- remove_foreign_key(:clusters_applications_elastic_stacks, {:column=>:cluster_id})4707main: -> 0.0046s4708main: == 20220706065245 RemoveForeignKeyInClustersApplicationsElasticStacks: migrated (0.0111s) 4709main: == 20220706065611 RemoveForeignKeyInClustersIntegrationElasticstack: migrating 4710main: -- transaction_open?()4711main: -> 0.0000s4712main: -- foreign_keys(:clusters_integration_elasticstack)4713main: -> 0.0037s4714main: -- remove_foreign_key(:clusters_integration_elasticstack, {:column=>:cluster_id})4715main: -> 0.0045s4716main: == 20220706065611 RemoveForeignKeyInClustersIntegrationElasticstack: migrated (0.0109s) 4717main: == 20220706070804 DropClustersApplicationsElasticStacksTable: migrating =======4718main: -- drop_table(:clusters_applications_elastic_stacks)4719main: -> 0.0018s4720main: == 20220706070804 DropClustersApplicationsElasticStacksTable: migrated (0.0020s) 4721main: == 20220706071304 DropClustersIntegrationElasticstackTable: migrating =========4722main: -- drop_table(:clusters_integration_elasticstack)4723main: -> 0.0015s4724main: == 20220706071304 DropClustersIntegrationElasticstackTable: migrated (0.0017s) 4725main: == 20220706115138 CreateAsyncIndexOnSecurityFindings: migrating ===============4726main: -- index_exists?(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4727main: -> 0.0065s4728main: -- add_index_options(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4729main: -> 0.0001s4730main: == 20220706115138 CreateAsyncIndexOnSecurityFindings: migrated (0.0132s) ======4731main: == 20220706122719 CreateIndexOnSecurityFindingsUuidIdDesc: migrating ==========4732main: -- transaction_open?()4733main: -> 0.0000s4734main: -- index_exists?(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4735main: -> 0.0070s4736main: -- add_index(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4737main: -> 0.0014s4738main: == 20220706122719 CreateIndexOnSecurityFindingsUuidIdDesc: migrated (0.0148s) =4739main: == 20220706132238 AddIndicesOnSecurityScansInfoColumn: migrating ==============4740main: -- transaction_open?()4741main: -> 0.0000s4742main: -- index_exists?(:security_scans, "pipeline_id, jsonb_array_length(COALESCE((security_scans.info -> 'errors'::text), '[]'::jsonb))", {:name=>:index_security_scans_on_length_of_errors, :algorithm=>:concurrently})4743main: -> 0.0056s4744main: -- add_index(:security_scans, "pipeline_id, jsonb_array_length(COALESCE((security_scans.info -> 'errors'::text), '[]'::jsonb))", {:name=>:index_security_scans_on_length_of_errors, :algorithm=>:concurrently})4745main: -> 0.0016s4746main: -- transaction_open?()4747main: -> 0.0000s4748main: -- index_exists?(:security_scans, "pipeline_id, jsonb_array_length(COALESCE((security_scans.info -> 'warnings'::text), '[]'::jsonb))", {:name=>:index_security_scans_on_length_of_warnings, :algorithm=>:concurrently})4749main: -> 0.0055s4750main: -- add_index(:security_scans, "pipeline_id, jsonb_array_length(COALESCE((security_scans.info -> 'warnings'::text), '[]'::jsonb))", {:name=>:index_security_scans_on_length_of_warnings, :algorithm=>:concurrently})4751main: -> 0.0016s4752main: == 20220706132238 AddIndicesOnSecurityScansInfoColumn: migrated (0.0228s) =====4753main: == 20220706191627 AddEncryptedErrorTrackingAccessToken: migrating =============4754main: -- add_column(:application_settings, :error_tracking_access_token_encrypted, :text, {:if_not_exists=>true})4755main: -> 0.3643s4756main: -- transaction_open?()4757main: -> 0.0000s4758main: -- current_schema()4759main: -> 0.0006s4760main: -- transaction_open?()4761main: -> 0.0000s4762main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_5688c70478\nCHECK ( char_length(error_tracking_access_token_encrypted) <= 255 )\nNOT VALID;\n")4763main: -> 0.0018s4764main: -- current_schema()4765main: -> 0.0005s4766main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_5688c70478;")4767main: -> 0.0013s4768main: == 20220706191627 AddEncryptedErrorTrackingAccessToken: migrated (0.3761s) ====4769main: == 20220707075300 RescheduleBackfillImportedIssueSearchData: migrating ========4770main: == 20220707075300 RescheduleBackfillImportedIssueSearchData: migrated (0.0691s) 4771main: == 20220707181910 CreateMemberRoles: migrating ================================4772main: -- create_table(:member_roles, {})4773main: -> 0.0066s4774main: == 20220707181910 CreateMemberRoles: migrated (0.0070s) =======================4775main: == 20220707181920 AddMemberRoleIdToMembers: migrating =========================4776main: -- add_column(:members, :member_role_id, :bigint)4777main: -> 0.0012s4778main: == 20220707181920 AddMemberRoleIdToMembers: migrated (0.0016s) ================4779main: == 20220707181930 AddMemberRolesRelationToMembers: migrating ==================4780main: -- transaction_open?()4781main: -> 0.0000s4782main: -- index_exists?(:members, :member_role_id, {:name=>"index_members_on_member_role_id", :algorithm=>:concurrently})4783main: -> 0.0119s4784main: -- add_index(:members, :member_role_id, {:name=>"index_members_on_member_role_id", :algorithm=>:concurrently})4785main: -> 0.0015s4786main: -- transaction_open?()4787main: -> 0.0000s4788main: -- foreign_keys(:members)4789main: -> 0.0036s4790main: -- transaction_open?()4791main: -> 0.0000s4792main: -- execute("ALTER TABLE members\nADD CONSTRAINT fk_5e12d50db3\nFOREIGN KEY (member_role_id)\nREFERENCES member_roles (id)\nON DELETE CASCADE\nNOT VALID;\n")4793main: -> 0.0010s4794main: -- execute("ALTER TABLE members VALIDATE CONSTRAINT fk_5e12d50db3;")4795main: -> 0.0013s4796main: == 20220707181930 AddMemberRolesRelationToMembers: migrated (0.0265s) =========4797main: == 20220708100508 DropIndexOnCiRunnerVersionsOnStatus: migrating ==============4798main: -- transaction_open?()4799main: -> 0.0000s4800main: -- indexes(:ci_runner_versions)4801main: -> 0.0030s4802main: -- remove_index(:ci_runner_versions, {:algorithm=>:concurrently, :name=>"index_ci_runner_versions_on_status"})4803main: -> 0.0012s4804main: == 20220708100508 DropIndexOnCiRunnerVersionsOnStatus: migrated (0.0077s) =====4805main: == 20220708100532 AddUniqueIndexOnCiRunnerVersionsOnStatusAndVersion: migrating 4806main: -- transaction_open?()4807main: -> 0.0000s4808main: -- index_exists?(:ci_runner_versions, [:status, :version], {:name=>"index_ci_runner_versions_on_unique_status_and_version", :unique=>true, :algorithm=>:concurrently})4809main: -> 0.0018s4810main: -- add_index(:ci_runner_versions, [:status, :version], {:name=>"index_ci_runner_versions_on_unique_status_and_version", :unique=>true, :algorithm=>:concurrently})4811main: -> 0.0013s4812main: == 20220708100532 AddUniqueIndexOnCiRunnerVersionsOnStatusAndVersion: migrated (0.0067s) 4813main: == 20220708132701 CreateVulnerabilityMergeRequestLinks: migrating =============4814main: -- create_table(:vulnerability_merge_request_links, {})4815main: -> 0.0033s4816main: -- add_index(:vulnerability_merge_request_links, [:vulnerability_id, :merge_request_id], {:unique=>true, :name=>"unique_vuln_merge_request_link_vuln_id_and_mr_id"})4817main: -> 0.0010s4818main: == 20220708132701 CreateVulnerabilityMergeRequestLinks: migrated (0.0046s) ====4819main: == 20220708142744 AddCompositeIndexForProtectedEnvironments: migrating ========4820main: -- transaction_open?()4821main: -> 0.0000s4822main: -- index_exists?(:protected_environments, [:required_approval_count, :created_at], {:name=>"index_protected_environments_on_approval_count_and_created_at", :algorithm=>:concurrently})4823main: -> 0.0045s4824main: -- add_index(:protected_environments, [:required_approval_count, :created_at], {:name=>"index_protected_environments_on_approval_count_and_created_at", :algorithm=>:concurrently})4825main: -> 0.0021s4826main: == 20220708142744 AddCompositeIndexForProtectedEnvironments: migrated (0.0123s) 4827main: == 20220708142803 AddCompositeIndexForProtectedEnvironmentApprovalRules: migrating 4828main: -- transaction_open?()4829main: -> 0.0000s4830main: -- index_exists?(:protected_environment_approval_rules, [:required_approvals, :created_at], {:name=>"index_pe_approval_rules_on_required_approvals_and_created_at", :algorithm=>:concurrently})4831main: -> 0.0040s4832main: -- add_index(:protected_environment_approval_rules, [:required_approvals, :created_at], {:name=>"index_pe_approval_rules_on_required_approvals_and_created_at", :algorithm=>:concurrently})4833main: -> 0.0015s4834main: == 20220708142803 AddCompositeIndexForProtectedEnvironmentApprovalRules: migrated (0.0097s) 4835main: == 20220708150315 AddVulnerabilitiesForeignKeyToVulnerabilityMergeRequestLinks: migrating 4836main: -- transaction_open?()4837main: -> 0.0000s4838main: -- foreign_keys(:vulnerability_merge_request_links)4839main: -> 0.0035s4840main: -- transaction_open?()4841main: -> 0.0000s4842main: -- execute("ALTER TABLE vulnerability_merge_request_links\nADD CONSTRAINT fk_2ef3954596\nFOREIGN KEY (vulnerability_id)\nREFERENCES vulnerabilities (id)\nON DELETE CASCADE\nNOT VALID;\n")4843main: -> 0.0013s4844main: -- execute("ALTER TABLE vulnerability_merge_request_links VALIDATE CONSTRAINT fk_2ef3954596;")4845main: -> 0.0013s4846main: == 20220708150315 AddVulnerabilitiesForeignKeyToVulnerabilityMergeRequestLinks: migrated (0.0106s) 4847main: == 20220708150335 AddMergeRequestsForeignKeyToVulnerabilityMergeRequestLinks: migrating 4848main: -- transaction_open?()4849main: -> 0.0000s4850main: -- foreign_keys(:vulnerability_merge_request_links)4851main: -> 0.0042s4852main: -- transaction_open?()4853main: -> 0.0000s4854main: -- execute("ALTER TABLE vulnerability_merge_request_links\nADD CONSTRAINT fk_6d7aa8796e\nFOREIGN KEY (merge_request_id)\nREFERENCES merge_requests (id)\nON DELETE CASCADE\nNOT VALID;\n")4855main: -> 0.0013s4856main: -- execute("ALTER TABLE vulnerability_merge_request_links VALIDATE CONSTRAINT fk_6d7aa8796e;")4857main: -> 0.0013s4858main: == 20220708150335 AddMergeRequestsForeignKeyToVulnerabilityMergeRequestLinks: migrated (0.0108s) 4859main: == 20220708184822 CleanupBackfillDraftStatusOnMergeRequests: migrating ========4860main: == 20220708184822 CleanupBackfillDraftStatusOnMergeRequests: migrated (0.0003s) 4861main: == 20220712025712 UpdateInsertOrUpdateVulnerabilityReadsFunction: migrating ===4862main: -- execute("CREATE OR REPLACE FUNCTION insert_or_update_vulnerability_reads() RETURNS trigger\n LANGUAGE plpgsql\n AS $$\nDECLARE\n severity smallint;\n state smallint;\n report_type smallint;\n resolved_on_default_branch boolean;\n present_on_default_branch boolean;\nBEGIN\n IF (NEW.vulnerability_id IS NULL AND (TG_OP = 'INSERT' OR TG_OP = 'UPDATE')) THEN\n RETURN NULL;\n END IF;\n\n IF (TG_OP = 'UPDATE' AND OLD.vulnerability_id IS NOT NULL AND NEW.vulnerability_id IS NOT NULL) THEN\n RETURN NULL;\n END IF;\n\n SELECT\n vulnerabilities.severity, vulnerabilities.state, vulnerabilities.report_type, vulnerabilities.resolved_on_default_branch, vulnerabilities.present_on_default_branch\n INTO\n severity, state, report_type, resolved_on_default_branch, present_on_default_branch\n FROM\n vulnerabilities\n WHERE\n vulnerabilities.id = NEW.vulnerability_id;\n\n IF present_on_default_branch IS NOT true THEN\n RETURN NULL;\n END IF;\n\n INSERT INTO vulnerability_reads (vulnerability_id, project_id, scanner_id, report_type, severity, state, resolved_on_default_branch, uuid, location_image, cluster_agent_id, casted_cluster_agent_id)\n VALUES (NEW.vulnerability_id, NEW.project_id, NEW.scanner_id, report_type, severity, state, resolved_on_default_branch, NEW.uuid::uuid, NEW.location->>'image', NEW.location->'kubernetes_resource'->>'agent_id', CAST(NEW.location->'kubernetes_resource'->>'agent_id' AS bigint))\n ON CONFLICT(vulnerability_id) DO NOTHING;\n RETURN NULL;\nEND\n$$;\n")4863main: -> 0.0011s4864main: == 20220712025712 UpdateInsertOrUpdateVulnerabilityReadsFunction: migrated (0.0014s) 4865main: == 20220712031923 CreateVulnerabilityReadsForAnExistingVulnerabilityRecord: migrating 4866main: -- execute("CREATE OR REPLACE FUNCTION insert_vulnerability_reads_from_vulnerability() RETURNS trigger\n LANGUAGE plpgsql\n AS $$\nDECLARE\n scanner_id bigint;\n uuid uuid;\n location_image text;\n cluster_agent_id text;\n casted_cluster_agent_id bigint;\nBEGIN\n SELECT\n v_o.scanner_id, v_o.uuid, v_o.location->>'image', v_o.location->'kubernetes_resource'->>'agent_id', CAST(v_o.location->'kubernetes_resource'->>'agent_id' AS bigint)\n INTO\n scanner_id, uuid, location_image, cluster_agent_id, casted_cluster_agent_id\n FROM\n vulnerability_occurrences v_o\n WHERE\n v_o.vulnerability_id = NEW.id\n LIMIT 1;\n\n INSERT INTO vulnerability_reads (vulnerability_id, project_id, scanner_id, report_type, severity, state, resolved_on_default_branch, uuid, location_image, cluster_agent_id, casted_cluster_agent_id)\n VALUES (NEW.id, NEW.project_id, scanner_id, NEW.report_type, NEW.severity, NEW.state, NEW.resolved_on_default_branch, uuid::uuid, location_image, cluster_agent_id, casted_cluster_agent_id)\n ON CONFLICT(vulnerability_id) DO NOTHING;\n RETURN NULL;\nEND\n$$;\n")4867main: -> 0.0011s4868main: -- execute("DROP TRIGGER IF EXISTS trigger_insert_vulnerability_reads_from_vulnerability ON vulnerabilities;\n")4869main: -> 0.0008s4870main: -- execute("CREATE TRIGGER trigger_insert_vulnerability_reads_from_vulnerability\nAFTER UPDATE ON vulnerabilities\nFOR EACH ROW\nWHEN (\n OLD.present_on_default_branch IS NOT true AND NEW.present_on_default_branch IS true\n)\nEXECUTE PROCEDURE insert_vulnerability_reads_from_vulnerability();\n")4871main: -> 0.0009s4872main: == 20220712031923 CreateVulnerabilityReadsForAnExistingVulnerabilityRecord: migrated (0.0034s) 4873main: == 20220712094945 AddIncludeForFreeUserCapPreviewToNamespaceSettings: migrating 4874main: -- add_column(:namespace_settings, :include_for_free_user_cap_preview, :boolean, {:null=>false, :default=>false})4875main: -> 0.0017s4876main: == 20220712094945 AddIncludeForFreeUserCapPreviewToNamespaceSettings: migrated (0.0021s) 4877main: == 20220712175029 AddIndexWithTargetTypeToTodos: migrating ====================4878main: -- transaction_open?()4879main: -> 0.0000s4880main: -- index_exists?(:todos, [:project_id, :user_id, :id, :target_type], {:name=>"index_requirements_project_id_user_id_id_and_target_type", :algorithm=>:concurrently})4881main: -> 0.0096s4882main: -- add_index(:todos, [:project_id, :user_id, :id, :target_type], {:name=>"index_requirements_project_id_user_id_id_and_target_type", :algorithm=>:concurrently})4883main: -> 0.0018s4884main: -- transaction_open?()4885main: -> 0.0000s4886main: -- index_exists?(:todos, [:user_id, :target_type], {:name=>"index_requirements_user_id_and_target_type", :algorithm=>:concurrently})4887main: -> 0.0106s4888main: -- add_index(:todos, [:user_id, :target_type], {:name=>"index_requirements_user_id_and_target_type", :algorithm=>:concurrently})4889main: -> 0.0015s4890main: == 20220712175029 AddIndexWithTargetTypeToTodos: migrated (0.0317s) ===========4891main: == 20220712181304 RemoveDeprecatedIndexesFromTodos: migrating =================4892main: -- transaction_open?()4893main: -> 0.0000s4894main: -- indexes(:todos)4895main: -> 0.0110s4896main: -- remove_index(:todos, {:algorithm=>:concurrently, :name=>"index_todos_on_project_id_and_user_id_and_id"})4897main: -> 0.0013s4898main: -- transaction_open?()4899main: -> 0.0000s4900main: -- indexes(:todos)4901main: -> 0.0097s4902main: -- remove_index(:todos, {:algorithm=>:concurrently, :name=>"index_todos_on_user_id"})4903main: -> 0.0012s4904main: == 20220712181304 RemoveDeprecatedIndexesFromTodos: migrated (0.0296s) ========4905main: == 20220713133515 CleanupBackfillDraftStatusesOnMergeRequests: migrating ======4906main: -- transaction_open?()4907main: -> 0.0000s4908main: == 20220713133515 CleanupBackfillDraftStatusesOnMergeRequests: migrated (0.0057s) 4909main: == 20220713175658 AddPackagesCleanupPoliciesWorkerCapacityToApplicationSettings: migrating 4910main: -- add_column(:application_settings, :package_registry_cleanup_policies_worker_capacity, :integer, {:default=>2, :null=>false})4911main: -> 0.0029s4912main: == 20220713175658 AddPackagesCleanupPoliciesWorkerCapacityToApplicationSettings: migrated (0.0031s) 4913main: == 20220713175737 AddApplicationSettingsPackagesCleanupPoliciesWorkerCapacityConstraint: migrating 4914main: -- transaction_open?()4915main: -> 0.0000s4916main: -- current_schema()4917main: -> 0.0005s4918main: -- transaction_open?()4919main: -> 0.0000s4920main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT app_settings_pkg_registry_cleanup_pol_worker_capacity_gte_zero\nCHECK ( package_registry_cleanup_policies_worker_capacity >= 0 )\nNOT VALID;\n")4921main: -> 0.0015s4922main: -- current_schema()4923main: -> 0.0004s4924main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_pkg_registry_cleanup_pol_worker_capacity_gte_zero;")4925main: -> 0.0014s4926main: == 20220713175737 AddApplicationSettingsPackagesCleanupPoliciesWorkerCapacityConstraint: migrated (0.0102s) 4927main: == 20220713175812 AddEnabledPoliciesIndexToPackagesCleanupPolicies: migrating =4928main: -- transaction_open?()4929main: -> 0.0000s4930main: -- index_exists?(:packages_cleanup_policies, [:next_run_at, :project_id], {:where=>"keep_n_duplicated_package_files <> 'all'", :name=>"idx_enabled_pkgs_cleanup_policies_on_next_run_at_project_id", :algorithm=>:concurrently})4931main: -> 0.0021s4932main: -- add_index(:packages_cleanup_policies, [:next_run_at, :project_id], {:where=>"keep_n_duplicated_package_files <> 'all'", :name=>"idx_enabled_pkgs_cleanup_policies_on_next_run_at_project_id", :algorithm=>:concurrently})4933main: -> 0.0014s4934main: == 20220713175812 AddEnabledPoliciesIndexToPackagesCleanupPolicies: migrated (0.0073s) 4935main: == 20220714105122 UpdateDefaultProjectImportLevelOnNamespaceSettings: migrating 4936main: -- change_column(:namespace_settings, :project_import_level, :smallint, {:default=>50, :null=>false})4937main: -> 0.0019s4938main: == 20220714105122 UpdateDefaultProjectImportLevelOnNamespaceSettings: migrated (0.0022s) 4939main: == 20220714122311 AddAsyncIndexOnSecurityFindingsIdAndPartitionNumber: migrating 4940main: -- index_exists?(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})4941main: -> 0.0070s4942main: -- add_index_options(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})4943main: -> 0.0001s4944main: == 20220714122311 AddAsyncIndexOnSecurityFindingsIdAndPartitionNumber: migrated (0.0138s) 4945main: == 20220714122418 AddAsyncIndexOnSecurityFindingsUniqueColumns: migrating =====4946main: -- index_exists?(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})4947main: -> 0.0068s4948main: -- add_index_options(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})4949main: -> 0.0001s4950main: == 20220714122418 AddAsyncIndexOnSecurityFindingsUniqueColumns: migrated (0.0130s) 4951main: == 20220714142424 UpdateTriggerUpdateVulnerabilityReadsOnVulnerabilityUpdate: migrating 4952main: -- execute("DROP TRIGGER IF EXISTS trigger_update_vulnerability_reads_on_vulnerability_update ON vulnerabilities")4953main: -> 0.0010s4954main: -- execute("CREATE TRIGGER trigger_update_vulnerability_reads_on_vulnerability_update\nAFTER UPDATE ON vulnerabilities\nFOR EACH ROW\nWHEN (\n OLD.present_on_default_branch IS TRUE AND\n (\n OLD.severity IS DISTINCT FROM NEW.severity OR\n OLD.state IS DISTINCT FROM NEW.state OR\n OLD.resolved_on_default_branch IS DISTINCT FROM NEW.resolved_on_default_branch\n )\n)\nEXECUTE PROCEDURE update_vulnerability_reads_from_vulnerability();\n")4955main: -> 0.0010s4956main: == 20220714142424 UpdateTriggerUpdateVulnerabilityReadsOnVulnerabilityUpdate: migrated (0.0024s) 4957main: == 20220715054506 AddParentLinkUniqueWorkItemIndex: migrating =================4958main: -- transaction_open?()4959main: -> 0.0000s4960main: -- index_exists?(:work_item_parent_links, :work_item_id, {:unique=>true, :name=>"index_work_item_parent_links_on_work_item_id", :algorithm=>:concurrently})4961main: -> 0.0033s4962main: -- add_index(:work_item_parent_links, :work_item_id, {:unique=>true, :name=>"index_work_item_parent_links_on_work_item_id", :algorithm=>:concurrently})4963main: -> 0.0014s4964main: -- transaction_open?()4965main: -> 0.0000s4966main: -- indexes(:work_item_parent_links)4967main: -> 0.0036s4968main: -- remove_index(:work_item_parent_links, {:algorithm=>:concurrently, :name=>"index_parent_links_on_work_item_id_and_work_item_parent_id"})4969main: -> 0.0011s4970main: == 20220715054506 AddParentLinkUniqueWorkItemIndex: migrated (0.0158s) ========4971main: == 20220715160023 DropPostMigrationTestTable: migrating =======================4972main: -- drop_table(:post_migration_test_table)4973main: -> 0.0015s4974main: == 20220715160023 DropPostMigrationTestTable: migrated (0.0018s) ==============4975main: == 20220715163254 UpdateNotesInPast: migrating ================================4976main: == 20220715163254 UpdateNotesInPast: migrated (0.0036s) =======================4977main: == 20220715185348 AddIndexOnSecurityFindingsIdAndPartitionNumber: migrating ===4978main: -- transaction_open?()4979main: -> 0.0000s4980main: -- index_exists?(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})4981main: -> 0.0069s4982main: -- add_index(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})4983main: -> 0.0014s4984main: == 20220715185348 AddIndexOnSecurityFindingsIdAndPartitionNumber: migrated (0.0136s) 4985main: == 20220715185436 AddIndexOnSecurityFindingsUniqueColumns: migrating ==========4986main: -- transaction_open?()4987main: -> 0.0000s4988main: -- index_exists?(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})4989main: -> 0.0072s4990main: -- add_index(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})4991main: -> 0.0014s4992main: == 20220715185436 AddIndexOnSecurityFindingsUniqueColumns: migrated (0.0143s) =4993main: == 20220715190612 DropIndexOnSecurityFindingsUuidAndScanId: migrating =========4994main: -- transaction_open?()4995main: -> 0.0000s4996main: -- indexes(:security_findings)4997main: -> 0.0081s4998main: -- remove_index(:security_findings, {:algorithm=>:concurrently, :name=>"index_security_findings_on_uuid_and_scan_id"})4999main: -> 0.0011s5000main: == 20220715190612 DropIndexOnSecurityFindingsUuidAndScanId: migrated (0.0127s) 5001main: == 20220715191629 ChangePrimaryKeyOfSecurityFindingsTable: migrating ==========5002main: -- execute("ALTER TABLE security_findings DROP CONSTRAINT security_findings_pkey;\n")5003main: -> 0.0010s5004main: -- execute("ALTER TABLE security_findings ADD CONSTRAINT security_findings_pkey PRIMARY KEY USING index security_findings_partitioned_pkey;\n")5005main: -> 0.0010s5006main: == 20220715191629 ChangePrimaryKeyOfSecurityFindingsTable: migrated (0.0022s) =5007main: == 20220718083945 AddUniqueProjectDownloadLimitAllowlistToNamespaceSettings: migrating 5008main: -- add_column(:namespace_settings, :unique_project_download_limit_allowlist, :text, {:array=>true, :default=>[], :null=>false})5009main: -> 0.0021s5010main: == 20220718083945 AddUniqueProjectDownloadLimitAllowlistToNamespaceSettings: migrated (0.0023s) 5011main: == 20220719081542 DropQueuedAtIndexFromCiBuilds: migrating ====================5012main: -- transaction_open?()5013main: -> 0.0000s5014main: -- indexes(:ci_builds)5015main: -> 0.0218s5016main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_on_queued_at"})5017main: -> 0.0013s5018main: == 20220719081542 DropQueuedAtIndexFromCiBuilds: migrated (0.0264s) ===========5019main: == 20220719165537 RemoveCiRunnersSemverColumn: migrating ======================5020main: -- transaction_open?()5021main: -> 0.0000s5022main: -- remove_column(:ci_runners, :semver)5023main: -> 0.0010s5024main: == 20220719165537 RemoveCiRunnersSemverColumn: migrated (0.0040s) =============5025main: == 20220720090354 RemovePendingBuildsCoveringIndexFromCiBuilds: migrating =====5026main: -- transaction_open?()5027main: -> 0.0000s5028main: -- indexes(:ci_builds)5029main: -> 0.0187s5030main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_runner_id_pending_covering"})5031main: -> 0.0014s5032main: == 20220720090354 RemovePendingBuildsCoveringIndexFromCiBuilds: migrated (0.0233s) 5033main: == 20220720121421 RemovePatAndSshEnforcementColumnsFromApplicationSettings: migrating 5034main: -- remove_column(:application_settings, :enforce_pat_expiration, :boolean, {:default=>true, :null=>false})5035main: -> 0.0023s5036main: -- remove_column(:application_settings, :enforce_ssh_key_expiration, :boolean, {:default=>true, :null=>false})5037main: -> 0.0014s5038main: == 20220720121421 RemovePatAndSshEnforcementColumnsFromApplicationSettings: migrated (0.0040s) 5039main: == 20220720123249 RemoveTokenColumnFromCiBuilds: migrating ====================5040main: -- remove_column(:ci_builds, :token, :string)5041main: -> 0.0009s5042main: == 20220720123249 RemoveTokenColumnFromCiBuilds: migrated (0.0011s) ===========5043main: == 20220720161816 AddNamespaceIdToVulnerabilityReadsTable: migrating ==========5044main: -- add_column(:vulnerability_reads, :namespace_id, :bigint)5045main: -> 0.0009s5046main: == 20220720161816 AddNamespaceIdToVulnerabilityReadsTable: migrated (0.0011s) =5047main: == 20220720162123 UpdateVulnerabilityReadsTriggersToSetNamespaceId: migrating =5048main: -- execute("CREATE OR REPLACE FUNCTION insert_or_update_vulnerability_reads() RETURNS trigger\n LANGUAGE plpgsql\n AS $$\nDECLARE\n severity smallint;\n state smallint;\n report_type smallint;\n resolved_on_default_branch boolean;\n present_on_default_branch boolean;\n namespace_id bigint;\nBEGIN\n IF (NEW.vulnerability_id IS NULL AND (TG_OP = 'INSERT' OR TG_OP = 'UPDATE')) THEN\n RETURN NULL;\n END IF;\n\n IF (TG_OP = 'UPDATE' AND OLD.vulnerability_id IS NOT NULL AND NEW.vulnerability_id IS NOT NULL) THEN\n RETURN NULL;\n END IF;\n\n SELECT\n vulnerabilities.severity, vulnerabilities.state, vulnerabilities.report_type, vulnerabilities.resolved_on_default_branch, vulnerabilities.present_on_default_branch\n INTO\n severity, state, report_type, resolved_on_default_branch, present_on_default_branch\n FROM\n vulnerabilities\n WHERE\n vulnerabilities.id = NEW.vulnerability_id;\n\n IF present_on_default_branch IS NOT true THEN\n RETURN NULL;\n END IF;\n\n SELECT\n projects.namespace_id\n INTO\n namespace_id\n FROM\n projects\n WHERE\n projects.id = NEW.project_id;\n\n INSERT INTO vulnerability_reads (vulnerability_id, namespace_id, project_id, scanner_id, report_type, severity, state, resolved_on_default_branch, uuid, location_image, cluster_agent_id, casted_cluster_agent_id)\n VALUES (NEW.vulnerability_id, namespace_id, NEW.project_id, NEW.scanner_id, report_type, severity, state, resolved_on_default_branch, NEW.uuid::uuid, NEW.location->>'image', NEW.location->'kubernetes_resource'->>'agent_id', CAST(NEW.location->'kubernetes_resource'->>'agent_id' AS bigint))\n ON CONFLICT(vulnerability_id) DO NOTHING;\n RETURN NULL;\nEND\n$$;\n")5049main: -> 0.0011s5050main: -- execute("CREATE OR REPLACE FUNCTION insert_vulnerability_reads_from_vulnerability() RETURNS trigger\n LANGUAGE plpgsql\n AS $$\nDECLARE\n scanner_id bigint;\n uuid uuid;\n location_image text;\n cluster_agent_id text;\n casted_cluster_agent_id bigint;\n namespace_id bigint;\nBEGIN\n SELECT\n v_o.scanner_id, v_o.uuid, v_o.location->>'image', v_o.location->'kubernetes_resource'->>'agent_id', CAST(v_o.location->'kubernetes_resource'->>'agent_id' AS bigint), projects.namespace_id\n INTO\n scanner_id, uuid, location_image, cluster_agent_id, casted_cluster_agent_id, namespace_id\n FROM\n vulnerability_occurrences v_o\n INNER JOIN projects ON projects.id = v_o.project_id\n WHERE\n v_o.vulnerability_id = NEW.id\n LIMIT 1;\n\n INSERT INTO vulnerability_reads (vulnerability_id, namespace_id, project_id, scanner_id, report_type, severity, state, resolved_on_default_branch, uuid, location_image, cluster_agent_id, casted_cluster_agent_id)\n VALUES (NEW.id, namespace_id, NEW.project_id, scanner_id, NEW.report_type, NEW.severity, NEW.state, NEW.resolved_on_default_branch, uuid::uuid, location_image, cluster_agent_id, casted_cluster_agent_id)\n ON CONFLICT(vulnerability_id) DO NOTHING;\n RETURN NULL;\nEND\n$$;\n")5051main: -> 0.0007s5052main: == 20220720162123 UpdateVulnerabilityReadsTriggersToSetNamespaceId: migrated (0.0023s) 5053main: == 20220720171102 AddIndexOnVulnerabilityReadsNamespaceId: migrating ==========5054main: -- transaction_open?()5055main: -> 0.0000s5056main: -- index_exists?(:vulnerability_reads, [:namespace_id, :state, :severity, :vulnerability_id], {:name=>"index_vuln_reads_on_namespace_id_state_severity_and_vuln_id", :order=>{:vulnerability_id=>:desc}, :algorithm=>:concurrently})5057main: -> 0.0091s5058main: -- add_index(:vulnerability_reads, [:namespace_id, :state, :severity, :vulnerability_id], {:name=>"index_vuln_reads_on_namespace_id_state_severity_and_vuln_id", :order=>{:vulnerability_id=>:desc}, :algorithm=>:concurrently})5059main: -> 0.0015s5060main: == 20220720171102 AddIndexOnVulnerabilityReadsNamespaceId: migrated (0.0144s) =5061main: == 20220720171801 AddForeignKeyOnVulnerabilityReadsNamespaceId: migrating =====5062main: -- transaction_open?()5063main: -> 0.0000s5064main: -- foreign_keys(:vulnerability_reads)5065main: -> 0.0037s5066main: -- transaction_open?()5067main: -> 0.0000s5068main: -- execute("ALTER TABLE vulnerability_reads\nADD CONSTRAINT fk_4f593f6c62\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")5069main: -> 0.0015s5070main: -- execute("ALTER TABLE vulnerability_reads VALIDATE CONSTRAINT fk_4f593f6c62;")5071main: -> 0.0019s5072main: == 20220720171801 AddForeignKeyOnVulnerabilityReadsNamespaceId: migrated (0.0105s) 5073main: == 20220720210446 AddStartDateToIssuesTable: migrating ========================5074main: -- add_column(:issues, :start_date, :date)5075main: -> 0.0010s5076main: == 20220720210446 AddStartDateToIssuesTable: migrated (0.0012s) ===============5077main: == 20220721140252 PreparePartialTrigramIndexesForIssues: migrating ============5078main: -- index_exists?(:issues, :title, {:name=>"index_issues_on_title_trigram_non_latin", :using=>:gin, :opclass=>{:description=>:gin_trgm_ops}, :where=>"title NOT SIMILAR TO '[\\u0000-\\u218F]*' OR description NOT SIMILAR TO '[\\u0000-\\u218F]*'", :algorithm=>:concurrently})5079main: -> 0.0223s5080main: -- add_index_options(:issues, :title, {:name=>"index_issues_on_title_trigram_non_latin", :using=>:gin, :opclass=>{:description=>:gin_trgm_ops}, :where=>"title NOT SIMILAR TO '[\\u0000-\\u218F]*' OR description NOT SIMILAR TO '[\\u0000-\\u218F]*'", :algorithm=>:concurrently})5081main: -> 0.0001s5082main: -- index_exists?(:issues, :description, {:name=>"index_issues_on_description_trigram_non_latin", :using=>:gin, :opclass=>{:description=>:gin_trgm_ops}, :where=>"title NOT SIMILAR TO '[\\u0000-\\u218F]*' OR description NOT SIMILAR TO '[\\u0000-\\u218F]*'", :algorithm=>:concurrently})5083main: -> 0.0224s5084main: -- add_index_options(:issues, :description, {:name=>"index_issues_on_description_trigram_non_latin", :using=>:gin, :opclass=>{:description=>:gin_trgm_ops}, :where=>"title NOT SIMILAR TO '[\\u0000-\\u218F]*' OR description NOT SIMILAR TO '[\\u0000-\\u218F]*'", :algorithm=>:concurrently})5085main: -> 0.0002s5086main: == 20220721140252 PreparePartialTrigramIndexesForIssues: migrated (0.0559s) ===5087main: == 20220722084543 ScheduleDisableLegacyOpenSourceLicenseForNoIssuesNoRepoProjects: migrating 5088main: == 20220722084543 ScheduleDisableLegacyOpenSourceLicenseForNoIssuesNoRepoProjects: migrated (0.0002s) 5089main: == 20220722110026 RescheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrating 5090main: == 20220722110026 RescheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrated (0.0002s) 5091main: == 20220722145845 ScheduleBackfillingTheNamespaceIdForVulnerabilityReads: migrating 5092main: == 20220722145845 ScheduleBackfillingTheNamespaceIdForVulnerabilityReads: migrated (0.0311s) 5093main: == 20220726025516 AddNamespaceSettingsUniqueProjectDownloadLimitAllowlistSizeConstraint: migrating 5094main: -- transaction_open?()5095main: -> 0.0000s5096main: -- current_schema()5097main: -> 0.0005s5098main: -- transaction_open?()5099main: -> 0.0000s5100main: -- execute("ALTER TABLE namespace_settings\nADD CONSTRAINT namespace_settings_unique_project_download_limit_allowlist_size\nCHECK ( CARDINALITY(unique_project_download_limit_allowlist) <= 100 )\nNOT VALID;\n")5101main: -> 0.0010s5102main: -- current_schema()5103main: -> 0.0005s5104main: -- execute("ALTER TABLE namespace_settings VALIDATE CONSTRAINT namespace_settings_unique_project_download_limit_allowlist_size;")5105main: -> 0.0008s5106main: == 20220726025516 AddNamespaceSettingsUniqueProjectDownloadLimitAllowlistSizeConstraint: migrated (0.0095s) 5107main: == 20220726154012 EnsureSbomOccurrencesIsEmpty: migrating =====================5108main: -- execute("DELETE FROM sbom_occurrences")5109main: -> 0.0007s5110main: == 20220726154012 EnsureSbomOccurrencesIsEmpty: migrated (0.0010s) ============5111main: == 20220726154013 AddComponentIdToSbomOccurrences: migrating ==================5112main: -- add_column(:sbom_occurrences, :component_id, :bigint, {:null=>false})5113main: -> 0.0010s5114main: == 20220726154013 AddComponentIdToSbomOccurrences: migrated (0.0012s) =========5115main: == 20220726154014 AddIndexToSbomOccurrencesComponentId: migrating =============5116main: -- transaction_open?()5117main: -> 0.0000s5118main: -- index_exists?(:sbom_occurrences, :component_id, {:name=>"index_sbom_occurrences_on_component_id", :algorithm=>:concurrently})5119main: -> 0.0231s5120main: -- add_index(:sbom_occurrences, :component_id, {:name=>"index_sbom_occurrences_on_component_id", :algorithm=>:concurrently})5121main: -> 0.0015s5122main: == 20220726154014 AddIndexToSbomOccurrencesComponentId: migrated (0.0290s) ====5123main: == 20220726154015 AddComponentForeignKeyToSbomOccurrences: migrating ==========5124main: -- transaction_open?()5125main: -> 0.0000s5126main: -- foreign_keys(:sbom_occurrences)5127main: -> 0.0038s5128main: -- transaction_open?()5129main: -> 0.0000s5130main: -- execute("ALTER TABLE sbom_occurrences\nADD CONSTRAINT fk_d857c6edc1\nFOREIGN KEY (component_id)\nREFERENCES sbom_components (id)\nON DELETE CASCADE\nNOT VALID;\n")5131main: -> 0.0012s5132main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_d857c6edc1;")5133main: -> 0.0010s5134main: == 20220726154015 AddComponentForeignKeyToSbomOccurrences: migrated (0.0099s) =5135main: == 20220726154016 MakeComponentVersionNullable: migrating =====================5136main: -- change_column_null(:sbom_occurrences, :component_version_id, true)5137main: -> 0.0008s5138main: == 20220726154016 MakeComponentVersionNullable: migrated (0.0010s) ============5139main: == 20220728114136 MakeSshSignatureKeyNullable: migrating ======================5140main: -- change_column_null(:ssh_signatures, :key_id, true)5141main: -> 0.0007s5142main: == 20220728114136 MakeSshSignatureKeyNullable: migrated (0.0010s) =============5143main: == 20220729052031 AddIndexOnVulnerabilityReadsNamespaceIdWithReportType: migrating 5144main: -- transaction_open?()5145main: -> 0.0000s5146main: -- index_exists?(:vulnerability_reads, [:namespace_id, :state, :report_type, :severity, :vulnerability_id], {:name=>"index_vulnerability_reads_common_finder_query_with_namespace_id", :order=>{:vulnerability_id=>:desc}, :algorithm=>:concurrently})5147main: -> 0.0093s5148main: -- add_index(:vulnerability_reads, [:namespace_id, :state, :report_type, :severity, :vulnerability_id], {:name=>"index_vulnerability_reads_common_finder_query_with_namespace_id", :order=>{:vulnerability_id=>:desc}, :algorithm=>:concurrently})5149main: -> 0.0015s5150main: == 20220729052031 AddIndexOnVulnerabilityReadsNamespaceIdWithReportType: migrated (0.0147s) 5151==> 'scripts/db_tasks db:migrate' succeeded in 35 seconds.5152$ scripts/schema_changed.sh5153Schema changes are correctly applied to db/structure.sql5154Schema changes are correctly applied to db/structure.sql and db/schema_migrations/5155$ scripts/validate_migration_timestamps5157Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-14 due to policy5158Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-14 due to policy5160Job succeeded