diff --git a/db/docs/note_uploads.yml b/db/docs/deleted_tables/note_uploads.yml similarity index 81% rename from db/docs/note_uploads.yml rename to db/docs/deleted_tables/note_uploads.yml index eaae33f0f7c2e0b71781ac97a4f67b9dd1b8a8a4..efd2bef0b37adf8a31e0eee813c03dd20c0cfd42 100644 --- a/db/docs/note_uploads.yml +++ b/db/docs/deleted_tables/note_uploads.yml @@ -25,3 +25,5 @@ table_size: small gitlab_schema: gitlab_main_org sharding_key: namespace_id: namespaces +removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/206764 +removed_in_milestone: '18.5' diff --git a/db/post_migrate/20250929171941_drop_note_uploads.rb b/db/post_migrate/20250929171941_drop_note_uploads.rb new file mode 100644 index 0000000000000000000000000000000000000000..f4ae49bb200ad4ca1d2aacac5522596fb60ce994 --- /dev/null +++ b/db/post_migrate/20250929171941_drop_note_uploads.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class DropNoteUploads < Gitlab::Database::Migration[2.3] + milestone '18.5' + + def up + drop_table :note_uploads + end + + def down + execute <<~SQL + CREATE TABLE note_uploads PARTITION OF uploads_9ba88c4165 FOR VALUES IN ('Note'); + SQL + end +end diff --git a/db/schema_migrations/20250929171941 b/db/schema_migrations/20250929171941 new file mode 100644 index 0000000000000000000000000000000000000000..79f36cabfbb26caac7fcc5d06f1ae3e48c6a27a3 --- /dev/null +++ b/db/schema_migrations/20250929171941 @@ -0,0 +1 @@ +6950003fd1dc844dc532ae25752144c17e0e6dbdf4e7d0e05adc0bbd2d090464 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index c772285ef9dfb80ed4c826951c9b00a9ae68f5be..b47198f8411c485366bbddda19a2fadcf82a8343 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -20573,27 +20573,6 @@ CREATE SEQUENCE note_metadata_note_id_seq ALTER SEQUENCE note_metadata_note_id_seq OWNED BY note_metadata.note_id; -CREATE TABLE note_uploads ( - id bigint NOT NULL, - size bigint NOT NULL, - model_id bigint NOT NULL, - uploaded_by_user_id bigint, - organization_id bigint, - namespace_id bigint, - project_id bigint, - created_at timestamp without time zone, - store integer DEFAULT 1 NOT NULL, - version integer DEFAULT 1, - path text NOT NULL, - checksum text, - model_type text NOT NULL, - uploader text NOT NULL, - mount_point text, - secret text, - CONSTRAINT check_2849dedce7 CHECK ((char_length(path) <= 511)), - CONSTRAINT check_b888b1df14 CHECK ((char_length(checksum) <= 64)) -); - CREATE TABLE notes ( note text, noteable_type character varying, @@ -30148,8 +30127,6 @@ ALTER TABLE ONLY uploads_9ba88c4165 ATTACH PARTITION issuable_metric_image_uploa ALTER TABLE ONLY uploads_9ba88c4165 ATTACH PARTITION namespace_uploads FOR VALUES IN ('Namespace'); -ALTER TABLE ONLY uploads_9ba88c4165 ATTACH PARTITION note_uploads FOR VALUES IN ('Note'); - ALTER TABLE ONLY uploads_9ba88c4165 ATTACH PARTITION organization_detail_uploads FOR VALUES IN ('Organizations::OrganizationDetail'); ALTER TABLE ONLY uploads_9ba88c4165 ATTACH PARTITION project_import_export_relation_export_upload_uploads FOR VALUES IN ('Projects::ImportExport::RelationExportUpload'); @@ -34140,9 +34117,6 @@ ALTER TABLE ONLY note_diff_files ALTER TABLE ONLY note_metadata ADD CONSTRAINT note_metadata_pkey PRIMARY KEY (note_id); -ALTER TABLE ONLY note_uploads - ADD CONSTRAINT note_uploads_pkey PRIMARY KEY (id, model_type); - ALTER TABLE ONLY notes_archived ADD CONSTRAINT notes_archived_pkey PRIMARY KEY (id); @@ -43078,22 +43052,6 @@ CREATE INDEX namespace_uploads_uploaded_by_user_id_idx ON namespace_uploads USIN CREATE INDEX namespace_uploads_uploader_path_idx ON namespace_uploads USING btree (uploader, path); -CREATE INDEX note_uploads_checksum_idx ON note_uploads USING btree (checksum); - -CREATE INDEX note_uploads_model_id_model_type_uploader_created_at_idx ON note_uploads USING btree (model_id, model_type, uploader, created_at); - -CREATE INDEX note_uploads_namespace_id_idx ON note_uploads USING btree (namespace_id); - -CREATE INDEX note_uploads_organization_id_idx ON note_uploads USING btree (organization_id); - -CREATE INDEX note_uploads_project_id_idx ON note_uploads USING btree (project_id); - -CREATE INDEX note_uploads_store_idx ON note_uploads USING btree (store); - -CREATE INDEX note_uploads_uploaded_by_user_id_idx ON note_uploads USING btree (uploaded_by_user_id); - -CREATE INDEX note_uploads_uploader_path_idx ON note_uploads USING btree (uploader, path); - CREATE UNIQUE INDEX one_canonical_wiki_page_slug_per_metadata ON wiki_page_slugs USING btree (wiki_page_meta_id) WHERE (canonical = true); CREATE INDEX organization_detail_uploads_checksum_idx ON organization_detail_uploads USING btree (checksum); @@ -46264,24 +46222,6 @@ ALTER INDEX index_uploads_9ba88c4165_on_uploaded_by_user_id ATTACH PARTITION nam ALTER INDEX index_uploads_9ba88c4165_on_uploader_and_path ATTACH PARTITION namespace_uploads_uploader_path_idx; -ALTER INDEX index_uploads_9ba88c4165_on_checksum ATTACH PARTITION note_uploads_checksum_idx; - -ALTER INDEX index_uploads_9ba88c4165_on_model_uploader_created_at ATTACH PARTITION note_uploads_model_id_model_type_uploader_created_at_idx; - -ALTER INDEX index_uploads_9ba88c4165_on_namespace_id ATTACH PARTITION note_uploads_namespace_id_idx; - -ALTER INDEX index_uploads_9ba88c4165_on_organization_id ATTACH PARTITION note_uploads_organization_id_idx; - -ALTER INDEX uploads_9ba88c4165_pkey ATTACH PARTITION note_uploads_pkey; - -ALTER INDEX index_uploads_9ba88c4165_on_project_id ATTACH PARTITION note_uploads_project_id_idx; - -ALTER INDEX index_uploads_9ba88c4165_on_store ATTACH PARTITION note_uploads_store_idx; - -ALTER INDEX index_uploads_9ba88c4165_on_uploaded_by_user_id ATTACH PARTITION note_uploads_uploaded_by_user_id_idx; - -ALTER INDEX index_uploads_9ba88c4165_on_uploader_and_path ATTACH PARTITION note_uploads_uploader_path_idx; - ALTER INDEX index_uploads_9ba88c4165_on_checksum ATTACH PARTITION organization_detail_uploads_checksum_idx; ALTER INDEX index_uploads_9ba88c4165_on_model_uploader_created_at ATTACH PARTITION organization_detail_uploads_model_id_model_type_uploader_cr_idx; diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb index 915f6fd9b6ea04186cdbfebdd1b40ef5d00898ce..148745a3988d966318a6556b4336119ae9a2d607 100644 --- a/spec/db/schema_spec.rb +++ b/spec/db/schema_spec.rb @@ -213,7 +213,6 @@ import_export_upload_uploads: %w[model_id], issuable_metric_image_uploads: %w[model_id], namespace_uploads: %w[model_id], - note_uploads: %w[model_id], organization_detail_uploads: %w[model_id], project_import_export_relation_export_upload_uploads: %w[model_id], project_topic_uploads: %w[model_id], diff --git a/spec/lib/gitlab/database/sharding_key_spec.rb b/spec/lib/gitlab/database/sharding_key_spec.rb index bb6eda7f55334f6248beb22a5b1b92be3ee86642..aaaab61683b2ec638f4a09623820173ed36df806 100644 --- a/spec/lib/gitlab/database/sharding_key_spec.rb +++ b/spec/lib/gitlab/database/sharding_key_spec.rb @@ -57,7 +57,6 @@ import_export_upload_uploads.project_id import_export_upload_uploads.namespace_id issuable_metric_image_uploads.namespace_id namespace_uploads.namespace_id - note_uploads.namespace_id organization_detail_uploads.organization_id project_import_export_relation_export_upload_uploads.project_id project_topic_uploads.organization_id @@ -286,7 +285,6 @@ "import_export_upload_uploads" => "https://gitlab.com/gitlab-org/gitlab/-/issues/398199", "issuable_metric_image_uploads" => "https://gitlab.com/gitlab-org/gitlab/-/issues/398199", "namespace_uploads" => "https://gitlab.com/gitlab-org/gitlab/-/issues/398199", - "note_uploads" => "https://gitlab.com/gitlab-org/gitlab/-/issues/398199", "organization_detail_uploads" => "https://gitlab.com/gitlab-org/gitlab/-/issues/398199", "project_import_export_relation_export_upload_uploads" => "https://gitlab.com/gitlab-org/gitlab/-/issues/398199", "project_topic_uploads" => "https://gitlab.com/gitlab-org/gitlab/-/issues/398199", diff --git a/spec/support/shared_examples/models/user_shared_examples.rb b/spec/support/shared_examples/models/user_shared_examples.rb index 6c8990a576b0fae57e781bb9c3adddb4ba82b308..b1cf517b8e0effe995caf7c224cdb8759ab10a38 100644 --- a/spec/support/shared_examples/models/user_shared_examples.rb +++ b/spec/support/shared_examples/models/user_shared_examples.rb @@ -148,7 +148,6 @@ merge_requests_merge_data namespace_uploads organization_detail_uploads - note_uploads packages_composer_packages packages_debian_group_distributions packages_debian_project_distributions