diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-27 21:12:02 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-27 21:12:02 +0300 |
commit | 3b060a68f3ca685d0676c2a70e3471dc7ee19d6e (patch) | |
tree | 5a3f06014de88fd4564e4f5eb7e6a2ecb1d9e7ce /db | |
parent | 2977cf67ec27f8ab014bfee852d0ae7b56585242 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db')
-rw-r--r-- | db/docs/member_roles.yml | 10 | ||||
-rw-r--r-- | db/migrate/20220707181910_create_member_roles.rb | 15 | ||||
-rw-r--r-- | db/migrate/20220707181920_add_member_role_id_to_members.rb | 13 | ||||
-rw-r--r-- | db/migrate/20220707181930_add_member_roles_relation_to_members.rb | 19 | ||||
-rw-r--r-- | db/schema_migrations/20220707181910 | 1 | ||||
-rw-r--r-- | db/schema_migrations/20220707181920 | 1 | ||||
-rw-r--r-- | db/schema_migrations/20220707181930 | 1 | ||||
-rw-r--r-- | db/structure.sql | 36 |
8 files changed, 95 insertions, 1 deletions
diff --git a/db/docs/member_roles.yml b/db/docs/member_roles.yml new file mode 100644 index 00000000000..314c65a1ef7 --- /dev/null +++ b/db/docs/member_roles.yml @@ -0,0 +1,10 @@ +--- +table_name: member_roles +classes: +- MemberRole +feature_categories: +- projects +- subgroups +description: Stores custom roles with composable permissions +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92152 +milestone: '15.2' diff --git a/db/migrate/20220707181910_create_member_roles.rb b/db/migrate/20220707181910_create_member_roles.rb new file mode 100644 index 00000000000..271ec064f08 --- /dev/null +++ b/db/migrate/20220707181910_create_member_roles.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class CreateMemberRoles < Gitlab::Database::Migration[2.0] + def change + create_table :member_roles do |t| + t.references :namespace, + index: true, + null: false, + foreign_key: { on_delete: :cascade } + t.timestamps_with_timezone null: false + t.integer :base_access_level, null: false + t.boolean :download_code, default: false + end + end +end diff --git a/db/migrate/20220707181920_add_member_role_id_to_members.rb b/db/migrate/20220707181920_add_member_role_id_to_members.rb new file mode 100644 index 00000000000..f335d2da6f5 --- /dev/null +++ b/db/migrate/20220707181920_add_member_role_id_to_members.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class AddMemberRoleIdToMembers < Gitlab::Database::Migration[2.0] + enable_lock_retries! + + def up + add_column :members, :member_role_id, :bigint + end + + def down + remove_column :members, :member_role_id + end +end diff --git a/db/migrate/20220707181930_add_member_roles_relation_to_members.rb b/db/migrate/20220707181930_add_member_roles_relation_to_members.rb new file mode 100644 index 00000000000..ede168fe51e --- /dev/null +++ b/db/migrate/20220707181930_add_member_roles_relation_to_members.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class AddMemberRolesRelationToMembers < Gitlab::Database::Migration[2.0] + disable_ddl_transaction! + INDEX_NAME = 'index_members_on_member_role_id' + + def up + add_concurrent_index :members, :member_role_id, name: INDEX_NAME + add_concurrent_foreign_key :members, :member_roles, column: :member_role_id, on_delete: :cascade + end + + def down + with_lock_retries do + remove_foreign_key :members, column: :member_role_id + end + + remove_concurrent_index_by_name :members, INDEX_NAME + end +end diff --git a/db/schema_migrations/20220707181910 b/db/schema_migrations/20220707181910 new file mode 100644 index 00000000000..d9aef7bdba0 --- /dev/null +++ b/db/schema_migrations/20220707181910 @@ -0,0 +1 @@ +78bb335a94237bfb5c5401807c9fc5e8ff9ec331af0ca0d3c5626253af5cde3f
\ No newline at end of file diff --git a/db/schema_migrations/20220707181920 b/db/schema_migrations/20220707181920 new file mode 100644 index 00000000000..de6972176f9 --- /dev/null +++ b/db/schema_migrations/20220707181920 @@ -0,0 +1 @@ +179c400efd7d31b78b4314104c5e9cbdf744c5e2966cecf724d1b7088b515fd1
\ No newline at end of file diff --git a/db/schema_migrations/20220707181930 b/db/schema_migrations/20220707181930 new file mode 100644 index 00000000000..11594611609 --- /dev/null +++ b/db/schema_migrations/20220707181930 @@ -0,0 +1 @@ +431392f5f88f493371b77263bbe380d08e486e8ba0d013213e6fe7fdcda3c7db
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 92af077249f..ff7d5998dde 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -16996,6 +16996,24 @@ CREATE SEQUENCE loose_foreign_keys_deleted_records_id_seq ALTER SEQUENCE loose_foreign_keys_deleted_records_id_seq OWNED BY loose_foreign_keys_deleted_records.id; +CREATE TABLE member_roles ( + id bigint NOT NULL, + namespace_id bigint NOT NULL, + created_at timestamp with time zone NOT NULL, + updated_at timestamp with time zone NOT NULL, + base_access_level integer NOT NULL, + download_code boolean DEFAULT false +); + +CREATE SEQUENCE member_roles_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + +ALTER SEQUENCE member_roles_id_seq OWNED BY member_roles.id; + CREATE TABLE member_tasks ( id bigint NOT NULL, member_id bigint NOT NULL, @@ -17034,7 +17052,8 @@ CREATE TABLE members ( override boolean DEFAULT false NOT NULL, state smallint DEFAULT 0, invite_email_success boolean DEFAULT true NOT NULL, - member_namespace_id bigint + member_namespace_id bigint, + member_role_id bigint ); CREATE SEQUENCE members_id_seq @@ -23285,6 +23304,8 @@ ALTER TABLE ONLY lists ALTER COLUMN id SET DEFAULT nextval('lists_id_seq'::regcl ALTER TABLE ONLY loose_foreign_keys_deleted_records ALTER COLUMN id SET DEFAULT nextval('loose_foreign_keys_deleted_records_id_seq'::regclass); +ALTER TABLE ONLY member_roles ALTER COLUMN id SET DEFAULT nextval('member_roles_id_seq'::regclass); + ALTER TABLE ONLY member_tasks ALTER COLUMN id SET DEFAULT nextval('member_tasks_id_seq'::regclass); ALTER TABLE ONLY members ALTER COLUMN id SET DEFAULT nextval('members_id_seq'::regclass); @@ -25260,6 +25281,9 @@ ALTER TABLE ONLY lists ALTER TABLE ONLY loose_foreign_keys_deleted_records ADD CONSTRAINT loose_foreign_keys_deleted_records_pkey PRIMARY KEY (partition, id); +ALTER TABLE ONLY member_roles + ADD CONSTRAINT member_roles_pkey PRIMARY KEY (id); + ALTER TABLE ONLY member_tasks ADD CONSTRAINT member_tasks_pkey PRIMARY KEY (id); @@ -28695,6 +28719,8 @@ CREATE INDEX index_lists_on_user_id ON lists USING btree (user_id); CREATE INDEX index_loose_foreign_keys_deleted_records_for_partitioned_query ON ONLY loose_foreign_keys_deleted_records USING btree (partition, fully_qualified_table_name, consume_after, id) WHERE (status = 1); +CREATE INDEX index_member_roles_on_namespace_id ON member_roles USING btree (namespace_id); + CREATE INDEX index_member_tasks_on_member_id ON member_tasks USING btree (member_id); CREATE UNIQUE INDEX index_member_tasks_on_member_id_and_project_id ON member_tasks USING btree (member_id, project_id); @@ -28711,6 +28737,8 @@ CREATE UNIQUE INDEX index_members_on_invite_token ON members USING btree (invite CREATE INDEX index_members_on_member_namespace_id ON members USING btree (member_namespace_id); +CREATE INDEX index_members_on_member_role_id ON members USING btree (member_role_id); + CREATE INDEX index_members_on_non_requested_non_invited_and_state_awaiting ON members USING btree (source_id) WHERE ((requested_at IS NULL) AND (invite_token IS NULL) AND (access_level > 5) AND (state = 1)); CREATE INDEX index_members_on_requested_at ON members USING btree (requested_at); @@ -31996,6 +32024,9 @@ ALTER TABLE ONLY dast_scanner_profiles_builds ALTER TABLE ONLY issue_assignees ADD CONSTRAINT fk_5e0c8d9154 FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE; +ALTER TABLE ONLY members + ADD CONSTRAINT fk_5e12d50db3 FOREIGN KEY (member_role_id) REFERENCES member_roles(id) ON DELETE CASCADE; + ALTER TABLE ONLY csv_issue_imports ADD CONSTRAINT fk_5e1572387c FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE; @@ -33898,6 +33929,9 @@ ALTER TABLE ONLY resource_milestone_events ALTER TABLE ONLY resource_iteration_events ADD CONSTRAINT fk_rails_cee126f66c FOREIGN KEY (iteration_id) REFERENCES sprints(id) ON DELETE CASCADE; +ALTER TABLE ONLY member_roles + ADD CONSTRAINT fk_rails_cf0ee35814 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE; + ALTER TABLE ONLY upload_states ADD CONSTRAINT fk_rails_d00f153613 FOREIGN KEY (upload_id) REFERENCES uploads(id) ON DELETE CASCADE; |