Introduce projects_settings table and migrate existing project settings in projects
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
This was originally brought up in https://gitlab.com/gitlab-org/gitlab-ce/issues/37506#note_39571168 and again in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9646#note_42531251
I don't know if we have an issue yet, so I created this and we could schedule it.
Steps:
-
Introduce new project_settingstable: #35085 (closed) - !19761 (merged) -
Made sure new columns and up in project_settingsinstead of inprojects(when possible) -
Migrate a bunch of columns (see below)
Columns we might want to move:
- import_url
- import_status
- merge_requests_template
- merge_requests_rebase_enabled
- import_type
- import_source
- approvals_before_merge
- reset_approvals_on_push
- merge_requests_ff_only_enabled
- issues_template
- import_error
- ci_id
- shared_runners_enabled
- runners_token
- build_coverage_regex
- build_allow_git_fetch
- build_timeout
- public_builds
- only_allow_merge_if_pipeline_succeeds
- has_external_issue_tracker
- repository_read_only
- request_access_enabled
- has_external_wiki
- ci_config_path
- lfs_enabled
- only_allow_merge_if_all_discussions_are_resolved
- repository_size_limit
- printing_merge_request_link_enabled
- auto_cancel_pending_pipelines
- service_desk_enabled
- import_jid
- disable_overriding_approvers_per_merge_request
- resolve_outdated_diff_discussions
And we might want to separate the import related data as well? Also maybe mirror related stuffs? Some data might also involve some query, which would then need extra inner join if they're in separate table. We need to figure out which settings we really want to be separated, and which ones we don't want.
Edited by 🤖 GitLab Bot 🤖