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 0000000000000000000000000000000000000000..91759bb7c53641234b787a61b31dc5a79f1b1f1a --- /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 0000000000000000000000000000000000000000..b84176519d09bc8ed49d78f943f77c16c24e2485 --- /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 0000000000000000000000000000000000000000..57beffacc7720e10d9f227eb00a3bd464c14b133 --- /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 0000000000000000000000000000000000000000..8c33a8605e764528edfffbc4d37de5181914cf5c --- /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 0000000000000000000000000000000000000000..c2edb8376adbcedab521818699a54016ba93d8f6 --- /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 0000000000000000000000000000000000000000..2b8f0dd27078b6b7048927277e61294e0f69b500 --- /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 b22b7802381f957863e323b3fbb247ba42f108c4..478c7d56b62ee5c46191d959b07e5428710bdc99 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;