db:check-schema-single-db
Passed Started
by
@dbalexandre

Douglas Barbosa Alexandre
1Running with gitlab-runner 15.4.0~beta.5.gdefc7017 (defc7017)2 on blue-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org tDjA3Sp33 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-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:f2f1f275f1a1dff86079a737d24a925772f06910c3559b43f32ef6b0dd23b152 for postgres:12 with digest postgres@sha256:afc79f5499a589f3130bd8666c1743db6748aa43083b52f823db72dd3af89785 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:648aa889c697d1745a25a82475ee0df2c22ffe74dc3b7e11d2785b7738f1bcaa for redis:6.0-alpine with digest redis@sha256:4af27048227d6f68911c0098f56fff75d2e0af41d424536a571c604a5a2aa85f ...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-103-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:0de04b8fae6d288f2674c8ee330dead655389b1f4c48fa027d76f2d798deadaf 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-103-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:3632d3da2a61b74f7c4724eb8752b609c16b498daf20e9800a9c44629adab0bc ...18Running on runner-tdja3sp3-project-278964-concurrent-0 via runner-tdja3sp3-private-1661359154-a811f57a...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: 115695, done. 25remote: Counting objects: 100% (115695/115695), done. 26remote: Compressing objects: 100% (77168/77168), done. 27remote: Total 115695 (delta 47766), reused 80641 (delta 34098), pack-reused 0 28Receiving objects: 100% (115695/115695), 110.33 MiB | 33.43 MiB/s, done.29Resolving deltas: 100% (47766/47766), done.31 * [new ref] refs/pipelines/621982466 -> refs/pipelines/62198246632Checking out 63997366 as refs/merge-requests/95971/merge...33Skipping Git submodules setup34$ git remote set-url origin "${CI_REPOSITORY_URL}"36Checking cache for ruby-gems-debian-bullseye-ruby-2.7-14...37Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-2.7-14 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 (2929379411)...44Downloading artifacts from coordinator... ok id=2929379411 responseStatus=200 OK token=nbm7Md6N46Using docker image sha256:0de04b8fae6d288f2674c8ee330dead655389b1f4c48fa027d76f2d798deadaf 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-103-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:3632d3da2a61b74f7c4724eb8752b609c16b498daf20e9800a9c44629adab0bc ...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.sh53172.17.0.3 postgres e4b23326c32b runner-tdja3sp3-project-278964-concurrent-0-23c8c1de1f078123-postgres-054CREATE ROLE55GRANT56$ [[ -d "ee/" ]] || export PROJECT_TO_CHECKOUT="gitlab"57$ [[ -d "ee/" ]] || export TAG_TO_CHECKOUT="${TAG_TO_CHECKOUT}-ee"58$ retry 'git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT'60 * tag v14.7.0 -> FETCH_HEAD61$ git checkout -f FETCH_HEAD62Previous HEAD position was 63997366c8b Merge branch '239356-fix-Layout/HashAlignment_34' into 'master'63HEAD is now at abbf44bd6cf Add latest changes from gitlab-org/gitlab@14-7-stable-ee64$ SETUP_DB=false USE_BUNDLE_INSTALL=true ENABLE_BOOTSNAP=false bash scripts/prepare_build.sh65Bundler version 2.2.3366production:development67Settings are listed in order of priority. The top value will be used.68clean69Set for the current user (/root/.bundle/config): true70frozen71Set via BUNDLE_FROZEN: true72install_flags73Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"74path75Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"76without77Set via BUNDLE_WITHOUT: [:production, :development]78$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check79Don't run Bundler as root. Bundler can ask for sudo if it is needed, and80installing your bundle as root will break this application for all non-root81users on this machine.82The Gemfile's dependencies are satisfied83==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 206 seconds.84$ bundle pristine pg85Installing pg 1.2.3 with native extensions86==> 'bundle pristine pg' succeeded in 14 seconds.87172.17.0.3 postgres e4b23326c32b runner-tdja3sp3-project-278964-concurrent-0-23c8c1de1f078123-postgres-088ERROR: role "gitlab" already exists89GRANT90$ run_timed_command "ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu"91$ ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu92Dropped database 'gitlabhq_test'93Created database 'gitlabhq_test'94DEPRECATION 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)95==> 'ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu' succeeded in 45 seconds.96$ git checkout -f $CI_COMMIT_SHA97Warning: you are leaving 104059 commits behind, not connected to98any of your branches:99 abbf44bd6cf Add latest changes from gitlab-org/gitlab@14-7-stable-ee100 5bea74ad7f3 Update VERSION files101 edaa33dee2f Add latest changes from gitlab-org/gitlab@14-7-stable-ee102 d8a56913164 Update VERSION files103 ... and 104055 more.104If you want to keep them by creating a new branch, this may be a good time105to do so with:106 git branch <new-branch-name> abbf44bd6cf107HEAD is now at 63997366c8b Merge branch '239356-fix-Layout/HashAlignment_34' into 'master'108$ SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh1093.2.33110Bundler version 2.2.33111Successfully installed bundler-2.3.151121 gem installed113production:development114Settings are listed in order of priority. The top value will be used.115clean116Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true117Set for the current user (/root/.bundle/config): true118frozen119Set via BUNDLE_FROZEN: true120install_flags121Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"122jobs123Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): 2124path125Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"126Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"127retry128Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): 3129without130Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): [:production, :development]131Set via BUNDLE_WITHOUT: [:production, :development]132$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check133Don't run Bundler as root. Bundler can ask for sudo if it is needed, and134installing your bundle as root will break this application for all non-root135users on this machine.136The Gemfile's dependencies are satisfied137==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 259 seconds.138$ bundle pristine pg139Installing pg 1.4.1 with native extensions140==> 'bundle pristine pg' succeeded in 11 seconds.141172.17.0.3 postgres e4b23326c32b runner-tdja3sp3-project-278964-concurrent-0-23c8c1de1f078123-postgres-0142ERROR: role "gitlab" already exists143GRANT144$ run_timed_command "scripts/db_tasks db:migrate"145$ scripts/db_tasks db:migrate146== 20210812013042 RemoveDuplicateProjectAuthorizations: migrating =============147-- transaction_open?()148 -> 0.0001s149-- index_exists?(:project_authorizations, [:project_id, :user_id], {:unique=>true, :name=>"index_unique_project_authorizations_on_project_id_user_id", :algorithm=>:concurrently})150 -> 0.0037s151-- execute("SET statement_timeout TO 0")152 -> 0.0007s153-- add_index(:project_authorizations, [:project_id, :user_id], {:unique=>true, :name=>"index_unique_project_authorizations_on_project_id_user_id", :algorithm=>:concurrently})154 -> 0.0021s155-- execute("RESET statement_timeout")156 -> 0.0007s157-- transaction_open?()158 -> 0.0000s159-- indexes(:project_authorizations)160 -> 0.0024s161-- remove_index(:project_authorizations, {:algorithm=>:concurrently, :name=>"index_project_authorizations_on_project_id_user_id"})162 -> 0.0014s163== 20210812013042 RemoveDuplicateProjectAuthorizations: migrated (0.0302s) ====164main: == 20211007090229 CreateIssueSearchTable: migrating ===========================165main: -- 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")166main: -> 0.0044s167main: -- add_index(:issue_search_data, :issue_id)168main: -> 0.0012s169main: -- add_index(:issue_search_data, :search_vector, {:using=>:gin, :name=>"index_issue_search_data_on_search_vector"})170main: -> 0.0010s171main: -- transaction()172main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_00\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 0);\n")173main: -> 0.0038s174main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_01\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 1);\n")175main: -> 0.0032s176main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_02\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 2);\n")177main: -> 0.0030s178main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_03\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 3);\n")179main: -> 0.0030s180main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_04\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 4);\n")181main: -> 0.0029s182main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_05\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 5);\n")183main: -> 0.0029s184main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_06\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 6);\n")185main: -> 0.0029s186main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_07\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 7);\n")187main: -> 0.0031s188main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_08\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 8);\n")189main: -> 0.0029s190main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_09\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 9);\n")191main: -> 0.0030s192main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_10\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 10);\n")193main: -> 0.0030s194main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_11\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 11);\n")195main: -> 0.0031s196main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_12\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 12);\n")197main: -> 0.0028s198main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_13\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 13);\n")199main: -> 0.0029s200main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_14\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 14);\n")201main: -> 0.0031s202main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_15\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 15);\n")203main: -> 0.0029s204main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_16\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 16);\n")205main: -> 0.0029s206main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_17\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 17);\n")207main: -> 0.0029s208main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_18\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 18);\n")209main: -> 0.0028s210main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_19\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 19);\n")211main: -> 0.0029s212main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_20\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 20);\n")213main: -> 0.0030s214main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_21\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 21);\n")215main: -> 0.0031s216main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_22\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 22);\n")217main: -> 0.0032s218main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_23\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 23);\n")219main: -> 0.0033s220main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_24\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 24);\n")221main: -> 0.0031s222main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_25\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 25);\n")223main: -> 0.0030s224main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_26\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 26);\n")225main: -> 0.0032s226main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_27\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 27);\n")227main: -> 0.0030s228main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_28\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 28);\n")229main: -> 0.0030s230main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_29\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 29);\n")231main: -> 0.0030s232main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_30\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 30);\n")233main: -> 0.0031s234main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_31\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 31);\n")235main: -> 0.0031s236main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_32\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 32);\n")237main: -> 0.0030s238main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_33\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 33);\n")239main: -> 0.0031s240main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_34\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 34);\n")241main: -> 0.0031s242main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_35\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 35);\n")243main: -> 0.0031s244main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_36\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 36);\n")245main: -> 0.0032s246main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_37\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 37);\n")247main: -> 0.0032s248main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_38\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 38);\n")249main: -> 0.0031s250main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_39\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 39);\n")251main: -> 0.0032s252main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_40\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 40);\n")253main: -> 0.0033s254main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_41\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 41);\n")255main: -> 0.0031s256main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_42\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 42);\n")257main: -> 0.0033s258main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_43\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 43);\n")259main: -> 0.0033s260main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_44\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 44);\n")261main: -> 0.0032s262main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_45\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 45);\n")263main: -> 0.0032s264main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_46\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 46);\n")265main: -> 0.0032s266main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_47\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 47);\n")267main: -> 0.0030s268main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_48\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 48);\n")269main: -> 0.0033s270main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_49\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 49);\n")271main: -> 0.0035s272main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_50\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 50);\n")273main: -> 0.0044s274main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_51\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 51);\n")275main: -> 0.0038s276main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_52\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 52);\n")277main: -> 0.0038s278main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_53\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 53);\n")279main: -> 0.0033s280main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_54\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 54);\n")281main: -> 0.0032s282main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_55\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 55);\n")283main: -> 0.0033s284main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_56\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 56);\n")285main: -> 0.0032s286main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_57\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 57);\n")287main: -> 0.0032s288main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_58\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 58);\n")289main: -> 0.0034s290main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_59\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 59);\n")291main: -> 0.0031s292main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_60\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 60);\n")293main: -> 0.0030s294main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_61\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 61);\n")295main: -> 0.0030s296main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_62\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 62);\n")297main: -> 0.0032s298main: -- execute("CREATE TABLE gitlab_partitions_static.issue_search_data_63\nPARTITION OF issue_search_data\nFOR VALUES WITH (MODULUS 64, REMAINDER 63);\n")299main: -> 0.0032s300main: -> 0.2074s301main: == 20211007090229 CreateIssueSearchTable: migrated (0.2145s) ==================302main: == 20211021115409 AddColorToEpics: migrating ==================================303main: -- add_column(:epics, :color, :text, {:default=>"#1068bf"})304main: -> 0.0031s305main: == 20211021115409 AddColorToEpics: migrated (0.0034s) =========================306main: == 20211021124715 AddTextLimitToEpicsColor: migrating =========================307main: -- transaction_open?()308main: -> 0.0000s309main: -- current_schema()310main: -> 0.0005s311main: -- transaction_open?()312main: -> 0.0000s313main: -- execute("ALTER TABLE epics\nADD CONSTRAINT check_ca608c40b3\nCHECK ( char_length(color) <= 7 )\nNOT VALID;\n")314main: -> 0.0014s315main: -- current_schema()316main: -> 0.0004s317main: -- execute("ALTER TABLE epics VALIDATE CONSTRAINT check_ca608c40b3;")318main: -> 0.0009s319main: == 20211021124715 AddTextLimitToEpicsColor: migrated (0.0196s) ================320main: == 20211026070408 BackfillIssueSearchData: migrating ==========================321main: == 20211026070408 BackfillIssueSearchData: migrated (0.1104s) =================322main: == 20211103184303 DropRunnerFeaturesFromCiBuildsMetadata: migrating ===========323main: -- remove_column(:ci_builds_metadata, :runner_features)324main: -> 0.0013s325main: == 20211103184303 DropRunnerFeaturesFromCiBuildsMetadata: migrated (0.0015s) ==326main: == 20211119111006 CreateJobArtifactStates: migrating ==========================327main: -- create_table(:ci_job_artifact_states, {:id=>false})328main: -- quote_column_name(:verification_failure)329main: -> 0.0001s330main: -> 0.0095s331main: == 20211119111006 CreateJobArtifactStates: migrated (0.0096s) =================332main: == 20211122103051 AddLineCodeToDraftNotes: migrating ==========================333main: -- add_column(:draft_notes, :line_code, :text)334main: -> 0.0016s335main: == 20211122103051 AddLineCodeToDraftNotes: migrated (0.0017s) =================336main: == 20211123135255 CreateBatchedBackgroundMigrationJobTransitionLogs: migrating 337main: -- 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")338main: -> 0.0032s339main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_000000")340main: -> 0.0007s341main: -- 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")342main: -> 0.0031s343main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202208")344main: -> 0.0006s345main: -- 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")346main: -> 0.0030s347main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202209")348main: -> 0.0007s349main: -- 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")350main: -> 0.0030s351main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202210")352main: -> 0.0007s353main: -- 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")354main: -> 0.0027s355main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202211")356main: -> 0.0006s357main: -- 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")358main: -> 0.0029s359main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202212")360main: -> 0.0007s361main: -- 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")362main: -> 0.0029s363main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202301")364main: -> 0.0006s365main: -- 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")366main: -> 0.0030s367main: -- table_exists?("gitlab_partitions_dynamic.batched_background_migration_job_transition_logs_202302")368main: -> 0.0006s369main: -- 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")370main: -> 0.0029s371main: == 20211123135255 CreateBatchedBackgroundMigrationJobTransitionLogs: migrated (0.0339s) 372main: == 20211124095704 AddDraftNotesLineCodeTextLimit: migrating ===================373main: -- transaction_open?()374main: -> 0.0000s375main: -- current_schema()376main: -> 0.0007s377main: -- transaction_open?()378main: -> 0.0000s379main: -- execute("ALTER TABLE draft_notes\nADD CONSTRAINT check_c497a94a0e\nCHECK ( char_length(line_code) <= 255 )\nNOT VALID;\n")380main: -> 0.0011s381main: -- current_schema()382main: -> 0.0004s383main: -- execute("ALTER TABLE draft_notes VALIDATE CONSTRAINT check_c497a94a0e;")384main: -> 0.0008s385main: == 20211124095704 AddDraftNotesLineCodeTextLimit: migrated (0.0101s) ==========386main: == 20211203160952 AddUpdatedStateByUserIdToMergeRequestReviewers: migrating ===387main: -- add_column(:merge_request_reviewers, :updated_state_by_user_id, :bigint)388main: -> 0.0010s389main: == 20211203160952 AddUpdatedStateByUserIdToMergeRequestReviewers: migrated (0.0011s) 390main: == 20211203161149 AddIndexToMergeRequestReviewersUpdatedStateByUserId: migrating 391main: -- transaction_open?()392main: -> 0.0000s393main: -- index_exists?(:merge_request_reviewers, :updated_state_by_user_id, {:name=>"index_on_merge_request_reviewers_updated_state_by_user_id", :algorithm=>:concurrently})394main: -> 0.0033s395main: -- add_index(:merge_request_reviewers, :updated_state_by_user_id, {:name=>"index_on_merge_request_reviewers_updated_state_by_user_id", :algorithm=>:concurrently})396main: -> 0.0015s397main: == 20211203161149 AddIndexToMergeRequestReviewersUpdatedStateByUserId: migrated (0.0084s) 398main: == 20211203161840 AddUpdatedStateByUserIdToMergeRequestAssignees: migrating ===399main: -- add_column(:merge_request_assignees, :updated_state_by_user_id, :bigint)400main: -> 0.0010s401main: == 20211203161840 AddUpdatedStateByUserIdToMergeRequestAssignees: migrated (0.0011s) 402main: == 20211203161942 AddIndexToMergeRequestAssigneesUpdatedStateByUserId: migrating 403main: -- transaction_open?()404main: -> 0.0000s405main: -- index_exists?(:merge_request_assignees, :updated_state_by_user_id, {:name=>"index_on_merge_request_assignees_updated_state_by_user_id", :algorithm=>:concurrently})406main: -> 0.0030s407main: -- add_index(:merge_request_assignees, :updated_state_by_user_id, {:name=>"index_on_merge_request_assignees_updated_state_by_user_id", :algorithm=>:concurrently})408main: -> 0.0014s409main: == 20211203161942 AddIndexToMergeRequestAssigneesUpdatedStateByUserId: migrated (0.0079s) 410main: == 20211209103048 BackfillProjectNamespacesForGroup: migrating ================411main: == 20211209103048 BackfillProjectNamespacesForGroup: migrated (0.0001s) =======412main: == 20220105082217 AddVerificationTokenToExternalAeDestinations: migrating =====413main: -- add_column(:audit_events_external_audit_event_destinations, :verification_token, :text)414main: -> 0.0017s415main: == 20220105082217 AddVerificationTokenToExternalAeDestinations: migrated (0.0019s) 416main: == 20220105152547 AddForeignKeyToUpdatedStateByUserIdToMergeRequestAssignees: migrating 417main: -- transaction_open?()418main: -> 0.0000s419main: -- foreign_keys(:merge_request_assignees)420main: -> 0.0035s421main: -- transaction_open?()422main: -> 0.0000s423main: -- 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")424main: -> 0.0017s425main: -- execute("ALTER TABLE merge_request_assignees VALIDATE CONSTRAINT fk_af036e3261;")426main: -> 0.0024s427main: == 20220105152547 AddForeignKeyToUpdatedStateByUserIdToMergeRequestAssignees: migrated (0.0115s) 428main: == 20220105153149 AddForeignKeyToUpdatedStateByUserIdToMergeRequestReviewers: migrating 429main: -- transaction_open?()430main: -> 0.0000s431main: -- foreign_keys(:merge_request_reviewers)432main: -> 0.0034s433main: -- transaction_open?()434main: -> 0.0000s435main: -- 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")436main: -> 0.0016s437main: -- execute("ALTER TABLE merge_request_reviewers VALIDATE CONSTRAINT fk_3d674b9f23;")438main: -> 0.0015s439main: == 20220105153149 AddForeignKeyToUpdatedStateByUserIdToMergeRequestReviewers: migrated (0.0103s) 440main: == 20220106111958 AddInsertOrUpdateVulnerabilityReadsTrigger: migrating =======441main: -- 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")442main: -> 0.0027s443main: -- 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")444main: -> 0.0008s445main: == 20220106111958 AddInsertOrUpdateVulnerabilityReadsTrigger: migrated (0.0038s) 446main: == 20220106112043 AddUpdateVulnerabilityReadsTrigger: migrating ===============447main: -- 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")448main: -> 0.0016s449main: -- 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")450main: -> 0.0010s451main: == 20220106112043 AddUpdateVulnerabilityReadsTrigger: migrated (0.0028s) ======452main: == 20220106112085 AddUpdateVulnerabilityReadsLocationTrigger: migrating =======453main: -- 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")454main: -> 0.0015s455main: -- 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")456main: -> 0.0011s457main: == 20220106112085 AddUpdateVulnerabilityReadsLocationTrigger: migrated (0.0030s) 458main: == 20220106163326 AddHasIssuesOnVulnerabilityReadsTrigger: migrating ==========459main: -- 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")460main: -> 0.0016s461main: -- 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")462main: -> 0.0009s463main: -- 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")464main: -> 0.0008s465main: -- 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")466main: -> 0.0008s467main: == 20220106163326 AddHasIssuesOnVulnerabilityReadsTrigger: migrated (0.0045s) =468main: == 20220106185033 RemoveFindingEvidenceSummary: migrating =====================469main: -- remove_column(:vulnerability_finding_evidences, :summary, :text)470main: -> 0.0012s471main: == 20220106185033 RemoveFindingEvidenceSummary: migrated (0.0013s) ============472main: == 20220107064845 PopulateVulnerabilityReads: migrating =======================473main: -- transaction_open?()474main: -> 0.0000s475main: -- Scheduled 0 PopulateVulnerabilityReads jobs with a maximum of 10000 records per batch and an interval of 120 seconds.476The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:08 UTC."477main: == 20220107064845 PopulateVulnerabilityReads: migrated (0.0174s) ==============478main: == 20220111093534 RemoveIndexOnAutoStopIn: migrating ==========================479main: -- transaction_open?()480main: -> 0.0000s481main: -- index_exists?(:environments, :auto_stop_at, {:where=>"auto_stop_at IS NOT NULL", :name=>"index_environments_on_auto_stop_at", :algorithm=>:concurrently})482main: -> 0.0087s483main: -- remove_index(:environments, {:where=>"auto_stop_at IS NOT NULL", :name=>"index_environments_on_auto_stop_at", :algorithm=>:concurrently, :column=>:auto_stop_at})484main: -> 0.0061s485main: == 20220111093534 RemoveIndexOnAutoStopIn: migrated (0.0187s) =================486main: == 20220111101421 RemoveIndexOnMergeRequestId: migrating ======================487main: -- transaction_open?()488main: -> 0.0000s489main: -- index_exists?(:merge_request_context_commits, :merge_request_id, {:name=>"index_merge_request_context_commits_on_merge_request_id", :algorithm=>:concurrently})490main: -> 0.0021s491main: == 20220111101421 RemoveIndexOnMergeRequestId: migrated (0.0031s) =============492main: == 20220111154950 AddTokenExpiresAtToCiRunners: migrating =====================493main: -- add_column(:ci_runners, :token_expires_at, :datetime_with_timezone)494main: -> 0.0018s495main: == 20220111154950 AddTokenExpiresAtToCiRunners: migrated (0.0019s) ============496main: == 20220111154951 AddIndexToCiRunnersTokenExpiresAt: migrating ================497main: -- transaction_open?()498main: -> 0.0001s499main: -- 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})500main: -> 0.0069s501main: -- 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})502main: -> 0.0018s503main: -- transaction_open?()504main: -> 0.0000s505main: -- 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})506main: -> 0.0071s507main: -- 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})508main: -> 0.0018s509main: == 20220111154951 AddIndexToCiRunnersTokenExpiresAt: migrated (0.0251s) =======510main: == 20220113111440 ScheduleFixIncorrectMaxSeatsUsed: migrating =================511main: -- transaction_open?()512main: -> 0.0000s513main: -- 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})514main: -> 0.0033s515main: -- 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})516main: -> 0.0022s517main: == 20220113111440 ScheduleFixIncorrectMaxSeatsUsed: migrated (0.0098s) ========518main: == 20220113135449 AddPackageFilesLimitToApplicationSettings: migrating ========519main: -- add_column(:application_settings, :max_package_files_for_package_destruction, :smallint, {:default=>100, :null=>false})520main: -> 0.0034s521main: == 20220113135449 AddPackageFilesLimitToApplicationSettings: migrated (0.0036s) 522main: == 20220113135924 AddApplicationSettingsPackageFilesLimitConstraints: migrating 523main: -- transaction_open?()524main: -> 0.0000s525main: -- current_schema()526main: -> 0.0006s527main: -- transaction_open?()528main: -> 0.0000s529main: -- 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")530main: -> 0.0017s531main: -- current_schema()532main: -> 0.0004s533main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_max_package_files_for_package_destruction_positive;")534main: -> 0.0014s535main: == 20220113135924 AddApplicationSettingsPackageFilesLimitConstraints: migrated (0.0114s) 536main: == 20220113164801 AddDiffsColorsToUserPreferences: migrating ==================537main: -- add_column(:user_preferences, :diffs_deletion_color, :text)538main: -> 0.0011s539main: -- add_column(:user_preferences, :diffs_addition_color, :text)540main: -> 0.0010s541main: == 20220113164801 AddDiffsColorsToUserPreferences: migrated (0.0023s) =========542main: == 20220113164901 AddTextLimitToUserPreferencesDiffsColors: migrating =========543main: -- transaction_open?()544main: -> 0.0000s545main: -- current_schema()546main: -> 0.0006s547main: -- transaction_open?()548main: -> 0.0000s549main: -- execute("ALTER TABLE user_preferences\nADD CONSTRAINT check_89bf269f41\nCHECK ( char_length(diffs_deletion_color) <= 7 )\nNOT VALID;\n")550main: -> 0.0010s551main: -- current_schema()552main: -> 0.0004s553main: -- execute("ALTER TABLE user_preferences VALIDATE CONSTRAINT check_89bf269f41;")554main: -> 0.0008s555main: -- transaction_open?()556main: -> 0.0000s557main: -- current_schema()558main: -> 0.0004s559main: -- transaction_open?()560main: -> 0.0000s561main: -- execute("ALTER TABLE user_preferences\nADD CONSTRAINT check_d07ccd35f7\nCHECK ( char_length(diffs_addition_color) <= 7 )\nNOT VALID;\n")562main: -> 0.0010s563main: -- current_schema()564main: -> 0.0004s565main: -- execute("ALTER TABLE user_preferences VALIDATE CONSTRAINT check_d07ccd35f7;")566main: -> 0.0009s567main: == 20220113164901 AddTextLimitToUserPreferencesDiffsColors: migrated (0.0194s) 568main: == 20220117034056 RemoveIndexClusterAgentTokensOnAgentIdAndLastUsedAt: migrating 569main: -- transaction_open?()570main: -> 0.0000s571main: -- indexes(:cluster_agent_tokens)572main: -> 0.0036s573main: -- remove_index(:cluster_agent_tokens, {:algorithm=>:concurrently, :name=>"index_cluster_agent_tokens_on_agent_id_and_last_used_at"})574main: -> 0.0013s575main: == 20220117034056 RemoveIndexClusterAgentTokensOnAgentIdAndLastUsedAt: migrated (0.0080s) 576main: == 20220117082611 AddTextLimitToExadVerificationTokens: migrating =============577main: -- transaction_open?()578main: -> 0.0000s579main: -- current_schema()580main: -> 0.0004s581main: -- transaction_open?()582main: -> 0.0000s583main: -- execute("ALTER TABLE audit_events_external_audit_event_destinations\nADD CONSTRAINT check_8ec80a7d06\nCHECK ( char_length(verification_token) <= 24 )\nNOT VALID;\n")584main: -> 0.0009s585main: -- current_schema()586main: -> 0.0004s587main: -- execute("ALTER TABLE audit_events_external_audit_event_destinations VALIDATE CONSTRAINT check_8ec80a7d06;")588main: -> 0.0008s589main: == 20220117082611 AddTextLimitToExadVerificationTokens: migrated (0.0094s) ====590main: == 20220118015633 AddUrlTextToIssuableMetricImages: migrating =================591main: -- add_column(:issuable_metric_images, :url_text, :text)592main: -> 0.0017s593main: == 20220118015633 AddUrlTextToIssuableMetricImages: migrated (0.0018s) ========594main: == 20220118020026 AddUrlTextLimitToIssuableMetricImages: migrating ============595main: -- transaction_open?()596main: -> 0.0000s597main: -- current_schema()598main: -> 0.0005s599main: -- transaction_open?()600main: -> 0.0000s601main: -- execute("ALTER TABLE issuable_metric_images\nADD CONSTRAINT check_3bc6d47661\nCHECK ( char_length(url_text) <= 128 )\nNOT VALID;\n")602main: -> 0.0009s603main: -- current_schema()604main: -> 0.0004s605main: -- execute("ALTER TABLE issuable_metric_images VALIDATE CONSTRAINT check_3bc6d47661;")606main: -> 0.0008s607main: == 20220118020026 AddUrlTextLimitToIssuableMetricImages: migrated (0.0094s) ===608main: == 20220118204039 SelfManagedRescheduleRecalculateVulnerabilityFindingSignaturesForFindings: migrating 609main: -- transaction_open?()610main: -> 0.0000s611main: -- Scheduled 0 RecalculateVulnerabilityFindingSignaturesForFindings jobs with an interval of 120 seconds.612The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:09 UTC."613main: == 20220118204039 SelfManagedRescheduleRecalculateVulnerabilityFindingSignaturesForFindings: migrated (0.0294s) 614main: == 20220119094023 AddUniqueIndexToAedVerificationToken: migrating =============615main: -- transaction_open?()616main: -> 0.0000s617main: -- index_exists?(:audit_events_external_audit_event_destinations, :verification_token, {:unique=>true, :name=>"index_audit_events_external_audit_on_verification_token", :algorithm=>:concurrently})618main: -> 0.0022s619main: -- add_index(:audit_events_external_audit_event_destinations, :verification_token, {:unique=>true, :name=>"index_audit_events_external_audit_on_verification_token", :algorithm=>:concurrently})620main: -> 0.0016s621main: == 20220119094023 AddUniqueIndexToAedVerificationToken: migrated (0.0075s) ====622main: == 20220119094503 PopulateAuditEventStreamingVerificationToken: migrating =====623main: == 20220119094503 PopulateAuditEventStreamingVerificationToken: migrated (0.0028s) 624main: == 20220119141407 AddDependencyProxySizeToNamespaceStatistics: migrating ======625main: -- add_column(:namespace_statistics, :dependency_proxy_size, :bigint, {:default=>0, :null=>false})626main: -> 0.0028s627main: == 20220119141407 AddDependencyProxySizeToNamespaceStatistics: migrated (0.0031s) 628main: == 20220119143130 RemoveProjectsCiSourcesPipelinesSourceProjectIdFk: migrating 629main: -- transaction_open?()630main: -> 0.0000s631main: -- execute("LOCK projects, ci_sources_pipelines IN ACCESS EXCLUSIVE MODE")632main: -> 0.0007s633main: -- foreign_keys(:ci_sources_pipelines)634main: -> 0.0037s635main: -- remove_foreign_key(:ci_sources_pipelines, :projects, {:name=>"fk_acd9737679"})636main: -> 0.0053s637main: == 20220119143130 RemoveProjectsCiSourcesPipelinesSourceProjectIdFk: migrated (0.0140s) 638main: == 20220119144253 AddDependencyProxySizeToNamespaceRootStorageStatistics: migrating 639main: -- add_column(:namespace_root_storage_statistics, :dependency_proxy_size, :bigint, {:default=>0, :null=>false})640main: -> 0.0027s641main: == 20220119144253 AddDependencyProxySizeToNamespaceRootStorageStatistics: migrated (0.0029s) 642main: == 20220119144458 RemoveUsersCiTriggersOwnerIdFk: migrating ===================643main: -- transaction_open?()644main: -> 0.0000s645main: -- execute("LOCK users, ci_triggers IN ACCESS EXCLUSIVE MODE")646main: -> 0.0007s647main: -- foreign_keys(:ci_triggers)648main: -> 0.0035s649main: -- remove_foreign_key(:ci_triggers, :users, {:name=>"fk_e8e10d1964"})650main: -> 0.0047s651main: == 20220119144458 RemoveUsersCiTriggersOwnerIdFk: migrated (0.0129s) ==========652main: == 20220119151221 RemoveMergeRequestsCiPipelinesMergeRequestIdFk: migrating ===653main: -- foreign_keys(:ci_pipelines)654main: -> 0.0038s655main: -- transaction_open?()656main: -> 0.0000s657main: -- transaction_open?()658main: -> 0.0000s659main: -- execute("LOCK merge_requests, ci_pipelines IN ACCESS EXCLUSIVE MODE")660main: -> 0.0007s661main: -- foreign_keys(:ci_pipelines)662main: -> 0.0034s663main: -- remove_foreign_key(:ci_pipelines, :merge_requests, {:name=>"fk_a23be95014"})664main: -> 0.0049s665main: == 20220119151221 RemoveMergeRequestsCiPipelinesMergeRequestIdFk: migrated (0.0172s) 666main: == 20220119153706 RemoveCiPipelinesMergeTrainsPipelineIdFk: migrating =========667main: -- transaction_open?()668main: -> 0.0000s669main: -- execute("LOCK ci_pipelines, merge_trains IN ACCESS EXCLUSIVE MODE")670main: -> 0.0007s671main: -- foreign_keys(:merge_trains)672main: -> 0.0035s673main: -- remove_foreign_key(:merge_trains, :ci_pipelines, {:name=>"fk_rails_f90820cb08"})674main: -> 0.0045s675main: == 20220119153706 RemoveCiPipelinesMergeTrainsPipelineIdFk: migrated (0.0124s) 676main: == 20220119154442 RemoveCiPipelinesMergeRequestsHeadPipelineIdFk: migrating ===677main: -- transaction_open?()678main: -> 0.0000s679main: -- execute("LOCK ci_pipelines, merge_requests IN ACCESS EXCLUSIVE MODE")680main: -> 0.0007s681main: -- foreign_keys(:merge_requests)682main: -> 0.0036s683main: -- remove_foreign_key(:merge_requests, :ci_pipelines, {:name=>"fk_fd82eae0b9"})684main: -> 0.0051s685main: == 20220119154442 RemoveCiPipelinesMergeRequestsHeadPipelineIdFk: migrated (0.0133s) 686main: == 20220119170426 RemoveTemporaryVulnerabilityOccurrencesDeduplicationIndex: migrating 687main: -- transaction_open?()688main: -> 0.0000s689main: -- transaction_open?()690main: -> 0.0000s691main: -- indexes(:vulnerability_occurrences)692main: -> 0.0066s693main: -- remove_index(:vulnerability_occurrences, {:algorithm=>:concurrently, :name=>"tmp_idx_deduplicate_vulnerability_occurrences"})694main: -> 0.0016s695main: == 20220119170426 RemoveTemporaryVulnerabilityOccurrencesDeduplicationIndex: migrated (0.0186s) 696main: == 20220119193130 RemoveCiPipelinesDastProfilesPipelinesCiPipelineIdFk: migrating 697main: -- transaction_open?()698main: -> 0.0000s699main: -- execute("LOCK ci_pipelines, dast_profiles_pipelines IN ACCESS EXCLUSIVE MODE")700main: -> 0.0007s701main: -- foreign_keys(:dast_profiles_pipelines)702main: -> 0.0034s703main: -- remove_foreign_key(:dast_profiles_pipelines, :ci_pipelines, {:name=>"fk_a60cad829d"})704main: -> 0.0045s705main: == 20220119193130 RemoveCiPipelinesDastProfilesPipelinesCiPipelineIdFk: migrated (0.0122s) 706main: == 20220119201340 RemoveCiPipelinesVulnerabilityStatisticsLatestPipelineIdFk: migrating 707main: -- transaction_open?()708main: -> 0.0000s709main: -- execute("LOCK ci_pipelines, vulnerability_statistics IN ACCESS EXCLUSIVE MODE")710main: -> 0.0006s711main: -- foreign_keys(:vulnerability_statistics)712main: -> 0.0033s713main: -- remove_foreign_key(:vulnerability_statistics, :ci_pipelines, {:name=>"fk_e8b13c928f"})714main: -> 0.0045s715main: == 20220119201340 RemoveCiPipelinesVulnerabilityStatisticsLatestPipelineIdFk: migrated (0.0117s) 716main: == 20220119203119 RemoveCiPipelinesVulnerabilityOccurrencePipelinesPipelineIdFk: migrating 717main: -- transaction_open?()718main: -> 0.0000s719main: -- execute("LOCK ci_pipelines, vulnerability_occurrence_pipelines IN ACCESS EXCLUSIVE MODE")720main: -> 0.0006s721main: -- foreign_keys(:vulnerability_occurrence_pipelines)722main: -> 0.0033s723main: -- remove_foreign_key(:vulnerability_occurrence_pipelines, :ci_pipelines, {:name=>"fk_rails_6421e35d7d"})724main: -> 0.0045s725main: == 20220119203119 RemoveCiPipelinesVulnerabilityOccurrencePipelinesPipelineIdFk: migrated (0.0118s) 726main: == 20220119220620 AddScanMethodToDastSiteProfile: migrating ===================727main: -- add_column(:dast_site_profiles, :scan_method, :integer, {:limit=>2, :default=>0, :null=>false})728main: -> 0.0034s729main: == 20220119220620 AddScanMethodToDastSiteProfile: migrated (0.0035s) ==========730main: == 20220120033115 CreateAlertManagementAlertMetricImages: migrating ===========731main: -- create_table(:alert_management_alert_metric_images, {})732main: -- quote_column_name(:file)733main: -> 0.0000s734main: -- quote_column_name(:url)735main: -> 0.0000s736main: -- quote_column_name(:url_text)737main: -> 0.0000s738main: -> 0.0070s739main: == 20220120033115 CreateAlertManagementAlertMetricImages: migrated (0.0071s) ==740main: == 20220120085655 AddCiRunnerProjectIndexToRunnerIdAndProjectId: migrating ====741main: -- transaction_open?()742main: -> 0.0000s743main: -- index_exists?(:ci_runner_projects, [:runner_id, :project_id], {:name=>"index_ci_runner_projects_on_runner_id_and_project_id", :algorithm=>:concurrently})744main: -> 0.0025s745main: -- add_index(:ci_runner_projects, [:runner_id, :project_id], {:name=>"index_ci_runner_projects_on_runner_id_and_project_id", :algorithm=>:concurrently})746main: -> 0.0014s747main: -- transaction_open?()748main: -> 0.0000s749main: -- indexes(:ci_runner_projects)750main: -> 0.0026s751main: -- remove_index(:ci_runner_projects, {:algorithm=>:concurrently, :name=>"index_ci_runner_projects_on_runner_id"})752main: -> 0.0012s753main: == 20220120085655 AddCiRunnerProjectIndexToRunnerIdAndProjectId: migrated (0.0135s) 754main: == 20220120094340 DropPositionFromSecurityFindings: migrating =================755main: -- remove_column(:security_findings, :position, :integer)756main: -> 0.0014s757main: == 20220120094340 DropPositionFromSecurityFindings: migrated (0.0015s) ========758main: == 20220120123700 AddTmpIndexRoutesIdForNamespaces: migrating =================759main: -- transaction_open?()760main: -> 0.0000s761main: -- 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})762main: -> 0.0045s763main: -- 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})764main: -> 0.0019s765main: == 20220120123700 AddTmpIndexRoutesIdForNamespaces: migrated (0.0101s) ========766main: == 20220120123800 BackfillNamespaceIdForNamespaceRoutes: migrating ============767main: == 20220120123800 BackfillNamespaceIdForNamespaceRoutes: migrated (0.0416s) ===768main: == 20220120160625 RemoveTempIndexOnIdFromVulnerabilityOccurrences: migrating ==769main: -- transaction_open?()770main: -> 0.0000s771main: -- indexes(:vulnerability_occurrences)772main: -> 0.0061s773main: -- remove_index(:vulnerability_occurrences, {:algorithm=>:concurrently, :name=>"tmp_idx_vulnerability_occurrences_on_id_where_report_type_7_99"})774main: -> 0.0017s775main: == 20220120160625 RemoveTempIndexOnIdFromVulnerabilityOccurrences: migrated (0.0111s) 776main: == 20220120211831 TempIndexForGroupNamespaceMemberBackfill: migrating =========777main: -- transaction_open?()778main: -> 0.0000s779main: -- 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})780main: -> 0.0076s781main: -- 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})782main: -> 0.0017s783main: == 20220120211831 TempIndexForGroupNamespaceMemberBackfill: migrated (0.0132s) 784main: == 20220120211832 BackfillMemberNamespaceIdForGroupMembers: migrating =========785main: == 20220120211832 BackfillMemberNamespaceIdForGroupMembers: migrated (0.0416s) 786main: == 20220121214752 RemoveProjectsCiStagesProjectIdFk: migrating ================787main: -- foreign_keys(:ci_stages)788main: -> 0.0034s789main: -- transaction_open?()790main: -> 0.0000s791main: -- transaction_open?()792main: -> 0.0000s793main: -- execute("LOCK projects, ci_stages IN ACCESS EXCLUSIVE MODE")794main: -> 0.0007s795main: -- foreign_keys(:ci_stages)796main: -> 0.0033s797main: -- remove_foreign_key(:ci_stages, :projects, {:name=>"fk_2360681d1d"})798main: -> 0.0048s799main: == 20220121214752 RemoveProjectsCiStagesProjectIdFk: migrated (0.0161s) =======800main: == 20220121214753 ReRemoveProjectsCiStagesProjectIdFk: migrating ==============801main: -- foreign_keys(:ci_stages)802main: -> 0.0034s803main: == 20220121214753 ReRemoveProjectsCiStagesProjectIdFk: migrated (0.0035s) =====804main: == 20220121221651 RemoveProjectsCiVariablesProjectIdFk: migrating =============805main: -- foreign_keys(:ci_variables)806main: -> 0.0034s807main: -- transaction_open?()808main: -> 0.0000s809main: -- transaction_open?()810main: -> 0.0000s811main: -- execute("LOCK projects, ci_variables IN ACCESS EXCLUSIVE MODE")812main: -> 0.0007s813main: -- foreign_keys(:ci_variables)814main: -> 0.0031s815main: -- remove_foreign_key(:ci_variables, :projects, {:name=>"fk_ada5eb64b3"})816main: -> 0.0047s817main: == 20220121221651 RemoveProjectsCiVariablesProjectIdFk: migrated (0.0155s) ====818main: == 20220124130028 DedupRunnerProjects: migrating ==============================819main: -- transaction_open?()820main: -> 0.0000s821main: -- 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})822main: -> 0.0023s823main: -- 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})824main: -> 0.0015s825main: -- transaction_open?()826main: -> 0.0000s827main: -- 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})828main: -> 0.0031s829main: -- 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})830main: -> 0.0016s831main: -- transaction_open?()832main: -> 0.0000s833main: -- indexes(:ci_runner_projects)834main: -> 0.0031s835main: -- remove_index(:ci_runner_projects, {:algorithm=>:concurrently, :name=>"tmp_unique_ci_runner_projects_by_runner_id_and_project_id"})836main: -> 0.0012s837main: -- transaction_open?()838main: -> 0.0000s839main: -- indexes(:ci_runner_projects)840main: -> 0.0026s841main: -- remove_index(:ci_runner_projects, {:algorithm=>:concurrently, :name=>"index_ci_runner_projects_on_runner_id_and_project_id"})842main: -> 0.0011s843main: == 20220124130028 DedupRunnerProjects: migrated (0.0543s) =====================844main: == 20220124145019 RemoveProjectsExternalPullRequestsProjectIdFk: migrating ====845main: -- foreign_keys(:external_pull_requests)846main: -> 0.0035s847main: -- transaction_open?()848main: -> 0.0000s849main: -- transaction_open?()850main: -> 0.0000s851main: -- execute("LOCK projects, external_pull_requests IN ACCESS EXCLUSIVE MODE")852main: -> 0.0007s853main: -- foreign_keys(:external_pull_requests)854main: -> 0.0031s855main: -- remove_foreign_key(:external_pull_requests, :projects, {:name=>"fk_rails_bcae9b5c7b"})856main: -> 0.0050s857main: == 20220124145019 RemoveProjectsExternalPullRequestsProjectIdFk: migrated (0.0159s) 858main: == 20220124151456 RemoveProjectsCiTriggersProjectIdFk: migrating ==============859main: -- foreign_keys(:ci_triggers)860main: -> 0.0033s861main: -- transaction_open?()862main: -> 0.0000s863main: -- transaction_open?()864main: -> 0.0000s865main: -- execute("LOCK projects, ci_triggers IN ACCESS EXCLUSIVE MODE")866main: -> 0.0006s867main: -- foreign_keys(:ci_triggers)868main: -> 0.0031s869main: -- remove_foreign_key(:ci_triggers, :projects, {:name=>"fk_e3e63f966e"})870main: -> 0.0047s871main: == 20220124151456 RemoveProjectsCiTriggersProjectIdFk: migrated (0.0152s) =====872main: == 20220124151949 RemoveProjectsCiRunnerProjectsProjectIdFk: migrating ========873main: -- foreign_keys(:ci_runner_projects)874main: -> 0.0033s875main: -- transaction_open?()876main: -> 0.0000s877main: -- transaction_open?()878main: -> 0.0000s879main: -- execute("LOCK projects, ci_runner_projects IN ACCESS EXCLUSIVE MODE")880main: -> 0.0006s881main: -- foreign_keys(:ci_runner_projects)882main: -> 0.0032s883main: -- remove_foreign_key(:ci_runner_projects, :projects, {:name=>"fk_4478a6f1e4"})884main: -> 0.0048s885main: == 20220124151949 RemoveProjectsCiRunnerProjectsProjectIdFk: migrated (0.0157s) 886main: == 20220124152824 RemoveProjectsCiSubscriptionsProjectsDownstreamProjectIdFk: migrating 887main: -- foreign_keys(:ci_subscriptions_projects)888main: -> 0.0034s889main: -- transaction_open?()890main: -> 0.0000s891main: -- transaction_open?()892main: -> 0.0000s893main: -- execute("LOCK projects, ci_subscriptions_projects IN ACCESS EXCLUSIVE MODE")894main: -> 0.0007s895main: -- foreign_keys(:ci_subscriptions_projects)896main: -> 0.0032s897main: -- remove_foreign_key(:ci_subscriptions_projects, :projects, {:name=>"fk_rails_0818751483"})898main: -> 0.0047s899main: == 20220124152824 RemoveProjectsCiSubscriptionsProjectsDownstreamProjectIdFk: migrated (0.0157s) 900main: == 20220124153233 RemoveProjectsCiJobArtifactsProjectIdFk: migrating ==========901main: -- foreign_keys(:ci_job_artifacts)902main: -> 0.0035s903main: -- transaction_open?()904main: -> 0.0000s905main: -- transaction_open?()906main: -> 0.0000s907main: -- execute("LOCK projects, ci_job_artifacts IN ACCESS EXCLUSIVE MODE")908main: -> 0.0007s909main: -- foreign_keys(:ci_job_artifacts)910main: -> 0.0032s911main: -- remove_foreign_key(:ci_job_artifacts, :projects, {:name=>"fk_rails_9862d392f9"})912main: -> 0.0048s913main: == 20220124153233 RemoveProjectsCiJobArtifactsProjectIdFk: migrated (0.0160s) =914main: == 20220124153234 ReRemoveProjectsCiJobArtifactsProjectIdFk: migrating ========915main: -- foreign_keys(:ci_job_artifacts)916main: -> 0.0036s917main: == 20220124153234 ReRemoveProjectsCiJobArtifactsProjectIdFk: migrated (0.0037s) 918main: == 20220124180704 RemoveProjectsCiBuildsMetadataProjectIdFk: migrating ========919main: -- foreign_keys(:ci_builds_metadata)920main: -> 0.0035s921main: -- transaction_open?()922main: -> 0.0000s923main: -- transaction_open?()924main: -> 0.0000s925main: -- execute("LOCK projects, ci_builds_metadata IN ACCESS EXCLUSIVE MODE")926main: -> 0.0007s927main: -- foreign_keys(:ci_builds_metadata)928main: -> 0.0032s929main: -- remove_foreign_key(:ci_builds_metadata, :projects, {:name=>"fk_rails_ffcf702a02"})930main: -> 0.0047s931main: == 20220124180704 RemoveProjectsCiBuildsMetadataProjectIdFk: migrated (0.0157s) 932main: == 20220124180705 ReRemoveProjectsCiBuildsMetadataProjectIdFk: migrating ======933main: -- foreign_keys(:ci_builds_metadata)934main: -> 0.0034s935main: == 20220124180705 ReRemoveProjectsCiBuildsMetadataProjectIdFk: migrated (0.0035s) 936main: == 20220124184338 RemoveProjectsCiSubscriptionsProjectsUpstreamProjectIdFk: migrating 937main: -- foreign_keys(:ci_subscriptions_projects)938main: -> 0.0033s939main: -- transaction_open?()940main: -> 0.0000s941main: -- transaction_open?()942main: -> 0.0000s943main: -- execute("LOCK projects, ci_subscriptions_projects IN ACCESS EXCLUSIVE MODE")944main: -> 0.0007s945main: -- foreign_keys(:ci_subscriptions_projects)946main: -> 0.0031s947main: -- remove_foreign_key(:ci_subscriptions_projects, :projects, {:name=>"fk_rails_7871f9a97b"})948main: -> 0.0049s949main: == 20220124184338 RemoveProjectsCiSubscriptionsProjectsUpstreamProjectIdFk: migrated (0.0157s) 950main: == 20220124200927 AddIndexToIssues: migrating =================================951main: -- transaction_open?()952main: -> 0.0000s953main: -- index_exists?(:issues, [:id, :weight], {:name=>"index_issues_on_id_and_weight", :algorithm=>:concurrently})954main: -> 0.0140s955main: -- add_index(:issues, [:id, :weight], {:name=>"index_issues_on_id_and_weight", :algorithm=>:concurrently})956main: -> 0.0019s957main: == 20220124200927 AddIndexToIssues: migrated (0.0195s) ========================958main: == 20220124204046 RemoveProjectsCiSourcesPipelinesProjectIdFk: migrating ======959main: -- foreign_keys(:ci_sources_pipelines)960main: -> 0.0035s961main: -- transaction_open?()962main: -> 0.0000s963main: -- transaction_open?()964main: -> 0.0000s965main: -- execute("LOCK projects, ci_sources_pipelines IN ACCESS EXCLUSIVE MODE")966main: -> 0.0006s967main: -- foreign_keys(:ci_sources_pipelines)968main: -> 0.0032s969main: -- remove_foreign_key(:ci_sources_pipelines, :projects, {:name=>"fk_1e53c97c0a"})970main: -> 0.0047s971main: == 20220124204046 RemoveProjectsCiSourcesPipelinesProjectIdFk: migrated (0.0156s) 972main: == 20220124214131 RemoveProjectsCiRefsProjectIdFk: migrating ==================973main: -- foreign_keys(:ci_refs)974main: -> 0.0035s975main: -- transaction_open?()976main: -> 0.0000s977main: -- transaction_open?()978main: -> 0.0000s979main: -- execute("LOCK projects, ci_refs IN ACCESS EXCLUSIVE MODE")980main: -> 0.0007s981main: -- foreign_keys(:ci_refs)982main: -> 0.0032s983main: -- remove_foreign_key(:ci_refs, :projects, {:name=>"fk_rails_4249db8cc3"})984main: -> 0.0047s985main: == 20220124214131 RemoveProjectsCiRefsProjectIdFk: migrated (0.0159s) =========986main: == 20220124215857 RemoveProjectsCiJobTokenProjectScopeLinksSourceProjectIdFk: migrating 987main: -- foreign_keys(:ci_job_token_project_scope_links)988main: -> 0.0034s989main: -- transaction_open?()990main: -> 0.0000s991main: -- transaction_open?()992main: -> 0.0000s993main: -- execute("LOCK projects, ci_job_token_project_scope_links IN ACCESS EXCLUSIVE MODE")994main: -> 0.0007s995main: -- foreign_keys(:ci_job_token_project_scope_links)996main: -> 0.0032s997main: -- remove_foreign_key(:ci_job_token_project_scope_links, :projects, {:name=>"fk_rails_4b2ee3290b"})998main: -> 0.0048s999main: == 20220124215857 RemoveProjectsCiJobTokenProjectScopeLinksSourceProjectIdFk: migrated (0.0156s) 1000main: == 20220124221521 RemoveProjectsCiProjectMonthlyUsagesProjectIdFk: migrating ==1001main: -- foreign_keys(:ci_project_monthly_usages)1002main: -> 0.0033s1003main: -- transaction_open?()1004main: -> 0.0000s1005main: -- transaction_open?()1006main: -> 0.0000s1007main: -- execute("LOCK projects, ci_project_monthly_usages IN ACCESS EXCLUSIVE MODE")1008main: -> 0.0007s1009main: -- foreign_keys(:ci_project_monthly_usages)1010main: -> 0.0031s1011main: -- remove_foreign_key(:ci_project_monthly_usages, :projects, {:name=>"fk_rails_508bcd4aa6"})1012main: -> 0.0051s1013main: == 20220124221521 RemoveProjectsCiProjectMonthlyUsagesProjectIdFk: migrated (0.0159s) 1014main: == 20220125083520 RemoveCiPipelinesDastSiteProfilesPipelinesCiPipelineIdFk: migrating 1015main: -- foreign_keys(:dast_site_profiles_pipelines)1016main: -> 0.0034s1017main: -- transaction_open?()1018main: -> 0.0000s1019main: -- transaction_open?()1020main: -> 0.0000s1021main: -- execute("LOCK ci_pipelines, dast_site_profiles_pipelines IN ACCESS EXCLUSIVE MODE")1022main: -> 0.0007s1023main: -- foreign_keys(:dast_site_profiles_pipelines)1024main: -> 0.0032s1025main: -- remove_foreign_key(:dast_site_profiles_pipelines, :ci_pipelines, {:name=>"fk_53849b0ad5"})1026main: -> 0.0043s1027main: == 20220125083520 RemoveCiPipelinesDastSiteProfilesPipelinesCiPipelineIdFk: migrated (0.0150s) 1028main: == 20220125084127 AddCleanupAttemptsToLooseForeignKeysDeletedRecords: migrating 1029main: -- add_column(:loose_foreign_keys_deleted_records, :cleanup_attempts, :smallint, {:default=>0})1030main: -> 0.0019s1031main: == 20220125084127 AddCleanupAttemptsToLooseForeignKeysDeletedRecords: migrated (0.0020s) 1032main: == 20220125084348 RemoveCiPipelinesVulnerabilityFeedbackPipelineIdFk: migrating 1033main: -- foreign_keys(:vulnerability_feedback)1034main: -> 0.0035s1035main: -- transaction_open?()1036main: -> 0.0000s1037main: -- transaction_open?()1038main: -> 0.0000s1039main: -- execute("LOCK ci_pipelines, vulnerability_feedback IN ACCESS EXCLUSIVE MODE")1040main: -> 0.0007s1041main: -- foreign_keys(:vulnerability_feedback)1042main: -> 0.0033s1043main: -- remove_foreign_key(:vulnerability_feedback, :ci_pipelines, {:name=>"fk_rails_20976e6fd9"})1044main: -> 0.0079s1045main: == 20220125084348 RemoveCiPipelinesVulnerabilityFeedbackPipelineIdFk: migrated (0.0191s) 1046main: == 20220125122228 AddTopicsNonPrivateProjectsCount: migrating =================1047main: -- add_column(:topics, :non_private_projects_count, :bigint, {:null=>false, :default=>0})1048main: -> 0.0024s1049main: == 20220125122228 AddTopicsNonPrivateProjectsCount: migrated (0.0025s) ========1050main: == 20220125122640 SchedulePopulateTopicsNonPrivateProjectsCount: migrating ====1051main: -- transaction_open?()1052main: -> 0.0000s1053main: -- Scheduled 0 PopulateTopicsNonPrivateProjectsCount jobs with a maximum of 10000 records per batch and an interval of 120 seconds.1054The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:10 UTC."1055main: == 20220125122640 SchedulePopulateTopicsNonPrivateProjectsCount: migrated (0.0048s) 1056main: == 20220125122725 AddTopicsNonPrivateProjectsCountIndex: migrating ============1057main: -- transaction_open?()1058main: -> 0.0000s1059main: -- index_exists?(:topics, [:non_private_projects_count, :id], {:order=>{:non_private_projects_count=>:desc}, :name=>"index_topics_non_private_projects_count", :algorithm=>:concurrently})1060main: -> 0.0029s1061main: -- add_index(:topics, [:non_private_projects_count, :id], {:order=>{:non_private_projects_count=>:desc}, :name=>"index_topics_non_private_projects_count", :algorithm=>:concurrently})1062main: -> 0.0015s1063main: == 20220125122725 AddTopicsNonPrivateProjectsCountIndex: migrated (0.0077s) ===1064main: == 20220125230538 AddCompoundIndexOnProjectIdAndIdForVulnerabilities: migrating 1065main: -- transaction_open?()1066main: -> 0.0000s1067main: -- index_exists?(:vulnerabilities, [:project_id, :id], {:name=>"index_vulnerabilities_on_project_id_and_id", :algorithm=>:concurrently})1068main: -> 0.0070s1069main: -- add_index(:vulnerabilities, [:project_id, :id], {:name=>"index_vulnerabilities_on_project_id_and_id", :algorithm=>:concurrently})1070main: -> 0.0018s1071main: == 20220125230538 AddCompoundIndexOnProjectIdAndIdForVulnerabilities: migrated (0.0124s) 1072main: == 20220126201752 RemoveProjectsCiJobTokenProjectScopeLinksTargetProjectIdFk: migrating 1073main: -- foreign_keys(:ci_job_token_project_scope_links)1074main: -> 0.0034s1075main: -- transaction_open?()1076main: -> 0.0000s1077main: -- transaction_open?()1078main: -> 0.0000s1079main: -- execute("LOCK projects, ci_job_token_project_scope_links IN ACCESS EXCLUSIVE MODE")1080main: -> 0.0007s1081main: -- foreign_keys(:ci_job_token_project_scope_links)1082main: -> 0.0032s1083main: -- remove_foreign_key(:ci_job_token_project_scope_links, :projects, {:name=>"fk_rails_6904b38465"})1084main: -> 0.0046s1085main: == 20220126201752 RemoveProjectsCiJobTokenProjectScopeLinksTargetProjectIdFk: migrated (0.0159s) 1086main: == 20220126202654 RemoveProjectsCiSourcesProjectsSourceProjectIdFk: migrating =1087main: -- foreign_keys(:ci_sources_projects)1088main: -> 0.0033s1089main: -- transaction_open?()1090main: -> 0.0000s1091main: -- transaction_open?()1092main: -> 0.0000s1093main: -- execute("LOCK projects, ci_sources_projects IN ACCESS EXCLUSIVE MODE")1094main: -> 0.0007s1095main: -- foreign_keys(:ci_sources_projects)1096main: -> 0.0033s1097main: -- remove_foreign_key(:ci_sources_projects, :projects, {:name=>"fk_rails_64b6855cbc"})1098main: -> 0.0047s1099main: == 20220126202654 RemoveProjectsCiSourcesProjectsSourceProjectIdFk: migrated (0.0154s) 1100main: == 20220126203421 RemoveProjectsCiPipelineSchedulesProjectIdFk: migrating =====1101main: -- foreign_keys(:ci_pipeline_schedules)1102main: -> 0.0040s1103main: -- transaction_open?()1104main: -> 0.0000s1105main: -- transaction_open?()1106main: -> 0.0000s1107main: -- execute("LOCK projects, ci_pipeline_schedules IN ACCESS EXCLUSIVE MODE")1108main: -> 0.0007s1109main: -- foreign_keys(:ci_pipeline_schedules)1110main: -> 0.0034s1111main: -- remove_foreign_key(:ci_pipeline_schedules, :projects, {:name=>"fk_8ead60fcc4"})1112main: -> 0.0047s1113main: == 20220126203421 RemoveProjectsCiPipelineSchedulesProjectIdFk: migrated (0.0171s) 1114main: == 20220126210021 RemoveProjectsCiBuildsProjectIdFk: migrating ================1115main: -- foreign_keys(:ci_builds)1116main: -> 0.0035s1117main: -- transaction_open?()1118main: -> 0.0000s1119main: -- transaction_open?()1120main: -> 0.0000s1121main: -- execute("LOCK projects, ci_builds IN ACCESS EXCLUSIVE MODE")1122main: -> 0.0007s1123main: -- foreign_keys(:ci_builds)1124main: -> 0.0034s1125main: -- remove_foreign_key(:ci_builds, :projects, {:name=>"fk_befce0568a"})1126main: -> 0.0051s1127main: == 20220126210021 RemoveProjectsCiBuildsProjectIdFk: migrated (0.0164s) =======1128main: == 20220126210022 ReRemoveProjectsCiBuildsProjectIdFk: migrating ==============1129main: -- foreign_keys(:ci_builds)1130main: -> 0.0035s1131main: == 20220126210022 ReRemoveProjectsCiBuildsProjectIdFk: migrated (0.0036s) =====1132main: == 20220126210657 RemoveProjectsCiPipelinesProjectIdFk: migrating =============1133main: -- foreign_keys(:ci_pipelines)1134main: -> 0.0035s1135main: -- transaction_open?()1136main: -> 0.0000s1137main: -- transaction_open?()1138main: -> 0.0000s1139main: -- execute("LOCK projects, ci_pipelines IN ACCESS EXCLUSIVE MODE")1140main: -> 0.0007s1141main: -- foreign_keys(:ci_pipelines)1142main: -> 0.0034s1143main: -- remove_foreign_key(:ci_pipelines, :projects, {:name=>"fk_86635dbd80"})1144main: -> 0.0049s1145main: == 20220126210657 RemoveProjectsCiPipelinesProjectIdFk: migrated (0.0161s) ====1146main: == 20220127112243 AddIndexToMergeRequestAssigneesState: migrating =============1147main: -- transaction_open?()1148main: -> 0.0000s1149main: -- index_exists?(:merge_request_assignees, :state, {:where=>"state = 2", :name=>"index_on_merge_request_assignees_state", :algorithm=>:concurrently})1150main: -> 0.0034s1151main: -- add_index(:merge_request_assignees, :state, {:where=>"state = 2", :name=>"index_on_merge_request_assignees_state", :algorithm=>:concurrently})1152main: -> 0.0015s1153main: == 20220127112243 AddIndexToMergeRequestAssigneesState: migrated (0.0085s) ====1154main: == 20220127112412 AddIndexToMergeRequestReviewersState: migrating =============1155main: -- transaction_open?()1156main: -> 0.0000s1157main: -- index_exists?(:merge_request_reviewers, :state, {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_state", :algorithm=>:concurrently})1158main: -> 0.0030s1159main: -- add_index(:merge_request_reviewers, :state, {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_state", :algorithm=>:concurrently})1160main: -> 0.0016s1161main: == 20220127112412 AddIndexToMergeRequestReviewersState: migrated (0.0081s) ====1162main: == 20220127132200 CleanupBackfillCiNamespaceMirrors: migrating ================1163main: == 20220127132200 CleanupBackfillCiNamespaceMirrors: migrated (0.0000s) =======1164main: == 20220127132201 CleanupBackfillCiProjectMirrors: migrating ==================1165main: == 20220127132201 CleanupBackfillCiProjectMirrors: migrated (0.0000s) =========1166main: == 20220128093756 AddEcdsaSkAndEd25519SkKeyRestrictionsToApplicationSettings: migrating 1167main: -- add_column(:application_settings, :ecdsa_sk_key_restriction, :integer, {:default=>0, :null=>false})1168main: -> 0.0025s1169main: -- add_column(:application_settings, :ed25519_sk_key_restriction, :integer, {:default=>0, :null=>false})1170main: -> 0.0019s1171main: == 20220128093756 AddEcdsaSkAndEd25519SkKeyRestrictionsToApplicationSettings: migrated (0.0046s) 1172main: == 20220128103042 ScheduleDeleteInvalidEpicIssuesRevised: migrating ===========1173main: == 20220128103042 ScheduleDeleteInvalidEpicIssuesRevised: migrated (0.0523s) ==1174main: == 20220128155251 RemoveDanglingRunningBuilds: migrating ======================1175main: -- transaction_open?()1176main: -> 0.0000s1177main: == 20220128155251 RemoveDanglingRunningBuilds: migrated (0.0227s) =============1178main: == 20220128155814 FixApprovalRulesCodeOwnersRuleTypeIndex: migrating ==========1179main: -- indexes(:approval_merge_request_rules)1180main: -> 0.0044s1181main: -- indexes(:approval_merge_request_rules)1182main: -> 0.0041s1183main: -- current_schema()1184main: -> 0.0004s1185main: -- rename_index(:approval_merge_request_rules, "index_approval_rules_code_owners_rule_type", "index_approval_rules_code_owners_rule_type_old")1186main: -> 0.0009s1187main: -- transaction_open?()1188main: -> 0.0000s1189main: -- index_exists?(:approval_merge_request_rules, :merge_request_id, {:where=>"rule_type = 2", :name=>"index_approval_rules_code_owners_rule_type", :algorithm=>:concurrently})1190main: -> 0.0041s1191main: -- add_index(:approval_merge_request_rules, :merge_request_id, {:where=>"rule_type = 2", :name=>"index_approval_rules_code_owners_rule_type", :algorithm=>:concurrently})1192main: -> 0.0018s1193main: -- transaction_open?()1194main: -> 0.0000s1195main: -- indexes(:approval_merge_request_rules)1196main: -> 0.0045s1197main: -- remove_index(:approval_merge_request_rules, {:algorithm=>:concurrently, :name=>"index_approval_rules_code_owners_rule_type_old"})1198main: -> 0.0014s1199main: == 20220128155814 FixApprovalRulesCodeOwnersRuleTypeIndex: migrated (0.0310s) =1200main: == 20220128194722 AddIndexOnMigrationStateAndImportDoneAtToContainerRepositories: migrating 1201main: -- transaction_open?()1202main: -> 0.0000s1203main: -- index_exists?(:container_repositories, [:migration_state, :migration_import_done_at], {:name=>"index_container_repositories_on_migration_state_import_done_at", :algorithm=>:concurrently})1204main: -> 0.0038s1205main: -- add_index(:container_repositories, [:migration_state, :migration_import_done_at], {:name=>"index_container_repositories_on_migration_state_import_done_at", :algorithm=>:concurrently})1206main: -> 0.0016s1207main: == 20220128194722 AddIndexOnMigrationStateAndImportDoneAtToContainerRepositories: migrated (0.0089s) 1208main: == 20220131000000 IndexJobArtifactsOnTraceTypeAndExpireAt: migrating ==========1209main: -- transaction_open?()1210main: -> 0.0000s1211main: -- 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})1212main: -> 0.0059s1213main: -- 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})1214main: -> 0.0019s1215main: == 20220131000000 IndexJobArtifactsOnTraceTypeAndExpireAt: migrated (0.0114s) =1216main: == 20220131000001 ScheduleTraceExpiryRemoval: migrating =======================1217main: == 20220131000001 ScheduleTraceExpiryRemoval: migrated (0.0001s) ==============1218main: == 20220131135725 AddSeverityLevelToMergeRequestsComplianceViolations: migrating 1219main: -- add_column(:merge_requests_compliance_violations, :severity_level, :integer, {:limit=>2, :null=>false, :default=>0})1220main: -> 0.0023s1221main: == 20220131135725 AddSeverityLevelToMergeRequestsComplianceViolations: migrated (0.0025s) 1222main: == 20220131192643 AddShowDiffPreviewInEmailToProjectSettings: migrating =======1223main: -- add_column(:project_settings, :show_diff_preview_in_email, :boolean, {:default=>true, :null=>false})1224main: -> 0.0015s1225main: == 20220131192643 AddShowDiffPreviewInEmailToProjectSettings: migrated (0.0017s) 1226main: == 20220201034731 RemoveIndexClustersKubernetesNamespacesOnClusterId: migrating 1227main: -- transaction_open?()1228main: -> 0.0000s1229main: -- indexes(:clusters_kubernetes_namespaces)1230main: -> 0.0042s1231main: -- remove_index(:clusters_kubernetes_namespaces, {:algorithm=>:concurrently, :name=>"index_clusters_kubernetes_namespaces_on_cluster_id"})1232main: -> 0.0013s1233main: == 20220201034731 RemoveIndexClustersKubernetesNamespacesOnClusterId: migrated (0.0084s) 1234main: == 20220201141705 CleanupBackgroundMigrationPopulateTestReportsIssueId: migrating 1235main: -- transaction_open?()1236main: -> 0.0000s1237main: == 20220201141705 CleanupBackgroundMigrationPopulateTestReportsIssueId: migrated (0.0068s) 1238main: == 20220201173212 AddUserDetailsProvisioningIndex: migrating ==================1239main: -- transaction_open?()1240main: -> 0.0000s1241main: -- index_exists?(:user_details, [:provisioned_by_group_id, :user_id], {:name=>"idx_user_details_on_provisioned_by_group_id_user_id", :algorithm=>:concurrently})1242main: -> 0.0039s1243main: -- add_index(:user_details, [:provisioned_by_group_id, :user_id], {:name=>"idx_user_details_on_provisioned_by_group_id_user_id", :algorithm=>:concurrently})1244main: -> 0.0017s1245main: -- transaction_open?()1246main: -> 0.0000s1247main: -- indexes(:user_details)1248main: -> 0.0036s1249main: -- remove_index(:user_details, {:algorithm=>:concurrently, :name=>"index_user_details_on_provisioned_by_group_id"})1250main: -> 0.0019s1251main: == 20220201173212 AddUserDetailsProvisioningIndex: migrated (0.0179s) =========1252main: == 20220201193033 AddUniqueIndexToVulnerabilityFindingLinksWithTruncate: migrating 1253main: -- execute("TRUNCATE TABLE vulnerability_finding_links")1254main: -> 0.0028s1255main: -- transaction_open?()1256main: -> 0.0000s1257main: -- index_exists?(:vulnerability_finding_links, [:vulnerability_occurrence_id, :name, :url], {:unique=>true, :name=>"finding_link_name_url_idx", :algorithm=>:concurrently})1258main: -> 0.0033s1259main: -- 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]1260main: -- transaction_open?()1261main: -> 0.0000s1262main: -- index_exists?(:vulnerability_finding_links, [:vulnerability_occurrence_id, :url], {:unique=>true, :where=>"name is null", :name=>"finding_link_url_idx", :algorithm=>:concurrently})1263main: -> 0.0034s1264main: -- 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]1265main: == 20220201193033 AddUniqueIndexToVulnerabilityFindingLinksWithTruncate: migrated (0.0128s) 1266main: == 20220201205300 RemoveIndexForVulnerabilityOccurrences: migrating ===========1267main: -- transaction_open?()1268main: -> 0.0000s1269main: -- indexes(:vulnerability_occurrences)1270main: -> 0.0053s1271main: -- remove_index(:vulnerability_occurrences, {:algorithm=>:concurrently, :name=>"index_vulnerability_occurrences_on_unique_keys"})1272main: -> 0.0013s1273main: == 20220201205300 RemoveIndexForVulnerabilityOccurrences: migrated (0.0099s) ==1274main: == 20220202034409 AddTmpIndexOnIdAndMigrationStateToContainerRepositories: migrating 1275main: -- transaction_open?()1276main: -> 0.0000s1277main: -- index_exists?(:container_repositories, [:id, :migration_state], {:name=>"tmp_index_container_repositories_on_id_migration_state", :algorithm=>:concurrently})1278main: -> 0.0042s1279main: -- add_index(:container_repositories, [:id, :migration_state], {:name=>"tmp_index_container_repositories_on_id_migration_state", :algorithm=>:concurrently})1280main: -> 0.0015s1281main: == 20220202034409 AddTmpIndexOnIdAndMigrationStateToContainerRepositories: migrated (0.0092s) 1282main: == 20220202105733 DeleteServiceTemplateRecords: migrating =====================1283main: == 20220202105733 DeleteServiceTemplateRecords: migrated (0.0273s) ============1284main: == 20220202115350 AddMigrationIndexesToContainerRepositories: migrating =======1285main: -- transaction_open?()1286main: -> 0.0000s1287main: -- 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})1288main: -> 0.0049s1289main: -- 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})1290main: -> 0.0016s1291main: -- transaction_open?()1292main: -> 0.0000s1293main: -- 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})1294main: -> 0.0049s1295main: -- 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})1296main: -> 0.0015s1297main: -- transaction_open?()1298main: -> 0.0000s1299main: -- index_exists?(:container_repositories, :migration_import_started_at, {:name=>"idx_container_repos_on_import_started_at_when_importing", :where=>"migration_state = 'importing'", :algorithm=>:concurrently})1300main: -> 0.0054s1301main: -- add_index(:container_repositories, :migration_import_started_at, {:name=>"idx_container_repos_on_import_started_at_when_importing", :where=>"migration_state = 'importing'", :algorithm=>:concurrently})1302main: -> 0.0016s1303main: == 20220202115350 AddMigrationIndexesToContainerRepositories: migrated (0.0307s) 1304main: == 20220203074916 AddTopicsLowerNameIndex: migrating ==========================1305main: -- transaction_open?()1306main: -> 0.0000s1307main: -- index_exists?(:topics, "lower(name)", {:name=>"index_topics_on_lower_name", :algorithm=>:concurrently})1308main: -> 0.0034s1309main: -- add_index(:topics, "lower(name)", {:name=>"index_topics_on_lower_name", :algorithm=>:concurrently})1310main: -> 0.0016s1311main: == 20220203074916 AddTopicsLowerNameIndex: migrated (0.0083s) =================1312main: == 20220203091304 FixUniquePackagesIndexExcludingPendingDestructionStatus: migrating 1313main: -- transaction_open?()1314main: -> 0.0000s1315main: -- 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})1316main: -> 0.0083s1317main: -- 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})1318main: -> 0.0020s1319main: -- transaction_open?()1320main: -> 0.0000s1321main: -- 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})1322main: -> 0.0084s1323main: -- 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})1324main: -> 0.0018s1325main: -- transaction_open?()1326main: -> 0.0000s1327main: -- 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})1328main: -> 0.0089s1329main: -- 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})1330main: -> 0.0019s1331main: -- transaction_open?()1332main: -> 0.0000s1333main: -- indexes(:packages_packages)1334main: -> 0.0093s1335main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_on_project_id_name_version_unique_when_golang"})1336main: -> 0.0014s1337main: -- transaction_open?()1338main: -> 0.0000s1339main: -- indexes(:packages_packages)1340main: -> 0.0088s1341main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_on_project_id_name_version_unique_when_generic"})1342main: -> 0.0013s1343main: -- transaction_open?()1344main: -> 0.0000s1345main: -- indexes(:packages_packages)1346main: -> 0.0081s1347main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_on_project_id_name_version_unique_when_helm"})1348main: -> 0.0012s1349main: == 20220203091304 FixUniquePackagesIndexExcludingPendingDestructionStatus: migrated (0.0811s) 1350main: == 20220203123333 AddBatchedMigrationMaxBatch: migrating ======================1351main: -- add_column(:batched_background_migrations, :max_batch_size, :integer)1352main: -> 0.0029s1353main: == 20220203123333 AddBatchedMigrationMaxBatch: migrated (0.0030s) =============1354main: == 20220203133652 AddLegacyOpenSourceLicenseAvailableToProjectSettings: migrating 1355main: -- add_column(:project_settings, :legacy_open_source_license_available, :boolean, {:default=>true, :null=>false})1356main: -> 0.0016s1357main: == 20220203133652 AddLegacyOpenSourceLicenseAvailableToProjectSettings: migrated (0.0017s) 1358main: == 20220203134942 AddHiddenToProjects: migrating ==============================1359main: -- add_column(:projects, :hidden, :boolean, {:default=>false, :null=>false})1360main: -> 0.0022s1361main: == 20220203134942 AddHiddenToProjects: migrated (0.0023s) =====================1362main: == 20220204053655 RemoveIndexEpicIssuesOnEpicId: migrating ====================1363main: -- transaction_open?()1364main: -> 0.0000s1365main: -- indexes(:epic_issues)1366main: -> 0.0029s1367main: -- remove_index(:epic_issues, {:algorithm=>:concurrently, :name=>"index_epic_issues_on_epic_id"})1368main: -> 0.0012s1369main: == 20220204053655 RemoveIndexEpicIssuesOnEpicId: migrated (0.0070s) ===========1370main: == 20220204093120 CreateAnalyticsCycleAnalyticsAggregations: migrating ========1371main: -- create_table(:analytics_cycle_analytics_aggregations, {:id=>false})1372main: -> 0.0097s1373main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations ADD PRIMARY KEY (group_id)")1374main: -> 0.0011s1375main: == 20220204093120 CreateAnalyticsCycleAnalyticsAggregations: migrated (0.0110s) 1376main: == 20220204095121 BackfillNamespaceStatisticsWithDependencyProxySize: migrating 1377main: -- exec_query("SELECT dependency_proxy_manifests.group_id FROM dependency_proxy_manifests\nUNION\nSELECT dependency_proxy_blobs.group_id from dependency_proxy_blobs\n")1378main: -> 0.0013s1379main: == 20220204095121 BackfillNamespaceStatisticsWithDependencyProxySize: migrated (0.0014s) 1380main: == 20220204110725 BackfillCycleAnalyticsAggregations: migrating ===============1381main: == 20220204110725 BackfillCycleAnalyticsAggregations: migrated (0.0246s) ======1382main: == 20220204154220 AddIndexOnGreatestDoneAtToContainerRepositories: migrating ==1383main: -- transaction_open?()1384main: -> 0.0000s1385main: -- 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})1386main: -> 0.0060s1387main: -- 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})1388main: -> 0.0016s1389main: == 20220204154220 AddIndexOnGreatestDoneAtToContainerRepositories: migrated (0.0116s) 1390main: == 20220204193000 AddIntegrationsEncryptedProperties: migrating ===============1391main: -- add_column(:integrations, :encrypted_properties, :binary)1392main: -> 0.0017s1393main: -- add_column(:integrations, :encrypted_properties_iv, :binary)1394main: -> 0.0009s1395main: == 20220204193000 AddIntegrationsEncryptedProperties: migrated (0.0028s) ======1396main: == 20220204194347 EncryptIntegrationProperties: migrating =====================1397main: -- transaction_open?()1398main: -> 0.0000s1399main: -- Scheduled 0 EncryptIntegrationProperties jobs with a maximum of 1000 records per batch and an interval of 120 seconds.1400The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:10 UTC."1401main: == 20220204194347 EncryptIntegrationProperties: migrated (0.0039s) ============1402main: == 20220207080758 UpdateApiIndexesForProjects: migrating ======================1403main: -- transaction_open?()1404main: -> 0.0000s1405main: -- 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})1406main: -> 0.0281s1407main: -- 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})1408main: -> 0.0029s1409main: -- transaction_open?()1410main: -> 0.0000s1411main: -- 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})1412main: -> 0.0269s1413main: -- 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})1414main: -> 0.0027s1415main: -- transaction_open?()1416main: -> 0.0000s1417main: -- 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})1418main: -> 0.0288s1419main: -- 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})1420main: -> 0.0028s1421main: -- transaction_open?()1422main: -> 0.0000s1423main: -- indexes(:projects)1424main: -> 0.0277s1425main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_api_created_at_id_for_archived"})1426main: -> 0.0020s1427main: -- transaction_open?()1428main: -> 0.0000s1429main: -- indexes(:projects)1430main: -> 0.0278s1431main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_api_created_at_id_for_archived_vis20"})1432main: -> 0.0018s1433main: -- transaction_open?()1434main: -> 0.0000s1435main: -- indexes(:projects)1436main: -> 0.0270s1437main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_api_created_at_id_for_vis10"})1438main: -> 0.0018s1439main: == 20220207080758 UpdateApiIndexesForProjects: migrated (0.2012s) =============1440main: == 20220207083129 AddUsersGetByIdLimitToApplicationSetting: migrating =========1441main: -- add_column(:application_settings, :users_get_by_id_limit, :integer, {:null=>false, :default=>300})1442main: -> 0.0028s1443main: -- add_column(:application_settings, :users_get_by_id_limit_allowlist, :text, {:array=>true, :limit=>255, :null=>false, :default=>[]})1444main: -> 0.0023s1445main: == 20220207083129 AddUsersGetByIdLimitToApplicationSetting: migrated (0.0054s) 1446main: == 20220208080921 ScheduleMigratePersonalNamespaceProjectMaintainerToOwner: migrating 1447main: == 20220208080921 ScheduleMigratePersonalNamespaceProjectMaintainerToOwner: migrated (0.0456s) 1448main: == 20220208115439 StartBackfillCiQueuingTables: migrating =====================1449main: -- transaction_open?()1450main: -> 0.0000s1451main: -- Scheduled 0 BackfillCiQueuingTables jobs with a maximum of 500 records per batch and an interval of 120 seconds.1452The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:11 UTC."1453main: == 20220208115439 StartBackfillCiQueuingTables: migrated (0.0168s) ============1454main: == 20220208170445 AddNotValidForeignKeyToCiBuildsRunnerId: migrating ==========1455main: -- transaction_open?()1456main: -> 0.0000s1457main: -- foreign_keys(:ci_builds)1458main: -> 0.0035s1459main: -- transaction_open?()1460main: -> 0.0000s1461main: -- execute("ALTER TABLE ci_builds\nADD CONSTRAINT fk_e4ef9c2f27\nFOREIGN KEY (runner_id)\nREFERENCES ci_runners (id)\nON DELETE SET NULL\nNOT VALID;\n")1462main: -> 0.0013s1463main: == 20220208170445 AddNotValidForeignKeyToCiBuildsRunnerId: migrated (0.0086s) =1464main: == 20220208171826 UpdateDefaultScanMethodOfDastSiteProfile: migrating =========1465main: -- transaction_open?()1466main: -> 0.0000s1467main: == 20220208171826 UpdateDefaultScanMethodOfDastSiteProfile: migrated (0.0712s) 1468main: == 20220209111007 AddPartialIndexForBatchingActiveClusterImageScanningVulnerabilities: migrating 1469main: -- transaction_open?()1470main: -> 0.0000s1471main: -- 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})1472main: -> 0.0078s1473main: -- 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})1474main: -> 0.0019s1475main: == 20220209111007 AddPartialIndexForBatchingActiveClusterImageScanningVulnerabilities: migrated (0.0134s) 1476main: == 20220211090920 CleanupPopulateTopicsNonPrivateProjectsCount: migrating =====1477main: -- transaction_open?()1478main: -> 0.0000s1479main: == 20220211090920 CleanupPopulateTopicsNonPrivateProjectsCount: migrated (0.0066s) 1480main: == 20220211125954 CreateRelatedEpicLinks: migrating ===========================1481main: -- create_table(:related_epic_links, {})1482main: -> 0.0070s1483main: == 20220211125954 CreateRelatedEpicLinks: migrated (0.0071s) ==================1484main: == 20220211214605 UpdateIntegrationsTriggerTypeNewOnInsertNullSafe: migrating =1485main: -- 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")1486main: -> 0.0015s1487main: == 20220211214605 UpdateIntegrationsTriggerTypeNewOnInsertNullSafe: migrated (0.0017s) 1488main: == 20220212120735 ScheduleFixIncorrectMaxSeatsUsed2: migrating ================1489main: -- transaction_open?()1490main: -> 0.0000s1491main: -- 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})1492main: -> 0.0031s1493main: -- 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})1494main: -> 0.0015s1495main: == 20220212120735 ScheduleFixIncorrectMaxSeatsUsed2: migrated (0.0079s) =======1496main: == 20220213100000 RemoveIntegrationTypeTriggers: migrating ====================1497main: -- execute("DROP TRIGGER IF EXISTS trigger_type_new_on_insert ON integrations")1498main: -> 0.0014s1499main: -- execute("DROP FUNCTION IF EXISTS integrations_set_type_new()")1500main: -> 0.0007s1501main: == 20220213100000 RemoveIntegrationTypeTriggers: migrated (0.0023s) ===========1502main: == 20220213103859 RemoveIntegrationsType: migrating ===========================1503main: -- transaction_open?()1504main: -> 0.0000s1505main: -- index_exists?(:integrations, :id, {:where=>"type_new is null", :name=>"tmp_idx_integrations_unmigrated_type_new", :algorithm=>:concurrently})1506main: -> 0.0055s1507main: -- add_index(:integrations, :id, {:where=>"type_new is null", :name=>"tmp_idx_integrations_unmigrated_type_new", :algorithm=>:concurrently})1508main: -> 0.0018s1509main: -- transaction_open?()1510main: -> 0.0000s1511main: -- indexes(:integrations)1512main: -> 0.0058s1513main: -- remove_index(:integrations, {:algorithm=>:concurrently, :name=>"tmp_idx_integrations_unmigrated_type_new"})1514main: -> 0.0013s1515main: -- remove_column(:integrations, :type, :text)1516main: -> 0.0020s1517main: == 20220213103859 RemoveIntegrationsType: migrated (0.0335s) ==================1518main: == 20220213104531 CreateIndexesOnIntegrationTypeNew: migrating ================1519main: -- transaction_open?()1520main: -> 0.0000s1521main: -- 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})1522main: -> 0.0024s1523main: -- 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})1524main: -> 0.0016s1525main: -- transaction_open?()1526main: -> 0.0000s1527main: -- index_exists?(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_id_and_type_new_unique", :unique=>true, :algorithm=>:concurrently})1528main: -> 0.0027s1529main: -- add_index(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_id_and_type_new_unique", :unique=>true, :algorithm=>:concurrently})1530main: -> 0.0016s1531main: -- transaction_open?()1532main: -> 0.0000s1533main: -- index_exists?(:integrations, [:type_new], {:name=>"index_integrations_on_type_new", :algorithm=>:concurrently})1534main: -> 0.0033s1535main: -- add_index(:integrations, [:type_new], {:name=>"index_integrations_on_type_new", :algorithm=>:concurrently})1536main: -> 0.0015s1537main: -- transaction_open?()1538main: -> 0.0000s1539main: -- index_exists?(:integrations, [:type_new, :instance], {:name=>"index_integrations_on_type_new_and_instance_partial", :where=>"instance = true", :algorithm=>:concurrently})1540main: -> 0.0035s1541main: -- add_index(:integrations, [:type_new, :instance], {:name=>"index_integrations_on_type_new_and_instance_partial", :where=>"instance = true", :algorithm=>:concurrently})1542main: -> 0.0016s1543main: -- transaction_open?()1544main: -> 0.0000s1545main: -- index_exists?(:integrations, [:type_new, :template], {:name=>"index_integrations_on_type_new_and_template_partial", :where=>"template = true", :algorithm=>:concurrently})1546main: -> 0.0038s1547main: -- add_index(:integrations, [:type_new, :template], {:name=>"index_integrations_on_type_new_and_template_partial", :where=>"template = true", :algorithm=>:concurrently})1548main: -> 0.0017s1549main: -- transaction_open?()1550main: -> 0.0000s1551main: -- 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})1552main: -> 0.0043s1553main: -- 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})1554main: -> 0.0016s1555main: -- transaction_open?()1556main: -> 0.0000s1557main: -- index_exists?(:integrations, [:group_id, :type_new], {:name=>"index_integrations_on_unique_group_id_and_type_new", :algorithm=>:concurrently})1558main: -> 0.0051s1559main: -- add_index(:integrations, [:group_id, :type_new], {:name=>"index_integrations_on_unique_group_id_and_type_new", :algorithm=>:concurrently})1560main: -> 0.0018s1561main: == 20220213104531 CreateIndexesOnIntegrationTypeNew: migrated (0.0599s) =======1562main: == 20220215164709 UpdateApplicationSettingsContainerRegistryExpPolWorkerCapacityDefault: migrating 1563main: -- change_column_default(:application_settings, :container_registry_expiration_policies_worker_capacity, {:from=>0, :to=>4})1564main: -> 0.2671s1565main: == 20220215164709 UpdateApplicationSettingsContainerRegistryExpPolWorkerCapacityDefault: migrated (0.5696s) 1566main: == 20220215190020 RerunConvertStringifiedRawMetadataHashToJson: migrating =====1567main: -- transaction_open?()1568main: -> 0.0000s1569main: -- Scheduled 0 FixVulnerabilityOccurrencesWithHashesAsRawMetadata jobs with a maximum of 500 records per batch and an interval of 120 seconds.1570The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:12 UTC."1571main: == 20220215190020 RerunConvertStringifiedRawMetadataHashToJson: migrated (0.0085s) 1572main: == 20220216110023 CreateSavedReplies: migrating ===============================1573main: -- create_table(:saved_replies, {})1574main: -- quote_column_name(:name)1575main: -> 0.0000s1576main: -- quote_column_name(:content)1577main: -> 0.0001s1578main: -> 0.0069s1579main: == 20220216110023 CreateSavedReplies: migrated (0.0071s) ======================1580main: == 20220216201949 RemovePackageFilesLimitFromApplicationSettings: migrating ===1581main: -- column_exists?(:application_settings, :max_package_files_for_package_destruction)1582main: -> 0.2656s1583main: -- remove_column(:application_settings, :max_package_files_for_package_destruction, :smallint)1584main: -> 0.0028s1585main: == 20220216201949 RemovePackageFilesLimitFromApplicationSettings: migrated (0.2686s) 1586main: == 20220217100008 AddContainerRegistryExpirationPoliciesCachingToApplicationSettings: migrating 1587main: -- add_column(:application_settings, :container_registry_expiration_policies_caching, :boolean, {:null=>false, :default=>true})1588main: -> 0.0024s1589main: == 20220217100008 AddContainerRegistryExpirationPoliciesCachingToApplicationSettings: migrated (0.0025s) 1590main: == 20220217113058 AddStatusToStatusCheckResponses: migrating ==================1591main: -- add_column(:status_check_responses, :status, :integer, {:default=>0, :null=>false, :limit=>2})1592main: -> 0.0021s1593main: == 20220217113058 AddStatusToStatusCheckResponses: migrated (0.0022s) =========1594main: == 20220217135229 ValidateNotNullConstraintOnSecurityFindingsUuid: migrating ==1595main: -- current_schema()1596main: -> 0.0004s1597main: -- execute("ALTER TABLE security_findings VALIDATE CONSTRAINT check_6c2851a8c9;")1598main: -> 0.0008s1599main: == 20220217135229 ValidateNotNullConstraintOnSecurityFindingsUuid: migrated (0.0034s) 1600main: == 20220221102333 ChangeMaintainerNoteLimitInCiRunner: migrating ==============1601main: -- transaction_open?()1602main: -> 0.0000s1603main: -- current_schema()1604main: -> 0.0005s1605main: -- transaction_open?()1606main: -> 0.0000s1607main: -- execute("ALTER TABLE ci_runners\nADD CONSTRAINT check_ce275cee06\nCHECK ( char_length(maintainer_note) <= 1024 )\nNOT VALID;\n")1608main: -> 0.0009s1609main: -- current_schema()1610main: -> 0.0004s1611main: -- execute("ALTER TABLE ci_runners VALIDATE CONSTRAINT check_ce275cee06;")1612main: -> 0.0008s1613main: -- transaction_open?()1614main: -> 0.0000s1615main: -- transaction_open?()1616main: -> 0.0000s1617main: -- execute("ALTER TABLE ci_runners\nDROP CONSTRAINT IF EXISTS check_56f5ea8804\n")1618main: -> 0.0008s1619main: == 20220221102333 ChangeMaintainerNoteLimitInCiRunner: migrated (0.0126s) =====1620main: == 20220221214928 RemoveShowDiffPreviewInEmailColumn: migrating ===============1621main: -- remove_column(:project_settings, :show_diff_preview_in_email, :boolean)1622main: -> 0.0010s1623main: == 20220221214928 RemoveShowDiffPreviewInEmailColumn: migrated (0.0011s) ======1624main: == 20220222072536 AddTargetAccessLevelsToBroadcastMessages: migrating =========1625main: -- add_column(:broadcast_messages, :target_access_levels, :integer, {:if_not_exists=>true, :array=>true, :null=>false, :default=>[]})1626main: -> 0.0040s1627main: == 20220222072536 AddTargetAccessLevelsToBroadcastMessages: migrated (0.0040s) 1628main: == 20220222191845 RemoveNotNullConstraintForSecurityScanSucceeded: migrating ==1629main: -- change_column_null(:analytics_devops_adoption_snapshots, :security_scan_succeeded, true)1630main: -> 0.0015s1631main: == 20220222191845 RemoveNotNullConstraintForSecurityScanSucceeded: migrated (0.0015s) 1632main: == 20220222192524 CreateNotNullConstraintReleasesTag: migrating ===============1633main: -- current_schema()1634main: -> 0.0004s1635main: -- transaction_open?()1636main: -> 0.0000s1637main: -- current_schema()1638main: -> 0.0004s1639main: -- transaction_open?()1640main: -> 0.0000s1641main: -- execute("ALTER TABLE releases\nADD CONSTRAINT releases_not_null_tag\nCHECK ( tag IS NOT NULL )\nNOT VALID;\n")1642main: -> 0.0009s1643main: == 20220222192524 CreateNotNullConstraintReleasesTag: migrated (0.0110s) ======1644main: == 20220222192525 RemoveNullReleases: migrating ===============================1645main: == 20220222192525 RemoveNullReleases: migrated (0.0239s) ======================1646main: == 20220223112304 ScheduleNullifyOrphanRunnerIdOnCiBuilds: migrating ==========1647main: == 20220223112304 ScheduleNullifyOrphanRunnerIdOnCiBuilds: migrated (0.0388s) =1648main: == 20220223124428 ScheduleMergeTopicsWithSameName: migrating ==================1649main: == 20220223124428 ScheduleMergeTopicsWithSameName: migrated (0.0023s) =========1650main: == 20220224000000 AsyncBuildTraceExpireAtIndex: migrating =====================1651main: -- 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})1652main: -> 0.0061s1653main: == 20220224000000 AsyncBuildTraceExpireAtIndex: migrated (0.0084s) ============1654main: == 20220224204415 RecreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrating 1655main: -- 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")1656main: -> 0.0008s1657main: -- 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})1658main: -> 0.0136s1659main: -- 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})1660main: -> 0.0002s1661main: == 20220224204415 RecreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrated (0.0448s) 1662main: == 20220225133705 CleanupBackfillCiQueuingTables: migrating ===================1663main: -- transaction_open?()1664main: -> 0.0000s1665main: == 20220225133705 CleanupBackfillCiQueuingTables: migrated (0.0064s) ==========1666main: == 20220301002101 AddSecurityOrchestrationPolicyConfigurationNamespaceReference: migrating 1667main: -- add_column(:security_orchestration_policy_configurations, :namespace_id, :bigint)1668main: -> 0.0016s1669main: == 20220301002101 AddSecurityOrchestrationPolicyConfigurationNamespaceReference: migrated (0.0017s) 1670main: == 20220301003502 AddSecurityOrchestrationPolicyConfigurationNamespaceIndex: migrating 1671main: -- transaction_open?()1672main: -> 0.0000s1673main: -- 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})1674main: -> 0.0024s1675main: -- 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})1676main: -> 0.0015s1677main: -- transaction_open?()1678main: -> 0.0000s1679main: -- foreign_keys(:security_orchestration_policy_configurations)1680main: -> 0.0031s1681main: -- transaction_open?()1682main: -> 0.0000s1683main: -- execute("LOCK TABLE namespaces, security_orchestration_policy_configurations IN SHARE ROW EXCLUSIVE MODE")1684main: -> 0.0006s1685main: -- execute("ALTER TABLE security_orchestration_policy_configurations\nADD CONSTRAINT fk_a50430b375\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")1686main: -> 0.0015s1687main: -- execute("ALTER TABLE security_orchestration_policy_configurations VALIDATE CONSTRAINT fk_a50430b375;")1688main: -> 0.0021s1689main: -- transaction_open?()1690main: -> 0.0000s1691main: -- current_schema()1692main: -> 0.0004s1693main: -- transaction_open?()1694main: -> 0.0000s1695main: -- 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")1696main: -> 0.0009s1697main: -- current_schema()1698main: -> 0.0004s1699main: -- execute("ALTER TABLE security_orchestration_policy_configurations VALIDATE CONSTRAINT cop_configs_project_or_namespace_existence;")1700main: -> 0.0008s1701main: == 20220301003502 AddSecurityOrchestrationPolicyConfigurationNamespaceIndex: migrated (0.0270s) 1702main: == 20220301091503 AddNotNullConstraintToSecurityPolicyConfigurations: migrating 1703main: -- change_column_null(:security_orchestration_policy_configurations, :project_id, true)1704main: -> 0.0009s1705main: == 20220301091503 AddNotNullConstraintToSecurityPolicyConfigurations: migrated (0.0010s) 1706main: == 20220301093434 BackfillAllProjectNamespaces: migrating =====================1707main: == 20220301093434 BackfillAllProjectNamespaces: migrated (0.0420s) ============1708main: == 20220301175104 ChangeSecurityOrchestrationPolicyConfigurationProjectIndex: migrating 1709main: -- transaction_open?()1710main: -> 0.0000s1711main: -- 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})1712main: -> 0.0029s1713main: -- 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})1714main: -> 0.0014s1715main: -- transaction_open?()1716main: -> 0.0000s1717main: -- indexes(:security_orchestration_policy_configurations)1718main: -> 0.0031s1719main: -- remove_index(:security_orchestration_policy_configurations, {:algorithm=>:concurrently, :name=>"index_sop_configs_on_project_id"})1720main: -> 0.0012s1721main: == 20220301175104 ChangeSecurityOrchestrationPolicyConfigurationProjectIndex: migrated (0.0146s) 1722main: == 20220301175426 CreateProjectBuildArtifactsSizeRefresh: migrating ===========1723main: -- create_table(:project_build_artifacts_size_refreshes, {})1724main: -> 0.0055s1725main: == 20220301175426 CreateProjectBuildArtifactsSizeRefresh: migrated (0.0056s) ==1726main: == 20220302110724 AddGroupFeaturesTable: migrating ============================1727main: -- create_table(:group_features, {:id=>false})1728main: -> 0.0040s1729main: -- execute("ALTER TABLE group_features ADD PRIMARY KEY (group_id)")1730main: -> 0.0010s1731main: == 20220302110724 AddGroupFeaturesTable: migrated (0.0052s) ===================1732main: == 20220302114046 BackfillGroupFeatures: migrating ============================1733main: == 20220302114046 BackfillGroupFeatures: migrated (0.0402s) ===================1734main: == 20220302203410 CreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrating 1735main: -- transaction_open?()1736main: -> 0.0000s1737main: -- 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})1738main: -> 0.0142s1739main: -- 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})1740main: -> 0.0024s1741main: == 20220302203410 CreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures: migrated (0.0240s) 1742main: == 20220303190555 AddCommentToDeploymentApprovals: migrating ==================1743main: -- add_column(:deployment_approvals, :comment, :text)1744main: -> 0.0024s1745main: == 20220303190555 AddCommentToDeploymentApprovals: migrated (0.0025s) =========1746main: == 20220303191047 AddTextLimitToDeploymentApprovalsComment: migrating =========1747main: -- transaction_open?()1748main: -> 0.0000s1749main: -- current_schema()1750main: -> 0.0005s1751main: -- transaction_open?()1752main: -> 0.0000s1753main: -- execute("ALTER TABLE deployment_approvals\nADD CONSTRAINT check_e2eb6a17d8\nCHECK ( char_length(comment) <= 255 )\nNOT VALID;\n")1754main: -> 0.0010s1755main: -- current_schema()1756main: -> 0.0004s1757main: -- execute("ALTER TABLE deployment_approvals VALIDATE CONSTRAINT check_e2eb6a17d8;")1758main: -> 0.0008s1759main: == 20220303191047 AddTextLimitToDeploymentApprovalsComment: migrated (0.0096s) 1760main: == 20220304052335 RemoveNotNullContraintOnTitleFromSprints: migrating =========1761main: -- change_column_null(:sprints, :title, true)1762main: -> 0.0010s1763main: == 20220304052335 RemoveNotNullContraintOnTitleFromSprints: migrated (0.0011s) 1764main: == 20220304061631 RemoveUniqueIndexForSprintsOnIterationsCadenceIdAndTitle: migrating 1765main: -- transaction_open?()1766main: -> 0.0000s1767main: -- indexes(:sprints)1768main: -> 0.0061s1769main: -- remove_index(:sprints, {:algorithm=>:concurrently, :name=>"index_sprints_on_iterations_cadence_id_and_title"})1770main: -> 0.0015s1771main: == 20220304061631 RemoveUniqueIndexForSprintsOnIterationsCadenceIdAndTitle: migrated (0.0109s) 1772main: == 20220304062107 RemoveUniqueIndexForSprintsOnProjectIdAndTitle: migrating ===1773main: -- transaction_open?()1774main: -> 0.0000s1775main: -- indexes(:sprints)1776main: -> 0.0053s1777main: -- remove_index(:sprints, {:algorithm=>:concurrently, :name=>"index_sprints_on_project_id_and_title"})1778main: -> 0.0014s1779main: == 20220304062107 RemoveUniqueIndexForSprintsOnProjectIdAndTitle: migrated (0.0096s) 1780main: == 20220304152729 AddDefaultToRequiredPythonOnPackagesPypiMetadata: migrating =1781main: -- change_column_default(:packages_pypi_metadata, :required_python, "")1782main: -> 0.0030s1783main: == 20220304152729 AddDefaultToRequiredPythonOnPackagesPypiMetadata: migrated (0.0031s) 1784main: == 20220304165107 DropPartitionedForeignKeys: migrating =======================1785main: -- drop_table(:partitioned_foreign_keys)1786main: -> 0.0032s1787main: == 20220304165107 DropPartitionedForeignKeys: migrated (0.0035s) ==============1788main: == 20220304201847 AddUniqueIndexOnSecurityTrainingProviders: migrating ========1789main: -- transaction_open?()1790main: -> 0.0000s1791main: -- index_exists?(:security_training_providers, :name, {:unique=>true, :name=>"index_security_training_providers_on_unique_name", :algorithm=>:concurrently})1792main: -> 0.0015s1793main: -- add_index(:security_training_providers, :name, {:unique=>true, :name=>"index_security_training_providers_on_unique_name", :algorithm=>:concurrently})1794main: -> 0.0017s1795main: == 20220304201847 AddUniqueIndexOnSecurityTrainingProviders: migrated (0.0072s) 1796main: == 20220305223212 AddSecurityTrainingProviders: migrating =====================1797main: == 20220305223212 AddSecurityTrainingProviders: migrated (0.0295s) ============1798main: == 20220307192534 CreateIndexForRemoveDuplicateProjectTagReleases: migrating ==1799main: -- transaction_open?()1800main: -> 0.0000s1801main: -- index_exists?(:releases, [:project_id, :tag, :id], {:name=>"index_releases_on_id_project_id_tag", :algorithm=>:concurrently})1802main: -> 0.0027s1803main: -- add_index(:releases, [:project_id, :tag, :id], {:name=>"index_releases_on_id_project_id_tag", :algorithm=>:concurrently})1804main: -> 0.0014s1805main: == 20220307192534 CreateIndexForRemoveDuplicateProjectTagReleases: migrated (0.0073s) 1806main: == 20220307192610 RemoveDuplicateProjectTagReleases: migrating ================1807main: == 20220307192610 RemoveDuplicateProjectTagReleases: migrated (0.0025s) =======1808main: == 20220307192645 RemoveIndexForRemoveDuplicateProjectTagReleases: migrating ==1809main: -- transaction_open?()1810main: -> 0.0000s1811main: -- indexes(:releases)1812main: -> 0.0031s1813main: -- remove_index(:releases, {:algorithm=>:concurrently, :name=>"index_releases_on_id_project_id_tag"})1814main: -> 0.0012s1815main: == 20220307192645 RemoveIndexForRemoveDuplicateProjectTagReleases: migrated (0.0069s) 1816main: == 20220307192725 CreateUniqueIndexReleaseTagProject: migrating ===============1817main: -- transaction_open?()1818main: -> 0.0000s1819main: -- index_exists?(:releases, [:project_id, :tag], {:unique=>true, :name=>"index_releases_on_project_tag_unique", :algorithm=>:concurrently})1820main: -> 0.0030s1821main: -- add_index(:releases, [:project_id, :tag], {:unique=>true, :name=>"index_releases_on_project_tag_unique", :algorithm=>:concurrently})1822main: -> 0.0014s1823main: -- transaction_open?()1824main: -> 0.0000s1825main: -- indexes(:releases)1826main: -> 0.0029s1827main: -- remove_index(:releases, {:algorithm=>:concurrently, :name=>"index_releases_on_project_id_and_tag"})1828main: -> 0.0012s1829main: == 20220307192725 CreateUniqueIndexReleaseTagProject: migrated (0.0140s) ======1830main: == 20220307203458 RenameUserEmailLookupLimitSettingToSearchSettings: migrating 1831main: -- add_column(:application_settings, :search_rate_limit, :integer, {:null=>false, :default=>30})1832main: -> 0.0030s1833main: -- add_column(:application_settings, :search_rate_limit_unauthenticated, :integer, {:null=>false, :default=>10})1834main: -> 0.0018s1835main: == 20220307203458 RenameUserEmailLookupLimitSettingToSearchSettings: migrated (0.0050s) 1836main: == 20220307203459 RenameUserEmailLookupLimitSettingToSearchSettingsCleanup: migrating 1837main: == 20220307203459 RenameUserEmailLookupLimitSettingToSearchSettingsCleanup: migrated (0.0029s) 1838main: == 20220308000205 DropOldIndexSecurityCiBuildsOnNameAndIdParserFeatures: migrating 1839main: -- transaction_open?()1840main: -> 0.0000s1841main: -- 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})1842main: -> 0.0145s1843main: -- 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]})1844main: -> 0.0154s1845main: == 20220308000205 DropOldIndexSecurityCiBuildsOnNameAndIdParserFeatures: migrated (0.0338s) 1846main: == 20220308115219 ScheduleResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrating 1847main: -- transaction_open?()1848main: -> 0.0000s1849main: -- 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})1850main: -> 0.0267s1851main: -- 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})1852main: -> 0.0026s1853main: -- transaction_open?()1854main: -> 0.0000s1855main: -- Scheduled 0 ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects jobs with a maximum of 10000 records per batch and an interval of 120 seconds.1856The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:13 UTC."1857main: == 20220308115219 ScheduleResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrated (0.0485s) 1858main: == 20220308115502 ScheduleResetDuplicateCiRunnersTokenValuesOnProjects: migrating 1859main: -- transaction_open?()1860main: -> 0.0000s1861main: -- 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})1862main: -> 0.0265s1863main: -- 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})1864main: -> 0.0028s1865main: -- transaction_open?()1866main: -> 0.0000s1867main: -- Scheduled 0 ResetDuplicateCiRunnersTokenValuesOnProjects jobs with a maximum of 10000 records per batch and an interval of 120 seconds.1868The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:13 UTC."1869main: == 20220308115502 ScheduleResetDuplicateCiRunnersTokenValuesOnProjects: migrated (0.0419s) 1870main: == 20220309084838 RemoveExternalPullRequestTracking: migrating ================1871main: -- execute("DROP TRIGGER IF EXISTS external_pull_requests_loose_fk_trigger ON external_pull_requests")1872main: -> 0.0009s1873main: == 20220309084838 RemoveExternalPullRequestTracking: migrated (0.0010s) =======1874main: == 20220309084954 RemoveLeftoverExternalPullRequestDeletions: migrating =======1875main: -- 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")1876main: -> 0.0016s1877main: == 20220309084954 RemoveLeftoverExternalPullRequestDeletions: migrated (0.0017s) 1878main: == 20220309100648 AddTimeToRestoreServiceDoraMetric: migrating ================1879main: -- add_column(:dora_daily_metrics, :time_to_restore_service_in_seconds, :integer)1880main: -> 0.0017s1881main: == 20220309100648 AddTimeToRestoreServiceDoraMetric: migrated (0.0018s) =======1882main: == 20220309154855 AddIndexOnIssuesClosedIncidents: migrating ==================1883main: -- transaction_open?()1884main: -> 0.0000s1885main: -- 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})1886main: -> 0.0147s1887main: -- 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})1888main: -> 0.0022s1889main: == 20220309154855 AddIndexOnIssuesClosedIncidents: migrated (0.0208s) =========1890main: == 20220310011530 AddDatabaseGrafanaConfigToApplicationSettings: migrating ====1891main: -- add_column(:application_settings, :encrypted_database_grafana_api_key, :binary)1892main: -> 0.0020s1893main: -- add_column(:application_settings, :encrypted_database_grafana_api_key_iv, :binary)1894main: -> 0.0012s1895main: -- add_column(:application_settings, :database_grafana_api_url, :text)1896main: -> 0.0012s1897main: -- add_column(:application_settings, :database_grafana_tag, :text)1898main: -> 0.0012s1899main: == 20220310011530 AddDatabaseGrafanaConfigToApplicationSettings: migrated (0.0058s) 1900main: == 20220310011613 AddTextLimitToDatabaseGrafanaApplicationSettings: migrating =1901main: -- transaction_open?()1902main: -> 0.0000s1903main: -- current_schema()1904main: -> 0.0004s1905main: -- transaction_open?()1906main: -> 0.0000s1907main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_3455368420\nCHECK ( char_length(database_grafana_api_url) <= 255 )\nNOT VALID;\n")1908main: -> 0.0015s1909main: -- current_schema()1910main: -> 0.0005s1911main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_3455368420;")1912main: -> 0.0013s1913main: -- transaction_open?()1914main: -> 0.0000s1915main: -- current_schema()1916main: -> 0.0004s1917main: -- transaction_open?()1918main: -> 0.0000s1919main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_2b820eaac3\nCHECK ( char_length(database_grafana_tag) <= 255 )\nNOT VALID;\n")1920main: -> 0.0016s1921main: -- current_schema()1922main: -> 0.0004s1923main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_2b820eaac3;")1924main: -> 0.0014s1925main: == 20220310011613 AddTextLimitToDatabaseGrafanaApplicationSettings: migrated (0.0209s) 1926main: == 20220310095341 AddAsyncIndexCiJobArtifactsProjectIdCreatedAt: migrating ====1927main: -- index_exists?(:ci_job_artifacts, [:project_id, :created_at, :id], {:name=>"index_ci_job_artifacts_on_id_project_id_and_created_at", :algorithm=>:concurrently})1928main: -> 0.0062s1929main: -- 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})1930main: -> 0.0001s1931main: == 20220310095341 AddAsyncIndexCiJobArtifactsProjectIdCreatedAt: migrated (0.0139s) 1932main: == 20220310101118 UpdateHolderNameLimit: migrating ============================1933main: -- transaction_open?()1934main: -> 0.0000s1935main: -- current_schema()1936main: -> 0.0005s1937main: -- transaction_open?()1938main: -> 0.0000s1939main: -- execute("ALTER TABLE user_credit_card_validations\nADD CONSTRAINT check_cc0c8dc0fe\nCHECK ( char_length(holder_name) <= 50 )\nNOT VALID;\n")1940main: -> 0.0010s1941main: -- current_schema()1942main: -> 0.0003s1943main: -- execute("ALTER TABLE user_credit_card_validations VALIDATE CONSTRAINT check_cc0c8dc0fe;")1944main: -> 0.0008s1945main: -- transaction_open?()1946main: -> 0.0000s1947main: -- transaction_open?()1948main: -> 0.0000s1949main: -- execute("ALTER TABLE user_credit_card_validations\nDROP CONSTRAINT IF EXISTS check_eafe45d88b\n")1950main: -> 0.0008s1951main: == 20220310101118 UpdateHolderNameLimit: migrated (0.0139s) ===================1952main: == 20220310134207 AddIndexProjectIdAndReleasedAtAndIdOnReleases: migrating ====1953main: -- transaction_open?()1954main: -> 0.0000s1955main: -- index_exists?(:releases, [:project_id, :released_at, :id], {:name=>"index_releases_on_project_id_and_released_at_and_id", :algorithm=>:concurrently})1956main: -> 0.0031s1957main: -- add_index(:releases, [:project_id, :released_at, :id], {:name=>"index_releases_on_project_id_and_released_at_and_id", :algorithm=>:concurrently})1958main: -> 0.0016s1959main: == 20220310134207 AddIndexProjectIdAndReleasedAtAndIdOnReleases: migrated (0.0081s) 1960main: == 20220310141349 RemoveDependencyListUsageDataFromRedis: migrating ===========1961main: == 20220310141349 RemoveDependencyListUsageDataFromRedis: migrated (0.0006s) ==1962main: == 20220311010352 CreateScanIdAndIdIndexOnSecurityFindings: migrating =========1963main: -- transaction_open?()1964main: -> 0.0000s1965main: -- index_exists?(:security_findings, [:scan_id, :id], {:name=>"index_security_findings_on_scan_id_and_id", :algorithm=>:concurrently})1966main: -> 0.0041s1967main: -- add_index(:security_findings, [:scan_id, :id], {:name=>"index_security_findings_on_scan_id_and_id", :algorithm=>:concurrently})1968main: -> 0.0015s1969main: == 20220311010352 CreateScanIdAndIdIndexOnSecurityFindings: migrated (0.0088s) 1970main: == 20220314094841 AddPackageRegistryAccessLevelIntoProjectFeatures: migrating =1971main: -- add_column(:project_features, :package_registry_access_level, :integer, {:default=>0, :null=>false})1972main: -> 0.0022s1973main: == 20220314094841 AddPackageRegistryAccessLevelIntoProjectFeatures: migrated (0.0023s) 1974main: == 20220314154235 MigrateVulnerabilityApprovalRules: migrating ================1975main: == 20220314154235 MigrateVulnerabilityApprovalRules: migrated (0.0003s) =======1976main: == 20220314162342 AddIndexCiJobArtifactsProjectIdCreatedAt: migrating =========1977main: -- transaction_open?()1978main: -> 0.0000s1979main: -- index_exists?(:ci_job_artifacts, [:project_id, :created_at, :id], {:name=>"index_ci_job_artifacts_on_id_project_id_and_created_at", :algorithm=>:concurrently})1980main: -> 0.0062s1981main: -- add_index(:ci_job_artifacts, [:project_id, :created_at, :id], {:name=>"index_ci_job_artifacts_on_id_project_id_and_created_at", :algorithm=>:concurrently})1982main: -> 0.0018s1983main: == 20220314162342 AddIndexCiJobArtifactsProjectIdCreatedAt: migrated (0.0142s) 1984main: == 20220314184009 CreateProtectedEnvironmentApprovalRules: migrating ==========1985main: -- create_table(:protected_environment_approval_rules, {})1986main: -> 0.0069s1987main: == 20220314184009 CreateProtectedEnvironmentApprovalRules: migrated (0.0070s) =1988main: == 20220314184109 AddUserFkToProtectedEnvironmentApprovalRules: migrating =====1989main: -- transaction_open?()1990main: -> 0.0000s1991main: -- foreign_keys(:protected_environment_approval_rules)1992main: -> 0.0035s1993main: -- transaction_open?()1994main: -> 0.0000s1995main: -- execute("ALTER TABLE protected_environment_approval_rules\nADD CONSTRAINT fk_6ee8249821\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")1996main: -> 0.0018s1997main: -- execute("ALTER TABLE protected_environment_approval_rules VALIDATE CONSTRAINT fk_6ee8249821;")1998main: -> 0.0016s1999main: == 20220314184109 AddUserFkToProtectedEnvironmentApprovalRules: migrated (0.0111s) 2000main: == 20220314184209 AddGroupFkToProtectedEnvironmentApprovalRules: migrating ====2001main: -- transaction_open?()2002main: -> 0.0000s2003main: -- foreign_keys(:protected_environment_approval_rules)2004main: -> 0.0033s2005main: -- transaction_open?()2006main: -> 0.0000s2007main: -- execute("ALTER TABLE protected_environment_approval_rules\nADD CONSTRAINT fk_405568b491\nFOREIGN KEY (group_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")2008main: -> 0.0015s2009main: -- execute("ALTER TABLE protected_environment_approval_rules VALIDATE CONSTRAINT fk_405568b491;")2010main: -> 0.0014s2011main: == 20220314184209 AddGroupFkToProtectedEnvironmentApprovalRules: migrated (0.0104s) 2012main: == 20220314194009 AddApprovalRuleIdToDeploymentApprovals: migrating ===========2013main: -- add_column(:deployment_approvals, :approval_rule_id, :bigint)2014main: -> 0.0016s2015main: == 20220314194009 AddApprovalRuleIdToDeploymentApprovals: migrated (0.0017s) ==2016main: == 20220314194149 AddProjectCiSecureFilesToPlanLimits: migrating ==============2017main: -- add_column(:plan_limits, :project_ci_secure_files, :integer, {:default=>100, :null=>false})2018main: -> 0.0024s2019main: == 20220314194149 AddProjectCiSecureFilesToPlanLimits: migrated (0.0025s) =====2020main: == 20220314204009 AddApprovalRuleFkToDeploymentApprovals: migrating ===========2021main: -- transaction_open?()2022main: -> 0.0000s2023main: -- index_exists?(:deployment_approvals, :approval_rule_id, {:name=>"index_deployment_approvals_on_approval_rule_id", :algorithm=>:concurrently})2024main: -> 0.0026s2025main: -- add_index(:deployment_approvals, :approval_rule_id, {:name=>"index_deployment_approvals_on_approval_rule_id", :algorithm=>:concurrently})2026main: -> 0.0015s2027main: -- transaction_open?()2028main: -> 0.0000s2029main: -- foreign_keys(:deployment_approvals)2030main: -> 0.0033s2031main: -- transaction_open?()2032main: -> 0.0000s2033main: -- 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")2034main: -> 0.0013s2035main: -- execute("ALTER TABLE deployment_approvals VALIDATE CONSTRAINT fk_61cdbdc5b9;")2036main: -> 0.0012s2037main: == 20220314204009 AddApprovalRuleFkToDeploymentApprovals: migrated (0.0175s) ==2038main: == 20220315171027 AddTmpIndexToSupportLeakyRegexCleanup: migrating ============2039main: -- transaction_open?()2040main: -> 0.0000s2041main: -- 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})2042main: -> 0.0164s2043main: -- 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})2044main: -> 0.0022s2045main: == 20220315171027 AddTmpIndexToSupportLeakyRegexCleanup: migrated (0.0223s) ===2046main: == 20220315171129 CleanupDraftDataFromFaultyRegex: migrating ==================2047main: == 20220315171129 CleanupDraftDataFromFaultyRegex: migrated (0.0001s) =========2048main: == 20220315181125 RemoveIssuesWorkItemTypeIdIndex: migrating ==================2049main: -- transaction_open?()2050main: -> 0.0000s2051main: -- indexes(:issues)2052main: -> 0.0144s2053main: -- remove_index(:issues, {:algorithm=>:concurrently, :name=>"index_issues_on_work_item_type_id"})2054main: -> 0.0016s2055main: == 20220315181125 RemoveIssuesWorkItemTypeIdIndex: migrated (0.0194s) =========2056main: == 20220315181130 AddTemporaryIssueTypeIndexForWorkItemTypes: migrating =======2057main: -- transaction_open?()2058main: -> 0.0000s2059main: -- index_exists?(:issues, [:issue_type, :id], {:name=>"tmp_index_issues_on_issue_type_and_id", :algorithm=>:concurrently})2060main: -> 0.0140s2061main: -- add_index(:issues, [:issue_type, :id], {:name=>"tmp_index_issues_on_issue_type_and_id", :algorithm=>:concurrently})2062main: -> 0.0019s2063main: == 20220315181130 AddTemporaryIssueTypeIndexForWorkItemTypes: migrated (0.0194s) 2064main: == 20220315181136 BackfillWorkItemTypeIdOnIssues: migrating ===================2065main: == 20220315181136 BackfillWorkItemTypeIdOnIssues: migrated (0.0000s) ==========2066main: == 20220315211043 AddIndexToVulnerabilityReads: migrating =====================2067main: -- transaction_open?()2068main: -> 0.0000s2069main: -- 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})2070main: -> 0.0046s2071main: -- 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})2072main: -> 0.0018s2073main: == 20220315211043 AddIndexToVulnerabilityReads: migrated (0.0099s) ============2074main: == 20220316022505 CreateNamespaceDetails: migrating ===========================2075main: -- transaction_open?()2076main: -> 0.0000s2077main: -- create_table(:namespace_details, {:id=>false})2078main: -- quote_column_name(:description)2079main: -> 0.0000s2080main: -- quote_column_name(:description_html)2081main: -> 0.0000s2082main: -> 0.0045s2083main: == 20220316022505 CreateNamespaceDetails: migrated (0.0085s) ==================2084main: == 20220316095126 AddCreatorIdToDeployTokens: migrating =======================2085main: -- add_column(:deploy_tokens, :creator_id, :bigint)2086main: -> 0.0016s2087main: == 20220316095126 AddCreatorIdToDeployTokens: migrated (0.0017s) ==============2088main: == 20220316102900 AddIndexToDeployTokensOnCreatorId: migrating ================2089main: -- transaction_open?()2090main: -> 0.0000s2091main: -- index_exists?(:deploy_tokens, :creator_id, {:name=>"index_deploy_tokens_on_creator_id", :algorithm=>:concurrently})2092main: -> 0.0029s2093main: -- add_index(:deploy_tokens, :creator_id, {:name=>"index_deploy_tokens_on_creator_id", :algorithm=>:concurrently})2094main: -> 0.0015s2095main: == 20220316102900 AddIndexToDeployTokensOnCreatorId: migrated (0.0077s) =======2096main: == 20220316102902 AddUserForeignKeyToDeployTokens: migrating ==================2097main: -- transaction_open?()2098main: -> 0.0000s2099main: -- foreign_keys(:deploy_tokens)2100main: -> 0.0032s2101main: -- transaction_open?()2102main: -> 0.0000s2103main: -- execute("LOCK TABLE users, deploy_tokens IN SHARE ROW EXCLUSIVE MODE")2104main: -> 0.0006s2105main: -- execute("ALTER TABLE deploy_tokens\nADD CONSTRAINT fk_7082f8a288\nFOREIGN KEY (creator_id)\nREFERENCES users (id)\nON DELETE SET NULL\nNOT VALID;\n")2106main: -> 0.0018s2107main: -- execute("ALTER TABLE deploy_tokens VALIDATE CONSTRAINT fk_7082f8a288;")2108main: -> 0.0016s2109main: == 20220316102902 AddUserForeignKeyToDeployTokens: migrated (0.0115s) =========2110main: == 20220316112118 UpdateOrganizationsNameIndexAddId: migrating ================2111main: -- transaction_open?()2112main: -> 0.0000s2113main: -- index_exists?(:customer_relations_organizations, "group_id, lower(name), id", {:name=>"index_organizations_on_unique_name_per_group", :unique=>true, :algorithm=>:concurrently})2114main: -> 0.0018s2115main: -- add_index(:customer_relations_organizations, "group_id, lower(name), id", {:name=>"index_organizations_on_unique_name_per_group", :unique=>true, :algorithm=>:concurrently})2116main: -> 0.0016s2117main: -- transaction_open?()2118main: -> 0.0000s2119main: -- indexes(:customer_relations_organizations)2120main: -> 0.0015s2121main: -- remove_index(:customer_relations_organizations, {:algorithm=>:concurrently, :name=>"index_customer_relations_organizations_on_unique_name_per_group"})2122main: -> 0.0012s2123main: == 20220316112118 UpdateOrganizationsNameIndexAddId: migrated (0.0123s) =======2124main: == 20220316112206 AddContactsIndexOnGroupEmailAndId: migrating ================2125main: -- transaction_open?()2126main: -> 0.0000s2127main: -- index_exists?(:customer_relations_contacts, "group_id, lower(email), id", {:name=>"index_customer_relations_contacts_on_unique_email_per_group", :unique=>true, :algorithm=>:concurrently})2128main: -> 0.0025s2129main: -- add_index(:customer_relations_contacts, "group_id, lower(email), id", {:name=>"index_customer_relations_contacts_on_unique_email_per_group", :unique=>true, :algorithm=>:concurrently})2130main: -> 0.0016s2131main: == 20220316112206 AddContactsIndexOnGroupEmailAndId: migrated (0.0074s) =======2132main: == 20220316165539 AddIndexToVulnerabilities: migrating ========================2133main: -- transaction_open?()2134main: -> 0.0000s2135main: -- index_exists?(:vulnerabilities, [:project_id, :state, :report_type, :severity, :id], {:name=>"index_vulnerabilites_common_finder_query", :algorithm=>:concurrently})2136main: -> 0.0079s2137main: -- add_index(:vulnerabilities, [:project_id, :state, :report_type, :severity, :id], {:name=>"index_vulnerabilites_common_finder_query", :algorithm=>:concurrently})2138main: -> 0.0020s2139main: == 20220316165539 AddIndexToVulnerabilities: migrated (0.0137s) ===============2140main: == 20220316202200 AddMigrationPlanToContainerRepositories: migrating ==========2141main: -- add_column(:container_repositories, :migration_plan, :text)2142main: -> 0.0017s2143main: == 20220316202200 AddMigrationPlanToContainerRepositories: migrated (0.0017s) =2144main: == 20220316202402 AddTextLimitToContainerRepositoriesMigrationPlan: migrating =2145main: -- transaction_open?()2146main: -> 0.0000s2147main: -- current_schema()2148main: -> 0.0004s2149main: -- transaction_open?()2150main: -> 0.0000s2151main: -- execute("ALTER TABLE container_repositories\nADD CONSTRAINT check_05e9012f36\nCHECK ( char_length(migration_plan) <= 255 )\nNOT VALID;\n")2152main: -> 0.0010s2153main: -- current_schema()2154main: -> 0.0003s2155main: -- execute("ALTER TABLE container_repositories VALIDATE CONSTRAINT check_05e9012f36;")2156main: -> 0.0008s2157main: == 20220316202402 AddTextLimitToContainerRepositoriesMigrationPlan: migrated (0.0089s) 2158main: == 20220316202640 PopulateContainerRepositoriesMigrationPlan: migrating =======2159main: -- transaction_open?()2160main: -> 0.0000s2161main: -- Scheduled 0 PopulateContainerRepositoryMigrationPlan jobs with a maximum of 1500 records per batch and an interval of 120 seconds.2162The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:13 UTC."2163main: == 20220316202640 PopulateContainerRepositoriesMigrationPlan: migrated (0.0061s) 2164main: == 20220317161914 RemoveCiRunnersCiBuildsRunnerIdFk: migrating ================2165main: -- foreign_keys(:ci_builds)2166main: -> 0.0034s2167main: -- transaction_open?()2168main: -> 0.0000s2169main: -- transaction_open?()2170main: -> 0.0000s2171main: -- execute("LOCK ci_runners, ci_builds IN ACCESS EXCLUSIVE MODE")2172main: -> 0.0006s2173main: -- foreign_keys(:ci_builds)2174main: -> 0.0031s2175main: -- remove_foreign_key(:ci_builds, :ci_runners, {:name=>"fk_e4ef9c2f27"})2176main: -> 0.0045s2177main: == 20220317161914 RemoveCiRunnersCiBuildsRunnerIdFk: migrated (0.0150s) =======2178main: == 20220317170122 AddNotificationLevelToNamespaceRootStorageStatistics: migrating 2179main: -- add_column(:namespace_root_storage_statistics, :notification_level, :integer, {:limit=>2, :default=>100, :null=>false})2180main: -> 0.0016s2181main: == 20220317170122 AddNotificationLevelToNamespaceRootStorageStatistics: migrated (0.0018s) 2182main: == 20220318111040 AddIndexesForPrimaryEmailSecondCleanupMigration: migrating ==2183main: -- indexes(:users)2184main: -> 0.0138s2185main: -- current_schema()2186main: -> 0.0004s2187main: -- 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")2188main: -> 0.0023s2189main: -- transaction_open?()2190main: -> 0.0000s2191main: -- index_exists?(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})2192main: -> 0.0026s2193main: -- add_index(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})2194main: -> 0.0015s2195main: == 20220318111040 AddIndexesForPrimaryEmailSecondCleanupMigration: migrated (0.0268s) 2196main: == 20220318111729 CleanupAfterFixingIssueWhenAdminChangedPrimaryEmail: migrating 2197main: == 20220318111729 CleanupAfterFixingIssueWhenAdminChangedPrimaryEmail: migrated (0.0326s) 2198main: == 20220318111949 DropTemporaryIndexesForPrimaryEmailMigrationSecondCleanup: migrating 2199main: -- transaction_open?()2200main: -> 0.0000s2201main: -- indexes(:users)2202main: -> 0.0145s2203main: -- remove_index(:users, {:algorithm=>:concurrently, :name=>:index_users_on_id_for_primary_email_migration})2204main: -> 0.0018s2205main: -- transaction_open?()2206main: -> 0.0000s2207main: -- indexes(:emails)2208main: -> 0.0030s2209main: -- remove_index(:emails, {:algorithm=>:concurrently, :name=>:index_emails_on_email_user_id})2210main: -> 0.0011s2211main: == 20220318111949 DropTemporaryIndexesForPrimaryEmailMigrationSecondCleanup: migrated (0.0263s) 2212main: == 20220318120802 AddTargetPlatformsToProjectSetting: migrating ===============2213main: -- add_column(:project_settings, :target_platforms, :string, {:array=>true, :default=>[], :null=>false, :if_not_exists=>true})2214main: -> 0.0046s2215main: == 20220318120802 AddTargetPlatformsToProjectSetting: migrated (0.0047s) ======2216main: == 20220318141037 AddPagesOnboardingState: migrating ==========================2217main: -- add_column(:project_pages_metadata, :onboarding_complete, :boolean, {:default=>false, :null=>false})2218main: -> 0.0021s2219main: == 20220318141037 AddPagesOnboardingState: migrated (0.0023s) =================2220main: == 20220321025720 AlterConstraintRemoteImportUrl: migrating ===================2221main: -- transaction_open?()2222main: -> 0.0000s2223main: -- transaction_open?()2224main: -> 0.0000s2225main: -- execute("ALTER TABLE import_export_uploads\nDROP CONSTRAINT IF EXISTS check_58f0d37481\n")2226main: -> 0.0008s2227main: -- transaction_open?()2228main: -> 0.0000s2229main: -- current_schema()2230main: -> 0.0004s2231main: -- transaction_open?()2232main: -> 0.0000s2233main: -- execute("ALTER TABLE import_export_uploads\nADD CONSTRAINT check_58f0d37481\nCHECK ( char_length(remote_import_url) <= 2048 )\nNOT VALID;\n")2234main: -> 0.0009s2235main: -- current_schema()2236main: -> 0.0004s2237main: -- execute("ALTER TABLE import_export_uploads VALIDATE CONSTRAINT check_58f0d37481;")2238main: -> 0.0007s2239main: == 20220321025720 AlterConstraintRemoteImportUrl: migrated (0.0126s) ==========2240main: == 20220321150028 AddStartedAtToBatchedBackgroundMigrationsTable: migrating ===2241main: -- add_column(:batched_background_migrations, :started_at, :datetime_with_timezone)2242main: -> 0.0016s2243main: == 20220321150028 AddStartedAtToBatchedBackgroundMigrationsTable: migrated (0.0017s) 2244main: == 20220321201912 RemoveUserEmailLookupLimit: migrating =======================2245main: -- remove_column(:application_settings, :user_email_lookup_limit)2246main: -> 0.0018s2247main: == 20220321201912 RemoveUserEmailLookupLimit: migrated (0.0020s) ==============2248main: == 20220321234317 RemoveAllIssuableEscalationStatuses: migrating ==============2249main: -- transaction_open?()2250main: -> 0.0001s2251main: == 20220321234317 RemoveAllIssuableEscalationStatuses: migrated (0.0239s) =====2252main: == 20220322023800 AddTmpIndexRoutesIdForProjectNamespaces: migrating ==========2253main: -- transaction_open?()2254main: -> 0.0000s2255main: -- 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})2256main: -> 0.0045s2257main: -- 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})2258main: -> 0.0014s2259main: == 20220322023800 AddTmpIndexRoutesIdForProjectNamespaces: migrated (0.0092s) =2260main: == 20220322035654 AddMigrationPlanIndexToContainerRepositories: migrating =====2261main: -- transaction_open?()2262main: -> 0.0001s2263main: -- index_exists?(:container_repositories, [:migration_state, :migration_plan, :created_at], {:name=>"idx_container_repos_on_migration_state_migration_plan_created", :algorithm=>:concurrently})2264main: -> 0.0055s2265main: -- add_index(:container_repositories, [:migration_state, :migration_plan, :created_at], {:name=>"idx_container_repos_on_migration_state_migration_plan_created", :algorithm=>:concurrently})2266main: -> 0.0015s2267main: == 20220322035654 AddMigrationPlanIndexToContainerRepositories: migrated (0.0123s) 2268main: == 20220322071127 FinalizeProjectNamespacesBackfill: migrating ================2269main: == 20220322071127 FinalizeProjectNamespacesBackfill: migrated (0.0229s) =======2270main: == 20220322094410 RemoveWikiNotes: migrating ==================================2271main: == 20220322094410 RemoveWikiNotes: migrated (0.0241s) =========================2272main: == 20220322132242 UpdatePagesOnboardingState: migrating =======================2273main: == 20220322132242 UpdatePagesOnboardingState: migrated (0.0049s) ==============2274main: == 20220322143441 AddDoraIncidentsCount: migrating ============================2275main: -- add_column(:dora_daily_metrics, :incidents_count, :integer)2276main: -> 0.0019s2277main: == 20220322143441 AddDoraIncidentsCount: migrated (0.0020s) ===================2278main: == 20220322205004 ChangeSearchRateLimitDefaultValues: migrating ===============2279main: -- change_column_default(:application_settings, :search_rate_limit, {:from=>30, :to=>300})2280main: -> 0.2810s2281main: -- change_column_default(:application_settings, :search_rate_limit_unauthenticated, {:from=>10, :to=>100})2282main: -> 0.2741s2283main: == 20220322205004 ChangeSearchRateLimitDefaultValues: migrated (0.5554s) ======2284main: == 20220322205008 ChangeSearchRateLimitValues: migrating ======================2285main: -- execute("update application_settings set search_rate_limit=300 where search_rate_limit IN (30,60)")2286main: -> 0.0022s2287main: -- execute("update application_settings set search_rate_limit_unauthenticated=100 where search_rate_limit_unauthenticated = 10")2288main: -> 0.0011s2289main: == 20220322205008 ChangeSearchRateLimitValues: migrated (0.0034s) =============2290main: == 20220323023800 BackfillNamespaceIdForProjectRoutes: migrating ==============2291main: == 20220323023800 BackfillNamespaceIdForProjectRoutes: migrated (0.0435s) =====2292main: == 20220323130000 AddTempIndexOnNullProjectNamespaceIds: migrating ============2293main: -- transaction_open?()2294main: -> 0.0000s2295main: -- index_exists?(:projects, :id, {:name=>"tmp_index_for_null_project_namespace_id", :where=>"project_namespace_id IS NULL", :algorithm=>:concurrently})2296main: -> 0.0283s2297main: -- add_index(:projects, :id, {:name=>"tmp_index_for_null_project_namespace_id", :where=>"project_namespace_id IS NULL", :algorithm=>:concurrently})2298main: -> 0.0027s2299main: == 20220323130000 AddTempIndexOnNullProjectNamespaceIds: migrated (0.0350s) ===2300main: == 20220323152202 AddIndexOnVisibleDeployments: migrating =====================2301main: -- transaction_open?()2302main: -> 0.0000s2303main: -- 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})2304main: -> 0.0128s2305main: -- 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})2306main: -> 0.0019s2307main: == 20220323152202 AddIndexOnVisibleDeployments: migrated (0.0189s) ============2308main: == 20220324032250 MigrateShimoConfluenceServiceCategory: migrating ============2309main: -- transaction_open?()2310main: -> 0.0000s2311main: -- Scheduled 0 MigrateShimoConfluenceIntegrationCategory jobs with a maximum of 10000 records per batch and an interval of 120 seconds.2312The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:14 UTC."2313main: == 20220324032250 MigrateShimoConfluenceServiceCategory: migrated (0.0048s) ===2314main: == 20220324081709 FixAndBackfillProjectNamespacesForProjectsWithDuplicateName: migrating 2315main: -- transaction_open?()2316main: -> 0.0000s2317main: -- Scheduled 0 FixDuplicateProjectNameAndPath jobs with a maximum of 1000 records per batch and an interval of 120 seconds.2318The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:14 UTC."2319main: == 20220324081709 FixAndBackfillProjectNamespacesForProjectsWithDuplicateName: migrated (0.0075s) 2320main: == 20220324091224 AddEnforceAuthChecksOnUploadsToProjectSettings: migrating ===2321main: -- add_column(:project_settings, :enforce_auth_checks_on_uploads, :boolean, {:null=>false, :default=>true})2322main: -> 0.0021s2323main: == 20220324091224 AddEnforceAuthChecksOnUploadsToProjectSettings: migrated (0.0022s) 2324main: == 20220324110247 UntrackDeletionsOnCiJobArtifacts: migrating =================2325main: -- execute("DROP TRIGGER IF EXISTS ci_job_artifacts_loose_fk_trigger ON ci_job_artifacts")2326main: -> 0.0008s2327main: == 20220324110247 UntrackDeletionsOnCiJobArtifacts: migrated (0.0009s) ========2328main: == 20220324165436 ScheduleBackfillProjectSettings: migrating ==================2329main: == 20220324165436 ScheduleBackfillProjectSettings: migrated (0.0420s) =========2330main: == 20220324171254 AddPublicGitLabRunnerReleasesUrlToApplicationSettings: migrating 2331main: -- add_column(:application_settings, :public_runner_releases_url, :text, {:null=>false, :default=>"https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-runner/releases"})2332main: -> 0.0029s2333main: == 20220324171254 AddPublicGitLabRunnerReleasesUrlToApplicationSettings: migrated (0.0030s) 2334main: == 20220324173554 AddTextLimitToPublicGitLabRunnerReleasesUrlApplicationSettings: migrating 2335main: -- transaction_open?()2336main: -> 0.0000s2337main: -- current_schema()2338main: -> 0.0005s2339main: -- transaction_open?()2340main: -> 0.0000s2341main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_8dca35398a\nCHECK ( char_length(public_runner_releases_url) <= 255 )\nNOT VALID;\n")2342main: -> 0.0015s2343main: -- current_schema()2344main: -> 0.0004s2345main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_8dca35398a;")2346main: -> 0.0012s2347main: == 20220324173554 AddTextLimitToPublicGitLabRunnerReleasesUrlApplicationSettings: migrated (0.0101s) 2348main: == 20220324175325 AddKeyDataToSecureFiles: migrating ==========================2349main: -- column_exists?(:ci_secure_files, :key_data)2350main: -> 0.0019s2351main: -- add_column(:ci_secure_files, :key_data, :text)2352main: -> 0.0009s2353main: -- transaction_open?()2354main: -> 0.0000s2355main: -- current_schema()2356main: -> 0.0006s2357main: -- transaction_open?()2358main: -> 0.0000s2359main: -- execute("ALTER TABLE ci_secure_files\nADD CONSTRAINT check_7279b4e293\nCHECK ( char_length(key_data) <= 128 )\nNOT VALID;\n")2360main: -> 0.0008s2361main: -- current_schema()2362main: -> 0.0003s2363main: -- execute("ALTER TABLE ci_secure_files VALIDATE CONSTRAINT check_7279b4e293;")2364main: -> 0.0008s2365main: == 20220324175325 AddKeyDataToSecureFiles: migrated (0.0116s) =================2366main: == 20220324180717 RemoveProjectPagesMetadataArtifactsArchiveIdColumn: migrating 2367main: -- remove_column(:project_pages_metadata, :artifacts_archive_id)2368main: -> 0.0012s2369main: == 20220324180717 RemoveProjectPagesMetadataArtifactsArchiveIdColumn: migrated (0.0013s) 2370main: == 20220325000000 PrepareIndexForCiJobArtifactsUnlockedWithExpireAt: migrating 2371main: -- 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})2372main: -> 0.0064s2373main: -- 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})2374main: -> 0.0001s2375main: == 20220325000000 PrepareIndexForCiJobArtifactsUnlockedWithExpireAt: migrated (0.0131s) 2376main: == 20220325000001 FinalizeIndexForCiJobArtifactsUnlockedWithExpireAt: migrating 2377main: -- transaction_open?()2378main: -> 0.0000s2379main: -- 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})2380main: -> 0.0077s2381main: -- 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})2382main: -> 0.0017s2383main: == 20220325000001 FinalizeIndexForCiJobArtifactsUnlockedWithExpireAt: migrated (0.0164s) 2384main: == 20220325050642 DropIntegrationsTemplateColumn: migrating ===================2385main: -- remove_column(:integrations, :template, :boolean, {:default=>false})2386main: -> 0.0013s2387main: == 20220325050642 DropIntegrationsTemplateColumn: migrated (0.0015s) ==========2388main: == 20220325155953 StealBackgroundJobForFixingConflictingProjectNamesAndPaths: migrating 2389main: == 20220325155953 StealBackgroundJobForFixingConflictingProjectNamesAndPaths: migrated (0.0014s) 2390main: == 20220325160153 CreateUniqueIndexOnProjectsNameAndNamespaceId: migrating ====2391main: -- transaction_open?()2392main: -> 0.0000s2393main: -- index_exists?(:projects, [:name, :namespace_id], {:unique=>true, :name=>"unique_projects_on_name_namespace_id", :algorithm=>:concurrently})2394main: -> 0.0282s2395main: -- add_index(:projects, [:name, :namespace_id], {:unique=>true, :name=>"unique_projects_on_name_namespace_id", :algorithm=>:concurrently})2396main: -> 0.0024s2397main: == 20220325160153 CreateUniqueIndexOnProjectsNameAndNamespaceId: migrated (0.0342s) 2398main: == 20220326161803 AddCascadeDeleteFkOnProjectNamespaceId: migrating ===========2399main: -- transaction_open?()2400main: -> 0.0000s2401main: -- foreign_keys(:projects)2402main: -> 0.0032s2403main: -- transaction_open?()2404main: -> 0.0000s2405main: -- execute("ALTER TABLE projects\nADD CONSTRAINT fk_6ca23af0a3\nFOREIGN KEY (project_namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")2406main: -> 0.0031s2407main: -- execute("ALTER TABLE projects VALIDATE CONSTRAINT fk_6ca23af0a3;")2408main: -> 0.0023s2409main: -- transaction_open?()2410main: -> 0.0000s2411main: -- foreign_keys(:projects)2412main: -> 0.0034s2413main: -- remove_foreign_key(:projects, {:column=>:project_namespace_id, :name=>"fk_71625606ac"})2414main: -> 0.0051s2415main: == 20220326161803 AddCascadeDeleteFkOnProjectNamespaceId: migrated (0.0248s) ==2416main: == 20220326163653 AddNotNullContraintToProjectNamespaceId: migrating ==========2417main: -- current_schema()2418main: -> 0.0005s2419main: -- transaction_open?()2420main: -> 0.0000s2421main: -- current_schema()2422main: -> 0.0004s2423main: -- transaction_open?()2424main: -> 0.0000s2425main: -- execute("ALTER TABLE projects\nADD CONSTRAINT check_fa75869cb1\nCHECK ( project_namespace_id IS NOT NULL )\nNOT VALID;\n")2426main: -> 0.0015s2427main: == 20220326163653 AddNotNullContraintToProjectNamespaceId: migrated (0.0103s) =2428main: == 20220328095848 DeleteFailedResetDuplicateCiRunnersTokenMigrationRecords: migrating 2429main: == 20220328095848 DeleteFailedResetDuplicateCiRunnersTokenMigrationRecords: migrated (0.0037s) 2430main: == 20220328100456 Schedule20220328ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrating 2431main: -- transaction_open?()2432main: -> 0.0000s2433main: -- Scheduled 0 ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects jobs with a maximum of 2000 records per batch and an interval of 120 seconds.2434The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:14 UTC."2435main: == 20220328100456 Schedule20220328ResetDuplicateCiRunnersTokenEncryptedValuesOnProjects: migrated (0.0068s) 2436main: == 20220328100457 Schedule20220328ResetDuplicateCiRunnersTokenValuesOnProjects: migrating 2437main: -- transaction_open?()2438main: -> 0.0000s2439main: -- Scheduled 0 ResetDuplicateCiRunnersTokenValuesOnProjects jobs with a maximum of 2000 records per batch and an interval of 120 seconds.2440The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:14 UTC."2441main: == 20220328100457 Schedule20220328ResetDuplicateCiRunnersTokenValuesOnProjects: migrated (0.0059s) 2442main: == 20220329061545 AddRepositorySizeToPlanLimits: migrating ====================2443main: -- add_column(:plan_limits, :repository_size, :bigint, {:default=>0, :null=>false})2444main: -> 0.0023s2445main: == 20220329061545 AddRepositorySizeToPlanLimits: migrated (0.0027s) ===========2446main: == 20220329092245 AddPasswordCharsRequirementToApplicationSettings: migrating =2447main: -- add_column(:application_settings, :password_uppercase_required, :boolean, {:default=>false, :null=>false})2448main: -> 0.0038s2449main: -- add_column(:application_settings, :password_lowercase_required, :boolean, {:default=>false, :null=>false})2450main: -> 0.0030s2451main: -- add_column(:application_settings, :password_number_required, :boolean, {:default=>false, :null=>false})2452main: -> 0.0023s2453main: -- add_column(:application_settings, :password_symbol_required, :boolean, {:default=>false, :null=>false})2454main: -> 0.0022s2455main: == 20220329092245 AddPasswordCharsRequirementToApplicationSettings: migrated (0.0124s) 2456main: == 20220329095632 AddThemeToBroadcastMessage: migrating =======================2457main: -- add_column(:broadcast_messages, :theme, :smallint, {:null=>false, :default=>0})2458main: -> 0.0023s2459main: == 20220329095632 AddThemeToBroadcastMessage: migrated (0.0025s) ==============2460main: == 20220329110630 AddCiNamespaceMirrorsUnnestIndexOnTraversalIds: migrating ===2461main: -- indexes(:ci_namespace_mirrors)2462main: -> 0.0026s2463main: -- current_schema()2464main: -> 0.0004s2465main: -- 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")2466main: -> 0.0015s2467main: == 20220329110630 AddCiNamespaceMirrorsUnnestIndexOnTraversalIds: migrated (0.0072s) 2468main: == 20220329130330 AddAuthorToCiSubscriptionsProjects: migrating ===============2469main: -- column_exists?(:ci_subscriptions_projects, :author_id)2470main: -> 0.0030s2471main: -- add_column(:ci_subscriptions_projects, :author_id, :bigint)2472main: -> 0.0013s2473main: -- transaction_open?()2474main: -> 0.0000s2475main: -- index_exists?(:ci_subscriptions_projects, :author_id, {:name=>"index_ci_subscriptions_projects_author_id", :algorithm=>:concurrently})2476main: -> 0.0044s2477main: -- add_index(:ci_subscriptions_projects, :author_id, {:name=>"index_ci_subscriptions_projects_author_id", :algorithm=>:concurrently})2478main: -> 0.0016s2479main: == 20220329130330 AddAuthorToCiSubscriptionsProjects: migrated (0.0164s) ======2480main: == 20220329175119 RemoveLeftoverCiJobArtifactDeletions: migrating =============2481main: -- 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")2482main: -> 0.0013s2483main: == 20220329175119 RemoveLeftoverCiJobArtifactDeletions: migrated (0.0016s) ====2484main: == 20220331074722 AddNotesNullDiscussionIdTempIndexAsync: migrating ===========2485main: -- index_exists?(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2486main: -> 0.0060s2487main: -- add_index_options(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2488main: -> 0.0001s2489main: == 20220331074722 AddNotesNullDiscussionIdTempIndexAsync: migrated (0.0130s) ==2490main: == 20220331125725 AddTitleToTopic: migrating ==================================2491main: -- add_column(:topics, :title, :text)2492main: -> 0.0018s2493main: == 20220331125725 AddTitleToTopic: migrated (0.0019s) =========================2494main: == 20220331130726 AddTextLimitToTopicsTitle: migrating ========================2495main: -- transaction_open?()2496main: -> 0.0000s2497main: -- current_schema()2498main: -> 0.0005s2499main: -- transaction_open?()2500main: -> 0.0000s2501main: -- execute("ALTER TABLE topics\nADD CONSTRAINT check_223b50f9be\nCHECK ( char_length(title) <= 255 )\nNOT VALID;\n")2502main: -> 0.0010s2503main: -- current_schema()2504main: -> 0.0004s2505main: -- execute("ALTER TABLE topics VALIDATE CONSTRAINT check_223b50f9be;")2506main: -> 0.0008s2507main: == 20220331130726 AddTextLimitToTopicsTitle: migrated (0.0093s) ===============2508main: == 20220331133802 ScheduleBackfillTopicsTitle: migrating ======================2509main: -- transaction_open?()2510main: -> 0.0000s2511main: -- Scheduled 0 BackfillTopicsTitle jobs with a maximum of 1000 records per batch and an interval of 120 seconds.2512The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:15 UTC."2513main: == 20220331133802 ScheduleBackfillTopicsTitle: migrated (0.0030s) =============2514main: == 20220331174026 AddSubmitFieldToDastSiteProfiles: migrating =================2515main: -- add_column(:dast_site_profiles, :auth_submit_field, :text)2516main: -> 0.0017s2517main: == 20220331174026 AddSubmitFieldToDastSiteProfiles: migrated (0.0018s) ========2518main: == 20220331174459 AddTextLimitToSubmitFieldDastSiteProfiles: migrating ========2519main: -- transaction_open?()2520main: -> 0.0000s2521main: -- current_schema()2522main: -> 0.0004s2523main: -- transaction_open?()2524main: -> 0.0000s2525main: -- execute("ALTER TABLE dast_site_profiles\nADD CONSTRAINT check_af44f54c96\nCHECK ( char_length(auth_submit_field) <= 255 )\nNOT VALID;\n")2526main: -> 0.0010s2527main: -- current_schema()2528main: -> 0.0005s2529main: -- execute("ALTER TABLE dast_site_profiles VALIDATE CONSTRAINT check_af44f54c96;")2530main: -> 0.0013s2531main: == 20220331174459 AddTextLimitToSubmitFieldDastSiteProfiles: migrated (0.0099s) 2532main: == 20220401044858 AddUserIdAndStateIndexToMergeRequestAssignees: migrating ====2533main: -- transaction_open?()2534main: -> 0.0000s2535main: -- index_exists?(:merge_request_assignees, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_assignees_user_id_and_state", :algorithm=>:concurrently})2536main: -> 0.0040s2537main: -- add_index(:merge_request_assignees, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_assignees_user_id_and_state", :algorithm=>:concurrently})2538main: -> 0.0016s2539main: == 20220401044858 AddUserIdAndStateIndexToMergeRequestAssignees: migrated (0.0095s) 2540main: == 20220401045116 AddUserIdAndStateIndexToMergeRequestReviewers: migrating ====2541main: -- transaction_open?()2542main: -> 0.0000s2543main: -- index_exists?(:merge_request_reviewers, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_user_id_and_state", :algorithm=>:concurrently})2544main: -> 0.0031s2545main: -- add_index(:merge_request_reviewers, [:user_id, :state], {:where=>"state = 2", :name=>"index_on_merge_request_reviewers_user_id_and_state", :algorithm=>:concurrently})2546main: -> 0.0015s2547main: == 20220401045116 AddUserIdAndStateIndexToMergeRequestReviewers: migrated (0.0084s) 2548main: == 20220401045621 RemoveStateIndexOnMergeRequestAssignees: migrating ==========2549main: -- transaction_open?()2550main: -> 0.0000s2551main: -- indexes(:merge_request_assignees)2552main: -> 0.0040s2553main: -- remove_index(:merge_request_assignees, {:algorithm=>:concurrently, :name=>"index_on_merge_request_assignees_state"})2554main: -> 0.0012s2555main: == 20220401045621 RemoveStateIndexOnMergeRequestAssignees: migrated (0.0079s) =2556main: == 20220401045642 RemoveStateIndexOnMergeRequestReviewers: migrating ==========2557main: -- transaction_open?()2558main: -> 0.0000s2559main: -- indexes(:merge_request_reviewers)2560main: -> 0.0036s2561main: -- remove_index(:merge_request_reviewers, {:algorithm=>:concurrently, :name=>"index_on_merge_request_reviewers_state"})2562main: -> 0.0012s2563main: == 20220401045642 RemoveStateIndexOnMergeRequestReviewers: migrated (0.0076s) =2564main: == 20220401071609 AddCampaignToInProductMarketingEmail: migrating =============2565main: -- change_column_null(:in_product_marketing_emails, :track, true)2566main: -> 0.0009s2567main: -- change_column_null(:in_product_marketing_emails, :series, true)2568main: -> 0.0007s2569main: -- add_column(:in_product_marketing_emails, :campaign, :text, {:if_not_exists=>true})2570main: -> 0.0032s2571main: -- transaction_open?()2572main: -> 0.0000s2573main: -- index_exists?(:in_product_marketing_emails, [:user_id, :campaign], {:unique=>true, :name=>:index_in_product_marketing_emails_on_user_campaign, :algorithm=>:concurrently})2574main: -> 0.0023s2575main: -- add_index(:in_product_marketing_emails, [:user_id, :campaign], {:unique=>true, :name=>:index_in_product_marketing_emails_on_user_campaign, :algorithm=>:concurrently})2576main: -> 0.0014s2577main: -- transaction_open?()2578main: -> 0.0000s2579main: -- current_schema()2580main: -> 0.0004s2581main: -- transaction_open?()2582main: -> 0.0000s2583main: -- 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")2584main: -> 0.0010s2585main: -- current_schema()2586main: -> 0.0004s2587main: -- execute("ALTER TABLE in_product_marketing_emails VALIDATE CONSTRAINT in_product_marketing_emails_track_and_series_or_campaign;")2588main: -> 0.0008s2589main: == 20220401071609 AddCampaignToInProductMarketingEmail: migrated (0.0209s) ====2590main: == 20220401110443 AddOnHoldUntilColumnForBatchedMigration: migrating ==========2591main: -- add_column(:batched_background_migrations, :on_hold_until, :timestamptz, {:comment=>"execution of this migration is on hold until this time"})2592main: -> 0.0024s2593main: == 20220401110443 AddOnHoldUntilColumnForBatchedMigration: migrated (0.0025s) =2594main: == 20220401110511 AddRuntimeDataColumnsToVsaAggregations: migrating ===========2595main: -- change_table(:analytics_cycle_analytics_aggregations, {:bulk=>true})2596main: -> 0.0073s2597main: == 20220401110511 AddRuntimeDataColumnsToVsaAggregations: migrated (0.0074s) ==2598main: == 20220401113123 AddCheckConstraintToVsaAggregationRuntimeDataColumns: migrating 2599main: -- transaction_open?()2600main: -> 0.0000s2601main: -- current_schema()2602main: -> 0.0005s2603main: -- transaction_open?()2604main: -> 0.0000s2605main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations\nADD CONSTRAINT full_runtimes_in_seconds_size\nCHECK ( CARDINALITY(full_runtimes_in_seconds) <= 10 )\nNOT VALID;\n")2606main: -> 0.0010s2607main: -- current_schema()2608main: -> 0.0004s2609main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations VALIDATE CONSTRAINT full_runtimes_in_seconds_size;")2610main: -> 0.0008s2611main: -- transaction_open?()2612main: -> 0.0000s2613main: -- current_schema()2614main: -> 0.0003s2615main: -- transaction_open?()2616main: -> 0.0000s2617main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations\nADD CONSTRAINT full_processed_records_size\nCHECK ( CARDINALITY(full_processed_records) <= 10 )\nNOT VALID;\n")2618main: -> 0.0008s2619main: -- current_schema()2620main: -> 0.0004s2621main: -- execute("ALTER TABLE analytics_cycle_analytics_aggregations VALIDATE CONSTRAINT full_processed_records_size;")2622main: -> 0.0008s2623main: == 20220401113123 AddCheckConstraintToVsaAggregationRuntimeDataColumns: migrated (0.0182s) 2624main: == 20220401151123 AddLastRepositoryUpdatedAtToProjectRepositoryState: migrating 2625main: -- add_column(:project_repository_states, :last_repository_updated_at, :datetime_with_timezone)2626main: -> 0.0017s2627main: -- add_column(:project_repository_states, :last_wiki_updated_at, :datetime_with_timezone)2628main: -> 0.0010s2629main: == 20220401151123 AddLastRepositoryUpdatedAtToProjectRepositoryState: migrated (0.0029s) 2630main: == 20220404114106 AddContainerRegistrySizeToProjectStatistics: migrating ======2631main: -- add_column(:project_statistics, :container_registry_size, :bigint, {:default=>0, :null=>false})2632main: -> 0.0016s2633main: == 20220404114106 AddContainerRegistrySizeToProjectStatistics: migrated (0.0017s) 2634main: == 20220404170446 AddIndexForNonRequestedNonInvitedAwaitingMembers: migrating =2635main: -- transaction_open?()2636main: -> 0.0000s2637main: -- 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})2638main: -> 0.0078s2639main: -- 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})2640main: -> 0.0017s2641main: == 20220404170446 AddIndexForNonRequestedNonInvitedAwaitingMembers: migrated (0.0133s) 2642main: == 20220404183350 AddForbiddenStateIndexToUsers: migrating ====================2643main: -- transaction_open?()2644main: -> 0.0000s2645main: -- 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})2646main: -> 0.0146s2647main: -- 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})2648main: -> 0.0026s2649main: == 20220404183350 AddForbiddenStateIndexToUsers: migrated (0.0210s) ===========2650main: == 20220404184814 DropBroaderExpiredArtifactIndex: migrating ==================2651main: -- transaction_open?()2652main: -> 0.0000s2653main: -- indexes("ci_job_artifacts")2654main: -> 0.0073s2655main: -- remove_index("ci_job_artifacts", {:algorithm=>:concurrently, :name=>"ci_job_artifacts_expire_at_unlocked_idx"})2656main: -> 0.0013s2657main: == 20220404184814 DropBroaderExpiredArtifactIndex: migrated (0.0116s) =========2658main: == 20220404194649 ReplaceWorkItemTypeBackfillNextBatchStrategy: migrating =====2659main: == 20220404194649 ReplaceWorkItemTypeBackfillNextBatchStrategy: migrated (0.0000s) 2660main: == 20220405061122 AddLicenseScanningActionToOnboardingProgresses: migrating ===2661main: -- add_column(:onboarding_progresses, :license_scanning_run_at, :datetime_with_timezone)2662main: -> 0.0018s2663main: == 20220405061122 AddLicenseScanningActionToOnboardingProgresses: migrated (0.0019s) 2664main: == 20220405092619 ToggleVsaAggregationsEnable: migrating ======================2665main: == 20220405092619 ToggleVsaAggregationsEnable: migrated (0.0300s) =============2666main: == 20220405125459 AddNonMigratedIndexToContainerRepositories: migrating =======2667main: -- transaction_open?()2668main: -> 0.0000s2669main: -- 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})2670main: -> 0.0064s2671main: -- 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})2672main: -> 0.0018s2673main: == 20220405125459 AddNonMigratedIndexToContainerRepositories: migrated (0.0133s) 2674main: == 20220405181814 AddArkoseSettingsToApplicationSettings: migrating ===========2675main: -- add_column(:application_settings, :encrypted_arkose_labs_public_api_key, :binary)2676main: -> 0.0025s2677main: -- add_column(:application_settings, :encrypted_arkose_labs_public_api_key_iv, :binary)2678main: -> 0.0013s2679main: -- add_column(:application_settings, :encrypted_arkose_labs_private_api_key, :binary)2680main: -> 0.0012s2681main: -- add_column(:application_settings, :encrypted_arkose_labs_private_api_key_iv, :binary)2682main: -> 0.0011s2683main: -- add_column(:application_settings, :arkose_labs_verify_api_url, :text)2684main: -> 0.0011s2685main: == 20220405181814 AddArkoseSettingsToApplicationSettings: migrated (0.0076s) ==2686main: == 20220405203843 AddTextLimitToArkoseVerifyUrlApplicationSettings: migrating =2687main: -- transaction_open?()2688main: -> 0.0000s2689main: -- current_schema()2690main: -> 0.0006s2691main: -- transaction_open?()2692main: -> 0.0000s2693main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_f6563bc000\nCHECK ( char_length(arkose_labs_verify_api_url) <= 255 )\nNOT VALID;\n")2694main: -> 0.0026s2695main: -- current_schema()2696main: -> 0.0005s2697main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_f6563bc000;")2698main: -> 0.0016s2699main: == 20220405203843 AddTextLimitToArkoseVerifyUrlApplicationSettings: migrated (0.0128s) 2700main: == 20220406113217 AddInactiveProjectDeletionToApplicationSettings: migrating ==2701main: -- add_column(:application_settings, :delete_inactive_projects, :boolean, {:default=>false, :null=>false})2702main: -> 0.0033s2703main: -- add_column(:application_settings, :inactive_projects_delete_after_months, :integer, {:default=>2, :null=>false})2704main: -> 0.0018s2705main: -- add_column(:application_settings, :inactive_projects_min_size_mb, :integer, {:default=>0, :null=>false})2706main: -> 0.0018s2707main: -- add_column(:application_settings, :inactive_projects_send_warning_email_after_months, :integer, {:default=>1, :null=>false})2708main: -> 0.0018s2709main: == 20220406113217 AddInactiveProjectDeletionToApplicationSettings: migrated (0.0092s) 2710main: == 20220406121831 AddIndexOnStatusForBatchedBackgroundMigrations: migrating ===2711main: -- transaction_open?()2712main: -> 0.0000s2713main: -- index_exists?(:batched_background_migrations, :status, {:algorithm=>:concurrently})2714main: -> 0.0033s2715main: -- add_index(:batched_background_migrations, :status, {:algorithm=>:concurrently})2716main: -> 0.0020s2717main: -- index_name(:batched_background_migrations, :status)2718main: -> 0.0001s2719main: == 20220406121831 AddIndexOnStatusForBatchedBackgroundMigrations: migrated (0.0099s) 2720main: == 20220406133049 AddDelayedGroupDeletionToApplicationSettings: migrating =====2721main: -- add_column(:application_settings, :delayed_group_deletion, :boolean, {:default=>true, :null=>false})2722main: -> 0.0033s2723main: == 20220406133049 AddDelayedGroupDeletionToApplicationSettings: migrated (0.0034s) 2724main: == 20220407135820 AddEpicsRelativePosition: migrating =========================2725main: -- table_exists?(:epics)2726main: -> 0.0014s2727main: -- column_exists?(:epics, :relative_position)2728main: -> 0.0035s2729main: == 20220407135820 AddEpicsRelativePosition: migrated (0.0051s) ================2730main: == 20220407163559 SchedulePurgingStaleSecurityScans: migrating ================2731main: -- transaction_open?()2732main: -> 0.0000s2733main: -- Scheduled 0 PurgeStaleSecurityScans jobs with a maximum of 10000 records per batch and an interval of 120 seconds.2734The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:15 UTC."2735main: == 20220407163559 SchedulePurgingStaleSecurityScans: migrated (0.0132s) =======2736main: == 20220408001450 AddWorkItemTypeNameUniqueIndexNullNamespaces: migrating =====2737main: -- transaction_open?()2738main: -> 0.0000s2739main: -- 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})2740main: -> 0.0018s2741main: -- 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})2742main: -> 0.0017s2743main: == 20220408001450 AddWorkItemTypeNameUniqueIndexNullNamespaces: migrated (0.0070s) 2744main: == 20220408135815 UpdateIndexOnGreatedDoneAtOnContainerRepositories: migrating 2745main: -- transaction_open?()2746main: -> 0.0000s2747main: -- 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})2748main: -> 0.0067s2749main: -- 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})2750main: -> 0.0018s2751main: -- transaction_open?()2752main: -> 0.0000s2753main: -- indexes(:container_repositories)2754main: -> 0.0066s2755main: -- remove_index(:container_repositories, {:algorithm=>:concurrently, :name=>"index_container_repositories_on_greatest_done_at"})2756main: -> 0.0014s2757main: == 20220408135815 UpdateIndexOnGreatedDoneAtOnContainerRepositories: migrated (0.0230s) 2758main: == 20220409160628 AddAsyncIndexForEventsFollowedUsers: migrating ==============2759main: -- index_exists?(:events, [:author_id, :target_type, :action, :id], {:name=>"index_events_for_followed_users", :algorithm=>:concurrently})2760main: -> 0.0066s2761main: -- add_index_options(:events, [:author_id, :target_type, :action, :id], {:name=>"index_events_for_followed_users", :algorithm=>:concurrently})2762main: -> 0.0001s2763main: == 20220409160628 AddAsyncIndexForEventsFollowedUsers: migrated (0.0140s) =====2764main: == 20220411173544 CleanupOrphansApprovalProjectRules: migrating ===============2765main: == 20220411173544 CleanupOrphansApprovalProjectRules: migrated (0.0325s) ======2766main: == 20220412044906 FinalizeTraversalIdsBackgroundMigrations: migrating =========2767main: -- transaction_open?()2768main: -> 0.0000s2769main: -- transaction_open?()2770main: -> 0.0000s2771main: == 20220412044906 FinalizeTraversalIdsBackgroundMigrations: migrated (0.0165s) 2772main: == 20220412060931 AddNullifyBuildDataTriggerOnMergeRequestMetrics: migrating ==2773main: -- 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")2774main: -> 0.0020s2775main: -- 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")2776main: -> 0.0009s2777main: == 20220412060931 AddNullifyBuildDataTriggerOnMergeRequestMetrics: migrated (0.0033s) 2778main: == 20220412135446 AddUniqueFingerprintSha256IndexToKey: migrating =============2779main: -- transaction_open?()2780main: -> 0.0000s2781main: -- index_exists?(:keys, :fingerprint_sha256, {:unique=>true, :name=>"index_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2782main: -> 0.0049s2783main: -- add_index(:keys, :fingerprint_sha256, {:unique=>true, :name=>"index_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2784main: -> 0.0017s2785main: -- transaction_open?()2786main: -> 0.0000s2787main: -- indexes(:keys)2788main: -> 0.0047s2789main: -- remove_index(:keys, {:algorithm=>:concurrently, :name=>"index_keys_on_fingerprint_sha256"})2790main: -> 0.0014s2791main: == 20220412135446 AddUniqueFingerprintSha256IndexToKey: migrated (0.0202s) ====2792main: == 20220412140446 AddUniqueFingerprintSha256IndexToGroupDeployKey: migrating ==2793main: -- transaction_open?()2794main: -> 0.0000s2795main: -- index_exists?(:group_deploy_keys, :fingerprint_sha256, {:unique=>true, :name=>"index_group_deploy_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2796main: -> 0.0031s2797main: -- add_index(:group_deploy_keys, :fingerprint_sha256, {:unique=>true, :name=>"index_group_deploy_keys_on_fingerprint_sha256_unique", :algorithm=>:concurrently})2798main: -> 0.0017s2799main: -- transaction_open?()2800main: -> 0.0000s2801main: -- indexes(:group_deploy_keys)2802main: -> 0.0033s2803main: -- remove_index(:group_deploy_keys, {:algorithm=>:concurrently, :name=>"index_group_deploy_keys_on_fingerprint_sha256"})2804main: -> 0.0013s2805main: == 20220412140446 AddUniqueFingerprintSha256IndexToGroupDeployKey: migrated (0.0166s) 2806main: == 20220412140755 DropUniqueFingerprintMd5IndexFromKey: migrating =============2807main: -- transaction_open?()2808main: -> 0.0000s2809main: -- indexes(:keys)2810main: -> 0.0068s2811main: -- remove_index(:keys, {:algorithm=>:concurrently, :name=>"index_keys_on_fingerprint"})2812main: -> 0.0015s2813main: -- transaction_open?()2814main: -> 0.0000s2815main: -- index_exists?(:keys, :fingerprint, {:name=>"index_keys_on_fingerprint", :algorithm=>:concurrently})2816main: -> 0.0061s2817main: -- add_index(:keys, :fingerprint, {:name=>"index_keys_on_fingerprint", :algorithm=>:concurrently})2818main: -> 0.0018s2819main: == 20220412140755 DropUniqueFingerprintMd5IndexFromKey: migrated (0.0243s) ====2820main: == 20220412141020 DropUniqueFingerprintMd5IndexFromGroupDeployKey: migrating ==2821main: -- transaction_open?()2822main: -> 0.0000s2823main: -- indexes(:group_deploy_keys)2824main: -> 0.0033s2825main: -- remove_index(:group_deploy_keys, {:algorithm=>:concurrently, :name=>"index_group_deploy_keys_on_fingerprint"})2826main: -> 0.0017s2827main: -- transaction_open?()2828main: -> 0.0000s2829main: -- index_exists?(:group_deploy_keys, :fingerprint, {:name=>"index_group_deploy_keys_on_fingerprint", :algorithm=>:concurrently})2830main: -> 0.0042s2831main: -- add_index(:group_deploy_keys, :fingerprint, {:name=>"index_group_deploy_keys_on_fingerprint", :algorithm=>:concurrently})2832main: -> 0.0016s2833main: == 20220412141020 DropUniqueFingerprintMd5IndexFromGroupDeployKey: migrated (0.0230s) 2834main: == 20220412143551 AddPartialIndexOnUnencryptedIntegrations: migrating =========2835main: -- transaction_open?()2836main: -> 0.0000s2837main: -- index_exists?(:integrations, [:id], {:where=>"properties IS NOT NULL AND encrypted_properties IS NULL", :name=>"index_integrations_on_id_where_not_encrypted", :algorithm=>:concurrently})2838main: -> 0.0054s2839main: -- add_index(:integrations, [:id], {:where=>"properties IS NOT NULL AND encrypted_properties IS NULL", :name=>"index_integrations_on_id_where_not_encrypted", :algorithm=>:concurrently})2840main: -> 0.0017s2841main: == 20220412143551 AddPartialIndexOnUnencryptedIntegrations: migrated (0.0123s) 2842main: == 20220412143552 ConsumeRemainingEncryptIntegrationPropertyJobs: migrating ===2843main: == 20220412143552 ConsumeRemainingEncryptIntegrationPropertyJobs: migrated (0.0062s) 2844main: == 20220412171810 AddOtpSecretExpiresAt: migrating ============================2845main: -- add_column(:users, :otp_secret_expires_at, :datetime_with_timezone)2846main: -> 0.0017s2847main: == 20220412171810 AddOtpSecretExpiresAt: migrated (0.0018s) ===================2848main: == 20220413011328 RemovePartialIndexOnUnencryptedIntegrations: migrating ======2849main: -- transaction_open?()2850main: -> 0.0000s2851main: -- indexes(:integrations)2852main: -> 0.0122s2853main: -- remove_index(:integrations, {:algorithm=>:concurrently, :name=>"index_integrations_on_id_where_not_encrypted"})2854main: -> 0.0014s2855main: == 20220413011328 RemovePartialIndexOnUnencryptedIntegrations: migrated (0.0172s) 2856main: == 20220413054910 BackfillDelayedGroupDeletion: migrating =====================2857main: == 20220413054910 BackfillDelayedGroupDeletion: migrated (0.3462s) ============2858main: == 20220413075921 UpdateIndexOnPackagesBuildInfos: migrating ==================2859main: -- transaction_open?()2860main: -> 0.0000s2861main: -- index_exists?(:packages_build_infos, [:package_id, :pipeline_id, :id], {:name=>"index_packages_build_infos_package_id_pipeline_id_id", :algorithm=>:concurrently})2862main: -> 0.0030s2863main: -- add_index(:packages_build_infos, [:package_id, :pipeline_id, :id], {:name=>"index_packages_build_infos_package_id_pipeline_id_id", :algorithm=>:concurrently})2864main: -> 0.0016s2865main: -- transaction_open?()2866main: -> 0.0000s2867main: -- indexes(:packages_build_infos)2868main: -> 0.0026s2869main: -- remove_index(:packages_build_infos, {:algorithm=>:concurrently, :name=>"index_packages_build_infos_package_id_pipeline_id"})2870main: -> 0.0012s2871main: == 20220413075921 UpdateIndexOnPackagesBuildInfos: migrated (0.0152s) =========2872main: == 20220413124200 AddViewForPerTableAutovacuumStatus: migrating ===============2873main: -- 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")2874main: -> 0.0036s2875main: == 20220413124200 AddViewForPerTableAutovacuumStatus: migrated (0.0039s) ======2876main: == 20220413164146 RemoveMaxSeatsUsedIndices: migrating ========================2877main: -- transaction_open?()2878main: -> 0.0000s2879main: -- indexes(:gitlab_subscriptions)2880main: -> 0.0078s2881main: -- remove_index(:gitlab_subscriptions, {:algorithm=>:concurrently, :name=>"tmp_gitlab_subscriptions_max_seats_used_migration"})2882main: -> 0.0017s2883main: -- transaction_open?()2884main: -> 0.0000s2885main: -- indexes(:gitlab_subscriptions)2886main: -> 0.0062s2887main: -- remove_index(:gitlab_subscriptions, {:algorithm=>:concurrently, :name=>"tmp_gitlab_subscriptions_max_seats_used_migration_2"})2888main: -> 0.0015s2889main: == 20220413164146 RemoveMaxSeatsUsedIndices: migrated (0.0259s) ===============2890main: == 20220413235818 AddMaxSeatsUsedChangedAtToGitlabSubscriptions: migrating ====2891main: -- add_column(:gitlab_subscriptions, :max_seats_used_changed_at, :datetime_with_timezone)2892main: -> 0.0022s2893main: == 20220413235818 AddMaxSeatsUsedChangedAtToGitlabSubscriptions: migrated (0.0025s) 2894main: == 20220414203622 AddIndexForColumnsUserCustomAttribute: migrating ============2895main: -- transaction_open?()2896main: -> 0.0000s2897main: -- index_exists?(:user_custom_attributes, [:key, :updated_at], {:name=>"index_key_updated_at_on_user_custom_attribute", :algorithm=>:concurrently})2898main: -> 0.0047s2899main: -- add_index(:user_custom_attributes, [:key, :updated_at], {:name=>"index_key_updated_at_on_user_custom_attribute", :algorithm=>:concurrently})2900main: -> 0.0017s2901main: == 20220414203622 AddIndexForColumnsUserCustomAttribute: migrated (0.0119s) ===2902main: == 20220415015143 ReplaceIterationsCadenceDateRangeConstraint: migrating ======2903main: -- 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")2904main: -> 0.0028s2905main: == 20220415015143 ReplaceIterationsCadenceDateRangeConstraint: migrated (0.0032s) 2906main: == 20220415124802 RemoveJobArtifactDeprecatedGeoFields: migrating =============2907main: -- transaction_open?()2908main: -> 0.0000s2909main: -- remove_column(:geo_event_log, :job_artifact_deleted_event_id, :bigint)2910main: -> 0.0018s2911main: == 20220415124802 RemoveJobArtifactDeprecatedGeoFields: migrated (0.0063s) ====2912main: == 20220415124804 RemoveJobArtifactDeletedEventTable: migrating ===============2913main: -- drop_table(:geo_job_artifact_deleted_events)2914main: -> 0.0024s2915main: == 20220415124804 RemoveJobArtifactDeletedEventTable: migrated (0.0027s) ======2916main: == 20220418180958 RemoveIntegrationsProperties: migrating =====================2917main: -- remove_column(:integrations, :properties, :text)2918main: -> 0.0014s2919main: == 20220418180958 RemoveIntegrationsProperties: migrated (0.0017s) ============2920main: == 20220419223906 AddArkoseNamespaceToApplicationSettings: migrating ==========2921main: -- column_exists?(:application_settings, :arkose_labs_namespace)2922main: -> 0.3058s2923main: -- add_column(:application_settings, :arkose_labs_namespace, :text, {:default=>"client", :null=>false})2924main: -> 0.0034s2925main: -- transaction_open?()2926main: -> 0.0000s2927main: -- current_schema()2928main: -> 0.0007s2929main: -- transaction_open?()2930main: -> 0.0000s2931main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_7ccfe2764a\nCHECK ( char_length(arkose_labs_namespace) <= 255 )\nNOT VALID;\n")2932main: -> 0.0018s2933main: -- current_schema()2934main: -> 0.0005s2935main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_7ccfe2764a;")2936main: -> 0.0014s2937main: == 20220419223906 AddArkoseNamespaceToApplicationSettings: migrated (0.3232s) =2938main: == 20220420034519 AddTextLimitToInProductMarketingEmailCampaign: migrating ====2939main: -- transaction_open?()2940main: -> 0.0000s2941main: -- current_schema()2942main: -> 0.0006s2943main: -- transaction_open?()2944main: -> 0.0000s2945main: -- execute("ALTER TABLE in_product_marketing_emails\nADD CONSTRAINT check_9d8b29f74f\nCHECK ( char_length(campaign) <= 255 )\nNOT VALID;\n")2946main: -> 0.0010s2947main: -- current_schema()2948main: -> 0.0005s2949main: -- execute("ALTER TABLE in_product_marketing_emails VALIDATE CONSTRAINT check_9d8b29f74f;")2950main: -> 0.0009s2951main: == 20220420034519 AddTextLimitToInProductMarketingEmailCampaign: migrated (0.0114s) 2952main: == 20220420061439 AddNotesNullDiscussionIdTempIndex: migrating ================2953main: -- transaction_open?()2954main: -> 0.0000s2955main: -- index_exists?(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2956main: -> 0.0112s2957main: -- add_index(:notes, :id, {:where=>"discussion_id IS NULL", :name=>"tmp_index_notes_on_id_where_discussion_id_is_null", :algorithm=>:concurrently})2958main: -> 0.0019s2959main: == 20220420061439 AddNotesNullDiscussionIdTempIndex: migrated (0.0217s) =======2960main: == 20220420061450 BackfillNullNoteDiscussionIds: migrating ====================2961main: -- transaction_open?()2962main: -> 0.0000s2963main: -- Scheduled 0 BackfillNoteDiscussionId jobs with a maximum of 10000 records per batch and an interval of 120 seconds.2964The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:16 UTC."2965main: == 20220420061450 BackfillNullNoteDiscussionIds: migrated (0.0046s) ===========2966main: == 20220420135245 FixBatchedBackgroundMigrationDefaultArguments: migrating ====2967main: -- change_column_default(:batched_background_migrations, :job_arguments, {:from=>"[]", :to=>[]})2968main: -> 0.0039s2969main: == 20220420135245 FixBatchedBackgroundMigrationDefaultArguments: migrated (0.0041s) 2970main: == 20220420135946 UpdateBatchedBackgroundMigrationArguments: migrating ========2971main: -- execute("UPDATE batched_background_migrations\nSET job_arguments = '[]'\nWHERE job_arguments = '\"[]\"';\n")2972main: -> 0.0015s2973main: == 20220420135946 UpdateBatchedBackgroundMigrationArguments: migrated (0.0016s) 2974main: == 20220420173247 AddGroupInheritanceTypeToPeAuthorizable: migrating ==========2975main: -- add_column(:protected_environment_deploy_access_levels, :group_inheritance_type, :smallint, {:default=>0, :limit=>2, :null=>false})2976main: -> 0.0028s2977main: -- add_column(:protected_environment_approval_rules, :group_inheritance_type, :smallint, {:default=>0, :limit=>2, :null=>false})2978main: -> 0.0017s2979main: == 20220420173247 AddGroupInheritanceTypeToPeAuthorizable: migrated (0.0049s) =2980main: == 20220420192542 AddIdForCleanupIndexPackagesPackageFiles: migrating =========2981main: -- transaction_open?()2982main: -> 0.0001s2983main: -- index_exists?(:packages_package_files, :id, {:name=>"index_packages_package_files_on_id_for_cleanup", :where=>"status = 1", :algorithm=>:concurrently})2984main: -> 0.0095s2985main: -- add_index(:packages_package_files, :id, {:name=>"index_packages_package_files_on_id_for_cleanup", :where=>"status = 1", :algorithm=>:concurrently})2986main: -> 0.0020s2987main: == 20220420192542 AddIdForCleanupIndexPackagesPackageFiles: migrated (0.0167s) 2988main: == 20220420214703 ScheduleBackfillDraftStatusOnMergeRequestsCorrectedRegex: migrating 2989main: -- transaction_open?()2990main: -> 0.0000s2991main: -- 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})2992main: -> 0.0165s2993main: -- 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})2994main: -> 0.0023s2995main: -- transaction_open?()2996main: -> 0.0000s2997main: -- Scheduled 0 BackfillDraftStatusOnMergeRequestsWithCorrectedRegex jobs with a maximum of 50 records per batch and an interval of 120 seconds.2998The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:16 UTC."2999main: == 20220420214703 ScheduleBackfillDraftStatusOnMergeRequestsCorrectedRegex: migrated (0.0362s) 3000main: == 20220421114418 MakeFingerprintNullableForGroupDeployKey: migrating =========3001main: -- change_column_null(:group_deploy_keys, :fingerprint, true)3002main: -> 0.0022s3003main: == 20220421114418 MakeFingerprintNullableForGroupDeployKey: migrated (0.0025s) 3004main: == 20220421141342 AddAllowedPlansToCiRunners: migrating =======================3005main: -- add_column(:ci_runners, :allowed_plans, :text, {:array=>true, :null=>false, :default=>[]})3006main: -> 0.0023s3007main: == 20220421141342 AddAllowedPlansToCiRunners: migrated (0.0024s) ==============3008main: == 20220421144758 ChangeDotenvPlanLimitsForOldPlans: migrating ================3009main: -- quote_column_name("dotenv_variables")3010main: -> 0.0000s3011main: -- quote("early_adopter")3012main: -> 0.0001s3013main: -- quote(50)3014main: -> 0.0000s3015main: -- 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")3016main: -> 0.0027s3017main: -- quote_column_name("dotenv_variables")3018main: -> 0.0000s3019main: -- quote("bronze")3020main: -> 0.0000s3021main: -- quote(50)3022main: -> 0.0000s3023main: -- 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")3024main: -> 0.0014s3025main: -- quote_column_name("dotenv_variables")3026main: -> 0.0000s3027main: -- quote("silver")3028main: -> 0.0000s3029main: -- quote(100)3030main: -> 0.0000s3031main: -- 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")3032main: -> 0.0013s3033main: -- quote_column_name("dotenv_variables")3034main: -> 0.0001s3035main: -- quote("gold")3036main: -> 0.0000s3037main: -- quote(150)3038main: -> 0.0000s3039main: -- 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")3040main: -> 0.0013s3041main: == 20220421144758 ChangeDotenvPlanLimitsForOldPlans: migrated (0.0085s) =======3042main: == 20220421180321 AddLastCleanupDeletedTagsCountToContainerRepository: migrating 3043main: -- add_column(:container_repositories, :last_cleanup_deleted_tags_count, :integer)3044main: -> 0.0021s3045main: == 20220421180321 AddLastCleanupDeletedTagsCountToContainerRepository: migrated (0.0024s) 3046main: == 20220422121443 AddAsyncIndexForGroupActivityEvents: migrating ==============3047main: -- index_exists?(:events, [:group_id, :target_type, :action, :id], {:name=>"index_events_for_group_activity", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3048main: -> 0.0120s3049main: -- add_index_options(:events, [:group_id, :target_type, :action, :id], {:name=>"index_events_for_group_activity", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3050main: -> 0.0001s3051main: == 20220422121443 AddAsyncIndexForGroupActivityEvents: migrated (0.0211s) =====3052main: == 20220422200633 FixViewForPerTableAutovacuumStatus: migrating ===============3053main: -- 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")3054main: -> 0.0043s3055main: == 20220422200633 FixViewForPerTableAutovacuumStatus: migrated (0.0047s) ======3056main: == 20220422220507 RemoveTmpIndexSupportingLeakyRegexCleanup: migrating ========3057main: -- transaction_open?()3058main: -> 0.0000s3059main: -- indexes(:merge_requests)3060main: -> 0.0304s3061main: -- remove_index(:merge_requests, {:algorithm=>:concurrently, :name=>"tmp_index_merge_requests_draft_and_status_leaky_regex"})3062main: -> 0.0018s3063main: == 20220422220507 RemoveTmpIndexSupportingLeakyRegexCleanup: migrated (0.0368s) 3064main: == 20220425111114 AddAsyncIndexForProjectActivityEvents: migrating ============3065main: -- index_exists?(:events, [:project_id, :target_type, :action, :id], {:name=>"index_events_for_project_activity", :algorithm=>:concurrently})3066main: -> 0.0119s3067main: -- add_index_options(:events, [:project_id, :target_type, :action, :id], {:name=>"index_events_for_project_activity", :algorithm=>:concurrently})3068main: -> 0.0001s3069main: == 20220425111114 AddAsyncIndexForProjectActivityEvents: migrated (0.0206s) ===3070main: == 20220425111453 AddAsyncIndexToEventsOnGroupIdAndId: migrating ==============3071main: -- index_exists?(:events, [:group_id, :id], {:name=>"index_events_on_group_id_and_id", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3072main: -> 0.0120s3073main: -- add_index_options(:events, [:group_id, :id], {:name=>"index_events_on_group_id_and_id", :where=>"group_id IS NOT NULL", :algorithm=>:concurrently})3074main: -> 0.0001s3075main: == 20220425111453 AddAsyncIndexToEventsOnGroupIdAndId: migrated (0.0209s) =====3076main: == 20220425120604 CreatePackagesCleanupPolicies: migrating ====================3077main: -- create_table(:packages_cleanup_policies, {:id=>false})3078main: -- quote_column_name(:keep_n_duplicated_package_files)3079main: -> 0.0001s3080main: -> 0.0053s3081main: == 20220425120604 CreatePackagesCleanupPolicies: migrated (0.0057s) ===========3082main: == 20220425121410 AddTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrating 3083main: -- transaction_open?()3084main: -> 0.0000s3085main: -- 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})3086main: -> 0.0094s3087main: -- 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})3088main: -> 0.0021s3089main: == 20220425121410 AddTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrated (0.0171s) 3090main: == 20220425121435 BackfillIntegrationsEnableSslVerification: migrating ========3091main: -- transaction_open?()3092main: -> 0.0000s3093main: -- Scheduled 0 BackfillIntegrationsEnableSslVerification jobs with a maximum of 1000 records per batch and an interval of 300 seconds.3094The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:16 UTC."3095main: == 20220425121435 BackfillIntegrationsEnableSslVerification: migrated (0.0058s) 3096main: == 20220426130217 AddMaxExportSizeToApplicationSettings: migrating ============3097main: -- add_column(:application_settings, :max_export_size, :integer, {:default=>0})3098main: -> 0.0039s3099main: == 20220426130217 AddMaxExportSizeToApplicationSettings: migrated (0.0043s) ===3100main: == 20220426185933 BackfillDeploymentsFinishedAt: migrating ====================3101main: == 20220426185933 BackfillDeploymentsFinishedAt: migrated (0.0304s) ===========3102main: == 20220428133724 ScheduleExpireOAuthTokens: migrating ========================3103main: == 20220428133724 ScheduleExpireOAuthTokens: migrated (0.0001s) ===============3104main: == 20220502015011 CleanUpFixMergeRequestDiffCommitUsers: migrating ============3105main: -- transaction_open?()3106main: -> 0.0000s3107main: == 20220502015011 CleanUpFixMergeRequestDiffCommitUsers: migrated (0.0087s) ===3108main: == 20220502125053 RecreateIndexForProjectGroupLinkWithGroupIdAndProjectId: migrating 3109main: -- transaction_open?()3110main: -> 0.0000s3111main: -- index_exists?(:project_group_links, [:group_id, :project_id], {:name=>"index_project_group_links_on_group_id_and_project_id", :algorithm=>:concurrently})3112main: -> 0.0061s3113main: -- add_index(:project_group_links, [:group_id, :project_id], {:name=>"index_project_group_links_on_group_id_and_project_id", :algorithm=>:concurrently})3114main: -> 0.0020s3115main: -- transaction_open?()3116main: -> 0.0000s3117main: -- indexes(:project_group_links)3118main: -> 0.0048s3119main: -- remove_index(:project_group_links, {:algorithm=>:concurrently, :name=>"index_project_group_links_on_group_id"})3120main: -> 0.0015s3121main: == 20220502125053 RecreateIndexForProjectGroupLinkWithGroupIdAndProjectId: migrated (0.0242s) 3122main: == 20220502150408 AddSlackIntegrationsBotColumns: migrating ===================3123main: -- change_table(:slack_integrations)3124main: -> 0.0039s3125main: == 20220502150408 AddSlackIntegrationsBotColumns: migrated (0.0042s) ==========3126main: == 20220502152633 AddSlackIntegrationsBotUserIdTextLimit: migrating ===========3127main: -- transaction_open?()3128main: -> 0.0000s3129main: -- current_schema()3130main: -> 0.0006s3131main: -- transaction_open?()3132main: -> 0.0000s3133main: -- execute("ALTER TABLE slack_integrations\nADD CONSTRAINT check_bc553aea8a\nCHECK ( char_length(bot_user_id) <= 255 )\nNOT VALID;\n")3134main: -> 0.0012s3135main: -- current_schema()3136main: -> 0.0005s3137main: -- execute("ALTER TABLE slack_integrations VALIDATE CONSTRAINT check_bc553aea8a;")3138main: -> 0.0009s3139main: == 20220502152633 AddSlackIntegrationsBotUserIdTextLimit: migrated (0.0118s) ==3140main: == 20220502173045 ResetTooManyTagsSkippedRegistryImports: migrating ===========3141main: -- transaction_open?()3142main: -> 0.0000s3143main: -- Scheduled 0 ResetTooManyTagsSkippedRegistryImports jobs with a maximum of 10000 records per batch and an interval of 120 seconds.3144The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:16 UTC."3145main: == 20220502173045 ResetTooManyTagsSkippedRegistryImports: migrated (0.0054s) ==3146main: == 20220503035221 AddGitlabSchemaToBatchedBackgroundMigrations: migrating =====3147main: -- add_column(:batched_background_migrations, :gitlab_schema, :text, {:null=>false, :default=>:gitlab_main})3148main: -> 0.0030s3149main: -- change_column_default(:batched_background_migrations, :gitlab_schema, {:from=>:gitlab_main, :to=>nil})3150main: -> 0.0045s3151main: == 20220503035221 AddGitlabSchemaToBatchedBackgroundMigrations: migrated (0.0079s) 3152main: == 20220503035437 AddTextLimitToBatchedBackgroundMigrationsGitlabSchema: migrating 3153main: -- transaction_open?()3154main: -> 0.0000s3155main: -- current_schema()3156main: -> 0.0007s3157main: -- transaction_open?()3158main: -> 0.0000s3159main: -- execute("ALTER TABLE batched_background_migrations\nADD CONSTRAINT check_0406d9776f\nCHECK ( char_length(gitlab_schema) <= 255 )\nNOT VALID;\n")3160main: -> 0.0012s3161main: -- current_schema()3162main: -> 0.0007s3163main: -- execute("ALTER TABLE batched_background_migrations VALIDATE CONSTRAINT check_0406d9776f;")3164main: -> 0.0011s3165main: == 20220503035437 AddTextLimitToBatchedBackgroundMigrationsGitlabSchema: migrated (0.0156s) 3166main: == 20220503073401 RecreateIndexForGroupGroupLinkWithBothGroupIds: migrating ===3167main: -- transaction_open?()3168main: -> 0.0000s3169main: -- 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})3170main: -> 0.0044s3171main: -- 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})3172main: -> 0.0016s3173main: -- transaction_open?()3174main: -> 0.0000s3175main: -- indexes(:group_group_links)3176main: -> 0.0049s3177main: -- remove_index(:group_group_links, {:algorithm=>:concurrently, :name=>"index_group_group_links_on_shared_with_group_id"})3178main: -> 0.0014s3179main: == 20220503073401 RecreateIndexForGroupGroupLinkWithBothGroupIds: migrated (0.0219s) 3180main: == 20220503102855 AddNamespaceCiCdSettingsTable: migrating ====================3181main: -- create_table(:namespace_ci_cd_settings, {:id=>false})3182main: -> 0.0038s3183main: == 20220503102855 AddNamespaceCiCdSettingsTable: migrated (0.0041s) ===========3184main: == 20220503114353 PrepareConfidentialNoteIndex: migrating =====================3185main: -- index_exists?(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3186main: -> 0.0115s3187main: -- add_index_options(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3188main: -> 0.0001s3189main: == 20220503114353 PrepareConfidentialNoteIndex: migrated (0.0204s) ============3190main: == 20220503134610 RemoveRequirementsManagementTestReportsRequirementId: migrating 3191main: -- transaction_open?()3192main: -> 0.0000s3193main: -- remove_column(:requirements_management_test_reports, :requirement_id)3194main: -> 0.0016s3195main: == 20220503134610 RemoveRequirementsManagementTestReportsRequirementId: migrated (0.0058s) 3196main: == 20220504042847 AddSlackSigningKeyToApplicationSettings: migrating ==========3197main: -- add_column(:application_settings, :encrypted_slack_app_signing_secret, :binary)3198main: -> 0.0027s3199main: -- add_column(:application_settings, :encrypted_slack_app_signing_secret_iv, :binary)3200main: -> 0.0014s3201main: == 20220504042847 AddSlackSigningKeyToApplicationSettings: migrated (0.0046s) =3202main: == 20220504083348 AddIndexesForPrimaryEmailPostRegressionCleanupMigration: migrating 3203main: -- indexes(:users)3204main: -> 0.0261s3205main: -- current_schema()3206main: -> 0.0006s3207main: -- 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")3208main: -> 0.0024s3209main: -- transaction_open?()3210main: -> 0.0000s3211main: -- index_exists?(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})3212main: -> 0.0048s3213main: -- add_index(:emails, [:email, :user_id], {:name=>:index_emails_on_email_user_id, :algorithm=>:concurrently})3214main: -> 0.0016s3215main: == 20220504083348 AddIndexesForPrimaryEmailPostRegressionCleanupMigration: migrated (0.0436s) 3216main: == 20220504083836 CleanupAfterFixingRegressionWithNewUsersEmails: migrating ===3217main: == 20220504083836 CleanupAfterFixingRegressionWithNewUsersEmails: migrated (0.0070s) 3218main: == 20220504084136 DropTemporaryIndexesForPrimaryEmailPostRegressionCleanup: migrating 3219main: -- transaction_open?()3220main: -> 0.0000s3221main: -- indexes(:users)3222main: -> 0.0266s3223main: -- remove_index(:users, {:algorithm=>:concurrently, :name=>:index_users_on_id_for_primary_email_migration})3224main: -> 0.0019s3225main: -- transaction_open?()3226main: -> 0.0000s3227main: -- indexes(:emails)3228main: -> 0.0052s3229main: -- remove_index(:emails, {:algorithm=>:concurrently, :name=>:index_emails_on_email_user_id})3230main: -> 0.0014s3231main: == 20220504084136 DropTemporaryIndexesForPrimaryEmailPostRegressionCleanup: migrated (0.0433s) 3232main: == 20220504140036 AddContainerRegistrySizeToNamespaceRootStorageStatistics: migrating 3233main: -- add_column(:namespace_root_storage_statistics, :container_registry_size, :bigint, {:default=>0, :null=>false})3234main: -> 0.0023s3235main: == 20220504140036 AddContainerRegistrySizeToNamespaceRootStorageStatistics: migrated (0.0026s) 3236main: == 20220505022001 AddIndexToDeploymentsOnCreatedAtClusterIdAndProjectId: migrating 3237main: -- transaction_open?()3238main: -> 0.0000s3239main: -- 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})3240main: -> 0.0242s3241main: -- 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})3242main: -> 0.0021s3243main: == 20220505022001 AddIndexToDeploymentsOnCreatedAtClusterIdAndProjectId: migrated (0.0323s) 3244main: == 20220505044348 FixAutomaticIterationsCadencesStartDate: migrating ==========3245main: -- 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")3246main: -> 0.0036s3247main: == 20220505044348 FixAutomaticIterationsCadencesStartDate: migrated (0.0040s) =3248main: == 20220505053504 RemoveNamespacesIdParentIdInversePartialIndex: migrating ====3249main: -- transaction_open?()3250main: -> 0.0001s3251main: -- index_exists?(:namespaces, :id, {:name=>"index_namespaces_id_parent_id_is_not_null", :algorithm=>:concurrently})3252main: -> 0.0300s3253main: -- remove_index(:namespaces, {:name=>"index_namespaces_id_parent_id_is_not_null", :algorithm=>:concurrently, :column=>:id})3254main: -> 0.0259s3255main: == 20220505053504 RemoveNamespacesIdParentIdInversePartialIndex: migrated (0.0631s) 3256main: == 20220505060011 RemoveNamespacesIdParentIdPartialIndex: migrating ===========3257main: -- transaction_open?()3258main: -> 0.0000s3259main: -- index_exists?(:namespaces, :id, {:name=>"index_namespaces_id_parent_id_is_null", :algorithm=>:concurrently})3260main: -> 0.0228s3261main: -- remove_index(:namespaces, {:name=>"index_namespaces_id_parent_id_is_null", :algorithm=>:concurrently, :column=>:id})3262main: -> 0.0245s3263main: == 20220505060011 RemoveNamespacesIdParentIdPartialIndex: migrated (0.0532s) ==3264main: == 20220505092254 AddAllowStaleRunnerPruningIndexToNamespaceCiCdSettings: migrating 3265main: -- transaction_open?()3266main: -> 0.0000s3267main: -- 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})3268main: -> 0.0023s3269main: -- 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})3270main: -> 0.0016s3271main: == 20220505092254 AddAllowStaleRunnerPruningIndexToNamespaceCiCdSettings: migrated (0.0091s) 3272main: == 20220505174658 UpdateIndexOnAlertsToExcludeNullFingerprints: migrating =====3273main: -- transaction_open?()3274main: -> 0.0000s3275main: -- 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})3276main: -> 0.0074s3277main: -- 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})3278main: -> 0.0020s3279main: -- transaction_open?()3280main: -> 0.0000s3281main: -- indexes(:alert_management_alerts)3282main: -> 0.0076s3283main: -- remove_index(:alert_management_alerts, {:algorithm=>:concurrently, :name=>"index_partial_am_alerts_on_project_id_and_fingerprint"})3284main: -> 0.0016s3285main: == 20220505174658 UpdateIndexOnAlertsToExcludeNullFingerprints: migrated (0.0274s) 3286main: == 20220505193512 AddNotNullConstraintToIssuesWorkItemType: migrating =========3287main: -- current_schema()3288main: -> 0.0006s3289main: -- transaction_open?()3290main: -> 0.0000s3291main: -- current_schema()3292main: -> 0.0005s3293main: -- transaction_open?()3294main: -> 0.0000s3295main: -- execute("ALTER TABLE issues\nADD CONSTRAINT check_2addf801cd\nCHECK ( work_item_type_id IS NOT NULL )\nNOT VALID;\n")3296main: -> 0.0013s3297main: == 20220505193512 AddNotNullConstraintToIssuesWorkItemType: migrated (0.0123s) 3298main: == 20220506123922 AddNotNullConstraintWithoutValidationToRequirementsIssueId: migrating 3299main: -- current_schema()3300main: -> 0.0006s3301main: -- transaction_open?()3302main: -> 0.0000s3303main: -- current_schema()3304main: -> 0.0006s3305main: -- transaction_open?()3306main: -> 0.0000s3307main: -- execute("ALTER TABLE requirements\nADD CONSTRAINT check_requirement_issue_not_null\nCHECK ( issue_id IS NOT NULL )\nNOT VALID;\n")3308main: -> 0.0011s3309main: == 20220506123922 AddNotNullConstraintWithoutValidationToRequirementsIssueId: migrated (0.0123s) 3310main: == 20220506124021 SchedulePopulateRequirementsIssueId: migrating ==============3311main: -- transaction_open?()3312main: -> 0.0000s3313main: -- Scheduled 0 MigrateRequirementsToWorkItems jobs with a maximum of 100 records per batch and an interval of 120 seconds.3314The migration is expected to take at least 0 seconds. Expect all jobs to have completed after 2022-08-24 17:21:17 UTC."3315main: == 20220506124021 SchedulePopulateRequirementsIssueId: migrated (0.0082s) =====3316main: == 20220506154054 CreateSyncNamespaceDetailsTrigger: migrating ================3317main: -- execute("CREATE OR REPLACE FUNCTION update_namespace_details_from_namespaces()\nRETURNS TRIGGER AS\n$$\nBEGIN\nINSERT INTO\n namespace_details (\n description,\n description_html,\n cached_markdown_version,\n updated_at,\n created_at,\n namespace_id\n )\nVALUES\n (\n NEW.description,\n NEW.description_html,\n NEW.cached_markdown_version,\n NEW.updated_at,\n NEW.updated_at,\n NEW.id\n ) ON CONFLICT (namespace_id) DO\nUPDATE\nSET\n description = NEW.description,\n description_html = NEW.description_html,\n cached_markdown_version = NEW.cached_markdown_version,\n updated_at = NEW.updated_at\nWHERE\n namespace_details.namespace_id = NEW.id;RETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n")3318main: -> 0.0012s3319main: -- execute("CREATE TRIGGER trigger_update_details_on_namespace_update\nAFTER UPDATE ON namespaces\nFOR EACH ROW\nWHEN (\n NEW.type <> 'Project' AND (\n OLD.description IS DISTINCT FROM NEW.description OR\n OLD.description_html IS DISTINCT FROM NEW.description_html OR\n OLD.cached_markdown_version IS DISTINCT FROM NEW.cached_markdown_version)\n)\nEXECUTE PROCEDURE update_namespace_details_from_namespaces();\n")3320main: -> 0.0017s3321main: -- execute("CREATE TRIGGER trigger_update_details_on_namespace_insert\nAFTER INSERT ON namespaces\nFOR EACH ROW\nWHEN (NEW.type <> 'Project')\nEXECUTE PROCEDURE update_namespace_details_from_namespaces();\n")3322main: -> 0.0013s3323main: == 20220506154054 CreateSyncNamespaceDetailsTrigger: migrated (0.0046s) =======3324main: == 20220506180411 AddIndexToVulnerabilityFeedbackFindingUuid: migrating =======3325main: -- transaction_open?()3326main: -> 0.0000s3327main: -- index_exists?(:vulnerability_feedback, :finding_uuid, {:using=>:hash, :name=>"index_vulnerability_feedback_finding_uuid", :algorithm=>:concurrently})3328main: -> 0.0088s3329main: -- add_index(:vulnerability_feedback, :finding_uuid, {:using=>:hash, :name=>"index_vulnerability_feedback_finding_uuid", :algorithm=>:concurrently})3330main: -> 0.0018s3331main: == 20220506180411 AddIndexToVulnerabilityFeedbackFindingUuid: migrated (0.0159s) 3332main: == 20220506201639 RemoveDevopsAdoptionSecurityScanSucceededColumn: migrating ==3333main: -- remove_column(:analytics_devops_adoption_snapshots, :security_scan_succeeded)3334main: -> 0.0020s3335main: == 20220506201639 RemoveDevopsAdoptionSecurityScanSucceededColumn: migrated (0.0023s) 3336main: == 20220507204024 AddSeparatedCachesOptionToProjectCiSettings: migrating ======3337main: -- add_column(:project_ci_cd_settings, :separated_caches, :boolean, {:default=>true, :null=>false})3338main: -> 0.0022s3339main: == 20220507204024 AddSeparatedCachesOptionToProjectCiSettings: migrated (0.0025s) 3340main: == 20220510003916 RemoveTmpEmptyTraversalIdsRootNamespaceIndex: migrating =====3341main: -- transaction_open?()3342main: -> 0.0000s3343main: -- index_exists?(:namespaces, :id, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_root_namespaces", :algorithm=>:concurrently})3344main: -> 0.0222s3345main: -- remove_index(:namespaces, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_root_namespaces", :algorithm=>:concurrently, :column=>:id})3346main: -> 0.0232s3347main: == 20220510003916 RemoveTmpEmptyTraversalIdsRootNamespaceIndex: migrated (0.0510s) 3348main: == 20220510004501 RemoveTmpEmptyTraversalIdsChildNamespaceIndex: migrating ====3349main: -- transaction_open?()3350main: -> 0.0000s3351main: -- index_exists?(:namespaces, :id, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_child_namespaces", :algorithm=>:concurrently})3352main: -> 0.0223s3353main: -- remove_index(:namespaces, {:name=>"tmp_index_namespaces_empty_traversal_ids_with_child_namespaces", :algorithm=>:concurrently, :column=>:id})3354main: -> 0.0257s3355main: == 20220510004501 RemoveTmpEmptyTraversalIdsChildNamespaceIndex: migrated (0.0535s) 3356main: == 20220510121338 RemoveThreatMonitoringAlerts: migrating =====================3357main: -- execute("DELETE FROM alert_management_alerts WHERE domain = 1")3358main: -> 0.0015s3359main: == 20220510121338 RemoveThreatMonitoringAlerts: migrated (0.0017s) ============3360main: == 20220510192117 IndexExpirableUnknownArtifactsForRemoval: migrating =========3361main: -- 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})3362main: -> 0.0124s3363main: -- 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})3364main: -> 0.0001s3365main: == 20220510192117 IndexExpirableUnknownArtifactsForRemoval: migrated (0.0227s) 3366main: == 20220511090324 AddLastConsistencyCheckCursorsToVsaAggregations: migrating ==3367main: -- change_table(:analytics_cycle_analytics_aggregations, {:bulk=>true})3368main: -> 0.0032s3369main: == 20220511090324 AddLastConsistencyCheckCursorsToVsaAggregations: migrated (0.0035s) 3370main: == 20220511144946 AddWorkItemParentChildTable: migrating ======================3371main: -- create_table(:work_item_parent_links, {})3372main: -> 0.0067s3373main: == 20220511144946 AddWorkItemParentChildTable: migrated (0.0069s) =============3374main: == 20220511151646 AddExcludeFromFreeUserCapToNamespaceSettings: migrating =====3375main: -- add_column(:namespace_settings, :exclude_from_free_user_cap, :boolean, {:null=>false, :default=>false})3376main: -> 0.0019s3377main: == 20220511151646 AddExcludeFromFreeUserCapToNamespaceSettings: migrated (0.0021s) 3378main: == 20220511152439 RemoveNotNullConstraintFromWorkItemType: migrating ==========3379main: -- transaction_open?()3380main: -> 0.0000s3381main: -- transaction_open?()3382main: -> 0.0000s3383main: -- execute("ALTER TABLE issues\nDROP CONSTRAINT IF EXISTS check_2addf801cd\n")3384main: -> 0.0011s3385main: == 20220511152439 RemoveNotNullConstraintFromWorkItemType: migrated (0.0050s) =3386main: == 20220511191502 AddRegistryMigrationGuardThresholdsToApplicationSettings: migrating 3387main: -- add_column(:application_settings, :container_registry_pre_import_timeout, :integer, {:default=>30 minutes, :null=>false})3388main: -> 0.0041s3389main: -- add_column(:application_settings, :container_registry_import_timeout, :integer, {:default=>10 minutes, :null=>false})3390main: -> 0.0024s3391main: == 20220511191502 AddRegistryMigrationGuardThresholdsToApplicationSettings: migrated (0.0073s) 3392main: == 20220511191503 AddPipelineCreateLimitPerProjectUserShaToApplicationSettings: migrating 3393main: -- add_column(:application_settings, :pipeline_limit_per_project_user_sha, :integer, {:default=>0, :null=>false})3394main: -> 0.0034s3395main: == 20220511191503 AddPipelineCreateLimitPerProjectUserShaToApplicationSettings: migrated (0.0037s) 3396main: == 20220511212620 AddIndexOnExpirableUnknownArtifactsForRemoval: migrating ====3397main: -- transaction_open?()3398main: -> 0.0000s3399main: -- 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})3400main: -> 0.0119s3401main: -- 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})3402main: -> 0.0018s3403main: == 20220511212620 AddIndexOnExpirableUnknownArtifactsForRemoval: migrated (0.0219s) 3404main: == 20220512020500 IndexBatchedMigrationsOnGitlabSchemaAndConfiguration: migrating 3405main: -- transaction_open?()3406main: -> 0.0000s3407main: -- 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})3408main: -> 0.0044s3409main: -- 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})3410main: -> 0.0020s3411main: == 20220512020500 IndexBatchedMigrationsOnGitlabSchemaAndConfiguration: migrated (0.0115s) 3412main: == 20220512190659 RemoveWebHooksWebHookLogsWebHookIdFk: migrating =============3413main: -- transaction_open?()3414main: -> 0.0000s3415main: -- transaction_open?()3416main: -> 0.0000s3417main: -- execute("LOCK web_hooks, web_hook_logs IN ACCESS EXCLUSIVE MODE")3418main: -> 0.0009s3419main: -- foreign_keys(:web_hook_logs)3420main: -> 0.0045s3421main: -- remove_foreign_key(:web_hook_logs, :web_hooks, {:name=>"fk_rails_bb3355782d"})3422main: -> 0.0069s3423main: == 20220512190659 RemoveWebHooksWebHookLogsWebHookIdFk: migrated (0.0164s) ====3424main: == 20220513043344 RescheduleExpireOAuthTokens: migrating ======================3425main: == 20220513043344 RescheduleExpireOAuthTokens: migrated (0.0574s) =============3426main: == 20220513093614 AddDingTalkIntoApplicationSettings: migrating ===============3427main: -- add_column(:application_settings, :dingtalk_integration_enabled, :boolean, {:null=>false, :default=>false, :comment=>"JiHu-specific column"})3428main: -> 0.0047s3429main: -- add_column(:application_settings, :encrypted_dingtalk_corpid, :binary, {:comment=>"JiHu-specific column"})3430main: -> 0.0023s3431main: -- add_column(:application_settings, :encrypted_dingtalk_corpid_iv, :binary, {:comment=>"JiHu-specific column"})3432main: -> 0.0020s3433main: -- add_column(:application_settings, :encrypted_dingtalk_app_key, :binary, {:comment=>"JiHu-specific column"})3434main: -> 0.0019s3435main: -- add_column(:application_settings, :encrypted_dingtalk_app_key_iv, :binary, {:comment=>"JiHu-specific column"})3436main: -> 0.0019s3437main: -- add_column(:application_settings, :encrypted_dingtalk_app_secret, :binary, {:comment=>"JiHu-specific column"})3438main: -> 0.0019s3439main: -- add_column(:application_settings, :encrypted_dingtalk_app_secret_iv, :binary, {:comment=>"JiHu-specific column"})3440main: -> 0.0019s3441main: == 20220513093614 AddDingTalkIntoApplicationSettings: migrated (0.0174s) ======3442main: == 20220513093615 AddDingTalkTrackerData: migrating ===========================3443main: -- create_table(:dingtalk_tracker_data, {:comment=>"JiHu-specific table"})3444main: -- quote_column_name(:corpid)3445main: -> 0.0000s3446main: -> 0.0108s3447main: == 20220513093615 AddDingTalkTrackerData: migrated (0.0111s) ==================3448main: == 20220513095545 CreateTimelogCategories: migrating ==========================3449main: -- create_table(:timelog_categories, {})3450main: -- quote_column_name(:name)3451main: -> 0.0000s3452main: -- quote_column_name(:description)3453main: -> 0.0000s3454main: -- quote_column_name(:color)3455main: -> 0.0000s3456main: -> 0.0087s3457main: == 20220513095545 CreateTimelogCategories: migrated (0.0089s) =================3458main: == 20220513114706 AddJiraConnectApplicationIdApplicationSetting: migrating ====3459main: -- add_column(:application_settings, :jira_connect_application_key, :text)3460main: -> 0.0029s3461main: == 20220513114706 AddJiraConnectApplicationIdApplicationSetting: migrated (0.0032s) 3462main: == 20220513114850 AddTextLimitToJiraConnectApplicationIdApplicationSetting: migrating 3463main: -- transaction_open?()3464main: -> 0.0000s3465main: -- current_schema()3466main: -> 0.0007s3467main: -- transaction_open?()3468main: -> 0.0000s3469main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_e2dd6e290a\nCHECK ( char_length(jira_connect_application_key) <= 255 )\nNOT VALID;\n")3470main: -> 0.0020s3471main: -- current_schema()3472main: -> 0.0005s3473main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_e2dd6e290a;")3474main: -> 0.0016s3475main: == 20220513114850 AddTextLimitToJiraConnectApplicationIdApplicationSetting: migrated (0.0146s) 3476main: == 20220516054002 TempIndexForProjectNamespaceMemberBackfill: migrating =======3477main: -- transaction_open?()3478main: -> 0.0000s3479main: -- 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})3480main: -> 0.0158s3481main: -- 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})3482main: -> 0.0020s3483main: == 20220516054002 TempIndexForProjectNamespaceMemberBackfill: migrated (0.0234s) 3484main: == 20220516054011 ScheduleBackfillProjectMemberNamespaceId: migrating =========3485main: == 20220516054011 ScheduleBackfillProjectMemberNamespaceId: migrated (0.0514s) 3486main: == 20220516092207 AddGloballyAllowedIpsToApplicationSetting: migrating ========3487main: -- add_column(:application_settings, :globally_allowed_ips, :text, {:null=>false, :default=>""})3488main: -> 0.0037s3489main: == 20220516092207 AddGloballyAllowedIpsToApplicationSetting: migrated (0.0040s) 3490main: == 20220516100652 DropComplianceManagementFrameworksRegulated: migrating ======3491main: -- remove_column(:compliance_management_frameworks, :regulated)3492main: -> 0.0020s3493main: == 20220516100652 DropComplianceManagementFrameworksRegulated: migrated (0.0023s) 3494main: == 20220516103353 FinalizeRoutesBackfillingForProjects: migrating =============3495main: == 20220516103353 FinalizeRoutesBackfillingForProjects: migrated (0.0272s) ====3496main: == 20220516123101 AddTextLimitToGloballyAllowedIpsOnApplicationSettings: migrating 3497main: -- transaction_open?()3498main: -> 0.0000s3499main: -- current_schema()3500main: -> 0.0010s3501main: -- transaction_open?()3502main: -> 0.0000s3503main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_734cc9407a\nCHECK ( char_length(globally_allowed_ips) <= 255 )\nNOT VALID;\n")3504main: -> 0.0018s3505main: -- current_schema()3506main: -> 0.0005s3507main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_734cc9407a;")3508main: -> 0.0016s3509main: == 20220516123101 AddTextLimitToGloballyAllowedIpsOnApplicationSettings: migrated (0.0135s) 3510main: == 20220516201245 AddSecurityPolicyScanExecutionSchedulesToPlanLimits: migrating 3511main: -- add_column(:plan_limits, :security_policy_scan_execution_schedules, :integer, {:default=>0, :null=>false})3512main: -> 0.0026s3513main: == 20220516201245 AddSecurityPolicyScanExecutionSchedulesToPlanLimits: migrated (0.0029s) 3514main: == 20220517101119 CreateConfidentialNotesIndexSynchronously: migrating ========3515main: -- transaction_open?()3516main: -> 0.0000s3517main: -- index_exists?(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3518main: -> 0.0133s3519main: -- add_index(:notes, :confidential, {:where=>"confidential = true", :name=>"index_notes_on_confidential", :algorithm=>:concurrently})3520main: -> 0.0022s3521main: == 20220517101119 CreateConfidentialNotesIndexSynchronously: migrated (0.0252s) 3522main: == 20220517133753 MigrateFreeUserCapRemediation: migrating ====================3523main: == 20220517133753 MigrateFreeUserCapRemediation: migrated (0.0006s) ===========3524main: == 20220517144749 RemoveVulnerabilityApprovalRules: migrating =================3525main: == 20220517144749 RemoveVulnerabilityApprovalRules: migrated (0.0259s) ========3526main: == 20220517182529 CreateVulnerabilityStateTransition: migrating ===============3527main: -- create_table(:vulnerability_state_transitions, {})3528main: -> 0.0048s3529main: == 20220517182529 CreateVulnerabilityStateTransition: migrated (0.0051s) ======3530main: == 20220518102414 AddIndexToErrorTrackingClientKeys: migrating ================3531main: -- transaction_open?()3532main: -> 0.0000s3533main: -- index_exists?(:error_tracking_client_keys, [:project_id, :public_key], {:where=>"active = true", :name=>"index_error_tracking_client_for_enabled_check", :algorithm=>:concurrently})3534main: -> 0.0040s3535main: -- add_index(:error_tracking_client_keys, [:project_id, :public_key], {:where=>"active = true", :name=>"index_error_tracking_client_for_enabled_check", :algorithm=>:concurrently})3536main: -> 0.0019s3537main: == 20220518102414 AddIndexToErrorTrackingClientKeys: migrated (0.0114s) =======3538main: == 20220518183504 CreateSshSignatures: migrating ==============================3539main: -- create_table(:ssh_signatures, {})3540main: -> 0.0083s3541main: == 20220518183504 CreateSshSignatures: migrated (0.0087s) =====================3542main: == 20220518183548 AddProjectsRelationToSshSignatures: migrating ===============3543main: -- transaction_open?()3544main: -> 0.0000s3545main: -- foreign_keys(:ssh_signatures)3546main: -> 0.0053s3547main: -- transaction_open?()3548main: -> 0.0000s3549main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT fk_7d2f93996c\nFOREIGN KEY (project_id)\nREFERENCES projects (id)\nON DELETE CASCADE\nNOT VALID;\n")3550main: -> 0.0024s3551main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT fk_7d2f93996c;")3552main: -> 0.0022s3553main: == 20220518183548 AddProjectsRelationToSshSignatures: migrated (0.0160s) ======3554main: == 20220519013213 CreateClusterEnabledGrants: migrating =======================3555main: -- create_table(:cluster_enabled_grants, {})3556main: -> 0.0050s3557main: == 20220519013213 CreateClusterEnabledGrants: migrated (0.0053s) ==============3558main: == 20220519045133 BulkInsertClusterEnabledGrants: migrating ===================3559main: == 20220519045133 BulkInsertClusterEnabledGrants: migrated (0.0531s) ==========3560main: == 20220519141345 AddJobArtifactIdOnRefreshStartToBuildArtifactsSizeRefresh: migrating 3561main: -- add_column(:project_build_artifacts_size_refreshes, :last_job_artifact_id_on_refresh_start, :bigint, {:default=>0})3562main: -> 0.0029s3563main: == 20220519141345 AddJobArtifactIdOnRefreshStartToBuildArtifactsSizeRefresh: migrated (0.0033s) 3564main: == 20220520030504 DropIndexNamespacesOnName: migrating ========================3565main: -- transaction_open?()3566main: -> 0.0000s3567main: -- indexes(:namespaces)3568main: -> 0.0230s3569main: -- current_schema()3570main: -> 0.0008s3571main: == 20220520030504 DropIndexNamespacesOnName: migrated (0.0277s) ===============3572main: == 20220520040416 ScheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrating 3573main: == 20220520040416 ScheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrated (0.0002s) 3574main: == 20220520120637 AddInstallableConanPackagesIndexToPackages: migrating =======3575main: -- transaction_open?()3576main: -> 0.0000s3577main: -- 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})3578main: -> 0.0187s3579main: -- 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})3580main: -> 0.0029s3581main: == 20220520120637 AddInstallableConanPackagesIndexToPackages: migrated (0.0292s) 3582main: == 20220520122755 UnlockDelayedProjectRemoval: migrating ======================3583main: == 20220520122755 UnlockDelayedProjectRemoval: migrated (0.0002s) =============3584main: == 20220520143105 AddKeysRelationToSshSignatures: migrating ===================3585main: -- transaction_open?()3586main: -> 0.0000s3587main: -- foreign_keys(:ssh_signatures)3588main: -> 0.0050s3589main: -- transaction_open?()3590main: -> 0.0000s3591main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT fk_f177ea6aa5\nFOREIGN KEY (key_id)\nREFERENCES keys (id)\nON DELETE CASCADE\nNOT VALID;\n")3592main: -> 0.0014s3593main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT fk_f177ea6aa5;")3594main: -> 0.0015s3595main: == 20220520143105 AddKeysRelationToSshSignatures: migrated (0.0127s) ==========3596main: == 20220520144821 AddRegistryMigrationPreImportTagsRateToApplicationSettings: migrating 3597main: -- add_column(:application_settings, :container_registry_pre_import_tags_rate, :decimal, {:precision=>6, :scale=>2, :default=>0.5, :null=>false})3598main: -> 0.0041s3599main: == 20220520144821 AddRegistryMigrationPreImportTagsRateToApplicationSettings: migrated (0.0044s) 3600main: == 20220523030804 AddWebHookCallsMedAndMaxToPlanLimits: migrating =============3601main: -- add_column(:plan_limits, :web_hook_calls_mid, :integer, {:null=>false, :default=>0})3602main: -> 0.0029s3603main: -- add_column(:plan_limits, :web_hook_calls_low, :integer, {:null=>false, :default=>0})3604main: -> 0.0017s3605main: == 20220523030804 AddWebHookCallsMedAndMaxToPlanLimits: migrated (0.0050s) ====3606main: == 20220523030805 AddWebHookCallsToPlanLimitsPaidTiers: migrating =============3607main: == 20220523030805 AddWebHookCallsToPlanLimitsPaidTiers: migrated (0.0002s) ====3608main: == 20220523162734 AddVulnerabilityReadsCastedClusterAgentColumn: migrating ====3609main: -- add_column(:vulnerability_reads, :casted_cluster_agent_id, :bigint)3610main: -> 0.0013s3611main: == 20220523162734 AddVulnerabilityReadsCastedClusterAgentColumn: migrated (0.0016s) 3612main: == 20220523163734 UpdateVulnerabilityReadsTriggerFunctions: migrating =========3613main: -- 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")3614main: -> 0.0021s3615main: -- 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")3616main: -> 0.0012s3617main: == 20220523163734 UpdateVulnerabilityReadsTriggerFunctions: migrated (0.0037s) 3618main: == 20220523164734 AddForeignKeyToVulnerabilityReadsCastedClusterAgentId: migrating 3619main: -- transaction_open?()3620main: -> 0.0000s3621main: -- foreign_keys(:vulnerability_reads)3622main: -> 0.0061s3623main: -- transaction_open?()3624main: -> 0.0000s3625main: -- 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")3626main: -> 0.0016s3627main: -- execute("ALTER TABLE vulnerability_reads VALIDATE CONSTRAINT fk_aee839e611;")3628main: -> 0.0016s3629main: == 20220523164734 AddForeignKeyToVulnerabilityReadsCastedClusterAgentId: migrated (0.0145s) 3630main: == 20220523165734 AddIndexToVulnerabilityReadsCastedClusterAgentId: migrating =3631main: -- transaction_open?()3632main: -> 0.0000s3633main: -- index_exists?(:vulnerability_reads, :casted_cluster_agent_id, {:name=>"index_cis_vulnerability_reads_on_cluster_agent_id", :where=>"report_type = 7", :algorithm=>:concurrently})3634main: -> 0.0095s3635main: -- add_index(:vulnerability_reads, :casted_cluster_agent_id, {:name=>"index_cis_vulnerability_reads_on_cluster_agent_id", :where=>"report_type = 7", :algorithm=>:concurrently})3636main: -> 0.0018s3637main: == 20220523165734 AddIndexToVulnerabilityReadsCastedClusterAgentId: migrated (0.0172s) 3638main: == 20220523171107 DropDeployTokensTokenColumn: migrating ======================3639main: -- remove_column(:deploy_tokens, :token)3640main: -> 0.0017s3641main: == 20220523171107 DropDeployTokensTokenColumn: migrated (0.0020s) =============3642main: == 20220524021855 AddDeletedAtToTerraformStates: migrating ====================3643main: -- add_column(:terraform_states, :deleted_at, :datetime_with_timezone)3644main: -> 0.0013s3645main: == 20220524021855 AddDeletedAtToTerraformStates: migrated (0.0016s) ===========3646main: == 20220524074947 FinalizeBackfillNullNoteDiscussionIds: migrating ============3647main: == 20220524074947 FinalizeBackfillNullNoteDiscussionIds: migrated (0.0069s) ===3648main: == 20220524080944 CleanupOrphanedRoutes: migrating ============================3649main: == 20220524080944 CleanupOrphanedRoutes: migrated (0.0622s) ===================3650main: == 20220524081955 RemoveNotesNullDiscussionIdTempIndex: migrating =============3651main: -- transaction_open?()3652main: -> 0.0000s3653main: -- indexes(:notes)3654main: -> 0.0180s3655main: -- remove_index(:notes, {:algorithm=>:concurrently, :name=>"tmp_index_notes_on_id_where_discussion_id_is_null"})3656main: -> 0.0017s3657main: == 20220524081955 RemoveNotesNullDiscussionIdTempIndex: migrated (0.0252s) ====3658main: == 20220524132416 PrepareJobArtifactProjectIdIndex: migrating =================3659main: -- index_exists?(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3660main: -> 0.0160s3661main: -- add_index_options(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3662main: -> 0.0001s3663main: == 20220524132416 PrepareJobArtifactProjectIdIndex: migrated (0.0270s) ========3664main: == 20220524141800 CreateAuditEventsStreamingHeaders: migrating ================3665main: -- create_table(:audit_events_streaming_headers, {})3666main: -- quote_column_name(:key)3667main: -> 0.0000s3668main: -- quote_column_name(:value)3669main: -> 0.0000s3670main: -> 0.0087s3671main: == 20220524141800 CreateAuditEventsStreamingHeaders: migrated (0.0090s) =======3672main: == 20220524164122 LimitProjectAndGroupVariables: migrating ====================3673main: -- add_column(:plan_limits, :project_ci_variables, :integer, {:default=>200, :null=>false})3674main: -> 0.0033s3675main: -- add_column(:plan_limits, :group_ci_variables, :integer, {:default=>200, :null=>false})3676main: -> 0.0020s3677main: == 20220524164122 LimitProjectAndGroupVariables: migrated (0.0058s) ===========3678main: == 20220524184149 CreateSyncProjectNamespaceDetailsTrigger: migrating =========3679main: -- execute("CREATE OR REPLACE FUNCTION update_namespace_details_from_projects()\nRETURNS TRIGGER AS\n$$\nBEGIN\nINSERT INTO\n namespace_details (\n description,\n description_html,\n cached_markdown_version,\n updated_at,\n created_at,\n namespace_id\n )\nVALUES\n (\n NEW.description,\n NEW.description_html,\n NEW.cached_markdown_version,\n NEW.updated_at,\n NEW.updated_at,\n NEW.project_namespace_id\n ) ON CONFLICT (namespace_id) DO\nUPDATE\nSET\n description = NEW.description,\n description_html = NEW.description_html,\n cached_markdown_version = NEW.cached_markdown_version,\n updated_at = NEW.updated_at\nWHERE\n namespace_details.namespace_id = NEW.project_namespace_id;RETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n")3680main: -> 0.0015s3681main: -- execute("CREATE TRIGGER trigger_update_details_on_project_update\nAFTER UPDATE ON projects\nFOR EACH ROW\nWHEN (\n OLD.description IS DISTINCT FROM NEW.description OR\n OLD.description_html IS DISTINCT FROM NEW.description_html OR\n OLD.cached_markdown_version IS DISTINCT FROM NEW.cached_markdown_version\n)\nEXECUTE PROCEDURE update_namespace_details_from_projects();\n")3682main: -> 0.0016s3683main: -- execute("CREATE TRIGGER trigger_update_details_on_project_insert\nAFTER INSERT ON projects\nFOR EACH ROW\nEXECUTE PROCEDURE update_namespace_details_from_projects();\n")3684main: -> 0.0016s3685main: == 20220524184149 CreateSyncProjectNamespaceDetailsTrigger: migrated (0.0054s) 3686main: == 20220524191259 AddApplicationSettingsContainerRegistryPreImportTagsRateConstraint: migrating 3687main: -- transaction_open?()3688main: -> 0.0000s3689main: -- current_schema()3690main: -> 0.0007s3691main: -- transaction_open?()3692main: -> 0.0000s3693main: -- 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")3694main: -> 0.0024s3695main: -- current_schema()3696main: -> 0.0008s3697main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_container_registry_pre_import_tags_rate_positive;")3698main: -> 0.0019s3699main: == 20220524191259 AddApplicationSettingsContainerRegistryPreImportTagsRateConstraint: migrated (0.0172s) 3700main: == 20220524202158 DropIndexOnDeploymentsOnCreatedAtClusterIdAndProjectId: migrating 3701main: -- transaction_open?()3702main: -> 0.0000s3703main: -- indexes(:deployments)3704main: -> 0.0326s3705main: -- remove_index(:deployments, {:algorithm=>:concurrently, :name=>"tp_index_created_at_cluster_id_project_id_on_deployments"})3706main: -> 0.0017s3707main: == 20220524202158 DropIndexOnDeploymentsOnCreatedAtClusterIdAndProjectId: migrated (0.0397s) 3708main: == 20220525082303 CreateIssuableResourceLinks: migrating ======================3709main: -- create_table(:issuable_resource_links, {})3710main: -- quote_column_name(:link_text)3711main: -> 0.0000s3712main: -- quote_column_name(:link)3713main: -> 0.0000s3714main: -> 0.0079s3715main: == 20220525082303 CreateIssuableResourceLinks: migrated (0.0082s) =============3716main: == 20220525084153 AddSentryProjectIdToProjectErrorTrackingSettings: migrating =3717main: -- add_column(:project_error_tracking_settings, :sentry_project_id, :bigint)3718main: -> 0.0023s3719main: == 20220525084153 AddSentryProjectIdToProjectErrorTrackingSettings: migrated (0.0025s) 3720main: == 20220525123825 AddRawToCiPipelineVariables: migrating ======================3721main: -- add_column(:ci_pipeline_variables, :raw, :boolean, {:null=>false, :default=>true})3722main: -> 0.0024s3723main: == 20220525123825 AddRawToCiPipelineVariables: migrated (0.0027s) =============3724main: == 20220525123851 AddRawToCiGroupVariables: migrating =========================3725main: -- add_column(:ci_group_variables, :raw, :boolean, {:null=>false, :default=>true})3726main: -> 0.0030s3727main: == 20220525123851 AddRawToCiGroupVariables: migrated (0.0033s) ================3728main: == 20220525123914 AddRawToCiInstanceVariables: migrating ======================3729main: -- add_column(:ci_instance_variables, :raw, :boolean, {:null=>false, :default=>true})3730main: -> 0.0026s3731main: == 20220525123914 AddRawToCiInstanceVariables: migrated (0.0034s) =============3732main: == 20220525123940 AddRawToCiJobVariables: migrating ===========================3733main: -- add_column(:ci_job_variables, :raw, :boolean, {:null=>false, :default=>true})3734main: -> 0.0030s3735main: == 20220525123940 AddRawToCiJobVariables: migrated (0.0032s) ==================3736main: == 20220525124104 AddRawToCiPipelineScheduleVariables: migrating ==============3737main: -- add_column(:ci_pipeline_schedule_variables, :raw, :boolean, {:null=>false, :default=>true})3738main: -> 0.0029s3739main: == 20220525124104 AddRawToCiPipelineScheduleVariables: migrated (0.0033s) =====3740main: == 20220525124125 AddRawToCiVariables: migrating ==============================3741main: -- add_column(:ci_variables, :raw, :boolean, {:null=>false, :default=>true})3742main: -> 0.0026s3743main: == 20220525124125 AddRawToCiVariables: migrated (0.0029s) =====================3744main: == 20220525131557 CleanupBackfillIntegrationsEnableSslVerification: migrating =3745main: -- transaction_open?()3746main: -> 0.0000s3747main: == 20220525131557 CleanupBackfillIntegrationsEnableSslVerification: migrated (0.0122s) 3748main: == 20220525131624 DropTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrating 3749main: -- transaction_open?()3750main: -> 0.0000s3751main: -- indexes(:integrations)3752main: -> 0.0204s3753main: -- remove_index(:integrations, {:algorithm=>:concurrently, :name=>"tmp_index_integrations_on_id_where_type_droneci_or_teamcity"})3754main: -> 0.0031s3755main: == 20220525131624 DropTemporaryIndexForBackfillIntegrationsEnableSslVerification: migrated (0.0298s) 3756main: == 20220525141540 MigrateProjectServiceWorkerQueue: migrating =================3757main: == 20220525141540 MigrateProjectServiceWorkerQueue: migrated (0.0006s) ========3758main: == 20220525165334 MigrateIrkerWorkerQueue: migrating ==========================3759main: == 20220525165334 MigrateIrkerWorkerQueue: migrated (0.0010s) =================3760main: == 20220525172001 MigrateClusterIntegrationWorkerQueues: migrating ============3761main: == 20220525172001 MigrateClusterIntegrationWorkerQueues: migrated (0.0008s) ===3762main: == 20220525201022 AddTemporaryIndexForVulnerabilityReadsClusterAgentIdMigration: migrating 3763main: -- transaction_open?()3764main: -> 0.0000s3765main: -- index_exists?(:vulnerability_reads, :id, {:name=>"tmp_index_cis_vulnerability_reads_on_id", :where=>"report_type = 7", :algorithm=>:concurrently})3766main: -> 0.0190s3767main: -- add_index(:vulnerability_reads, :id, {:name=>"tmp_index_cis_vulnerability_reads_on_id", :where=>"report_type = 7", :algorithm=>:concurrently})3768main: -> 0.0017s3769main: == 20220525201022 AddTemporaryIndexForVulnerabilityReadsClusterAgentIdMigration: migrated (0.0309s) 3770main: == 20220525221133 ScheduleBackfillVulnerabilityReadsClusterAgent: migrating ===3771main: == 20220525221133 ScheduleBackfillVulnerabilityReadsClusterAgent: migrated (0.0878s) 3772main: == 20220526042017 RemoveGeoLfsObjectDeletedEventReferences: migrating =========3773main: -- transaction_open?()3774main: -> 0.0000s3775main: -- remove_column(:geo_event_log, :lfs_object_deleted_event_id, :bigint)3776main: -> 0.0027s3777main: == 20220526042017 RemoveGeoLfsObjectDeletedEventReferences: migrated (0.0101s) 3778main: == 20220526044516 RemoveGeoLfsObjectDeletedEventsTable: migrating =============3779main: -- drop_table(:geo_lfs_object_deleted_events)3780main: -> 0.0033s3781main: == 20220526044516 RemoveGeoLfsObjectDeletedEventsTable: migrated (0.0036s) ====3782main: == 20220530044712 AddIndexForVulnerabilityReadsLocationImage: migrating =======3783main: -- transaction_open?()3784main: -> 0.0000s3785main: -- 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})3786main: -> 0.0167s3787main: -- 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})3788main: -> 0.0023s3789main: == 20220530044712 AddIndexForVulnerabilityReadsLocationImage: migrated (0.0267s) 3790main: == 20220530074027 AddProjectIdIndexToJobArtifacts: migrating ==================3791main: -- transaction_open?()3792main: -> 0.0000s3793main: -- index_exists?(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3794main: -> 0.0272s3795main: -- add_index(:ci_job_artifacts, [:project_id, :id], {:name=>"index_ci_job_artifacts_on_project_id_and_id", :algorithm=>:concurrently})3796main: -> 0.0031s3797main: == 20220530074027 AddProjectIdIndexToJobArtifacts: migrated (0.0420s) =========3798main: == 20220530082653 AddTraversalIdTypeGroupIndex: migrating =====================3799main: -- transaction_open?()3800main: -> 0.0000s3801main: -- index_exists?(:namespaces, :traversal_ids, {:using=>:btree, :where=>"type='Group'", :name=>"index_namespaces_on_traversal_ids_for_groups_btree", :algorithm=>:concurrently})3802main: -> 0.0251s3803main: -- add_index(:namespaces, :traversal_ids, {:using=>:btree, :where=>"type='Group'", :name=>"index_namespaces_on_traversal_ids_for_groups_btree", :algorithm=>:concurrently})3804main: -> 0.0027s3805main: == 20220530082653 AddTraversalIdTypeGroupIndex: migrated (0.0338s) ============3806main: == 20220530103023 AddCreatedAtAndIdIndexToDeploymentApprovals: migrating ======3807main: -- transaction_open?()3808main: -> 0.0000s3809main: -- index_exists?(:deployment_approvals, [:created_at, :id], {:name=>"index_deployment_approvals_on_created_at_and_id", :algorithm=>:concurrently})3810main: -> 0.0060s3811main: -- add_index(:deployment_approvals, [:created_at, :id], {:name=>"index_deployment_approvals_on_created_at_and_id", :algorithm=>:concurrently})3812main: -> 0.0016s3813main: == 20220530103023 AddCreatedAtAndIdIndexToDeploymentApprovals: migrated (0.0151s) 3814main: == 20220530104431 AddTimestampsToComplianceFrameworks: migrating ==============3815main: -- add_column(:compliance_management_frameworks, :created_at, :datetime_with_timezone, {:null=>true})3816main: -> 0.0033s3817main: -- add_column(:compliance_management_frameworks, :updated_at, :datetime_with_timezone, {:null=>true})3818main: -> 0.0021s3819main: == 20220530104431 AddTimestampsToComplianceFrameworks: migrated (0.0058s) =====3820main: == 20220530170915 AddIndexForVulnerabilityStateTransition: migrating ==========3821main: -- transaction_open?()3822main: -> 0.0000s3823main: -- index_exists?(:vulnerability_state_transitions, [:vulnerability_id, :id], {:name=>"index_vulnerability_state_transitions_id_and_vulnerability_id", :algorithm=>:concurrently})3824main: -> 0.0054s3825main: -- add_index(:vulnerability_state_transitions, [:vulnerability_id, :id], {:name=>"index_vulnerability_state_transitions_id_and_vulnerability_id", :algorithm=>:concurrently})3826main: -> 0.0018s3827main: -- transaction_open?()3828main: -> 0.0000s3829main: -- indexes(:vulnerability_state_transitions)3830main: -> 0.0063s3831main: -- remove_index(:vulnerability_state_transitions, {:algorithm=>:concurrently, :name=>"index_vulnerability_state_transitions_on_vulnerability_id"})3832main: -> 0.0023s3833main: == 20220530170915 AddIndexForVulnerabilityStateTransition: migrated (0.0287s) =3834main: == 20220531024142 TrackClustersDeletions: migrating ===========================3835main: -- 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")3836main: -> 0.0018s3837main: == 20220531024142 TrackClustersDeletions: migrated (0.0021s) ==================3838main: == 20220531024143 RemoveClustersDeploymentsClusterIdFk: migrating =============3839main: -- transaction_open?()3840main: -> 0.0000s3841main: -- foreign_keys(:deployments)3842main: -> 0.0068s3843main: -- transaction_open?()3844main: -> 0.0000s3845main: -- execute("LOCK TABLE clusters, deployments IN ACCESS EXCLUSIVE MODE")3846main: -> 0.0016s3847main: -- remove_foreign_key(:deployments, :clusters, {:name=>"fk_289bba3222"})3848main: -> 0.0090s3849main: == 20220531024143 RemoveClustersDeploymentsClusterIdFk: migrated (0.0232s) ====3850main: == 20220531024905 AddOperationsAccessLevelsToProjectFeature: migrating ========3851main: -- add_column(:project_features, :monitor_access_level, :integer, {:null=>false, :default=>20})3852main: -> 0.0031s3853main: -- add_column(:project_features, :infrastructure_access_level, :integer, {:null=>false, :default=>20})3854main: -> 0.0028s3855main: -- add_column(:project_features, :feature_flags_access_level, :integer, {:null=>false, :default=>20})3856main: -> 0.0029s3857main: -- add_column(:project_features, :environments_access_level, :integer, {:null=>false, :default=>20})3858main: -> 0.0026s3859main: -- add_column(:project_features, :releases_access_level, :integer, {:null=>false, :default=>20})3860main: -> 0.0023s3861main: == 20220531024905 AddOperationsAccessLevelsToProjectFeature: migrated (0.0145s) 3862main: == 20220531035113 PopulateOperationVisibilityPermissions: migrating ===========3863main: == 20220531035113 PopulateOperationVisibilityPermissions: migrated (0.0738s) ==3864main: == 20220531100920 AddLicenseUsageDataExportedToApplicationSettings: migrating =3865main: -- add_column(:application_settings, :license_usage_data_exported, :boolean, {:default=>false, :null=>false})3866main: -> 0.0040s3867main: == 20220531100920 AddLicenseUsageDataExportedToApplicationSettings: migrated (0.0043s) 3868main: == 20220531140515 AddAppliesToAllProtectedBranchesToApprovalProjectRule: migrating 3869main: -- add_column(:approval_project_rules, :applies_to_all_protected_branches, :boolean, {:default=>false, :null=>false})3870main: -> 0.0044s3871main: == 20220531140515 AddAppliesToAllProtectedBranchesToApprovalProjectRule: migrated (0.0048s) 3872main: == 20220531233600 RemoveSseUsageDataFromRedis: migrating ======================3873main: == 20220531233600 RemoveSseUsageDataFromRedis: migrated (0.0022s) =============3874main: == 20220601040233 FinalizeBackfillIssueSearchData: migrating ==================3875main: == 20220601040233 FinalizeBackfillIssueSearchData: migrated (0.0509s) =========3876main: == 20220601091804 AddSemverColumnToCiRunners: migrating =======================3877main: -- add_column(:ci_runners, :semver, :text, {:null=>true})3878main: -> 0.0029s3879main: == 20220601091804 AddSemverColumnToCiRunners: migrated (0.0033s) ==============3880main: == 20220601091805 AddTextLimitToCiRunnersSemver: migrating ====================3881main: -- transaction_open?()3882main: -> 0.0000s3883main: -- current_schema()3884main: -> 0.0007s3885main: -- transaction_open?()3886main: -> 0.0000s3887main: -- execute("ALTER TABLE ci_runners\nADD CONSTRAINT check_a4f24953fd\nCHECK ( char_length(semver) <= 16 )\nNOT VALID;\n")3888main: -> 0.0012s3889main: -- current_schema()3890main: -> 0.0005s3891main: -- execute("ALTER TABLE ci_runners VALIDATE CONSTRAINT check_a4f24953fd;")3892main: -> 0.0011s3893main: == 20220601091805 AddTextLimitToCiRunnersSemver: migrated (0.0164s) ===========3894main: == 20220601101800 AddIndexOnRunnerIdAndSemverColumns: migrating ===============3895main: -- transaction_open?()3896main: -> 0.0000s3897main: -- index_exists?(:ci_runners, "id, (semver::cidr)", {:name=>"index_ci_runners_on_id_and_semver_cidr", :algorithm=>:concurrently})3898main: -> 0.0220s3899main: -- add_index(:ci_runners, "id, (semver::cidr)", {:name=>"index_ci_runners_on_id_and_semver_cidr", :algorithm=>:concurrently})3900main: -> 0.0030s3901main: == 20220601101800 AddIndexOnRunnerIdAndSemverColumns: migrated (0.0323s) ======3902main: == 20220601110011 ScheduleRemoveSelfManagedWikiNotes: migrating ===============3903main: == 20220601110011 ScheduleRemoveSelfManagedWikiNotes: migrated (0.0716s) ======3904main: == 20220601151900 ScheduleBackfillCiRunnerSemver: migrating ===================3905main: == 20220601151900 ScheduleBackfillCiRunnerSemver: migrated (0.0002s) ==========3906main: == 20220601152916 AddUserIdAndIpAddressSuccessIndexToAuthenticationEvents: migrating 3907main: -- transaction_open?()3908main: -> 0.0001s3909main: -- index_exists?(:authentication_events, [:user_id, :ip_address, :result], {:name=>"index_authentication_events_on_user_and_ip_address_and_result", :algorithm=>:concurrently})3910main: -> 0.0082s3911main: -- add_index(:authentication_events, [:user_id, :ip_address, :result], {:name=>"index_authentication_events_on_user_and_ip_address_and_result", :algorithm=>:concurrently})3912main: -> 0.0028s3913main: -- transaction_open?()3914main: -> 0.0000s3915main: -- indexes(:authentication_events)3916main: -> 0.0089s3917main: -- remove_index(:authentication_events, {:algorithm=>:concurrently, :name=>"index_authentication_events_on_user_id"})3918main: -> 0.0016s3919main: == 20220601152916 AddUserIdAndIpAddressSuccessIndexToAuthenticationEvents: migrated (0.0338s) 3920main: == 20220601223501 AddVulnerabilityRelatedColumns: migrating ===================3921main: -- add_column(:approval_merge_request_rules, :vulnerabilities_allowed, :integer, {:limit=>2, :null=>false, :default=>0})3922main: -> 0.0036s3923main: -- add_column(:approval_merge_request_rules, :scanners, :text, {:array=>true, :null=>false, :default=>[]})3924main: -> 0.0027s3925main: -- add_column(:approval_merge_request_rules, :severity_levels, :text, {:array=>true, :null=>false, :default=>[]})3926main: -> 0.0025s3927main: -- add_column(:approval_merge_request_rules, :vulnerability_states, :text, {:array=>true, :null=>false, :default=>["newly_detected"]})3928main: -> 0.0030s3929main: == 20220601223501 AddVulnerabilityRelatedColumns: migrated (0.0125s) ==========3930main: == 20220602070502 QueueBackfillProjectFeaturePackageRegistryAccessLevel: migrating 3931main: == 20220602070502 QueueBackfillProjectFeaturePackageRegistryAccessLevel: migrated (0.0729s) 3932main: == 20220602111923 PrepareIndexForOpenIssuesCount: migrating ===================3933main: -- index_exists?(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})3934main: -> 0.0456s3935main: -- add_index_options(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})3936main: -> 0.0001s3937main: == 20220602111923 PrepareIndexForOpenIssuesCount: migrated (0.0608s) ==========3938main: == 20220602130306 AddNamespaceTypeIndex: migrating ============================3939main: -- transaction_open?()3940main: -> 0.0000s3941main: -- index_exists?(:namespaces, [:parent_id, :id], {:where=>"type = 'Group'", :name=>"index_groups_on_parent_id_id", :algorithm=>:concurrently})3942main: -> 0.0344s3943main: -- add_index(:namespaces, [:parent_id, :id], {:where=>"type = 'Group'", :name=>"index_groups_on_parent_id_id", :algorithm=>:concurrently})3944main: -> 0.0026s3945main: == 20220602130306 AddNamespaceTypeIndex: migrated (0.0456s) ===================3946main: == 20220603095158 DropCiBuildReportResultsBuildIdSequence: migrating ==========3947main: -- quote_table_name(:ci_build_report_results)3948main: -> 0.0001s3949main: -- quote_column_name(:build_id)3950main: -> 0.0001s3951main: -- quote_table_name(:ci_build_report_results_build_id_seq)3952main: -> 0.0001s3953main: -- 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")3954main: -> 0.0023s3955main: == 20220603095158 DropCiBuildReportResultsBuildIdSequence: migrated (0.0033s) =3956main: == 20220603173103 UpdateVulnerabilitiesProjectIdIdIndex: migrating ============3957main: -- transaction_open?()3958main: -> 0.0000s3959main: -- 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})3960main: -> 0.0224s3961main: -- 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})3962main: -> 0.0036s3963main: -- transaction_open?()3964main: -> 0.0000s3965main: -- indexes(:vulnerabilities)3966main: -> 0.0322s3967main: -- remove_index(:vulnerabilities, {:algorithm=>:concurrently, :name=>"idx_vulnerabilities_partial_devops_adoption"})3968main: -> 0.0024s3969main: == 20220603173103 UpdateVulnerabilitiesProjectIdIdIndex: migrated (0.0738s) ===3970main: == 20220605170009 AddUrlVarsToWebHook: migrating ==============================3971main: -- add_column(:web_hooks, :encrypted_url_variables, :binary)3972main: -> 0.0033s3973main: -- add_column(:web_hooks, :encrypted_url_variables_iv, :binary)3974main: -> 0.0011s3975main: == 20220605170009 AddUrlVarsToWebHook: migrated (0.0049s) =====================3976main: == 20220606060825 SetOnDeleteCascadeOnNamespaceIdOnRoutesTable: migrating =====3977main: -- transaction_open?()3978main: -> 0.0000s3979main: -- foreign_keys(:routes)3980main: -> 0.0069s3981main: -- transaction_open?()3982main: -> 0.0000s3983main: -- execute("ALTER TABLE routes\nADD CONSTRAINT fk_bb2e5b8968\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")3984main: -> 0.0021s3985main: -- execute("ALTER TABLE routes VALIDATE CONSTRAINT fk_bb2e5b8968;")3986main: -> 0.0018s3987main: -- transaction_open?()3988main: -> 0.0000s3989main: -- foreign_keys(:routes)3990main: -> 0.0075s3991main: -- remove_foreign_key(:routes, {:column=>:namespace_id, :name=>"fk_679ff8213d"})3992main: -> 0.0083s3993main: == 20220606060825 SetOnDeleteCascadeOnNamespaceIdOnRoutesTable: migrated (0.0429s) 3994main: == 20220606060850 AddNotNullConstraintOnRoutesNamespaceId: migrating ==========3995main: -- current_schema()3996main: -> 0.0007s3997main: -- transaction_open?()3998main: -> 0.0000s3999main: -- current_schema()4000main: -> 0.0006s4001main: -- transaction_open?()4002main: -> 0.0000s4003main: -- execute("ALTER TABLE routes\nADD CONSTRAINT check_af84c6c93f\nCHECK ( namespace_id IS NOT NULL )\nNOT VALID;\n")4004main: -> 0.0030s4005main: == 20220606060850 AddNotNullConstraintOnRoutesNamespaceId: migrated (0.0193s) =4006main: == 20220606082910 AddTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrating 4007main: -- 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})4008main: -> 0.0159s4009main: -- 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})4010main: -> 0.0001s4011main: == 20220606082910 AddTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrated (0.0331s) 4012main: == 20220607011733 AddPhoneVerificationCodeEnabledToApplicationSettings: migrating 4013main: -- add_column(:application_settings, :phone_verification_code_enabled, :boolean, {:null=>false, :default=>false, :comment=>"JiHu-specific column"})4014main: -> 0.0080s4015main: == 20220607011733 AddPhoneVerificationCodeEnabledToApplicationSettings: migrated (0.0084s) 4016main: == 20220607082910 AddSyncTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrating 4017main: -- transaction_open?()4018main: -> 0.0000s4019main: -- 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})4020main: -> 0.0163s4021main: -- 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})4022main: -> 0.0020s4023main: == 20220607082910 AddSyncTmpIndexForPotentiallyMisassociatedVulnerabilityOccurrences: migrated (0.0315s) 4024main: == 20220607095219 DropCiPipelinesConfigPipelineIdSequence: migrating ==========4025main: -- quote_table_name(:ci_pipelines_config)4026main: -> 0.0001s4027main: -- quote_column_name(:pipeline_id)4028main: -> 0.0000s4029main: -- quote_table_name(:ci_pipelines_config_pipeline_id_seq)4030main: -> 0.0000s4031main: -- execute("ALTER TABLE \"ci_pipelines_config\" ALTER COLUMN \"pipeline_id\" DROP DEFAULT;\nDROP SEQUENCE IF EXISTS \"ci_pipelines_config_pipeline_id_seq\"\n")4032main: -> 0.0013s4033main: == 20220607095219 DropCiPipelinesConfigPipelineIdSequence: migrated (0.0019s) =4034main: == 20220607115703 DropCiJobArtifactStatesJobArtifactIdSequence: migrating =====4035main: -- quote_table_name(:ci_job_artifact_states)4036main: -> 0.0000s4037main: -- quote_column_name(:job_artifact_id)4038main: -> 0.0000s4039main: -- quote_table_name(:ci_job_artifact_states_job_artifact_id_seq)4040main: -> 0.0000s4041main: -- 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")4042main: -> 0.0033s4043main: == 20220607115703 DropCiJobArtifactStatesJobArtifactIdSequence: migrated (0.0037s) 4044main: == 20220607140222 RemoveInvalidIntegrations: migrating ========================4045main: == 20220607140222 RemoveInvalidIntegrations: migrated (0.0076s) ===============4046main: == 20220608074738 AddMaxRepositoryDownloadsLimitToApplicationSettings: migrating 4047main: -- add_column(:application_settings, :max_number_of_repository_downloads, :smallint, {:default=>0, :null=>false})4048main: -> 0.0077s4049main: -- add_column(:application_settings, :max_number_of_repository_downloads_within_time_period, :integer, {:default=>0, :null=>false})4050main: -> 0.0899s4051main: == 20220608074738 AddMaxRepositoryDownloadsLimitToApplicationSettings: migrated (0.0980s) 4052main: == 20220608114734 PrepareConfidentialNoteIndexOnId: migrating =================4053main: -- index_exists?(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4054main: -> 0.0118s4055main: -- add_index_options(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4056main: -> 0.0001s4057main: == 20220608114734 PrepareConfidentialNoteIndexOnId: migrated (0.0206s) ========4058main: == 20220609150626 AddPartialIndexOnSlackIntegrationsWithBotUserId: migrating ==4059main: -- transaction_open?()4060main: -> 0.0000s4061main: -- index_exists?(:slack_integrations, :id, {:name=>"partial_index_slack_integrations_with_bot_user_id", :where=>"bot_user_id IS NOT NULL", :algorithm=>:concurrently})4062main: -> 0.0044s4063main: -- add_index(:slack_integrations, :id, {:name=>"partial_index_slack_integrations_with_bot_user_id", :where=>"bot_user_id IS NOT NULL", :algorithm=>:concurrently})4064main: -> 0.0019s4065main: == 20220609150626 AddPartialIndexOnSlackIntegrationsWithBotUserId: migrated (0.0114s) 4066main: == 20220609195803 RemoveDeploymentClustersClusterIdFk: migrating ==============4067main: -- transaction_open?()4068main: -> 0.0000s4069main: -- foreign_keys(:deployment_clusters)4070main: -> 0.0046s4071main: -- transaction_open?()4072main: -> 0.0000s4073main: -- execute("LOCK TABLE clusters, deployment_clusters IN ACCESS EXCLUSIVE MODE")4074main: -> 0.0010s4075main: -- remove_foreign_key(:deployment_clusters, :clusters, {:name=>"fk_rails_4e6243e120"})4076main: -> 0.0061s4077main: == 20220609195803 RemoveDeploymentClustersClusterIdFk: migrated (0.0161s) =====4078main: == 20220610074326 AddEpicIssueWeight: migrating ===============================4079main: -- add_column(:epics, :total_opened_issue_weight, :integer, {:default=>0, :null=>false})4080main: -> 0.0029s4081main: -- add_column(:epics, :total_closed_issue_weight, :integer, {:default=>0, :null=>false})4082main: -> 0.0018s4083main: -- add_column(:epics, :total_opened_issue_count, :integer, {:default=>0, :null=>false})4084main: -> 0.0016s4085main: -- add_column(:epics, :total_closed_issue_count, :integer, {:default=>0, :null=>false})4086main: -> 0.0016s4087main: == 20220610074326 AddEpicIssueWeight: migrated (0.0086s) ======================4088main: == 20220610125248 AddEnabledGitAccessProtocolToNamespaceSettings: migrating ===4089main: -- add_column(:namespace_settings, :enabled_git_access_protocol, :integer, {:default=>0, :null=>false, :limit=>2})4090main: -> 0.0026s4091main: == 20220610125248 AddEnabledGitAccessProtocolToNamespaceSettings: migrated (0.0029s) 4092main: == 20220610140605 ChangePublicProjectsCostFactor: migrating ===================4093main: == 20220610140605 ChangePublicProjectsCostFactor: migrated (0.0002s) ==========4094main: == 20220610223040 AddIndexOnAvailablePypiPackages: migrating ==================4095main: -- transaction_open?()4096main: -> 0.0000s4097main: -- 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})4098main: -> 0.0164s4099main: -- 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})4100main: -> 0.0020s4101main: == 20220610223040 AddIndexOnAvailablePypiPackages: migrated (0.0233s) =========4102main: == 20220613054349 AddUniqueProjectDownloadLimitSettingsToNamespaceSettings: migrating 4103main: -- add_column(:namespace_settings, :unique_project_download_limit, :smallint, {:default=>0, :null=>false})4104main: -> 0.0023s4105main: -- add_column(:namespace_settings, :unique_project_download_limit_interval_in_seconds, :integer, {:default=>0, :null=>false})4106main: -> 0.0017s4107main: == 20220613054349 AddUniqueProjectDownloadLimitSettingsToNamespaceSettings: migrated (0.0044s) 4108main: == 20220613095911 CreateConfidentialNotesIndexOnId: migrating =================4109main: -- transaction_open?()4110main: -> 0.0000s4111main: -- indexes(:notes)4112main: -> 0.0123s4113main: -- remove_index(:notes, {:algorithm=>:concurrently, :name=>"index_notes_on_confidential"})4114main: -> 0.0015s4115main: -- transaction_open?()4116main: -> 0.0000s4117main: -- index_exists?(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4118main: -> 0.0113s4119main: -- add_index(:notes, :id, {:where=>"confidential = true", :name=>"index_notes_on_id_where_confidential", :algorithm=>:concurrently})4120main: -> 0.0017s4121main: == 20220613095911 CreateConfidentialNotesIndexOnId: migrated (0.0390s) ========4122main: == 20220614095912 AddHasVulnerabilitiesToClusterAgents: migrating =============4123main: -- add_column(:cluster_agents, :has_vulnerabilities, :boolean, {:default=>false, :null=>false})4124main: -> 0.0018s4125main: == 20220614095912 AddHasVulnerabilitiesToClusterAgents: migrated (0.0020s) ====4126main: == 20220614120415 AddToggleOptInJwt: migrating ================================4127main: -- add_column(:project_ci_cd_settings, :opt_in_jwt, :boolean, {:default=>false, :null=>false})4128main: -> 0.0025s4129main: == 20220614120415 AddToggleOptInJwt: migrated (0.0027s) =======================4130main: == 20220614185644 UpdateIndexVulnerabilitiesProjectIdId: migrating ============4131main: -- transaction_open?()4132main: -> 0.0000s4133main: -- index_exists?(:vulnerabilities, [:project_id, :id], {:where=>"present_on_default_branch IS TRUE", :name=>"index_vulnerabilities_project_id_and_id_on_default_branch", :algorithm=>:concurrently})4134main: -> 0.0159s4135main: -- add_index(:vulnerabilities, [:project_id, :id], {:where=>"present_on_default_branch IS TRUE", :name=>"index_vulnerabilities_project_id_and_id_on_default_branch", :algorithm=>:concurrently})4136main: -> 0.0019s4137main: -- transaction_open?()4138main: -> 0.0000s4139main: -- indexes(:vulnerabilities)4140main: -> 0.0156s4141main: -- remove_index(:vulnerabilities, {:algorithm=>:concurrently, :name=>"index_vulnerabilities_on_project_id_and_id"})4142main: -> 0.0015s4143main: == 20220614185644 UpdateIndexVulnerabilitiesProjectIdId: migrated (0.0442s) ===4144main: == 20220615091059 AddCreatedAtIndexToComplianceManagementFrameworks: migrating 4145main: -- transaction_open?()4146main: -> 0.0000s4147main: -- index_exists?(:compliance_management_frameworks, [:id, :created_at, :pipeline_configuration_full_path], {:name=>"i_compliance_frameworks_on_id_and_created_at", :algorithm=>:concurrently})4148main: -> 0.0049s4149main: -- add_index(:compliance_management_frameworks, [:id, :created_at, :pipeline_configuration_full_path], {:name=>"i_compliance_frameworks_on_id_and_created_at", :algorithm=>:concurrently})4150main: -> 0.0017s4151main: == 20220615091059 AddCreatedAtIndexToComplianceManagementFrameworks: migrated (0.0124s) 4152main: == 20220615105811 AddIndexOnClustersAgentProjectIdAndHasVulnerabilitiesColumns: migrating 4153main: -- transaction_open?()4154main: -> 0.0000s4155main: -- index_exists?(:cluster_agents, [:project_id, :has_vulnerabilities], {:name=>"index_cluster_agents_on_project_id_and_has_vulnerabilities", :algorithm=>:concurrently})4156main: -> 0.0046s4157main: -- add_index(:cluster_agents, [:project_id, :has_vulnerabilities], {:name=>"index_cluster_agents_on_project_id_and_has_vulnerabilities", :algorithm=>:concurrently})4158main: -> 0.0017s4159main: == 20220615105811 AddIndexOnClustersAgentProjectIdAndHasVulnerabilitiesColumns: migrated (0.0113s) 4160main: == 20220616092541 PrepareIndexIssuesOnProjectIdAndClosedAt: migrating =========4161main: -- 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})4162main: -> 0.0280s4163main: -- 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})4164main: -> 0.0001s4165main: -- index_exists?(:issues, [:project_id, :closed_at, :state_id, :id], {:name=>"index_issues_on_project_id_closed_at_state_id_and_id", :algorithm=>:concurrently})4166main: -> 0.0279s4167main: -- 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})4168main: -> 0.0001s4169main: == 20220616092541 PrepareIndexIssuesOnProjectIdAndClosedAt: migrated (0.0730s) 4170main: == 20220616171355 UpdateVulnerabilitiesProjectIdIdActiveCisIndex: migrating ===4171main: -- transaction_open?()4172main: -> 0.0000s4173main: -- index_exists?(:vulnerabilities, [:project_id, :id], {:where=>"report_type = 7 AND state = ANY(ARRAY[1, 4]) AND present_on_default_branch IS TRUE", :name=>"idx_vulnerabilities_on_project_id_and_id_active_cis_dft_branch", :algorithm=>:concurrently})4174main: -> 0.0197s4175main: -- add_index(:vulnerabilities, [:project_id, :id], {:where=>"report_type = 7 AND state = ANY(ARRAY[1, 4]) AND present_on_default_branch IS TRUE", :name=>"idx_vulnerabilities_on_project_id_and_id_active_cis_dft_branch", :algorithm=>:concurrently})4176main: -> 0.0025s4177main: -- transaction_open?()4178main: -> 0.0000s4179main: -- indexes(:vulnerabilities)4180main: -> 0.0184s4181main: -- remove_index(:vulnerabilities, {:algorithm=>:concurrently, :name=>"index_vulnerabilities_on_project_id_and_id_active_cis"})4182main: -> 0.0018s4183main: == 20220616171355 UpdateVulnerabilitiesProjectIdIdActiveCisIndex: migrated (0.0534s) 4184main: == 20220616182001 CreateSbomComponents: migrating =============================4185main: -- create_table(:sbom_components, {})4186main: -- quote_column_name(:name)4187main: -> 0.0000s4188main: -> 0.0051s4189main: == 20220616182001 CreateSbomComponents: migrated (0.0054s) ====================4190main: == 20220616182015 CreateSbomComponentVersions: migrating ======================4191main: -- create_table(:sbom_component_versions, {})4192main: -- quote_column_name(:version)4193main: -> 0.0001s4194main: -> 0.0070s4195main: == 20220616182015 CreateSbomComponentVersions: migrated (0.0074s) =============4196main: == 20220616182016 CreateSbomSources: migrating ================================4197main: -- create_table(:sbom_sources, {})4198main: -> 0.0056s4199main: == 20220616182016 CreateSbomSources: migrated (0.0060s) =======================4200main: == 20220616182038 CreateSbomOccurrences: migrating ============================4201main: -- create_table(:sbom_occurrences, {})4202main: -> 0.0085s4203main: == 20220616182038 CreateSbomOccurrences: migrated (0.0088s) ===================4204main: == 20220616183240 AddSbomComponentVersionsForeignKeyToSbomOccurrences: migrating 4205main: -- transaction_open?()4206main: -> 0.0000s4207main: -- foreign_keys(:sbom_occurrences)4208main: -> 0.0050s4209main: -- transaction_open?()4210main: -> 0.0000s4211main: -- 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")4212main: -> 0.0013s4213main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_4b88e5b255;")4214main: -> 0.0014s4215main: == 20220616183240 AddSbomComponentVersionsForeignKeyToSbomOccurrences: migrated (0.0130s) 4216main: == 20220616183309 AddSbomSourceForeignKeyToSbomOccurrences: migrating =========4217main: -- transaction_open?()4218main: -> 0.0000s4219main: -- foreign_keys(:sbom_occurrences)4220main: -> 0.0047s4221main: -- transaction_open?()4222main: -> 0.0000s4223main: -- execute("ALTER TABLE sbom_occurrences\nADD CONSTRAINT fk_c2a5562923\nFOREIGN KEY (source_id)\nREFERENCES sbom_sources (id)\nON DELETE CASCADE\nNOT VALID;\n")4224main: -> 0.0014s4225main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_c2a5562923;")4226main: -> 0.0014s4227main: == 20220616183309 AddSbomSourceForeignKeyToSbomOccurrences: migrated (0.0128s) 4228main: == 20220616183310 AddProjectForeignKeyToSbomOccurrences: migrating ============4229main: -- transaction_open?()4230main: -> 0.0001s4231main: -- foreign_keys(:sbom_occurrences)4232main: -> 0.0054s4233main: -- transaction_open?()4234main: -> 0.0000s4235main: -- execute("ALTER TABLE sbom_occurrences\nADD CONSTRAINT fk_157506c0e2\nFOREIGN KEY (project_id)\nREFERENCES projects (id)\nON DELETE CASCADE\nNOT VALID;\n")4236main: -> 0.0024s4237main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_157506c0e2;")4238main: -> 0.0022s4239main: == 20220616183310 AddProjectForeignKeyToSbomOccurrences: migrated (0.0158s) ===4240main: == 20220616222253 RemoveCiSecureFilesPermissionsColumn: migrating =============4241main: -- remove_column(:ci_secure_files, :permissions)4242main: -> 0.0022s4243main: == 20220616222253 RemoveCiSecureFilesPermissionsColumn: migrated (0.0025s) ====4244main: == 20220617073407 AddIndexForOpenIssuesCount: migrating =======================4245main: -- transaction_open?()4246main: -> 0.0000s4247main: -- index_exists?(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})4248main: -> 0.0273s4249main: -- add_index(:issues, [:project_id, :confidential], {:where=>"state_id = 1", :name=>"idx_open_issues_on_project_id_and_confidential", :algorithm=>:concurrently})4250main: -> 0.0026s4251main: == 20220617073407 AddIndexForOpenIssuesCount: migrated (0.0396s) ==============4252main: == 20220617123022 AddUniqueIndexOnProjectsOnRunnersToken: migrating ===========4253main: -- transaction_open?()4254main: -> 0.0000s4255main: -- index_exists?(:projects, :runners_token, {:name=>"index_uniq_projects_on_runners_token", :unique=>true, :algorithm=>:concurrently})4256main: -> 0.0532s4257main: -- add_index(:projects, :runners_token, {:name=>"index_uniq_projects_on_runners_token", :unique=>true, :algorithm=>:concurrently})4258main: -> 0.0030s4259main: == 20220617123022 AddUniqueIndexOnProjectsOnRunnersToken: migrated (0.0622s) ==4260main: == 20220617123034 AddUniqueIndexOnProjectsOnRunnersTokenEncrypted: migrating ==4261main: -- transaction_open?()4262main: -> 0.0000s4263main: -- index_exists?(:projects, :runners_token_encrypted, {:name=>"index_uniq_projects_on_runners_token_encrypted", :unique=>true, :algorithm=>:concurrently})4264main: -> 0.0612s4265main: -- add_index(:projects, :runners_token_encrypted, {:name=>"index_uniq_projects_on_runners_token_encrypted", :unique=>true, :algorithm=>:concurrently})4266main: -> 0.0028s4267main: == 20220617123034 AddUniqueIndexOnProjectsOnRunnersTokenEncrypted: migrated (0.0693s) 4268main: == 20220617123105 DropIndexOnProjectsOnRunnersToken: migrating ================4269main: -- transaction_open?()4270main: -> 0.0000s4271main: -- indexes(:projects)4272main: -> 0.0562s4273main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_on_runners_token"})4274main: -> 0.0021s4275main: == 20220617123105 DropIndexOnProjectsOnRunnersToken: migrated (0.0631s) =======4276main: == 20220617123113 DropIndexOnProjectsOnRunnersTokenEncrypted: migrating =======4277main: -- transaction_open?()4278main: -> 0.0000s4279main: -- indexes(:projects)4280main: -> 0.0573s4281main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"index_projects_on_runners_token_encrypted"})4282main: -> 0.0022s4283main: == 20220617123113 DropIndexOnProjectsOnRunnersTokenEncrypted: migrated (0.0645s) 4284main: == 20220617123135 DropTempIndexOnProjectsOnIdAndRunnersToken: migrating =======4285main: -- transaction_open?()4286main: -> 0.0000s4287main: -- transaction_open?()4288main: -> 0.0000s4289main: -- indexes(:projects)4290main: -> 0.0567s4291main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"tmp_index_projects_on_id_and_runners_token"})4292main: -> 0.0021s4293main: == 20220617123135 DropTempIndexOnProjectsOnIdAndRunnersToken: migrated (0.0742s) 4294main: == 20220617123144 DropTempIndexOnProjectsOnIdAndRunnersTokenEncrypted: migrating 4295main: -- transaction_open?()4296main: -> 0.0000s4297main: -- transaction_open?()4298main: -> 0.0000s4299main: -- indexes(:projects)4300main: -> 0.0612s4301main: -- remove_index(:projects, {:algorithm=>:concurrently, :name=>"tmp_index_projects_on_id_and_runners_token_encrypted"})4302main: -> 0.0026s4303main: == 20220617123144 DropTempIndexOnProjectsOnIdAndRunnersTokenEncrypted: migrated (0.0782s) 4304main: == 20220617141347 CreateCiSecureFileStates: migrating =========================4305main: -- create_table(:ci_secure_file_states, {:id=>false})4306main: -- quote_column_name(:verification_failure)4307main: -> 0.0000s4308main: -> 0.0133s4309main: == 20220617141347 CreateCiSecureFileStates: migrated (0.0137s) ================4310main: == 20220617142124 AddIndexOnInstallablePackageFiles: migrating ================4311main: -- transaction_open?()4312main: -> 0.0001s4313main: -- 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})4314main: -> 0.0162s4315main: -- 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})4316main: -> 0.0026s4317main: == 20220617142124 AddIndexOnInstallablePackageFiles: migrated (0.0266s) =======4318main: == 20220617143228 ReplacePackagesIndexOnProjectIdAndStatus: migrating =========4319main: -- transaction_open?()4320main: -> 0.0000s4321main: -- index_exists?(:packages_packages, [:project_id, :status, :id], {:name=>"index_packages_packages_on_project_id_and_status_and_id", :algorithm=>:concurrently})4322main: -> 0.0186s4323main: -- add_index(:packages_packages, [:project_id, :status, :id], {:name=>"index_packages_packages_on_project_id_and_status_and_id", :algorithm=>:concurrently})4324main: -> 0.0021s4325main: -- transaction_open?()4326main: -> 0.0000s4327main: -- indexes(:packages_packages)4328main: -> 0.0176s4329main: -- remove_index(:packages_packages, {:algorithm=>:concurrently, :name=>"index_packages_packages_on_project_id_and_status"})4330main: -> 0.0017s4331main: == 20220617143228 ReplacePackagesIndexOnProjectIdAndStatus: migrated (0.0507s) 4332main: == 20220619182308 CreateProjectRelationExports: migrating =====================4333main: -- create_table(:project_relation_exports, {})4334main: -- quote_column_name(:relation)4335main: -> 0.0001s4336main: -- quote_column_name(:jid)4337main: -> 0.0000s4338main: -- quote_column_name(:export_error)4339main: -> 0.0000s4340main: -> 0.0088s4341main: == 20220619182308 CreateProjectRelationExports: migrated (0.0091s) ============4342main: == 20220619184931 CreateProjectRelationExportUploads: migrating ===============4343main: -- create_table(:project_relation_export_uploads, {})4344main: -- quote_column_name(:export_file)4345main: -> 0.0001s4346main: -> 0.0060s4347main: == 20220619184931 CreateProjectRelationExportUploads: migrated (0.0063s) ======4348main: == 20220619212618 AddSelectiveCodeOwnerRemovalsToProjectSettings: migrating ===4349main: -- add_column(:project_settings, :selective_code_owner_removals, :boolean, {:default=>false, :null=>false})4350main: -> 0.0022s4351main: == 20220619212618 AddSelectiveCodeOwnerRemovalsToProjectSettings: migrated (0.0026s) 4352main: == 20220620060633 FinalizeOrphanedRoutesCleanup: migrating ====================4353main: == 20220620060633 FinalizeOrphanedRoutesCleanup: migrated (0.0294s) ===========4354main: == 20220620132300 UpdateLastRunDateForIterationsCadences: migrating ===========4355main: -- execute("UPDATE iterations_cadences SET last_run_date=CURRENT_DATE WHERE automatic=true;\n")4356main: -> 0.0023s4357main: == 20220620132300 UpdateLastRunDateForIterationsCadences: migrated (0.0027s) ==4358main: == 20220620151740 AddIndexesIssuesOnProjectIdAndClosedAt: migrating ===========4359main: -- indexes(:issues)4360main: -> 0.0308s4361main: -- current_schema()4362main: -> 0.0006s4363main: -- transaction_open?()4364main: -> 0.0000s4365main: -- 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})4366main: -> 0.0275s4367main: -- 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})4368main: -> 0.0023s4369main: -- indexes(:issues)4370main: -> 0.0285s4371main: -- current_schema()4372main: -> 0.0007s4373main: -- transaction_open?()4374main: -> 0.0000s4375main: -- index_exists?(:issues, [:project_id, :closed_at, :state_id, :id], {:name=>"index_issues_on_project_id_closed_at_state_id_and_id", :algorithm=>:concurrently})4376main: -> 0.0294s4377main: -- add_index(:issues, [:project_id, :closed_at, :state_id, :id], {:name=>"index_issues_on_project_id_closed_at_state_id_and_id", :algorithm=>:concurrently})4378main: -> 0.0025s4379main: -- transaction_open?()4380main: -> 0.0000s4381main: -- indexes(:issues)4382main: -> 0.0328s4383main: -- remove_index(:issues, {:algorithm=>:concurrently, :name=>"index_issues_on_project_id_and_closed_at"})4384main: -> 0.0017s4385main: == 20220620151740 AddIndexesIssuesOnProjectIdAndClosedAt: migrated (0.1854s) ==4386main: == 20220621040800 BackfillImportedIssueSearchData: migrating ==================4387main: == 20220621040800 BackfillImportedIssueSearchData: migrated (0.0003s) =========4388main: == 20220621082245 RemoveTmpIndexOnRoutesNamespaceIdColumn: migrating ==========4389main: -- transaction_open?()4390main: -> 0.0000s4391main: -- indexes(:routes)4392main: -> 0.0131s4393main: -- remove_index(:routes, {:algorithm=>:concurrently, :name=>"tmp_index_for_namespace_id_migration_on_routes"})4394main: -> 0.0016s4395main: == 20220621082245 RemoveTmpIndexOnRoutesNamespaceIdColumn: migrated (0.0195s) =4396main: == 20220621092245 ValidateNotNullConstraintOnRoutesNamespaceIdColumn: migrating 4397main: -- current_schema()4398main: -> 0.0006s4399main: -- execute("ALTER TABLE routes VALIDATE CONSTRAINT check_af84c6c93f;")4400main: -> 0.0010s4401main: == 20220621092245 ValidateNotNullConstraintOnRoutesNamespaceIdColumn: migrated (0.0047s) 4402main: == 20220621192541 AddProjectIdStateSeverityDefaultBranchIndexForVulnerabilities: migrating 4403main: -- transaction_open?()4404main: -> 0.0000s4405main: -- index_exists?(:vulnerabilities, [:project_id, :state, :severity, :present_on_default_branch], {:name=>"index_vulnerabilities_project_id_state_severity_default_branch", :algorithm=>:concurrently})4406main: -> 0.0185s4407main: -- add_index(:vulnerabilities, [:project_id, :state, :severity, :present_on_default_branch], {:name=>"index_vulnerabilities_project_id_state_severity_default_branch", :algorithm=>:concurrently})4408main: -> 0.0020s4409main: == 20220621192541 AddProjectIdStateSeverityDefaultBranchIndexForVulnerabilities: migrated (0.0260s) 4410main: == 20220621202616 AddPartialIndexOnOauthAccessTokensRevokedAt: migrating ======4411main: -- transaction_open?()4412main: -> 0.0000s4413main: -- 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})4414main: -> 0.0063s4415main: -- 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})4416main: -> 0.0020s4417main: -- transaction_open?()4418main: -> 0.0000s4419main: -- index_exists?(:oauth_access_tokens, :resource_owner_id, {:name=>"index_oauth_access_tokens_on_resource_owner_id", :algorithm=>:concurrently})4420main: -> 0.0078s4421main: -- remove_index(:oauth_access_tokens, {:name=>"index_oauth_access_tokens_on_resource_owner_id", :algorithm=>:concurrently, :column=>:resource_owner_id})4422main: -> 0.0080s4423main: == 20220621202616 AddPartialIndexOnOauthAccessTokensRevokedAt: migrated (0.0357s) 4424main: == 20220622070547 AddTempIndexForContainerRegistrySizeMigration: migrating ====4425main: -- transaction_open?()4426main: -> 0.0000s4427main: -- 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})4428main: -> 0.0125s4429main: -- 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})4430main: -> 0.0022s4431main: -- transaction_open?()4432main: -> 0.0000s4433main: -- index_exists?(:project_statistics, [:project_id], {:name=>"tmp_index_project_statistics_cont_registry_size", :where=>"container_registry_size = 0", :algorithm=>:concurrently})4434main: -> 0.0075s4435main: -- add_index(:project_statistics, [:project_id], {:name=>"tmp_index_project_statistics_cont_registry_size", :where=>"container_registry_size = 0", :algorithm=>:concurrently})4436main: -> 0.0019s4437main: == 20220622070547 AddTempIndexForContainerRegistrySizeMigration: migrated (0.0353s) 4438main: == 20220622080547 BackfillProjectStatisticsWithContainerRegistrySize: migrating 4439main: == 20220622080547 BackfillProjectStatisticsWithContainerRegistrySize: migrated (0.0591s) 4440main: == 20220624062300 DeleteBackfillCiRunnerSemverMigration: migrating ============4441main: == 20220624062300 DeleteBackfillCiRunnerSemverMigration: migrated (0.0087s) ===4442main: == 20220624081524 AddCiRunnerVersionsTable: migrating =========================4443main: -- create_table(:ci_runner_versions, {:id=>false})4444main: -- quote_column_name(:version)4445main: -> 0.0000s4446main: -> 0.0055s4447main: == 20220624081524 AddCiRunnerVersionsTable: migrated (0.0058s) ================4448main: == 20220624090458 AddIndexOnRunnerVersion: migrating ==========================4449main: -- transaction_open?()4450main: -> 0.0000s4451main: -- index_exists?(:ci_runners, :version, {:name=>"index_ci_runners_on_version", :algorithm=>:concurrently})4452main: -> 0.0142s4453main: -- add_index(:ci_runners, :version, {:name=>"index_ci_runners_on_version", :algorithm=>:concurrently})4454main: -> 0.0018s4455main: == 20220624090458 AddIndexOnRunnerVersion: migrated (0.0211s) =================4456main: == 20220627061008 AddFeiShuIntegration: migrating =============================4457main: -- add_column(:application_settings, :feishu_integration_enabled, :boolean, {:null=>false, :default=>false, :comment=>"JiHu-specific column"})4458main: -> 0.0048s4459main: -- add_column(:application_settings, :encrypted_feishu_app_key, :binary, {:comment=>"JiHu-specific column"})4460main: -> 0.0024s4461main: -- add_column(:application_settings, :encrypted_feishu_app_key_iv, :binary, {:comment=>"JiHu-specific column"})4462main: -> 0.0022s4463main: -- add_column(:application_settings, :encrypted_feishu_app_secret, :binary, {:comment=>"JiHu-specific column"})4464main: -> 0.0030s4465main: -- add_column(:application_settings, :encrypted_feishu_app_secret_iv, :binary, {:comment=>"JiHu-specific column"})4466main: -> 0.0029s4467main: == 20220627061008 AddFeiShuIntegration: migrated (0.0159s) ====================4468main: == 20220627090231 ScheduleDisableLegacyOpenSourceLicenseForInactivePublicProjects: migrating 4469main: == 20220627090231 ScheduleDisableLegacyOpenSourceLicenseForInactivePublicProjects: migrated (0.0002s) 4470main: == 20220627122229 CreateUserNamespaceCallouts: migrating ======================4471main: -- create_table(:user_namespace_callouts, {})4472main: -> 0.0050s4473main: == 20220627122229 CreateUserNamespaceCallouts: migrated (0.0052s) =============4474main: == 20220627122230 AddForeignKeysToUserNamespaceCallouts: migrating ============4475main: -- transaction_open?()4476main: -> 0.0000s4477main: -- foreign_keys(:user_namespace_callouts)4478main: -> 0.0050s4479main: -- transaction_open?()4480main: -> 0.0000s4481main: -- execute("ALTER TABLE user_namespace_callouts\nADD CONSTRAINT fk_4b1257f385\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")4482main: -> 0.0022s4483main: -- execute("ALTER TABLE user_namespace_callouts VALIDATE CONSTRAINT fk_4b1257f385;")4484main: -> 0.0019s4485main: -- transaction_open?()4486main: -> 0.0000s4487main: -- foreign_keys(:user_namespace_callouts)4488main: -> 0.0048s4489main: -- transaction_open?()4490main: -> 0.0000s4491main: -- execute("ALTER TABLE user_namespace_callouts\nADD CONSTRAINT fk_27a69fd1bd\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")4492main: -> 0.0019s4493main: -- execute("ALTER TABLE user_namespace_callouts VALIDATE CONSTRAINT fk_27a69fd1bd;")4494main: -> 0.0016s4495main: -- transaction_open?()4496main: -> 0.0000s4497main: -- index_exists?(:user_namespace_callouts, [:user_id, :feature_name, :namespace_id], {:unique=>true, :name=>"index_ns_user_callouts_feature", :algorithm=>:concurrently})4498main: -> 0.0040s4499main: -- add_index(:user_namespace_callouts, [:user_id, :feature_name, :namespace_id], {:unique=>true, :name=>"index_ns_user_callouts_feature", :algorithm=>:concurrently})4500main: -> 0.0018s4501main: == 20220627122230 AddForeignKeysToUserNamespaceCallouts: migrated (0.0399s) ===4502main: == 20220627140315 AddLastFeatureFlagUpdatedAtToOperationsFeatureFlagsClients: migrating 4503main: -- add_column(:operations_feature_flags_clients, :last_feature_flag_updated_at, :datetime_with_timezone)4504main: -> 0.0025s4505main: == 20220627140315 AddLastFeatureFlagUpdatedAtToOperationsFeatureFlagsClients: migrated (0.0028s) 4506main: == 20220627152642 QueueUpdateDelayedProjectRemovalToNullForUserNamespace: migrating 4507main: == 20220627152642 QueueUpdateDelayedProjectRemovalToNullForUserNamespace: migrated (0.0563s) 4508main: == 20220627171538 AddErrorTrackingSettings: migrating =========================4509main: -- add_column(:application_settings, :error_tracking_enabled, :boolean, {:default=>false, :null=>false, :if_not_exists=>true})4510main: -> 0.4077s4511main: -- add_column(:application_settings, :error_tracking_api_url, :text, {:if_not_exists=>true})4512main: -> 0.3785s4513main: -- transaction_open?()4514main: -> 0.0001s4515main: -- current_schema()4516main: -> 0.0008s4517main: -- transaction_open?()4518main: -> 0.0000s4519main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_492cc1354d\nCHECK ( char_length(error_tracking_api_url) <= 255 )\nNOT VALID;\n")4520main: -> 0.0026s4521main: -- current_schema()4522main: -> 0.0006s4523main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_492cc1354d;")4524main: -> 0.0021s4525main: == 20220627171538 AddErrorTrackingSettings: migrated (0.8061s) ================4526main: == 20220627223041 AddPostMigrateTestTable: migrating ==========================4527main: -- create_table(:post_migration_test_table, {})4528main: -> 0.0039s4529main: == 20220627223041 AddPostMigrateTestTable: migrated (0.0045s) =================4530main: == 20220628012902 FinaliseProjectNamespaceMembers: migrating ==================4531main: == 20220628012902 FinaliseProjectNamespaceMembers: migrated (0.0365s) =========4532main: == 20220628110214 AddNamespaceIdColumnToIssuesTable: migrating ================4533main: -- add_column(:issues, :namespace_id, :bigint)4534main: -> 0.0017s4535main: == 20220628110214 AddNamespaceIdColumnToIssuesTable: migrated (0.0022s) =======4536main: == 20220628110823 AddIssuesNamespaceIdFkAndIndex: migrating ===================4537main: -- transaction_open?()4538main: -> 0.0000s4539main: -- index_exists?(:issues, :namespace_id, {:name=>"index_issues_on_namespace_id", :algorithm=>:concurrently})4540main: -> 0.0351s4541main: -- add_index(:issues, :namespace_id, {:name=>"index_issues_on_namespace_id", :algorithm=>:concurrently})4542main: -> 0.0024s4543main: -- transaction_open?()4544main: -> 0.0000s4545main: -- foreign_keys(:issues)4546main: -> 0.0059s4547main: -- transaction_open?()4548main: -> 0.0000s4549main: -- execute("LOCK TABLE namespaces, issues IN SHARE ROW EXCLUSIVE MODE")4550main: -> 0.0010s4551main: -- execute("ALTER TABLE issues\nADD CONSTRAINT fk_6e10d4d38a\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE SET NULL\nNOT VALID;\n")4552main: -> 0.0026s4553main: -- execute("ALTER TABLE issues VALIDATE CONSTRAINT fk_6e10d4d38a;")4554main: -> 0.0028s4555main: == 20220628110823 AddIssuesNamespaceIdFkAndIndex: migrated (0.0656s) ==========4556main: == 20220628111752 DropTokenIndexFromCiBuilds: migrating =======================4557main: -- transaction_open?()4558main: -> 0.0000s4559main: -- indexes(:ci_builds)4560main: -> 0.0330s4561main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_on_token_partial"})4562main: -> 0.0021s4563main: == 20220628111752 DropTokenIndexFromCiBuilds: migrated (0.0412s) ==============4564main: == 20220628120708 CreateNamespaceBans: migrating ==============================4565main: -- create_table(:namespace_bans, {})4566main: -> 0.0074s4567main: == 20220628120708 CreateNamespaceBans: migrated (0.0078s) =====================4568main: == 20220628121644 AddNamespaceBansNamespaceIdForeignKey: migrating ============4569main: -- transaction_open?()4570main: -> 0.0000s4571main: -- foreign_keys(:namespace_bans)4572main: -> 0.0061s4573main: -- transaction_open?()4574main: -> 0.0000s4575main: -- execute("ALTER TABLE namespace_bans\nADD CONSTRAINT fk_bcc024eef2\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")4576main: -> 0.0021s4577main: -- execute("ALTER TABLE namespace_bans VALIDATE CONSTRAINT fk_bcc024eef2;")4578main: -> 0.0020s4579main: == 20220628121644 AddNamespaceBansNamespaceIdForeignKey: migrated (0.0163s) ===4580main: == 20220628121712 AddNamespaceBansUserIdForeignKey: migrating =================4581main: -- transaction_open?()4582main: -> 0.0001s4583main: -- foreign_keys(:namespace_bans)4584main: -> 0.0064s4585main: -- transaction_open?()4586main: -> 0.0000s4587main: -- execute("ALTER TABLE namespace_bans\nADD CONSTRAINT fk_4275fbb1d7\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")4588main: -> 0.0025s4589main: -- execute("ALTER TABLE namespace_bans VALIDATE CONSTRAINT fk_4275fbb1d7;")4590main: -> 0.0022s4591main: == 20220628121712 AddNamespaceBansUserIdForeignKey: migrated (0.0195s) ========4592main: == 20220628122622 RenameBuildsSidekiqQueuesToNamespaces: migrating ============4593main: == 20220628122622 RenameBuildsSidekiqQueuesToNamespaces: migrated (0.0011s) ===4594main: == 20220629124942 RemoveVulnerabilityOccurrencesMigratedToNewStructureColumn: migrating 4595main: -- transaction_open?()4596main: -> 0.0000s4597main: -- remove_column(:vulnerability_occurrences, :migrated_to_new_structure)4598main: -> 0.0017s4599main: == 20220629124942 RemoveVulnerabilityOccurrencesMigratedToNewStructureColumn: migrated (0.0064s) 4600main: == 20220629184402 UnsetEscalationPoliciesForAlertIncidents: migrating =========4601main: == 20220629184402 UnsetEscalationPoliciesForAlertIncidents: migrated (0.0035s) 4602main: == 20220629220129 IncreaseWebauthnXidLength: migrating ========================4603main: -- transaction_open?()4604main: -> 0.0000s4605main: -- current_schema()4606main: -> 0.0008s4607main: -- transaction_open?()4608main: -> 0.0000s4609main: -- execute("ALTER TABLE webauthn_registrations\nADD CONSTRAINT check_f5ab2b551a\nCHECK ( char_length(credential_xid) <= 1364 )\nNOT VALID;\n")4610main: -> 0.0013s4611main: -- current_schema()4612main: -> 0.0007s4613main: -- execute("ALTER TABLE webauthn_registrations VALIDATE CONSTRAINT check_f5ab2b551a;")4614main: -> 0.0013s4615main: -- transaction_open?()4616main: -> 0.0000s4617main: -- transaction_open?()4618main: -> 0.0000s4619main: -- execute("ALTER TABLE webauthn_registrations\nDROP CONSTRAINT IF EXISTS check_e54008d9ce\n")4620main: -> 0.0011s4621main: == 20220629220129 IncreaseWebauthnXidLength: migrated (0.0198s) ===============4622main: == 20220630050050 IndexVulnerabilityReadsOnCastedClusterAgentIdFull: migrating 4623main: -- transaction_open?()4624main: -> 0.0000s4625main: -- 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})4626main: -> 0.0134s4627main: -- 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})4628main: -> 0.0024s4629main: == 20220630050050 IndexVulnerabilityReadsOnCastedClusterAgentIdFull: migrated (0.0231s) 4630main: == 20220630085003 DropProjectSuccessfullPagesDeployIndexFromCiBuilds: migrating 4631main: -- transaction_open?()4632main: -> 0.0000s4633main: -- indexes(:ci_builds)4634main: -> 0.0285s4635main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_on_project_id_for_successfull_pages_deploy"})4636main: -> 0.0020s4637main: == 20220630085003 DropProjectSuccessfullPagesDeployIndexFromCiBuilds: migrated (0.0360s) 4638main: == 20220630091409 AddIndexOnEventsForContributionAnalyticsOptimization: migrating 4639main: -- transaction_open?()4640main: -> 0.0000s4641main: -- index_exists?(:events, [:project_id, :target_type, :action, :created_at, :author_id, :id], {:name=>"index_on_events_to_improve_contribution_analytics_performance", :algorithm=>:concurrently})4642main: -> 0.0145s4643main: -- add_index(:events, [:project_id, :target_type, :action, :created_at, :author_id, :id], {:name=>"index_on_events_to_improve_contribution_analytics_performance", :algorithm=>:concurrently})4644main: -> 0.0026s4645main: == 20220630091409 AddIndexOnEventsForContributionAnalyticsOptimization: migrated (0.0234s) 4646main: == 20220630151641 ScheduleSetCorrectVulnerabilityState: migrating =============4647main: == 20220630151641 ScheduleSetCorrectVulnerabilityState: migrated (0.0600s) ====4648main: == 20220630202329 AddPartialIndexOnOauthAccessTokensRevokedAtWithOrder: migrating 4649main: -- transaction_open?()4650main: -> 0.0000s4651main: -- 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})4652main: -> 0.0071s4653main: -- 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})4654main: -> 0.0019s4655main: -- transaction_open?()4656main: -> 0.0000s4657main: -- index_exists?(:oauth_access_tokens, [:resource_owner_id, :created_at], {:name=>"partial_index_resource_owner_id_created_at_token_not_revoked", :algorithm=>:concurrently})4658main: -> 0.0120s4659main: -- remove_index(:oauth_access_tokens, {:name=>"partial_index_resource_owner_id_created_at_token_not_revoked", :algorithm=>:concurrently, :column=>[:resource_owner_id, :created_at]})4660main: -> 0.0094s4661main: == 20220630202329 AddPartialIndexOnOauthAccessTokensRevokedAtWithOrder: migrated (0.0428s) 4662main: == 20220701085523 ScheduleIndexOnEventsForContributionAnalyticsOptimization: migrating 4663main: -- index_exists?(:events, [:project_id, :target_type, :action, :created_at, :author_id, :id], {:name=>"index_on_events_to_improve_contribution_analytics_performance", :algorithm=>:concurrently})4664main: -> 0.0181s4665main: == 20220701085523 ScheduleIndexOnEventsForContributionAnalyticsOptimization: migrated (0.0229s) 4666main: == 20220701173859 RemoveNotNullConstraintsFromRequirements: migrating =========4667main: -- change_column_null(:requirements, :created_at, true)4668main: -> 0.0012s4669main: -- change_column_null(:requirements, :updated_at, true)4670main: -> 0.0027s4671main: -- change_column_null(:requirements, :title, true)4672main: -> 0.0010s4673main: -- change_column_null(:requirements, :state, true)4674main: -> 0.0028s4675main: == 20220701173859 RemoveNotNullConstraintsFromRequirements: migrated (0.0083s) 4676main: == 20220703182234 AddFindingsPartitionNumberToSecurityScans: migrating ========4677main: -- add_column(:security_scans, :findings_partition_number, :integer, {:default=>1, :null=>false})4678main: -> 0.0019s4679main: == 20220703182234 AddFindingsPartitionNumberToSecurityScans: migrated (0.0022s) 4680main: == 20220703182254 AddPartitionNumberToSecurityFindings: migrating =============4681main: -- add_column(:security_findings, :partition_number, :integer, {:default=>1, :null=>false})4682main: -> 0.0021s4683main: == 20220703182254 AddPartitionNumberToSecurityFindings: migrated (0.0026s) ====4684main: == 20220703182314 AddCheckConstraintForSecurityFindingsPartitionNumber: migrating 4685main: -- transaction_open?()4686main: -> 0.0000s4687main: -- current_schema()4688main: -> 0.0006s4689main: -- transaction_open?()4690main: -> 0.0000s4691main: -- execute("ALTER TABLE security_findings\nADD CONSTRAINT check_partition_number\nCHECK ( partition_number = 1 )\nNOT VALID;\n")4692main: -> 0.0013s4693main: -- current_schema()4694main: -> 0.0005s4695main: -- execute("ALTER TABLE security_findings VALIDATE CONSTRAINT check_partition_number;")4696main: -> 0.0020s4697main: == 20220703182314 AddCheckConstraintForSecurityFindingsPartitionNumber: migrated (0.0150s) 4698main: == 20220704034050 AddUsersAllowlistToGitRateLimits: migrating =================4699main: -- add_column(:application_settings, :git_rate_limit_users_allowlist, :text, {:array=>true, :default=>[], :null=>false})4700main: -> 0.0041s4701main: == 20220704034050 AddUsersAllowlistToGitRateLimits: migrated (0.0044s) ========4702main: == 20220704034105 AddApplicationSettingsGitUsersAllowlistMaxUsernamesConstraint: migrating 4703main: -- transaction_open?()4704main: -> 0.0000s4705main: -- current_schema()4706main: -> 0.0008s4707main: -- transaction_open?()4708main: -> 0.0000s4709main: -- 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")4710main: -> 0.0024s4711main: -- current_schema()4712main: -> 0.0005s4713main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_git_rate_limit_users_allowlist_max_usernames;")4714main: -> 0.0020s4715main: == 20220704034105 AddApplicationSettingsGitUsersAllowlistMaxUsernamesConstraint: migrated (0.0161s) 4716main: == 20220704044408 RemoveForeignKeyInProjectTracingSettings: migrating =========4717main: -- transaction_open?()4718main: -> 0.0000s4719main: -- foreign_keys(:project_tracing_settings)4720main: -> 0.0069s4721main: -- remove_foreign_key(:project_tracing_settings, {:column=>:project_id})4722main: -> 0.0083s4723main: == 20220704044408 RemoveForeignKeyInProjectTracingSettings: migrated (0.0201s) 4724main: == 20220704045440 DropProjectTracingSettingsTable: migrating ==================4725main: -- drop_table(:project_tracing_settings)4726main: -> 0.0029s4727main: == 20220704045440 DropProjectTracingSettingsTable: migrated (0.0036s) =========4728main: == 20220705114635 DropIndexOnCiRunnerVersionsOnVersion: migrating =============4729main: -- transaction_open?()4730main: -> 0.0000s4731main: -- indexes(:ci_runner_versions)4732main: -> 0.0055s4733main: -- remove_index(:ci_runner_versions, {:algorithm=>:concurrently, :name=>"index_ci_runner_versions_on_version"})4734main: -> 0.0014s4735main: == 20220705114635 DropIndexOnCiRunnerVersionsOnVersion: migrated (0.0124s) ====4736main: == 20220705145349 AddProjectImportLevelToNamespaceSettings: migrating =========4737main: -- add_column(:namespace_settings, :project_import_level, :smallint, {:default=>0, :null=>false})4738main: -> 0.0026s4739main: == 20220705145349 AddProjectImportLevelToNamespaceSettings: migrated (0.0034s) 4740main: == 20220705180843 ValidateRequirementsIssueIdNotNull: migrating ===============4741main: -- current_schema()4742main: -> 0.0007s4743main: -- execute("ALTER TABLE requirements VALIDATE CONSTRAINT check_requirement_issue_not_null;")4744main: -> 0.0012s4745main: == 20220705180843 ValidateRequirementsIssueIdNotNull: migrated (0.0064s) ======4746main: == 20220706065245 RemoveForeignKeyInClustersApplicationsElasticStacks: migrating 4747main: -- transaction_open?()4748main: -> 0.0000s4749main: -- foreign_keys(:clusters_applications_elastic_stacks)4750main: -> 0.0058s4751main: -- remove_foreign_key(:clusters_applications_elastic_stacks, {:column=>:cluster_id})4752main: -> 0.0072s4753main: == 20220706065245 RemoveForeignKeyInClustersApplicationsElasticStacks: migrated (0.0187s) 4754main: == 20220706065611 RemoveForeignKeyInClustersIntegrationElasticstack: migrating 4755main: -- transaction_open?()4756main: -> 0.0000s4757main: -- foreign_keys(:clusters_integration_elasticstack)4758main: -> 0.0057s4759main: -- remove_foreign_key(:clusters_integration_elasticstack, {:column=>:cluster_id})4760main: -> 0.0079s4761main: == 20220706065611 RemoveForeignKeyInClustersIntegrationElasticstack: migrated (0.0192s) 4762main: == 20220706070804 DropClustersApplicationsElasticStacksTable: migrating =======4763main: -- drop_table(:clusters_applications_elastic_stacks)4764main: -> 0.0029s4765main: == 20220706070804 DropClustersApplicationsElasticStacksTable: migrated (0.0037s) 4766main: == 20220706071304 DropClustersIntegrationElasticstackTable: migrating =========4767main: -- drop_table(:clusters_integration_elasticstack)4768main: -> 0.0022s4769main: == 20220706071304 DropClustersIntegrationElasticstackTable: migrated (0.0026s) 4770main: == 20220706115138 CreateAsyncIndexOnSecurityFindings: migrating ===============4771main: -- index_exists?(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4772main: -> 0.0099s4773main: -- add_index_options(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4774main: -> 0.0001s4775main: == 20220706115138 CreateAsyncIndexOnSecurityFindings: migrated (0.0208s) ======4776main: == 20220706122719 CreateIndexOnSecurityFindingsUuidIdDesc: migrating ==========4777main: -- transaction_open?()4778main: -> 0.0000s4779main: -- index_exists?(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4780main: -> 0.0091s4781main: -- add_index(:security_findings, [:uuid, :id], {:order=>{:id=>:desc}, :name=>"index_on_security_findings_uuid_and_id_order_desc", :algorithm=>:concurrently})4782main: -> 0.0020s4783main: == 20220706122719 CreateIndexOnSecurityFindingsUuidIdDesc: migrated (0.0210s) =4784main: == 20220706132238 AddIndicesOnSecurityScansInfoColumn: migrating ==============4785main: -- transaction_open?()4786main: -> 0.0000s4787main: -- 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})4788main: -> 0.0073s4789main: -- 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})4790main: -> 0.0018s4791main: -- transaction_open?()4792main: -> 0.0000s4793main: -- 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})4794main: -> 0.0077s4795main: -- 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})4796main: -> 0.0020s4797main: == 20220706132238 AddIndicesOnSecurityScansInfoColumn: migrated (0.0310s) =====4798main: == 20220706191627 AddEncryptedErrorTrackingAccessToken: migrating =============4799main: -- add_column(:application_settings, :error_tracking_access_token_encrypted, :text, {:if_not_exists=>true})4800main: -> 0.3769s4801main: -- transaction_open?()4802main: -> 0.0000s4803main: -- current_schema()4804main: -> 0.0010s4805main: -- transaction_open?()4806main: -> 0.0000s4807main: -- execute("ALTER TABLE application_settings\nADD CONSTRAINT check_5688c70478\nCHECK ( char_length(error_tracking_access_token_encrypted) <= 255 )\nNOT VALID;\n")4808main: -> 0.0022s4809main: -- current_schema()4810main: -> 0.0007s4811main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_5688c70478;")4812main: -> 0.0018s4813main: == 20220706191627 AddEncryptedErrorTrackingAccessToken: migrated (0.3943s) ====4814main: == 20220707075300 RescheduleBackfillImportedIssueSearchData: migrating ========4815main: == 20220707075300 RescheduleBackfillImportedIssueSearchData: migrated (0.0902s) 4816main: == 20220707105335 RenameChatNameServiceIdToIntegrationId: migrating ===========4817main: -- transaction_open?()4818main: -> 0.0000s4819main: -- columns(:chat_names)4820main: -> 0.0035s4821main: -- column_exists?(:chat_names, :id)4822main: -> 0.0029s4823main: -- column_exists?(:chat_names, :integration_id)4824main: -> 0.0028s4825main: -- columns(:chat_names)4826main: -> 0.0028s4827main: -- add_column(:chat_names, :integration_id, :integer, {:limit=>4, :precision=>nil, :scale=>nil})4828main: -> 0.0014s4829main: -- transaction_open?()4830main: -> 0.0000s4831main: -- exec_query("SELECT COUNT(*) AS count FROM \"chat_names\"")4832main: -> 0.0011s4833main: -- current_schema()4834main: -> 0.0005s4835main: -- transaction_open?()4836main: -> 0.0000s4837main: -- current_schema()4838main: -> 0.0006s4839main: -- transaction_open?()4840main: -> 0.0000s4841main: -- execute("ALTER TABLE chat_names\nADD CONSTRAINT check_2b0a0d0f0f\nCHECK ( integration_id IS NOT NULL )\nNOT VALID;\n")4842main: -> 0.0011s4843main: -- current_schema()4844main: -> 0.0006s4845main: -- execute("ALTER TABLE chat_names VALIDATE CONSTRAINT check_2b0a0d0f0f;")4846main: -> 0.0009s4847main: -- indexes(:chat_names)4848main: -> 0.0040s4849main: -- transaction_open?()4850main: -> 0.0000s4851main: -- index_exists?(:chat_names, ["integration_id", "team_id", "chat_id"], {:unique=>true, :name=>"index_chat_names_on_integration_id_and_team_id_and_chat_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})4852main: -> 0.0038s4853main: -- add_index(:chat_names, ["integration_id", "team_id", "chat_id"], {:unique=>true, :name=>"index_chat_names_on_integration_id_and_team_id_and_chat_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})4854main: -> 0.0017s4855main: -- transaction_open?()4856main: -> 0.0000s4857main: -- index_exists?(:chat_names, ["user_id", "integration_id"], {:unique=>true, :name=>"index_chat_names_on_user_id_and_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})4858main: -> 0.0047s4859main: -- add_index(:chat_names, ["user_id", "integration_id"], {:unique=>true, :name=>"index_chat_names_on_user_id_and_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})4860main: -> 0.0016s4861main: -- foreign_keys(:chat_names)4862main: -> 0.0045s4863main: -- transaction_open?()4864main: -> 0.0000s4865main: -- foreign_keys("chat_names")4866main: -> 0.0042s4867main: -- transaction_open?()4868main: -> 0.0000s4869main: -- execute("ALTER TABLE chat_names\nADD CONSTRAINT fk_99a1348daf\nFOREIGN KEY (integration_id)\nREFERENCES integrations (id)\nON DELETE CASCADE\nNOT VALID;\n")4870main: -> 0.0014s4871main: -- execute("ALTER TABLE chat_names VALIDATE CONSTRAINT fk_99a1348daf;")4872main: -> 0.0014s4873main: -- transaction_open?()4874main: -> 0.0000s4875main: -- column_exists?(:chat_names, :service_id)4876main: -> 0.0032s4877main: -- column_exists?(:chat_names, :integration_id)4878main: -> 0.0031s4879main: -- current_schema()4880main: -> 0.0006s4881main: -- transaction_open?()4882main: -> 0.0000s4883main: -- quote_table_name(:chat_names)4884main: -> 0.0000s4885main: -- quote_column_name(:service_id)4886main: -> 0.0000s4887main: -- quote_column_name(:integration_id)4888main: -> 0.0000s4889main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_1f60638bd578()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n IF NEW.\"service_id\" IS NULL AND NEW.\"integration_id\" IS NOT NULL THEN\n NEW.\"service_id\" = NEW.\"integration_id\";\n END IF;\n\n IF NEW.\"integration_id\" IS NULL AND NEW.\"service_id\" IS NOT NULL THEN\n NEW.\"integration_id\" = NEW.\"service_id\";\n END IF;\n\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_1f60638bd578\nON \"chat_names\";\n\nCREATE TRIGGER trigger_1f60638bd578\nBEFORE INSERT ON \"chat_names\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_1f60638bd578();\n")4890main: -> 0.0016s4891main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_c8a17d951f82()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"service_id\" := NEW.\"integration_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_c8a17d951f82\nON \"chat_names\";\n\nCREATE TRIGGER trigger_c8a17d951f82\nBEFORE UPDATE OF \"integration_id\" ON \"chat_names\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_c8a17d951f82();\n")4892main: -> 0.0014s4893main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_f8e2b22c21c8()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"integration_id\" := NEW.\"service_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_f8e2b22c21c8\nON \"chat_names\";\n\nCREATE TRIGGER trigger_f8e2b22c21c8\nBEFORE UPDATE OF \"service_id\" ON \"chat_names\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_f8e2b22c21c8();\n")4894main: -> 0.0014s4895main: == 20220707105335 RenameChatNameServiceIdToIntegrationId: migrated (0.1016s) ==4896main: == 20220707105529 CleanupChatNameServiceId: migrating =========================4897main: -- column_exists?(:chat_names, :service_id)4898main: -> 0.0034s4899main: -- transaction_open?()4900main: -> 0.0000s4901main: -- quote_table_name(:chat_names)4902main: -> 0.0000s4903main: -- execute("DROP TRIGGER IF EXISTS trigger_1f60638bd578\nON \"chat_names\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_1f60638bd578;\n")4904main: -> 0.0011s4905main: -- execute("DROP TRIGGER IF EXISTS trigger_c8a17d951f82\nON \"chat_names\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_c8a17d951f82;\n")4906main: -> 0.0011s4907main: -- execute("DROP TRIGGER IF EXISTS trigger_f8e2b22c21c8\nON \"chat_names\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_f8e2b22c21c8;\n")4908main: -> 0.0010s4909main: -- remove_column(:chat_names, :service_id)4910main: -> 0.0017s4911main: == 20220707105529 CleanupChatNameServiceId: migrated (0.0146s) ================4912main: == 20220707160707 RenameSlackIntegrationServiceIdToIntegrationId: migrating ===4913main: -- transaction_open?()4914main: -> 0.0000s4915main: -- columns(:slack_integrations)4916main: -> 0.0038s4917main: -- column_exists?(:slack_integrations, :id)4918main: -> 0.0034s4919main: -- column_exists?(:slack_integrations, :integration_id)4920main: -> 0.0033s4921main: -- columns(:slack_integrations)4922main: -> 0.0031s4923main: -- add_column(:slack_integrations, :integration_id, :integer, {:limit=>4, :precision=>nil, :scale=>nil})4924main: -> 0.0014s4925main: -- transaction_open?()4926main: -> 0.0000s4927main: -- exec_query("SELECT COUNT(*) AS count FROM \"slack_integrations\"")4928main: -> 0.0013s4929main: -- current_schema()4930main: -> 0.0007s4931main: -- transaction_open?()4932main: -> 0.0000s4933main: -- current_schema()4934main: -> 0.0006s4935main: -- transaction_open?()4936main: -> 0.0000s4937main: -- execute("ALTER TABLE slack_integrations\nADD CONSTRAINT check_c9ca9ae80d\nCHECK ( integration_id IS NOT NULL )\nNOT VALID;\n")4938main: -> 0.0010s4939main: -- current_schema()4940main: -> 0.0007s4941main: -- execute("ALTER TABLE slack_integrations VALIDATE CONSTRAINT check_c9ca9ae80d;")4942main: -> 0.0011s4943main: -- indexes(:slack_integrations)4944main: -> 0.0055s4945main: -- transaction_open?()4946main: -> 0.0000s4947main: -- index_exists?(:slack_integrations, ["integration_id"], {:unique=>false, :name=>"index_slack_integrations_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})4948main: -> 0.0052s4949main: -- add_index(:slack_integrations, ["integration_id"], {:unique=>false, :name=>"index_slack_integrations_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})4950main: -> 0.0017s4951main: -- foreign_keys(:slack_integrations)4952main: -> 0.0049s4953main: -- transaction_open?()4954main: -> 0.0000s4955main: -- foreign_keys("slack_integrations")4956main: -> 0.0049s4957main: -- transaction_open?()4958main: -> 0.0000s4959main: -- execute("ALTER TABLE slack_integrations\nADD CONSTRAINT fk_cbe270434e\nFOREIGN KEY (integration_id)\nREFERENCES integrations (id)\nON DELETE CASCADE\nNOT VALID;\n")4960main: -> 0.0017s4961main: -- execute("ALTER TABLE slack_integrations VALIDATE CONSTRAINT fk_cbe270434e;")4962main: -> 0.0015s4963main: -- transaction_open?()4964main: -> 0.0000s4965main: -- column_exists?(:slack_integrations, :service_id)4966main: -> 0.0033s4967main: -- column_exists?(:slack_integrations, :integration_id)4968main: -> 0.0033s4969main: -- current_schema()4970main: -> 0.0007s4971main: -- transaction_open?()4972main: -> 0.0000s4973main: -- quote_table_name(:slack_integrations)4974main: -> 0.0000s4975main: -- quote_column_name(:service_id)4976main: -> 0.0000s4977main: -- quote_column_name(:integration_id)4978main: -> 0.0000s4979main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_1f18aa980b4c()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n IF NEW.\"service_id\" IS NULL AND NEW.\"integration_id\" IS NOT NULL THEN\n NEW.\"service_id\" = NEW.\"integration_id\";\n END IF;\n\n IF NEW.\"integration_id\" IS NULL AND NEW.\"service_id\" IS NOT NULL THEN\n NEW.\"integration_id\" = NEW.\"service_id\";\n END IF;\n\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_1f18aa980b4c\nON \"slack_integrations\";\n\nCREATE TRIGGER trigger_1f18aa980b4c\nBEFORE INSERT ON \"slack_integrations\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_1f18aa980b4c();\n")4980main: -> 0.0016s4981main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_28f5371a13a0()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"service_id\" := NEW.\"integration_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_28f5371a13a0\nON \"slack_integrations\";\n\nCREATE TRIGGER trigger_28f5371a13a0\nBEFORE UPDATE OF \"integration_id\" ON \"slack_integrations\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_28f5371a13a0();\n")4982main: -> 0.0013s4983main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_aa6bceabba15()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"integration_id\" := NEW.\"service_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_aa6bceabba15\nON \"slack_integrations\";\n\nCREATE TRIGGER trigger_aa6bceabba15\nBEFORE UPDATE OF \"service_id\" ON \"slack_integrations\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_aa6bceabba15();\n")4984main: -> 0.0013s4985main: == 20220707160707 RenameSlackIntegrationServiceIdToIntegrationId: migrated (0.0972s) 4986main: == 20220707160921 CleanupSlackIntegrationServiceId: migrating =================4987main: -- column_exists?(:slack_integrations, :service_id)4988main: -> 0.0036s4989main: -- transaction_open?()4990main: -> 0.0000s4991main: -- quote_table_name(:slack_integrations)4992main: -> 0.0000s4993main: -- execute("DROP TRIGGER IF EXISTS trigger_1f18aa980b4c\nON \"slack_integrations\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_1f18aa980b4c;\n")4994main: -> 0.0011s4995main: -- execute("DROP TRIGGER IF EXISTS trigger_28f5371a13a0\nON \"slack_integrations\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_28f5371a13a0;\n")4996main: -> 0.0010s4997main: -- execute("DROP TRIGGER IF EXISTS trigger_aa6bceabba15\nON \"slack_integrations\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_aa6bceabba15;\n")4998main: -> 0.0010s4999main: -- remove_column(:slack_integrations, :service_id)5000main: -> 0.0014s5001main: == 20220707160921 CleanupSlackIntegrationServiceId: migrated (0.0141s) ========5002main: == 20220707181910 CreateMemberRoles: migrating ================================5003main: -- create_table(:member_roles, {})5004main: -> 0.0067s5005main: == 20220707181910 CreateMemberRoles: migrated (0.0070s) =======================5006main: == 20220707181920 AddMemberRoleIdToMembers: migrating =========================5007main: -- add_column(:members, :member_role_id, :bigint)5008main: -> 0.0013s5009main: == 20220707181920 AddMemberRoleIdToMembers: migrated (0.0015s) ================5010main: == 20220707181930 AddMemberRolesRelationToMembers: migrating ==================5011main: -- transaction_open?()5012main: -> 0.0000s5013main: -- index_exists?(:members, :member_role_id, {:name=>"index_members_on_member_role_id", :algorithm=>:concurrently})5014main: -> 0.0167s5015main: -- add_index(:members, :member_role_id, {:name=>"index_members_on_member_role_id", :algorithm=>:concurrently})5016main: -> 0.0020s5017main: -- transaction_open?()5018main: -> 0.0000s5019main: -- foreign_keys(:members)5020main: -> 0.0050s5021main: -- transaction_open?()5022main: -> 0.0000s5023main: -- execute("ALTER TABLE members\nADD CONSTRAINT fk_5e12d50db3\nFOREIGN KEY (member_role_id)\nREFERENCES member_roles (id)\nON DELETE CASCADE\nNOT VALID;\n")5024main: -> 0.0015s5025main: -- execute("ALTER TABLE members VALIDATE CONSTRAINT fk_5e12d50db3;")5026main: -> 0.0015s5027main: == 20220707181930 AddMemberRolesRelationToMembers: migrated (0.0385s) =========5028main: == 20220707190546 AddPlanLimitsMaxSizeCyclonedxReportColumn: migrating ========5029main: -- add_column(:plan_limits, :ci_max_artifact_size_cyclonedx, :integer, {:null=>false, :default=>1})5030main: -> 0.0032s5031main: == 20220707190546 AddPlanLimitsMaxSizeCyclonedxReportColumn: migrated (0.0034s) 5032main: == 20220707192420 RemoveTmpIdxMergeRequestsDraftAndStatus: migrating ==========5033main: -- transaction_open?()5034main: -> 0.0000s5035main: -- indexes(:merge_requests)5036main: -> 0.0335s5037main: -- remove_index(:merge_requests, {:algorithm=>:concurrently, :name=>"tmp_index_merge_requests_draft_and_status"})5038main: -> 0.0018s5039main: == 20220707192420 RemoveTmpIdxMergeRequestsDraftAndStatus: migrated (0.0403s) =5040main: == 20220708100508 DropIndexOnCiRunnerVersionsOnStatus: migrating ==============5041main: -- transaction_open?()5042main: -> 0.0000s5043main: -- indexes(:ci_runner_versions)5044main: -> 0.0040s5045main: -- remove_index(:ci_runner_versions, {:algorithm=>:concurrently, :name=>"index_ci_runner_versions_on_status"})5046main: -> 0.0016s5047main: == 20220708100508 DropIndexOnCiRunnerVersionsOnStatus: migrated (0.0103s) =====5048main: == 20220708100532 AddUniqueIndexOnCiRunnerVersionsOnStatusAndVersion: migrating 5049main: -- transaction_open?()5050main: -> 0.0000s5051main: -- index_exists?(:ci_runner_versions, [:status, :version], {:name=>"index_ci_runner_versions_on_unique_status_and_version", :unique=>true, :algorithm=>:concurrently})5052main: -> 0.0029s5053main: -- add_index(:ci_runner_versions, [:status, :version], {:name=>"index_ci_runner_versions_on_unique_status_and_version", :unique=>true, :algorithm=>:concurrently})5054main: -> 0.0019s5055main: == 20220708100532 AddUniqueIndexOnCiRunnerVersionsOnStatusAndVersion: migrated (0.0109s) 5056main: == 20220708132701 CreateVulnerabilityMergeRequestLinks: migrating =============5057main: -- create_table(:vulnerability_merge_request_links, {})5058main: -> 0.0052s5059main: -- add_index(:vulnerability_merge_request_links, [:vulnerability_id, :merge_request_id], {:unique=>true, :name=>"unique_vuln_merge_request_link_vuln_id_and_mr_id"})5060main: -> 0.0015s5061main: == 20220708132701 CreateVulnerabilityMergeRequestLinks: migrated (0.0071s) ====5062main: == 20220708142744 AddCompositeIndexForProtectedEnvironments: migrating ========5063main: -- transaction_open?()5064main: -> 0.0001s5065main: -- index_exists?(:protected_environments, [:required_approval_count, :created_at], {:name=>"index_protected_environments_on_approval_count_and_created_at", :algorithm=>:concurrently})5066main: -> 0.0058s5067main: -- add_index(:protected_environments, [:required_approval_count, :created_at], {:name=>"index_protected_environments_on_approval_count_and_created_at", :algorithm=>:concurrently})5068main: -> 0.0018s5069main: == 20220708142744 AddCompositeIndexForProtectedEnvironments: migrated (0.0131s) 5070main: == 20220708142803 AddCompositeIndexForProtectedEnvironmentApprovalRules: migrating 5071main: -- transaction_open?()5072main: -> 0.0001s5073main: -- index_exists?(:protected_environment_approval_rules, [:required_approvals, :created_at], {:name=>"index_pe_approval_rules_on_required_approvals_and_created_at", :algorithm=>:concurrently})5074main: -> 0.0055s5075main: -- add_index(:protected_environment_approval_rules, [:required_approvals, :created_at], {:name=>"index_pe_approval_rules_on_required_approvals_and_created_at", :algorithm=>:concurrently})5076main: -> 0.0021s5077main: == 20220708142803 AddCompositeIndexForProtectedEnvironmentApprovalRules: migrated (0.0135s) 5078main: == 20220708150315 AddVulnerabilitiesForeignKeyToVulnerabilityMergeRequestLinks: migrating 5079main: -- transaction_open?()5080main: -> 0.0000s5081main: -- foreign_keys(:vulnerability_merge_request_links)5082main: -> 0.0053s5083main: -- transaction_open?()5084main: -> 0.0000s5085main: -- execute("ALTER TABLE vulnerability_merge_request_links\nADD CONSTRAINT fk_2ef3954596\nFOREIGN KEY (vulnerability_id)\nREFERENCES vulnerabilities (id)\nON DELETE CASCADE\nNOT VALID;\n")5086main: -> 0.0015s5087main: -- execute("ALTER TABLE vulnerability_merge_request_links VALIDATE CONSTRAINT fk_2ef3954596;")5088main: -> 0.0015s5089main: == 20220708150315 AddVulnerabilitiesForeignKeyToVulnerabilityMergeRequestLinks: migrated (0.0137s) 5090main: == 20220708150335 AddMergeRequestsForeignKeyToVulnerabilityMergeRequestLinks: migrating 5091main: -- transaction_open?()5092main: -> 0.0000s5093main: -- foreign_keys(:vulnerability_merge_request_links)5094main: -> 0.0047s5095main: -- transaction_open?()5096main: -> 0.0000s5097main: -- 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")5098main: -> 0.0018s5099main: -- execute("ALTER TABLE vulnerability_merge_request_links VALIDATE CONSTRAINT fk_6d7aa8796e;")5100main: -> 0.0016s5101main: == 20220708150335 AddMergeRequestsForeignKeyToVulnerabilityMergeRequestLinks: migrated (0.0139s) 5102main: == 20220708184822 CleanupBackfillDraftStatusOnMergeRequests: migrating ========5103main: == 20220708184822 CleanupBackfillDraftStatusOnMergeRequests: migrated (0.0002s) 5104main: == 20220711142148 AddInvitationFlowEnforcementToApplicationSettings: migrating 5105main: -- add_column(:application_settings, :invitation_flow_enforcement, :boolean, {:default=>false, :null=>false})5106main: -> 0.0045s5107main: == 20220711142148 AddInvitationFlowEnforcementToApplicationSettings: migrated (0.0049s) 5108main: == 20220712025712 UpdateInsertOrUpdateVulnerabilityReadsFunction: migrating ===5109main: -- 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")5110main: -> 0.0013s5111main: == 20220712025712 UpdateInsertOrUpdateVulnerabilityReadsFunction: migrated (0.0017s) 5112main: == 20220712031923 CreateVulnerabilityReadsForAnExistingVulnerabilityRecord: migrating 5113main: -- 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")5114main: -> 0.0024s5115main: -- execute("DROP TRIGGER IF EXISTS trigger_insert_vulnerability_reads_from_vulnerability ON vulnerabilities;\n")5116main: -> 0.0012s5117main: -- 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")5118main: -> 0.0012s5119main: == 20220712031923 CreateVulnerabilityReadsForAnExistingVulnerabilityRecord: migrated (0.0052s) 5120main: == 20220712094945 AddIncludeForFreeUserCapPreviewToNamespaceSettings: migrating 5121main: -- add_column(:namespace_settings, :include_for_free_user_cap_preview, :boolean, {:null=>false, :default=>false})5122main: -> 0.0021s5123main: == 20220712094945 AddIncludeForFreeUserCapPreviewToNamespaceSettings: migrated (0.0024s) 5124main: == 20220712131513 RenameIssueTrackerDataServiceIdToIntegrationId: migrating ===5125main: -- transaction_open?()5126main: -> 0.0000s5127main: -- columns(:issue_tracker_data)5128main: -> 0.0036s5129main: -- column_exists?(:issue_tracker_data, :id)5130main: -> 0.0030s5131main: -- column_exists?(:issue_tracker_data, :integration_id)5132main: -> 0.0029s5133main: -- columns(:issue_tracker_data)5134main: -> 0.0029s5135main: -- add_column(:issue_tracker_data, :integration_id, :integer, {:limit=>4, :precision=>nil, :scale=>nil})5136main: -> 0.0014s5137main: -- transaction_open?()5138main: -> 0.0000s5139main: -- exec_query("SELECT COUNT(*) AS count FROM \"issue_tracker_data\"")5140main: -> 0.0012s5141main: -- current_schema()5142main: -> 0.0005s5143main: -- transaction_open?()5144main: -> 0.0000s5145main: -- current_schema()5146main: -> 0.0006s5147main: -- transaction_open?()5148main: -> 0.0000s5149main: -- execute("ALTER TABLE issue_tracker_data\nADD CONSTRAINT check_7ca00cd891\nCHECK ( integration_id IS NOT NULL )\nNOT VALID;\n")5150main: -> 0.0012s5151main: -- current_schema()5152main: -> 0.0006s5153main: -- execute("ALTER TABLE issue_tracker_data VALIDATE CONSTRAINT check_7ca00cd891;")5154main: -> 0.0011s5155main: -- indexes(:issue_tracker_data)5156main: -> 0.0039s5157main: -- transaction_open?()5158main: -> 0.0000s5159main: -- index_exists?(:issue_tracker_data, ["integration_id"], {:unique=>false, :name=>"index_issue_tracker_data_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})5160main: -> 0.0034s5161main: -- add_index(:issue_tracker_data, ["integration_id"], {:unique=>false, :name=>"index_issue_tracker_data_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})5162main: -> 0.0018s5163main: -- foreign_keys(:issue_tracker_data)5164main: -> 0.0043s5165main: -- transaction_open?()5166main: -> 0.0000s5167main: -- foreign_keys("issue_tracker_data")5168main: -> 0.0042s5169main: -- transaction_open?()5170main: -> 0.0000s5171main: -- execute("ALTER TABLE issue_tracker_data\nADD CONSTRAINT fk_33921c0ee1\nFOREIGN KEY (integration_id)\nREFERENCES integrations (id)\nON DELETE CASCADE\nNOT VALID;\n")5172main: -> 0.0013s5173main: -- execute("ALTER TABLE issue_tracker_data VALIDATE CONSTRAINT fk_33921c0ee1;")5174main: -> 0.0014s5175main: -- transaction_open?()5176main: -> 0.0000s5177main: -- column_exists?(:issue_tracker_data, :service_id)5178main: -> 0.0031s5179main: -- column_exists?(:issue_tracker_data, :integration_id)5180main: -> 0.0030s5181main: -- current_schema()5182main: -> 0.0006s5183main: -- transaction_open?()5184main: -> 0.0000s5185main: -- quote_table_name(:issue_tracker_data)5186main: -> 0.0000s5187main: -- quote_column_name(:service_id)5188main: -> 0.0000s5189main: -- quote_column_name(:integration_id)5190main: -> 0.0000s5191main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_34908e7e0c0f()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n IF NEW.\"service_id\" IS NULL AND NEW.\"integration_id\" IS NOT NULL THEN\n NEW.\"service_id\" = NEW.\"integration_id\";\n END IF;\n\n IF NEW.\"integration_id\" IS NULL AND NEW.\"service_id\" IS NOT NULL THEN\n NEW.\"integration_id\" = NEW.\"service_id\";\n END IF;\n\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_34908e7e0c0f\nON \"issue_tracker_data\";\n\nCREATE TRIGGER trigger_34908e7e0c0f\nBEFORE INSERT ON \"issue_tracker_data\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_34908e7e0c0f();\n")5192main: -> 0.0014s5193main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_1376bf09038b()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"service_id\" := NEW.\"integration_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_1376bf09038b\nON \"issue_tracker_data\";\n\nCREATE TRIGGER trigger_1376bf09038b\nBEFORE UPDATE OF \"integration_id\" ON \"issue_tracker_data\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_1376bf09038b();\n")5194main: -> 0.0012s5195main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_7b472c15ea53()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"integration_id\" := NEW.\"service_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_7b472c15ea53\nON \"issue_tracker_data\";\n\nCREATE TRIGGER trigger_7b472c15ea53\nBEFORE UPDATE OF \"service_id\" ON \"issue_tracker_data\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_7b472c15ea53();\n")5196main: -> 0.0011s5197main: == 20220712131513 RenameIssueTrackerDataServiceIdToIntegrationId: migrated (0.0874s) 5198main: == 20220712131533 CleanupIssueTrackerDataServiceId: migrating =================5199main: -- column_exists?(:issue_tracker_data, :service_id)5200main: -> 0.0039s5201main: -- transaction_open?()5202main: -> 0.0000s5203main: -- quote_table_name(:issue_tracker_data)5204main: -> 0.0000s5205main: -- execute("DROP TRIGGER IF EXISTS trigger_34908e7e0c0f\nON \"issue_tracker_data\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_34908e7e0c0f;\n")5206main: -> 0.0012s5207main: -- execute("DROP TRIGGER IF EXISTS trigger_1376bf09038b\nON \"issue_tracker_data\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_1376bf09038b;\n")5208main: -> 0.0012s5209main: -- execute("DROP TRIGGER IF EXISTS trigger_7b472c15ea53\nON \"issue_tracker_data\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_7b472c15ea53;\n")5210main: -> 0.0013s5211main: -- remove_column(:issue_tracker_data, :service_id)5212main: -> 0.0016s5213main: == 20220712131533 CleanupIssueTrackerDataServiceId: migrated (0.0158s) ========5214main: == 20220712144843 RenameJiraTrackerDataServiceIdToIntegrationId: migrating ====5215main: -- transaction_open?()5216main: -> 0.0000s5217main: -- columns(:jira_tracker_data)5218main: -> 0.0042s5219main: -- column_exists?(:jira_tracker_data, :id)5220main: -> 0.0037s5221main: -- column_exists?(:jira_tracker_data, :integration_id)5222main: -> 0.0038s5223main: -- columns(:jira_tracker_data)5224main: -> 0.0036s5225main: -- add_column(:jira_tracker_data, :integration_id, :integer, {:limit=>4, :precision=>nil, :scale=>nil})5226main: -> 0.0015s5227main: -- transaction_open?()5228main: -> 0.0000s5229main: -- exec_query("SELECT COUNT(*) AS count FROM \"jira_tracker_data\"")5230main: -> 0.0013s5231main: -- current_schema()5232main: -> 0.0006s5233main: -- transaction_open?()5234main: -> 0.0000s5235main: -- current_schema()5236main: -> 0.0006s5237main: -- transaction_open?()5238main: -> 0.0000s5239main: -- execute("ALTER TABLE jira_tracker_data\nADD CONSTRAINT check_0fbd71d9f2\nCHECK ( integration_id IS NOT NULL )\nNOT VALID;\n")5240main: -> 0.0011s5241main: -- current_schema()5242main: -> 0.0005s5243main: -- execute("ALTER TABLE jira_tracker_data VALIDATE CONSTRAINT check_0fbd71d9f2;")5244main: -> 0.0010s5245main: -- indexes(:jira_tracker_data)5246main: -> 0.0035s5247main: -- transaction_open?()5248main: -> 0.0000s5249main: -- index_exists?(:jira_tracker_data, ["integration_id"], {:unique=>false, :name=>"index_jira_tracker_data_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})5250main: -> 0.0032s5251main: -- add_index(:jira_tracker_data, ["integration_id"], {:unique=>false, :name=>"index_jira_tracker_data_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})5252main: -> 0.0017s5253main: -- foreign_keys(:jira_tracker_data)5254main: -> 0.0048s5255main: -- transaction_open?()5256main: -> 0.0000s5257main: -- foreign_keys("jira_tracker_data")5258main: -> 0.0047s5259main: -- transaction_open?()5260main: -> 0.0000s5261main: -- execute("ALTER TABLE jira_tracker_data\nADD CONSTRAINT fk_c98abcd54c\nFOREIGN KEY (integration_id)\nREFERENCES integrations (id)\nON DELETE CASCADE\nNOT VALID;\n")5262main: -> 0.0019s5263main: -- execute("ALTER TABLE jira_tracker_data VALIDATE CONSTRAINT fk_c98abcd54c;")5264main: -> 0.0016s5265main: -- transaction_open?()5266main: -> 0.0000s5267main: -- column_exists?(:jira_tracker_data, :service_id)5268main: -> 0.0042s5269main: -- column_exists?(:jira_tracker_data, :integration_id)5270main: -> 0.0037s5271main: -- current_schema()5272main: -> 0.0006s5273main: -- transaction_open?()5274main: -> 0.0000s5275main: -- quote_table_name(:jira_tracker_data)5276main: -> 0.0001s5277main: -- quote_column_name(:service_id)5278main: -> 0.0000s5279main: -- quote_column_name(:integration_id)5280main: -> 0.0000s5281main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_d1b52a055c23()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n IF NEW.\"service_id\" IS NULL AND NEW.\"integration_id\" IS NOT NULL THEN\n NEW.\"service_id\" = NEW.\"integration_id\";\n END IF;\n\n IF NEW.\"integration_id\" IS NULL AND NEW.\"service_id\" IS NOT NULL THEN\n NEW.\"integration_id\" = NEW.\"service_id\";\n END IF;\n\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_d1b52a055c23\nON \"jira_tracker_data\";\n\nCREATE TRIGGER trigger_d1b52a055c23\nBEFORE INSERT ON \"jira_tracker_data\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_d1b52a055c23();\n")5282main: -> 0.0017s5283main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_001da65379d1()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"service_id\" := NEW.\"integration_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_001da65379d1\nON \"jira_tracker_data\";\n\nCREATE TRIGGER trigger_001da65379d1\nBEFORE UPDATE OF \"integration_id\" ON \"jira_tracker_data\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_001da65379d1();\n")5284main: -> 0.0016s5285main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_e2abd66db099()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"integration_id\" := NEW.\"service_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_e2abd66db099\nON \"jira_tracker_data\";\n\nCREATE TRIGGER trigger_e2abd66db099\nBEFORE UPDATE OF \"service_id\" ON \"jira_tracker_data\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_e2abd66db099();\n")5286main: -> 0.0014s5287main: == 20220712144843 RenameJiraTrackerDataServiceIdToIntegrationId: migrated (0.0970s) 5288main: == 20220712144900 CleanupJiraTrackerDataServiceId: migrating ==================5289main: -- column_exists?(:jira_tracker_data, :service_id)5290main: -> 0.0043s5291main: -- transaction_open?()5292main: -> 0.0000s5293main: -- quote_table_name(:jira_tracker_data)5294main: -> 0.0000s5295main: -- execute("DROP TRIGGER IF EXISTS trigger_d1b52a055c23\nON \"jira_tracker_data\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_d1b52a055c23;\n")5296main: -> 0.0012s5297main: -- execute("DROP TRIGGER IF EXISTS trigger_001da65379d1\nON \"jira_tracker_data\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_001da65379d1;\n")5298main: -> 0.0012s5299main: -- execute("DROP TRIGGER IF EXISTS trigger_e2abd66db099\nON \"jira_tracker_data\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_e2abd66db099;\n")5300main: -> 0.0011s5301main: -- remove_column(:jira_tracker_data, :service_id)5302main: -> 0.0016s5303main: == 20220712144900 CleanupJiraTrackerDataServiceId: migrated (0.0160s) =========5304main: == 20220712175029 AddIndexWithTargetTypeToTodos: migrating ====================5305main: -- transaction_open?()5306main: -> 0.0000s5307main: -- index_exists?(:todos, [:project_id, :user_id, :id, :target_type], {:name=>"index_requirements_project_id_user_id_id_and_target_type", :algorithm=>:concurrently})5308main: -> 0.0129s5309main: -- add_index(:todos, [:project_id, :user_id, :id, :target_type], {:name=>"index_requirements_project_id_user_id_id_and_target_type", :algorithm=>:concurrently})5310main: -> 0.0021s5311main: -- transaction_open?()5312main: -> 0.0000s5313main: -- index_exists?(:todos, [:user_id, :target_type], {:name=>"index_requirements_user_id_and_target_type", :algorithm=>:concurrently})5314main: -> 0.0135s5315main: -- add_index(:todos, [:user_id, :target_type], {:name=>"index_requirements_user_id_and_target_type", :algorithm=>:concurrently})5316main: -> 0.0018s5317main: == 20220712175029 AddIndexWithTargetTypeToTodos: migrated (0.0431s) ===========5318main: == 20220712181304 RemoveDeprecatedIndexesFromTodos: migrating =================5319main: -- transaction_open?()5320main: -> 0.0000s5321main: -- indexes(:todos)5322main: -> 0.0153s5323main: -- remove_index(:todos, {:algorithm=>:concurrently, :name=>"index_todos_on_project_id_and_user_id_and_id"})5324main: -> 0.0014s5325main: -- transaction_open?()5326main: -> 0.0000s5327main: -- indexes(:todos)5328main: -> 0.0124s5329main: -- remove_index(:todos, {:algorithm=>:concurrently, :name=>"index_todos_on_user_id"})5330main: -> 0.0016s5331main: == 20220712181304 RemoveDeprecatedIndexesFromTodos: migrated (0.0392s) ========5332main: == 20220713133515 CleanupBackfillDraftStatusesOnMergeRequests: migrating ======5333main: -- transaction_open?()5334main: -> 0.0000s5335main: == 20220713133515 CleanupBackfillDraftStatusesOnMergeRequests: migrated (0.0083s) 5336main: == 20220713175658 AddPackagesCleanupPoliciesWorkerCapacityToApplicationSettings: migrating 5337main: -- add_column(:application_settings, :package_registry_cleanup_policies_worker_capacity, :integer, {:default=>2, :null=>false})5338main: -> 0.0042s5339main: == 20220713175658 AddPackagesCleanupPoliciesWorkerCapacityToApplicationSettings: migrated (0.0045s) 5340main: == 20220713175737 AddApplicationSettingsPackagesCleanupPoliciesWorkerCapacityConstraint: migrating 5341main: -- transaction_open?()5342main: -> 0.0000s5343main: -- current_schema()5344main: -> 0.0008s5345main: -- transaction_open?()5346main: -> 0.0000s5347main: -- 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")5348main: -> 0.0021s5349main: -- current_schema()5350main: -> 0.0006s5351main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT app_settings_pkg_registry_cleanup_pol_worker_capacity_gte_zero;")5352main: -> 0.0017s5353main: == 20220713175737 AddApplicationSettingsPackagesCleanupPoliciesWorkerCapacityConstraint: migrated (0.0146s) 5354main: == 20220713175812 AddEnabledPoliciesIndexToPackagesCleanupPolicies: migrating =5355main: -- transaction_open?()5356main: -> 0.0000s5357main: -- 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})5358main: -> 0.0027s5359main: -- 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})5360main: -> 0.0020s5361main: == 20220713175812 AddEnabledPoliciesIndexToPackagesCleanupPolicies: migrated (0.0103s) 5362main: == 20220714105122 UpdateDefaultProjectImportLevelOnNamespaceSettings: migrating 5363main: -- change_column(:namespace_settings, :project_import_level, :smallint, {:default=>50, :null=>false})5364main: -> 0.0025s5365main: == 20220714105122 UpdateDefaultProjectImportLevelOnNamespaceSettings: migrated (0.0029s) 5366main: == 20220714122311 AddAsyncIndexOnSecurityFindingsIdAndPartitionNumber: migrating 5367main: -- index_exists?(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})5368main: -> 0.0091s5369main: -- add_index_options(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})5370main: -> 0.0001s5371main: == 20220714122311 AddAsyncIndexOnSecurityFindingsIdAndPartitionNumber: migrated (0.0200s) 5372main: == 20220714122418 AddAsyncIndexOnSecurityFindingsUniqueColumns: migrating =====5373main: -- index_exists?(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})5374main: -> 0.0095s5375main: -- add_index_options(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})5376main: -> 0.0001s5377main: == 20220714122418 AddAsyncIndexOnSecurityFindingsUniqueColumns: migrated (0.0202s) 5378main: == 20220714142424 UpdateTriggerUpdateVulnerabilityReadsOnVulnerabilityUpdate: migrating 5379main: -- execute("DROP TRIGGER IF EXISTS trigger_update_vulnerability_reads_on_vulnerability_update ON vulnerabilities")5380main: -> 0.0012s5381main: -- 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")5382main: -> 0.0016s5383main: == 20220714142424 UpdateTriggerUpdateVulnerabilityReadsOnVulnerabilityUpdate: migrated (0.0033s) 5384main: == 20220715054506 AddParentLinkUniqueWorkItemIndex: migrating =================5385main: -- transaction_open?()5386main: -> 0.0000s5387main: -- index_exists?(:work_item_parent_links, :work_item_id, {:unique=>true, :name=>"index_work_item_parent_links_on_work_item_id", :algorithm=>:concurrently})5388main: -> 0.0049s5389main: -- add_index(:work_item_parent_links, :work_item_id, {:unique=>true, :name=>"index_work_item_parent_links_on_work_item_id", :algorithm=>:concurrently})5390main: -> 0.0018s5391main: -- transaction_open?()5392main: -> 0.0000s5393main: -- indexes(:work_item_parent_links)5394main: -> 0.0050s5395main: -- remove_index(:work_item_parent_links, {:algorithm=>:concurrently, :name=>"index_parent_links_on_work_item_id_and_work_item_parent_id"})5396main: -> 0.0014s5397main: == 20220715054506 AddParentLinkUniqueWorkItemIndex: migrated (0.0227s) ========5398main: == 20220715152108 BackfillProjectImportLevel: migrating =======================5399main: == 20220715152108 BackfillProjectImportLevel: migrated (0.0522s) ==============5400main: == 20220715160023 DropPostMigrationTestTable: migrating =======================5401main: -- drop_table(:post_migration_test_table)5402main: -> 0.0024s5403main: == 20220715160023 DropPostMigrationTestTable: migrated (0.0027s) ==============5404main: == 20220715163254 UpdateNotesInPast: migrating ================================5405main: == 20220715163254 UpdateNotesInPast: migrated (0.0057s) =======================5406main: == 20220715185348 AddIndexOnSecurityFindingsIdAndPartitionNumber: migrating ===5407main: -- transaction_open?()5408main: -> 0.0000s5409main: -- index_exists?(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})5410main: -> 0.0095s5411main: -- add_index(:security_findings, [:id, :partition_number], {:unique=>true, :name=>"security_findings_partitioned_pkey", :algorithm=>:concurrently})5412main: -> 0.0017s5413main: == 20220715185348 AddIndexOnSecurityFindingsIdAndPartitionNumber: migrated (0.0200s) 5414main: == 20220715185436 AddIndexOnSecurityFindingsUniqueColumns: migrating ==========5415main: -- transaction_open?()5416main: -> 0.0000s5417main: -- index_exists?(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})5418main: -> 0.0121s5419main: -- add_index(:security_findings, [:uuid, :scan_id, :partition_number], {:unique=>true, :name=>"index_security_findings_on_unique_columns", :algorithm=>:concurrently})5420main: -> 0.0018s5421main: == 20220715185436 AddIndexOnSecurityFindingsUniqueColumns: migrated (0.0229s) =5422main: == 20220715190612 DropIndexOnSecurityFindingsUuidAndScanId: migrating =========5423main: -- transaction_open?()5424main: -> 0.0000s5425main: -- indexes(:security_findings)5426main: -> 0.0113s5427main: -- remove_index(:security_findings, {:algorithm=>:concurrently, :name=>"index_security_findings_on_uuid_and_scan_id"})5428main: -> 0.0015s5429main: == 20220715190612 DropIndexOnSecurityFindingsUuidAndScanId: migrated (0.0172s) 5430main: == 20220715191629 ChangePrimaryKeyOfSecurityFindingsTable: migrating ==========5431main: -- execute("ALTER TABLE security_findings DROP CONSTRAINT security_findings_pkey;\n")5432main: -> 0.0013s5433main: -- execute("ALTER TABLE security_findings ADD CONSTRAINT security_findings_pkey PRIMARY KEY USING index security_findings_partitioned_pkey;\n")5434main: -> 0.0012s5435main: == 20220715191629 ChangePrimaryKeyOfSecurityFindingsTable: migrated (0.0028s) =5436main: == 20220718083945 AddUniqueProjectDownloadLimitAllowlistToNamespaceSettings: migrating 5437main: -- add_column(:namespace_settings, :unique_project_download_limit_allowlist, :text, {:array=>true, :default=>[], :null=>false})5438main: -> 0.0032s5439main: == 20220718083945 AddUniqueProjectDownloadLimitAllowlistToNamespaceSettings: migrated (0.0035s) 5440main: == 20220719081542 DropQueuedAtIndexFromCiBuilds: migrating ====================5441main: -- transaction_open?()5442main: -> 0.0000s5443main: -- indexes(:ci_builds)5444main: -> 0.0259s5445main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_on_queued_at"})5446main: -> 0.0017s5447main: == 20220719081542 DropQueuedAtIndexFromCiBuilds: migrated (0.0325s) ===========5448main: == 20220719165537 RemoveCiRunnersSemverColumn: migrating ======================5449main: -- transaction_open?()5450main: -> 0.0000s5451main: -- remove_column(:ci_runners, :semver)5452main: -> 0.0014s5453main: == 20220719165537 RemoveCiRunnersSemverColumn: migrated (0.0058s) =============5454main: == 20220720090354 RemovePendingBuildsCoveringIndexFromCiBuilds: migrating =====5455main: -- transaction_open?()5456main: -> 0.0000s5457main: -- indexes(:ci_builds)5458main: -> 0.0253s5459main: -- remove_index(:ci_builds, {:algorithm=>:concurrently, :name=>"index_ci_builds_runner_id_pending_covering"})5460main: -> 0.0017s5461main: == 20220720090354 RemovePendingBuildsCoveringIndexFromCiBuilds: migrated (0.0316s) 5462main: == 20220720121421 RemovePatAndSshEnforcementColumnsFromApplicationSettings: migrating 5463main: -- remove_column(:application_settings, :enforce_pat_expiration, :boolean, {:default=>true, :null=>false})5464main: -> 0.0033s5465main: -- remove_column(:application_settings, :enforce_ssh_key_expiration, :boolean, {:default=>true, :null=>false})5466main: -> 0.0018s5467main: == 20220720121421 RemovePatAndSshEnforcementColumnsFromApplicationSettings: migrated (0.0055s) 5468main: == 20220720123249 RemoveTokenColumnFromCiBuilds: migrating ====================5469main: -- remove_column(:ci_builds, :token, :string)5470main: -> 0.0014s5471main: == 20220720123249 RemoveTokenColumnFromCiBuilds: migrated (0.0018s) ===========5472main: == 20220720161816 AddNamespaceIdToVulnerabilityReadsTable: migrating ==========5473main: -- add_column(:vulnerability_reads, :namespace_id, :bigint)5474main: -> 0.0014s5475main: == 20220720161816 AddNamespaceIdToVulnerabilityReadsTable: migrated (0.0017s) =5476main: == 20220720162123 UpdateVulnerabilityReadsTriggersToSetNamespaceId: migrating =5477main: -- 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")5478main: -> 0.0016s5479main: -- 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")5480main: -> 0.0011s5481main: == 20220720162123 UpdateVulnerabilityReadsTriggersToSetNamespaceId: migrated (0.0033s) 5482main: == 20220720171102 AddIndexOnVulnerabilityReadsNamespaceId: migrating ==========5483main: -- transaction_open?()5484main: -> 0.0000s5485main: -- 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})5486main: -> 0.0124s5487main: -- 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})5488main: -> 0.0019s5489main: == 20220720171102 AddIndexOnVulnerabilityReadsNamespaceId: migrated (0.0199s) =5490main: == 20220720171801 AddForeignKeyOnVulnerabilityReadsNamespaceId: migrating =====5491main: -- transaction_open?()5492main: -> 0.0000s5493main: -- foreign_keys(:vulnerability_reads)5494main: -> 0.0051s5495main: -- transaction_open?()5496main: -> 0.0000s5497main: -- execute("ALTER TABLE vulnerability_reads\nADD CONSTRAINT fk_4f593f6c62\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")5498main: -> 0.0021s5499main: -- execute("ALTER TABLE vulnerability_reads VALIDATE CONSTRAINT fk_4f593f6c62;")5500main: -> 0.0019s5501main: == 20220720171801 AddForeignKeyOnVulnerabilityReadsNamespaceId: migrated (0.0149s) 5502main: == 20220720210446 AddStartDateToIssuesTable: migrating ========================5503main: -- add_column(:issues, :start_date, :date)5504main: -> 0.0017s5505main: == 20220720210446 AddStartDateToIssuesTable: migrated (0.0020s) ===============5506main: == 20220721031446 ScheduleDisableLegacyOpenSourceLicenseForOneMemberNoRepoProjects: migrating 5507main: == 20220721031446 ScheduleDisableLegacyOpenSourceLicenseForOneMemberNoRepoProjects: migrated (0.0003s) 5508main: == 20220721140252 PreparePartialTrigramIndexesForIssues: migrating ============5509main: -- 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})5510main: -> 0.0316s5511main: -- 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})5512main: -> 0.0003s5513main: -- 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})5514main: -> 0.0299s5515main: -- 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})5516main: -> 0.0001s5517main: == 20220721140252 PreparePartialTrigramIndexesForIssues: migrated (0.0789s) ===5518main: == 20220722084543 ScheduleDisableLegacyOpenSourceLicenseForNoIssuesNoRepoProjects: migrating 5519main: == 20220722084543 ScheduleDisableLegacyOpenSourceLicenseForNoIssuesNoRepoProjects: migrated (0.0003s) 5520main: == 20220722110026 RescheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrating 5521main: == 20220722110026 RescheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects: migrated (0.0003s) 5522main: == 20220722123318 UpdateDelayedDeletionPeriod: migrating ======================5523main: -- execute("UPDATE application_settings SET\n deletion_adjourned_period = 1,\n delayed_group_deletion = 'f',\n delayed_project_removal ='f'\nWHERE deletion_adjourned_period = 0;\n")5524main: -> 0.0032s5525main: == 20220722123318 UpdateDelayedDeletionPeriod: migrated (0.0036s) =============5526main: == 20220722145845 ScheduleBackfillingTheNamespaceIdForVulnerabilityReads: migrating 5527main: == 20220722145845 ScheduleBackfillingTheNamespaceIdForVulnerabilityReads: migrated (0.0506s) 5528main: == 20220722150231 CreateFunctionGitlabSchemaPreventWrite: migrating ===========5529main: -- execute("CREATE OR REPLACE FUNCTION gitlab_schema_prevent_write()\n RETURNS TRIGGER AS\n $$\nBEGIN\n RAISE EXCEPTION 'Table: \"%\" is write protected within this Gitlab database.', TG_TABLE_NAME\n USING ERRCODE = 'modifying_sql_data_not_permitted',\n HINT = 'Make sure you are using the right database connection';\nEND\n$$ LANGUAGE PLPGSQL\n")5530main: -> 0.0010s5531main: == 20220722150231 CreateFunctionGitlabSchemaPreventWrite: migrated (0.0013s) ==5532main: == 20220722203840 UpdateLockWritesFunctionDisabledViaSetting: migrating =======5533main: -- execute("CREATE OR REPLACE FUNCTION gitlab_schema_prevent_write()\n RETURNS TRIGGER AS\n $$\nBEGIN\n IF COALESCE(NULLIF(current_setting(CONCAT('lock_writes.', TG_TABLE_NAME), true), ''), 'true') THEN\n RAISE EXCEPTION 'Table: \"%\" is write protected within this Gitlab database.', TG_TABLE_NAME\n USING ERRCODE = 'modifying_sql_data_not_permitted',\n HINT = 'Make sure you are using the right database connection';\n END IF;\n RETURN NEW;\nEND\n$$ LANGUAGE PLPGSQL;\n")5534main: -> 0.0017s5535main: == 20220722203840 UpdateLockWritesFunctionDisabledViaSetting: migrated (0.0020s) 5536main: == 20220723120039 AddAuthorIdToVulnerabilityStateTransitions: migrating =======5537main: -- add_column(:vulnerability_state_transitions, :author_id, :bigint)5538main: -> 0.0018s5539main: == 20220723120039 AddAuthorIdToVulnerabilityStateTransitions: migrated (0.0020s) 5540main: == 20220725150127 UpdateJiraTrackerDataDeploymentTypeBasedOnUrl: migrating ====5541main: -- Scheduling UpdateJiraTrackerDataDeploymentTypeBasedOnUrl jobs5542main: == 20220725150127 UpdateJiraTrackerDataDeploymentTypeBasedOnUrl: migrated (0.0591s) 5543main: == 20220726025516 AddNamespaceSettingsUniqueProjectDownloadLimitAllowlistSizeConstraint: migrating 5544main: -- transaction_open?()5545main: -> 0.0000s5546main: -- current_schema()5547main: -> 0.0006s5548main: -- transaction_open?()5549main: -> 0.0000s5550main: -- 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")5551main: -> 0.0012s5552main: -- current_schema()5553main: -> 0.0006s5554main: -- execute("ALTER TABLE namespace_settings VALIDATE CONSTRAINT namespace_settings_unique_project_download_limit_allowlist_size;")5555main: -> 0.0010s5556main: == 20220726025516 AddNamespaceSettingsUniqueProjectDownloadLimitAllowlistSizeConstraint: migrated (0.0124s) 5557main: == 20220726154012 EnsureSbomOccurrencesIsEmpty: migrating =====================5558main: -- execute("DELETE FROM sbom_occurrences")5559main: -> 0.0013s5560main: == 20220726154012 EnsureSbomOccurrencesIsEmpty: migrated (0.0016s) ============5561main: == 20220726154013 AddComponentIdToSbomOccurrences: migrating ==================5562main: -- add_column(:sbom_occurrences, :component_id, :bigint, {:null=>false})5563main: -> 0.0015s5564main: == 20220726154013 AddComponentIdToSbomOccurrences: migrated (0.0017s) =========5565main: == 20220726154014 AddIndexToSbomOccurrencesComponentId: migrating =============5566main: -- transaction_open?()5567main: -> 0.0000s5568main: -- index_exists?(:sbom_occurrences, :component_id, {:name=>"index_sbom_occurrences_on_component_id", :algorithm=>:concurrently})5569main: -> 0.0063s5570main: -- add_index(:sbom_occurrences, :component_id, {:name=>"index_sbom_occurrences_on_component_id", :algorithm=>:concurrently})5571main: -> 0.0019s5572main: == 20220726154014 AddIndexToSbomOccurrencesComponentId: migrated (0.0142s) ====5573main: == 20220726154015 AddComponentForeignKeyToSbomOccurrences: migrating ==========5574main: -- transaction_open?()5575main: -> 0.0000s5576main: -- foreign_keys(:sbom_occurrences)5577main: -> 0.0052s5578main: -- transaction_open?()5579main: -> 0.0000s5580main: -- execute("ALTER TABLE sbom_occurrences\nADD CONSTRAINT fk_d857c6edc1\nFOREIGN KEY (component_id)\nREFERENCES sbom_components (id)\nON DELETE CASCADE\nNOT VALID;\n")5581main: -> 0.0013s5582main: -- execute("ALTER TABLE sbom_occurrences VALIDATE CONSTRAINT fk_d857c6edc1;")5583main: -> 0.0013s5584main: == 20220726154015 AddComponentForeignKeyToSbomOccurrences: migrated (0.0130s) =5585main: == 20220726154016 MakeComponentVersionNullable: migrating =====================5586main: -- change_column_null(:sbom_occurrences, :component_version_id, true)5587main: -> 0.0010s5588main: == 20220726154016 MakeComponentVersionNullable: migrated (0.0012s) ============5589main: == 20220726182310 AddUserFkToVulnerabilityStateTransitions: migrating =========5590main: -- transaction_open?()5591main: -> 0.0000s5592main: -- index_exists?(:vulnerability_state_transitions, :author_id, {:name=>"index_vulnerability_state_transitions_on_author_id", :algorithm=>:concurrently})5593main: -> 0.0035s5594main: -- add_index(:vulnerability_state_transitions, :author_id, {:name=>"index_vulnerability_state_transitions_on_author_id", :algorithm=>:concurrently})5595main: -> 0.0014s5596main: -- transaction_open?()5597main: -> 0.0000s5598main: -- foreign_keys(:vulnerability_state_transitions)5599main: -> 0.0043s5600main: -- transaction_open?()5601main: -> 0.0000s5602main: -- execute("ALTER TABLE vulnerability_state_transitions\nADD CONSTRAINT fk_e719dc63df\nFOREIGN KEY (author_id)\nREFERENCES users (id)\nON DELETE SET NULL\nNOT VALID;\n")5603main: -> 0.0017s5604main: -- execute("ALTER TABLE vulnerability_state_transitions VALIDATE CONSTRAINT fk_e719dc63df;")5605main: -> 0.0017s5606main: == 20220726182310 AddUserFkToVulnerabilityStateTransitions: migrated (0.0217s) 5607main: == 20220726230052 RemoveTmpIndexProjectMembershipNamespaceIdColumn: migrating =5608main: -- transaction_open?()5609main: -> 0.0000s5610main: -- indexes(:members)5611main: -> 0.0157s5612main: -- remove_index(:members, {:algorithm=>:concurrently, :name=>"tmp_index_for_namespace_id_migration_on_project_members"})5613main: -> 0.0014s5614main: == 20220726230052 RemoveTmpIndexProjectMembershipNamespaceIdColumn: migrated (0.0211s) 5615main: == 20220728114136 MakeSshSignatureKeyNullable: migrating ======================5616main: -- change_column_null(:ssh_signatures, :key_id, true)5617main: -> 0.0009s5618main: == 20220728114136 MakeSshSignatureKeyNullable: migrated (0.0011s) =============5619main: == 20220728134255 UpdateIndexVulnerabilitiesCommonFinder: migrating ===========5620main: -- transaction_open?()5621main: -> 0.0000s5622main: -- index_exists?(:vulnerabilities, [:project_id, :state, :report_type, :present_on_default_branch, :severity, :id], {:name=>"index_vulnerabilities_common_finder_query_on_default_branch", :algorithm=>:concurrently})5623main: -> 0.0167s5624main: -- add_index(:vulnerabilities, [:project_id, :state, :report_type, :present_on_default_branch, :severity, :id], {:name=>"index_vulnerabilities_common_finder_query_on_default_branch", :algorithm=>:concurrently})5625main: -> 0.0021s5626main: -- transaction_open?()5627main: -> 0.0000s5628main: -- indexes(:vulnerabilities)5629main: -> 0.0169s5630main: -- remove_index(:vulnerabilities, {:algorithm=>:concurrently, :name=>"index_vulnerabilites_common_finder_query"})5631main: -> 0.0016s5632main: == 20220728134255 UpdateIndexVulnerabilitiesCommonFinder: migrated (0.0469s) ==5633main: == 20220729033851 AddPartialLegacyOpenSourceLicenseAvailableIndex: migrating ==5634main: -- transaction_open?()5635main: -> 0.0000s5636main: -- index_exists?(:project_settings, [:legacy_open_source_license_available], {:where=>"legacy_open_source_license_available = TRUE", :name=>"index_project_settings_on_legacy_open_source_license_available", :algorithm=>:concurrently})5637main: -> 0.0043s5638main: -- add_index(:project_settings, [:legacy_open_source_license_available], {:where=>"legacy_open_source_license_available = TRUE", :name=>"index_project_settings_on_legacy_open_source_license_available", :algorithm=>:concurrently})5639main: -> 0.0020s5640main: == 20220729033851 AddPartialLegacyOpenSourceLicenseAvailableIndex: migrated (0.0116s) 5641main: == 20220729052031 AddIndexOnVulnerabilityReadsNamespaceIdWithReportType: migrating 5642main: -- transaction_open?()5643main: -> 0.0000s5644main: -- 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})5645main: -> 0.0136s5646main: -- 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})5647main: -> 0.0021s5648main: == 20220729052031 AddIndexOnVulnerabilityReadsNamespaceIdWithReportType: migrated (0.0212s) 5649main: == 20220729073603 IndexPersonalAccessTokensOnIdAndCreatedAt: migrating ========5650main: -- transaction_open?()5651main: -> 0.0000s5652main: -- index_exists?(:personal_access_tokens, [:id, :created_at], {:name=>"index_personal_access_tokens_on_id_and_created_at", :algorithm=>:concurrently})5653main: -> 0.0063s5654main: -- add_index(:personal_access_tokens, [:id, :created_at], {:name=>"index_personal_access_tokens_on_id_and_created_at", :algorithm=>:concurrently})5655main: -> 0.0018s5656main: == 20220729073603 IndexPersonalAccessTokensOnIdAndCreatedAt: migrated (0.0140s) 5657main: == 20220801144713 AddPartialTrigramIndexForIssueTitle: migrating ==============5658main: -- transaction_open?()5659main: -> 0.0001s5660main: -- 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})5661main: -> 0.0304s5662main: -- add_index(: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})5663main: -> 0.0025s5664main: == 20220801144713 AddPartialTrigramIndexForIssueTitle: migrated (0.0425s) =====5665main: == 20220801150028 AddPartialTrigramIndexForIssueDescription: migrating ========5666main: -- transaction_open?()5667main: -> 0.0000s5668main: -- 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})5669main: -> 0.0333s5670main: -- add_index(: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})5671main: -> 0.0025s5672main: == 20220801150028 AddPartialTrigramIndexForIssueDescription: migrated (0.0456s) 5673main: == 20220801155858 ScheduleDisableLegacyOpenSourceLicenceForRecentPublicProjects: migrating 5674main: == 20220801155858 ScheduleDisableLegacyOpenSourceLicenceForRecentPublicProjects: migrated (0.0002s) 5675main: == 20220802112102 ScheduleMigrateSharedVulnerabilityScanners: migrating =======5676main: == 20220802112102 ScheduleMigrateSharedVulnerabilityScanners: migrated (0.0532s) 5677main: == 20220802114351 RescheduleBackfillContainerRegistrySizeIntoProjectStatistics: migrating 5678main: == 20220802114351 RescheduleBackfillContainerRegistrySizeIntoProjectStatistics: migrated (0.0607s) 5679main: == 20220802132158 IndexOnIntegrationTypeNewIdWhenActiveAndHasGroup: migrating =5680main: -- transaction_open?()5681main: -> 0.0000s5682main: -- index_exists?(:integrations, [:type_new, :id, :inherit_from_id], {:name=>"index_integrations_on_type_new_id_when_active_and_has_group", :where=>"((active = true) AND (group_id IS NOT NULL))", :algorithm=>:concurrently})5683main: -> 0.0104s5684main: -- add_index(:integrations, [:type_new, :id, :inherit_from_id], {:name=>"index_integrations_on_type_new_id_when_active_and_has_group", :where=>"((active = true) AND (group_id IS NOT NULL))", :algorithm=>:concurrently})5685main: -> 0.0024s5686main: == 20220802132158 IndexOnIntegrationTypeNewIdWhenActiveAndHasGroup: migrated (0.0189s) 5687main: == 20220802154757 AddDeactivateDormantUserTimeSetting: migrating ==============5688main: -- add_column(:application_settings, :deactivate_dormant_users_period, :integer, {:default=>90, :null=>false})5689main: -> 0.0035s5690main: == 20220802154757 AddDeactivateDormantUserTimeSetting: migrated (0.0038s) =====5691main: == 20220802204737 RemoveDeactivatedUserHighestRoleStats: migrating ============5692main: == 20220802204737 RemoveDeactivatedUserHighestRoleStats: migrated (0.0063s) ===5693main: == 20220803042351 AddTmpIndexTodosAttentionRequestAction: migrating ===========5694main: -- transaction_open?()5695main: -> 0.0000s5696main: -- index_exists?(:todos, [:id], {:where=>"action = 10", :name=>"tmp_index_todos_attention_request_action", :algorithm=>:concurrently})5697main: -> 0.0112s5698main: -- add_index(:todos, [:id], {:where=>"action = 10", :name=>"tmp_index_todos_attention_request_action", :algorithm=>:concurrently})5699main: -> 0.0019s5700main: == 20220803042351 AddTmpIndexTodosAttentionRequestAction: migrated (0.0186s) ==5701main: == 20220803042352 CleanupMrAttentionRequestTodos: migrating ===================5702main: == 20220803042352 CleanupMrAttentionRequestTodos: migrated (0.0284s) ==========5703main: == 20220803145637 CreateUserProjectCallout: migrating =========================5704main: -- create_table(:user_project_callouts, {})5705main: -> 0.0063s5706main: == 20220803145637 CreateUserProjectCallout: migrated (0.0067s) ================5707main: == 20220803154543 AddProjectIdFkeyForUserProjectCallout: migrating ============5708main: -- transaction_open?()5709main: -> 0.0000s5710main: -- foreign_keys(:user_project_callouts)5711main: -> 0.0047s5712main: -- transaction_open?()5713main: -> 0.0000s5714main: -- execute("ALTER TABLE user_project_callouts\nADD CONSTRAINT fk_33b4814f6b\nFOREIGN KEY (project_id)\nREFERENCES projects (id)\nON DELETE CASCADE\nNOT VALID;\n")5715main: -> 0.0023s5716main: -- execute("ALTER TABLE user_project_callouts VALIDATE CONSTRAINT fk_33b4814f6b;")5717main: -> 0.0022s5718main: == 20220803154543 AddProjectIdFkeyForUserProjectCallout: migrated (0.0147s) ===5719main: == 20220803154758 AddUserIdFkeyForUserProjectCallout: migrating ===============5720main: -- transaction_open?()5721main: -> 0.0001s5722main: -- foreign_keys(:user_project_callouts)5723main: -> 0.0049s5724main: -- transaction_open?()5725main: -> 0.0000s5726main: -- execute("ALTER TABLE user_project_callouts\nADD CONSTRAINT fk_f62dd11a33\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")5727main: -> 0.0019s5728main: -- execute("ALTER TABLE user_project_callouts VALIDATE CONSTRAINT fk_f62dd11a33;")5729main: -> 0.0015s5730main: == 20220803154758 AddUserIdFkeyForUserProjectCallout: migrated (0.0132s) ======5731main: == 20220803235114 AddAutoBanUserToApplicationSettings: migrating ==============5732main: -- add_column(:application_settings, :auto_ban_user_on_excessive_projects_download, :boolean, {:default=>false, :null=>false})5733main: -> 0.0037s5734main: == 20220803235114 AddAutoBanUserToApplicationSettings: migrated (0.0040s) =====5735main: == 20220804235614 AddCommentToVulnerabilityStateTransitions: migrating ========5736main: -- add_column(:vulnerability_state_transitions, :comment, :text)5737main: -> 0.0031s5738main: == 20220804235614 AddCommentToVulnerabilityStateTransitions: migrated (0.0034s) 5739main: == 20220805001210 AddTextLimitToVulnerabilityStateTransitionsComment: migrating 5740main: -- transaction_open?()5741main: -> 0.0000s5742main: -- current_schema()5743main: -> 0.0007s5744main: -- transaction_open?()5745main: -> 0.0000s5746main: -- execute("ALTER TABLE vulnerability_state_transitions\nADD CONSTRAINT check_fca4a7ca39\nCHECK ( char_length(comment) <= 255 )\nNOT VALID;\n")5747main: -> 0.0012s5748main: -- current_schema()5749main: -> 0.0005s5750main: -- execute("ALTER TABLE vulnerability_state_transitions VALIDATE CONSTRAINT check_fca4a7ca39;")5751main: -> 0.0011s5752main: == 20220805001210 AddTextLimitToVulnerabilityStateTransitionsComment: migrated (0.0131s) 5753main: == 20220805154101 AddAllowRunPipelinesInTheParentProjectSetting: migrating ====5754main: -- add_column(:project_ci_cd_settings, :allow_fork_pipelines_to_run_in_parent_project, :boolean, {:default=>true, :null=>false})5755main: -> 0.0030s5756main: == 20220805154101 AddAllowRunPipelinesInTheParentProjectSetting: migrated (0.0032s) 5757main: == 20220808072054 PrepareIndexRemovalSecurityFindings: migrating ==============5758main: -- index_exists?(:security_findings, [:uuid, :id], {:name=>:index_on_security_findings_uuid_and_id_order_desc})5759main: -> 0.0109s5760main: -- quote_column_name(:index_on_security_findings_uuid_and_id_order_desc)5761main: -> 0.0000s5762main: == 20220808072054 PrepareIndexRemovalSecurityFindings: migrated (0.0176s) =====5763main: == 20220808131659 RemoveCiNamespaceMonthlyUsagesAdditionalAmountAvailableColumn: migrating 5764main: -- remove_column(:ci_namespace_monthly_usages, :additional_amount_available)5765main: -> 0.0024s5766main: == 20220808131659 RemoveCiNamespaceMonthlyUsagesAdditionalAmountAvailableColumn: migrated (0.0027s) 5767main: == 20220808133824 AddTimestampsToProjectStatistics: migrating =================5768main: -- add_column(:project_statistics, :created_at, :datetime_with_timezone, {:default=>#<Proc:0x00007f41b9d95e70 /builds/gitlab-org/gitlab/db/migrate/20220808133824_add_timestamps_to_project_statistics.rb:5 (lambda)>, :null=>false})5769main: -> 0.0024s5770main: -- add_column(:project_statistics, :updated_at, :datetime_with_timezone, {:default=>#<Proc:0x00007f41b9d95e70 /builds/gitlab-org/gitlab/db/migrate/20220808133824_add_timestamps_to_project_statistics.rb:5 (lambda)>, :null=>false})5771main: -> 0.0013s5772main: == 20220808133824 AddTimestampsToProjectStatistics: migrated (0.0041s) ========5773main: == 20220808190124 AddIdTokenToCiBuildsMetadata: migrating =====================5774main: -- add_column(:ci_builds_metadata, :id_tokens, :jsonb, {:null=>false, :default=>{}})5775main: -> 0.0022s5776main: == 20220808190124 AddIdTokenToCiBuildsMetadata: migrated (0.0026s) ============5777main: == 20220808194857 RemoveDescriptionHtmlLimit: migrating =======================5778main: -- transaction_open?()5779main: -> 0.0000s5780main: -- transaction_open?()5781main: -> 0.0000s5782main: -- execute("ALTER TABLE namespace_details\nDROP CONSTRAINT IF EXISTS check_2df620eaf6\n")5783main: -> 0.0012s5784main: -- transaction_open?()5785main: -> 0.0000s5786main: -- transaction_open?()5787main: -> 0.0000s5788main: -- execute("ALTER TABLE namespace_details\nDROP CONSTRAINT IF EXISTS check_2f563eec0f\n")5789main: -> 0.0009s5790main: == 20220808194857 RemoveDescriptionHtmlLimit: migrated (0.0095s) ==============5791main: == 20220809002011 ScheduleDestroyInvalidGroupMembers: migrating ===============5792main: == 20220809002011 ScheduleDestroyInvalidGroupMembers: migrated (0.0543s) ======5793main: == 20220809214730 AddNoteMetadataTempIndexOnIdWhereTask: migrating ============5794main: -- transaction_open?()5795main: -> 0.0000s5796main: -- index_exists?(:system_note_metadata, [:id, :action], {:where=>"action = 'task'", :name=>"tmp_index_system_note_metadata_on_id_where_task", :algorithm=>:concurrently})5797main: -> 0.0050s5798main: -- add_index(:system_note_metadata, [:id, :action], {:where=>"action = 'task'", :name=>"tmp_index_system_note_metadata_on_id_where_task", :algorithm=>:concurrently})5799main: -> 0.0018s5800main: == 20220809214730 AddNoteMetadataTempIndexOnIdWhereTask: migrated (0.0126s) ===5801main: == 20220809223215 ChangeTaskSystemNoteWordingToChecklistItem: migrating =======5802main: == 20220809223215 ChangeTaskSystemNoteWordingToChecklistItem: migrated (0.0556s) 5803main: == 20220810093742 AddAsyncTmpIndexJobArtifactsIdAndExpireAt: migrating ========5804main: -- index_exists?(:ci_job_artifacts, :id, {:where=>"(EXTRACT(day FROM timezone('UTC', expire_at)) IN (21, 22, 23)\nAND EXTRACT(minute FROM timezone('UTC', expire_at)) IN (0, 30, 45)\nAND EXTRACT(second FROM timezone('UTC', expire_at)) = 0)\nOR file_type = 3\n", :name=>"tmp_index_ci_job_artifacts_on_id_expire_at_file_type_trace", :algorithm=>:concurrently})5805main: -> 0.0161s5806main: -- add_index_options(:ci_job_artifacts, :id, {:where=>"(EXTRACT(day FROM timezone('UTC', expire_at)) IN (21, 22, 23)\nAND EXTRACT(minute FROM timezone('UTC', expire_at)) IN (0, 30, 45)\nAND EXTRACT(second FROM timezone('UTC', expire_at)) = 0)\nOR file_type = 3\n", :name=>"tmp_index_ci_job_artifacts_on_id_expire_at_file_type_trace", :algorithm=>:concurrently})5807main: -> 0.0001s5808main: == 20220810093742 AddAsyncTmpIndexJobArtifactsIdAndExpireAt: migrated (0.0269s) 5809main: == 20220811092243 CreateMlExperiments: migrating ==============================5810main: -- create_table(:ml_experiments, {})5811main: -- quote_column_name(:name)5812main: -> 0.0000s5813main: -> 0.0087s5814main: == 20220811092243 CreateMlExperiments: migrated (0.0090s) =====================5815main: == 20220811092244 CreateMlCandidates: migrating ===============================5816main: -- create_table(:ml_candidates, {})5817main: -> 0.0065s5818main: == 20220811092244 CreateMlCandidates: migrated (0.0068s) ======================5819main: == 20220811092245 CreateMlCandidateParams: migrating ==========================5820main: -- create_table(:ml_candidate_params, {})5821main: -- quote_column_name(:name)5822main: -> 0.0000s5823main: -- quote_column_name(:value)5824main: -> 0.0000s5825main: -> 0.0073s5826main: == 20220811092245 CreateMlCandidateParams: migrated (0.0077s) =================5827main: == 20220811092246 CreateMlCandidateMetrics: migrating =========================5828main: -- create_table(:ml_candidate_metrics, {})5829main: -- quote_column_name(:name)5830main: -> 0.0000s5831main: -> 0.0066s5832main: == 20220811092246 CreateMlCandidateMetrics: migrated (0.0068s) ================5833main: == 20220811092251 AddMlCandidatesReferenceToExperiment: migrating =============5834main: -- transaction_open?()5835main: -> 0.0001s5836main: -- foreign_keys(:ml_candidates)5837main: -> 0.0048s5838main: -- transaction_open?()5839main: -> 0.0000s5840main: -- execute("ALTER TABLE ml_candidates\nADD CONSTRAINT fk_56d6ed4d3d\nFOREIGN KEY (experiment_id)\nREFERENCES ml_experiments (id)\nON DELETE CASCADE\nNOT VALID;\n")5841main: -> 0.0015s5842main: -- execute("ALTER TABLE ml_candidates VALIDATE CONSTRAINT fk_56d6ed4d3d;")5843main: -> 0.0015s5844main: == 20220811092251 AddMlCandidatesReferenceToExperiment: migrated (0.0134s) ====5845main: == 20220811092253 AddMlExperimentsReferenceToProject: migrating ===============5846main: -- transaction_open?()5847main: -> 0.0000s5848main: -- foreign_keys(:ml_experiments)5849main: -> 0.0052s5850main: -- transaction_open?()5851main: -> 0.0000s5852main: -- execute("ALTER TABLE ml_experiments\nADD CONSTRAINT fk_ad89c59858\nFOREIGN KEY (project_id)\nREFERENCES projects (id)\nON DELETE CASCADE\nNOT VALID;\n")5853main: -> 0.0023s5854main: -- execute("ALTER TABLE ml_experiments VALIDATE CONSTRAINT fk_ad89c59858;")5855main: -> 0.0022s5856main: == 20220811092253 AddMlExperimentsReferenceToProject: migrated (0.0154s) ======5857main: == 20220815061621 RenameWebHooksServiceIdToIntegrationId: migrating ===========5858main: -- transaction_open?()5859main: -> 0.0000s5860main: -- columns(:web_hooks)5861main: -> 0.0059s5862main: -- column_exists?(:web_hooks, :id)5863main: -> 0.0051s5864main: -- column_exists?(:web_hooks, :integration_id)5865main: -> 0.0055s5866main: -- columns(:web_hooks)5867main: -> 0.0051s5868main: -- add_column(:web_hooks, :integration_id, :integer, {:limit=>4, :precision=>nil, :scale=>nil})5869main: -> 0.0018s5870main: -- transaction_open?()5871main: -> 0.0000s5872main: -- exec_query("SELECT COUNT(*) AS count FROM \"web_hooks\"")5873main: -> 0.0014s5874main: -- indexes(:web_hooks)5875main: -> 0.0423s5876main: -- transaction_open?()5877main: -> 0.0001s5878main: -- index_exists?(:web_hooks, ["integration_id"], {:unique=>false, :name=>"index_web_hooks_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})5879main: -> 0.0106s5880main: -- add_index(:web_hooks, ["integration_id"], {:unique=>false, :name=>"index_web_hooks_on_integration_id", :length=>{}, :order=>{}, :using=>:btree, :algorithm=>:concurrently})5881main: -> 0.0019s5882main: -- foreign_keys(:web_hooks)5883main: -> 0.0056s5884main: -- transaction_open?()5885main: -> 0.0000s5886main: -- foreign_keys("web_hooks")5887main: -> 0.0056s5888main: -- transaction_open?()5889main: -> 0.0000s5890main: -- execute("ALTER TABLE web_hooks\nADD CONSTRAINT fk_db1ea5699b\nFOREIGN KEY (integration_id)\nREFERENCES integrations (id)\nON DELETE CASCADE\nNOT VALID;\n")5891main: -> 0.0022s5892main: -- execute("ALTER TABLE web_hooks VALIDATE CONSTRAINT fk_db1ea5699b;")5893main: -> 0.0021s5894main: -- transaction_open?()5895main: -> 0.0000s5896main: -- column_exists?(:web_hooks, :service_id)5897main: -> 0.0060s5898main: -- column_exists?(:web_hooks, :integration_id)5899main: -> 0.0056s5900main: -- current_schema()5901main: -> 0.0008s5902main: -- transaction_open?()5903main: -> 0.0000s5904main: -- quote_table_name(:web_hooks)5905main: -> 0.0001s5906main: -- quote_column_name(:service_id)5907main: -> 0.0000s5908main: -- quote_column_name(:integration_id)5909main: -> 0.0000s5910main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_a87bcfdf0f0b()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n IF NEW.\"service_id\" IS NULL AND NEW.\"integration_id\" IS NOT NULL THEN\n NEW.\"service_id\" = NEW.\"integration_id\";\n END IF;\n\n IF NEW.\"integration_id\" IS NULL AND NEW.\"service_id\" IS NOT NULL THEN\n NEW.\"integration_id\" = NEW.\"service_id\";\n END IF;\n\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_a87bcfdf0f0b\nON \"web_hooks\";\n\nCREATE TRIGGER trigger_a87bcfdf0f0b\nBEFORE INSERT ON \"web_hooks\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_a87bcfdf0f0b();\n")5911main: -> 0.0016s5912main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_a645cee67576()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"service_id\" := NEW.\"integration_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_a645cee67576\nON \"web_hooks\";\n\nCREATE TRIGGER trigger_a645cee67576\nBEFORE UPDATE OF \"integration_id\" ON \"web_hooks\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_a645cee67576();\n")5913main: -> 0.0015s5914main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_aca5c963d732()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n NEW.\"integration_id\" := NEW.\"service_id\";\n RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_aca5c963d732\nON \"web_hooks\";\n\nCREATE TRIGGER trigger_aca5c963d732\nBEFORE UPDATE OF \"service_id\" ON \"web_hooks\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_aca5c963d732();\n")5915main: -> 0.0015s5916main: == 20220815061621 RenameWebHooksServiceIdToIntegrationId: migrated (0.1452s) ==5917main: == 20220816075638 DropUuidAndIdIndexFromSecurityFindings: migrating ===========5918main: -- transaction_open?()5919main: -> 0.0000s5920main: -- indexes(:security_findings)5921main: -> 0.0107s5922main: -- remove_index(:security_findings, {:algorithm=>:concurrently, :name=>:index_on_security_findings_uuid_and_id_order_desc})5923main: -> 0.0017s5924main: == 20220816075638 DropUuidAndIdIndexFromSecurityFindings: migrated (0.0209s) ==5925main: == 20220820221036 UpdateTmpNonMigratedIndexOnContainerRepositories: migrating =5926main: -- transaction_open?()5927main: -> 0.0000s5928main: -- index_exists?(:container_repositories, [:project_id, :id], {:name=>"tmp_index_container_repos_on_non_migrated", :where=>"migration_state != 'import_done'", :algorithm=>:concurrently})5929main: -> 0.0141s5930main: -- add_index(:container_repositories, [:project_id, :id], {:name=>"tmp_index_container_repos_on_non_migrated", :where=>"migration_state != 'import_done'", :algorithm=>:concurrently})5931main: -> 0.0019s5932main: -- transaction_open?()5933main: -> 0.0000s5934main: -- indexes(:container_repositories)5935main: -> 0.0141s5936main: -- remove_index(:container_repositories, {:algorithm=>:concurrently, :name=>"tmp_idx_container_repos_on_non_migrated"})5937main: -> 0.0015s5938main: == 20220820221036 UpdateTmpNonMigratedIndexOnContainerRepositories: migrated (0.0414s) 5939main: == 20220822071909 RemoveOtherRoleFromUserDetails: migrating ===================5940main: -- remove_column(:user_details, :other_role, :text)5941main: -> 0.0012s5942main: == 20220822071909 RemoveOtherRoleFromUserDetails: migrated (0.0016s) ==========5943main: == 20220822090656 DropBuildCoverageRegexFromProject: migrating ================5944main: -- remove_column(:projects, :build_coverage_regex)5945main: -> 0.0015s5946main: == 20220822090656 DropBuildCoverageRegexFromProject: migrated (0.0019s) =======5947main: == 20220823084747 PrepareRemovalPartialTrigramIndexesForIssues: migrating =====5948main: -- index_exists?(:issues, :title, {:name=>"index_issues_on_title_trigram_non_latin"})5949main: -> 0.0339s5950main: -- quote_column_name("index_issues_on_title_trigram_non_latin")5951main: -> 0.0000s5952main: -- index_exists?(:issues, :description, {:name=>"index_issues_on_description_trigram_non_latin"})5953main: -> 0.0322s5954main: -- quote_column_name("index_issues_on_description_trigram_non_latin")5955main: -> 0.0001s5956main: == 20220823084747 PrepareRemovalPartialTrigramIndexesForIssues: migrated (0.0797s) 5957==> 'scripts/db_tasks db:migrate' succeeded in 53 seconds.5958$ scripts/schema_changed.sh5959Schema changes are correctly applied to db/structure.sql5960Schema changes are correctly applied to db/structure.sql and db/schema_migrations/5961$ scripts/validate_migration_timestamps5963Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-14 due to policy5964Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-14 due to policy5966Job succeeded