From cdfa77c3c794d6f2a834e1f06fd45ed8f55f9463 Mon Sep 17 00:00:00 2001 From: Mark Chao Date: Thu, 11 Sep 2025 14:58:41 +0800 Subject: [PATCH] Add duo_default_namespace_id to user_preferences Changelog: added EE: true --- ...o_default_namespace_id_to_user_preferences.rb | 9 +++++++++ ...er_preferences_on_duo_default_namespace_id.rb | 16 ++++++++++++++++ ...er_preferences_duo_default_namespace_id_fk.rb | 14 ++++++++++++++ db/schema_migrations/20250910061324 | 1 + db/schema_migrations/20250910061326 | 1 + db/schema_migrations/20250910061327 | 1 + db/structure.sql | 6 ++++++ 7 files changed, 48 insertions(+) create mode 100644 db/migrate/20250910061324_add_duo_default_namespace_id_to_user_preferences.rb create mode 100644 db/post_migrate/20250910061326_index_user_preferences_on_duo_default_namespace_id.rb create mode 100644 db/post_migrate/20250910061327_add_user_preferences_duo_default_namespace_id_fk.rb create mode 100644 db/schema_migrations/20250910061324 create mode 100644 db/schema_migrations/20250910061326 create mode 100644 db/schema_migrations/20250910061327 diff --git a/db/migrate/20250910061324_add_duo_default_namespace_id_to_user_preferences.rb b/db/migrate/20250910061324_add_duo_default_namespace_id_to_user_preferences.rb new file mode 100644 index 00000000000000..91759bb7c53641 --- /dev/null +++ b/db/migrate/20250910061324_add_duo_default_namespace_id_to_user_preferences.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class AddDuoDefaultNamespaceIdToUserPreferences < Gitlab::Database::Migration[2.3] + milestone '18.5' + + def change + add_column :user_preferences, :duo_default_namespace_id, :bigint + end +end diff --git a/db/post_migrate/20250910061326_index_user_preferences_on_duo_default_namespace_id.rb b/db/post_migrate/20250910061326_index_user_preferences_on_duo_default_namespace_id.rb new file mode 100644 index 00000000000000..b84176519d09bc --- /dev/null +++ b/db/post_migrate/20250910061326_index_user_preferences_on_duo_default_namespace_id.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class IndexUserPreferencesOnDuoDefaultNamespaceId < Gitlab::Database::Migration[2.3] + milestone '18.5' + disable_ddl_transaction! + + INDEX_NAME = 'index_user_preferences_on_duo_default_namespace_id' + + def up + add_concurrent_index :user_preferences, :duo_default_namespace_id, name: INDEX_NAME + end + + def down + remove_concurrent_index_by_name :user_preferences, INDEX_NAME + end +end diff --git a/db/post_migrate/20250910061327_add_user_preferences_duo_default_namespace_id_fk.rb b/db/post_migrate/20250910061327_add_user_preferences_duo_default_namespace_id_fk.rb new file mode 100644 index 00000000000000..57beffacc7720e --- /dev/null +++ b/db/post_migrate/20250910061327_add_user_preferences_duo_default_namespace_id_fk.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class AddUserPreferencesDuoDefaultNamespaceIdFk < Gitlab::Database::Migration[2.3] + milestone '18.5' + disable_ddl_transaction! + + def up + add_concurrent_foreign_key :user_preferences, :namespaces, column: :duo_default_namespace_id, on_delete: :nullify + end + + def down + remove_foreign_key_if_exists :user_preferences, column: :duo_default_namespace_id + end +end diff --git a/db/schema_migrations/20250910061324 b/db/schema_migrations/20250910061324 new file mode 100644 index 00000000000000..8c33a8605e7645 --- /dev/null +++ b/db/schema_migrations/20250910061324 @@ -0,0 +1 @@ +703a1011eba878596f10ca7a0e9dc1555862201873ede9676a837a89748aad43 \ No newline at end of file diff --git a/db/schema_migrations/20250910061326 b/db/schema_migrations/20250910061326 new file mode 100644 index 00000000000000..c2edb8376adbce --- /dev/null +++ b/db/schema_migrations/20250910061326 @@ -0,0 +1 @@ +51e7991206f4dccf19433e35f42b5a426929797f02b87799033d0801baeb94fc \ No newline at end of file diff --git a/db/schema_migrations/20250910061327 b/db/schema_migrations/20250910061327 new file mode 100644 index 00000000000000..2b8f0dd27078b6 --- /dev/null +++ b/db/schema_migrations/20250910061327 @@ -0,0 +1 @@ +cca41f500029c11dcaacb88043ab2201502bf515a499197355e4caa47eac16aa \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index b22b7802381f95..478c7d56b62ee5 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -26626,6 +26626,7 @@ CREATE TABLE user_preferences ( markdown_maintain_indentation boolean DEFAULT false NOT NULL, project_studio_enabled boolean DEFAULT false NOT NULL, merge_request_dashboard_show_drafts boolean DEFAULT true NOT NULL, + duo_default_namespace_id bigint, CONSTRAINT check_1d670edc68 CHECK ((time_display_relative IS NOT NULL)), CONSTRAINT check_89bf269f41 CHECK ((char_length(diffs_deletion_color) <= 7)), CONSTRAINT check_9b50d9f942 CHECK ((char_length(extensions_marketplace_opt_in_url) <= 512)), @@ -41268,6 +41269,8 @@ CREATE INDEX index_user_phone_number_validations_on_telesign_reference_xid ON us CREATE INDEX index_user_phone_validations_on_dial_code_phone_number ON user_phone_number_validations USING btree (international_dial_code, phone_number); +CREATE INDEX index_user_preferences_on_duo_default_namespace_id ON user_preferences USING btree (duo_default_namespace_id); + CREATE INDEX index_user_preferences_on_gitpod_enabled ON user_preferences USING btree (gitpod_enabled); CREATE INDEX index_user_preferences_on_home_organization_id ON user_preferences USING btree (home_organization_id); @@ -46655,6 +46658,9 @@ ALTER TABLE ONLY deployment_approvals ALTER TABLE ONLY dast_profile_schedules ADD CONSTRAINT fk_61d52aa0e7 FOREIGN KEY (dast_profile_id) REFERENCES dast_profiles(id) ON DELETE CASCADE; +ALTER TABLE ONLY user_preferences + ADD CONSTRAINT fk_61f4fd80d1 FOREIGN KEY (duo_default_namespace_id) REFERENCES namespaces(id) ON DELETE SET NULL; + ALTER TABLE ONLY vulnerability_reads ADD CONSTRAINT fk_62736f638f FOREIGN KEY (vulnerability_id) REFERENCES vulnerabilities(id) ON DELETE CASCADE; -- GitLab