diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-09 21:09:32 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-09 21:09:32 +0300 |
commit | 1268cfeaf73a73c5593f13639530513716826e2b (patch) | |
tree | 2508ffb2fddaa666d99b4e5984d3340eb9194782 /db | |
parent | be769d5fcced48143e92f83c997b7d5ba14873e1 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db')
-rw-r--r-- | db/docs/deleted_tables/project_wiki_repository_states.yml (renamed from db/docs/project_wiki_repository_states.yml) | 2 | ||||
-rw-r--r-- | db/post_migrate/20230607165632_remove_fk_on_project_id_on_project_wiki_repository_states.rb | 20 | ||||
-rw-r--r-- | db/post_migrate/20230607165718_drop_project_wiki_repository_states.rb | 57 | ||||
-rw-r--r-- | db/schema_migrations/20230607165632 | 1 | ||||
-rw-r--r-- | db/schema_migrations/20230607165718 | 1 | ||||
-rw-r--r-- | db/structure.sql | 32 |
6 files changed, 81 insertions, 32 deletions
diff --git a/db/docs/project_wiki_repository_states.yml b/db/docs/deleted_tables/project_wiki_repository_states.yml index e6faeadf8a6..9b117e4c4ca 100644 --- a/db/docs/project_wiki_repository_states.yml +++ b/db/docs/deleted_tables/project_wiki_repository_states.yml @@ -8,3 +8,5 @@ description: Separate table for project wikis containing Geo verification metada introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/99168 milestone: '15.5' gitlab_schema: gitlab_main +removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122936 +removed_in_milestone: '16.1' diff --git a/db/post_migrate/20230607165632_remove_fk_on_project_id_on_project_wiki_repository_states.rb b/db/post_migrate/20230607165632_remove_fk_on_project_id_on_project_wiki_repository_states.rb new file mode 100644 index 00000000000..a70cc3aeab6 --- /dev/null +++ b/db/post_migrate/20230607165632_remove_fk_on_project_id_on_project_wiki_repository_states.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class RemoveFkOnProjectIdOnProjectWikiRepositoryStates < Gitlab::Database::Migration[2.1] + SOURCE_TABLE_NAME = :project_wiki_repository_states + TARGET_TABLE_NAME = :projects + FK_NAME = :fk_rails_9647227ce1 + + disable_ddl_transaction! + + def up + with_lock_retries do + remove_foreign_key_if_exists(SOURCE_TABLE_NAME, TARGET_TABLE_NAME, name: FK_NAME) + end + end + + def down + add_concurrent_foreign_key(SOURCE_TABLE_NAME, TARGET_TABLE_NAME, + column: :project_id, name: FK_NAME, on_delete: :cascade) + end +end diff --git a/db/post_migrate/20230607165718_drop_project_wiki_repository_states.rb b/db/post_migrate/20230607165718_drop_project_wiki_repository_states.rb new file mode 100644 index 00000000000..3ae92ca2dc1 --- /dev/null +++ b/db/post_migrate/20230607165718_drop_project_wiki_repository_states.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +class DropProjectWikiRepositoryStates < Gitlab::Database::Migration[2.1] + VERIFICATION_STATE_INDEX_NAME = "index_project_wiki_repository_states_on_verification_state" + PENDING_VERIFICATION_INDEX_NAME = "index_project_wiki_repository_states_pending_verification" + FAILED_VERIFICATION_INDEX_NAME = "index_project_wiki_repository_states_failed_verification" + NEEDS_VERIFICATION_INDEX_NAME = "index_project_wiki_repository_states_needs_verification" + PROJECT_WIKI_REPOSITORY_INDEX_NAME = "idx_project_wiki_repository_states_project_wiki_repository_id" + + disable_ddl_transaction! + + def up + drop_table :project_wiki_repository_states, if_exists: true + end + + def down + unless table_exists?(:project_wiki_repository_states) + create_table :project_wiki_repository_states, id: false do |t| # rubocop:disable Migration/SchemaAdditionMethodsNoPost + t.datetime_with_timezone :verification_started_at + t.datetime_with_timezone :verification_retry_at + t.datetime_with_timezone :verified_at + t.bigint :project_id, primary_key: true, index: false + t.integer :verification_state, default: 0, limit: 2, null: false + t.integer :verification_retry_count, limit: 2 + t.binary :verification_checksum, using: 'verification_checksum::bytea' + t.text :verification_failure, limit: 255 + t.bigint :project_wiki_repository_id + + t.index :verification_state, + name: VERIFICATION_STATE_INDEX_NAME + + t.index :verified_at, + where: "(verification_state = 0)", + order: { verified_at: 'ASC NULLS FIRST' }, + name: PENDING_VERIFICATION_INDEX_NAME + + t.index :verification_retry_at, + where: "(verification_state = 3)", + order: { verification_retry_at: 'ASC NULLS FIRST' }, + name: FAILED_VERIFICATION_INDEX_NAME + + t.index :verification_state, + where: "(verification_state = 0 OR verification_state = 3)", + name: NEEDS_VERIFICATION_INDEX_NAME + end + end + + add_concurrent_index :project_wiki_repository_states, + :project_wiki_repository_id, + name: PROJECT_WIKI_REPOSITORY_INDEX_NAME + + add_concurrent_foreign_key :project_wiki_repository_states, + :project_wiki_repositories, + column: :project_wiki_repository_id, + on_delete: :cascade + end +end diff --git a/db/schema_migrations/20230607165632 b/db/schema_migrations/20230607165632 new file mode 100644 index 00000000000..f3bf5f71521 --- /dev/null +++ b/db/schema_migrations/20230607165632 @@ -0,0 +1 @@ +97cb755e20cebc2517a73aed85491fb6348a49cbf97c4f3e02e6e0d700c7ad27
\ No newline at end of file diff --git a/db/schema_migrations/20230607165718 b/db/schema_migrations/20230607165718 new file mode 100644 index 00000000000..1e82b3551bb --- /dev/null +++ b/db/schema_migrations/20230607165718 @@ -0,0 +1 @@ +5952f90d7d6b6e98d25ff85ac98299bb8b274cdaaacae7d9dff91226733aa32b
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 5891df1a250..a220ee97b84 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -21399,19 +21399,6 @@ CREATE SEQUENCE project_wiki_repositories_id_seq ALTER SEQUENCE project_wiki_repositories_id_seq OWNED BY project_wiki_repositories.id; -CREATE TABLE project_wiki_repository_states ( - verification_started_at timestamp with time zone, - verification_retry_at timestamp with time zone, - verified_at timestamp with time zone, - project_id bigint NOT NULL, - verification_state smallint DEFAULT 0 NOT NULL, - verification_retry_count smallint, - verification_checksum bytea, - verification_failure text, - project_wiki_repository_id bigint, - CONSTRAINT check_119f134b68 CHECK ((char_length(verification_failure) <= 255)) -); - CREATE TABLE projects ( id integer NOT NULL, name character varying, @@ -28126,9 +28113,6 @@ ALTER TABLE ONLY project_topics ALTER TABLE ONLY project_wiki_repositories ADD CONSTRAINT project_wiki_repositories_pkey PRIMARY KEY (id); -ALTER TABLE ONLY project_wiki_repository_states - ADD CONSTRAINT project_wiki_repository_states_pkey PRIMARY KEY (project_id); - ALTER TABLE ONLY projects ADD CONSTRAINT projects_pkey PRIMARY KEY (id); @@ -29927,8 +29911,6 @@ CREATE UNIQUE INDEX idx_project_id_payload_key_self_managed_prometheus_alert_eve CREATE INDEX idx_project_repository_check_partial ON projects USING btree (repository_storage, created_at) WHERE (last_repository_check_at IS NULL); -CREATE INDEX idx_project_wiki_repository_states_project_wiki_repository_id ON project_wiki_repository_states USING btree (project_wiki_repository_id); - CREATE INDEX idx_projects_api_created_at_id_for_archived ON projects USING btree (created_at, id) WHERE ((archived = true) AND (pending_delete = false) AND (hidden = false)); CREATE INDEX idx_projects_api_created_at_id_for_archived_vis20 ON projects USING btree (created_at, id) WHERE ((archived = true) AND (visibility_level = 20) AND (pending_delete = false) AND (hidden = false)); @@ -32429,14 +32411,6 @@ CREATE UNIQUE INDEX index_project_user_callouts_feature ON user_project_callouts CREATE UNIQUE INDEX index_project_wiki_repositories_on_project_id ON project_wiki_repositories USING btree (project_id); -CREATE INDEX index_project_wiki_repository_states_failed_verification ON project_wiki_repository_states USING btree (verification_retry_at NULLS FIRST) WHERE (verification_state = 3); - -CREATE INDEX index_project_wiki_repository_states_needs_verification ON project_wiki_repository_states USING btree (verification_state) WHERE ((verification_state = 0) OR (verification_state = 3)); - -CREATE INDEX index_project_wiki_repository_states_on_verification_state ON project_wiki_repository_states USING btree (verification_state); - -CREATE INDEX index_project_wiki_repository_states_pending_verification ON project_wiki_repository_states USING btree (verified_at NULLS FIRST) WHERE (verification_state = 0); - CREATE INDEX index_projects_aimed_for_deletion ON projects USING btree (marked_for_deletion_at) WHERE ((marked_for_deletion_at IS NOT NULL) AND (pending_delete = false)); CREATE INDEX index_projects_api_created_at_id_desc ON projects USING btree (created_at, id DESC); @@ -35619,9 +35593,6 @@ ALTER TABLE ONLY merge_requests ALTER TABLE p_ci_builds ADD CONSTRAINT fk_6661f4f0e8 FOREIGN KEY (resource_group_id) REFERENCES ci_resource_groups(id) ON DELETE SET NULL; -ALTER TABLE ONLY project_wiki_repository_states - ADD CONSTRAINT fk_6951681c70 FOREIGN KEY (project_wiki_repository_id) REFERENCES project_wiki_repositories(id) ON DELETE CASCADE; - ALTER TABLE ONLY merge_requests ADD CONSTRAINT fk_6a5165a692 FOREIGN KEY (milestone_id) REFERENCES milestones(id) ON DELETE SET NULL; @@ -37308,9 +37279,6 @@ ALTER TABLE ONLY packages_debian_project_distributions ALTER TABLE ONLY packages_rubygems_metadata ADD CONSTRAINT fk_rails_95a3f5ce78 FOREIGN KEY (package_id) REFERENCES packages_packages(id) ON DELETE CASCADE; -ALTER TABLE ONLY project_wiki_repository_states - ADD CONSTRAINT fk_rails_9647227ce1 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; - ALTER TABLE ONLY packages_pypi_metadata ADD CONSTRAINT fk_rails_9698717cdd FOREIGN KEY (package_id) REFERENCES packages_packages(id) ON DELETE CASCADE; |