summaryrefslogtreecommitdiff
path: root/db/schema.rb
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'jej/backport-authorized-keys-to-ce' into 'master'Douwe Maan2018-01-091-0/+1
|\ | | | | | | | | | | | | Backport authorized_keys Closes gitlab-ee#3953 See merge request gitlab-org/gitlab-ce!16014
| * Backport authorized_keys_enabled defaults to true'Michael Kozono2018-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally from branch 'fix-authorized-keys-enabled-default-2738' via merge request https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2240 Removed background migrations which were intended to fix state after using Gitlab without a default having been set Squashed commits: Locally, if Spring was not restarted, `current_application_settings` was still cached, which prevented the migration from editing the file. This will also ensure that any app server somehow hitting old cache data will properly default this setting regardless. Retroactively fix migration This allows us to identify customers who ran the broken migration. Their `authorized_keys_enabled` column does not have a default at this point. We will fix the column after we fix the `authorized_keys` file. Fix authorized_keys file if needed Add default to authorized_keys_enabled setting Reminder: The original migration was fixed retroactively a few commits ago, so people who did not ever run GitLab 9.3.0 already have a column that defaults to true and disallows nulls. I have tested on PostgreSQL and MySQL that it is safe to run this migration regardless. Affected customers who did run 9.3.0 are the ones who need this migration to fix the authorized_keys_enabled column. The reason for the retroactive fix plus this migration is that it allows us to run a migration in between to fix the authorized_keys file only for those who ran 9.3.0. Tweaks to address feedback Extract work into background migration Move batch-add-logic to background migration Do the work synchronously to avoid multiple workers attempting to add batches of keys at the same time. Also, make the delete portion wait until after adding is done. Do read and delete work in background migration Fix Rubocop offenses Add changelog entry Inform the user of actions taken or not taken Prevent unnecessary `select`s and `remove_key`s Add logs for action taken Fix optimization Reuse `Gitlab::ShellAdapter` Guarantee the earliest key Fix migration spec for MySQL
| * Backport option to disable writing to `authorized_keys` fileMichael Kozono2018-01-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally branch 'mk-toggle-writing-to-auth-keys-1631' See merge request !2004 Squashed commits: Add authorized_keys_enabled to Application Settings Ensure default settings are exposed in UI Without this change, `authorized_keys_enabled` is unchecked when it is nil, even if it should be checked by default. Add “Speed up SSH operations” documentation Clarify the reasons for disabling writes Add "How to go back" section Tweak copy Update Application Setting screenshot
* | Merge branch 'master' into 41249-clearing-the-cacheMatija Čupić2018-01-051-1/+2
|\ \ | |/
| * Backport 'Rebase' feature from EE to CEjprovazn-rebaseJan Provaznik2018-01-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a project uses fast-forward merging strategy user has to rebase MRs to target branch before it can be merged. Now user can do rebase in UI by clicking 'Rebase' button instead of doing rebase locally. This feature was already present in EE, this is only backport of the feature to CE. Couple of changes: * removed rebase license check * renamed migration (changed timestamp) Closes #40301
* | Merge branch 'master' into 41249-clearing-the-cacheMatija Čupić2018-01-041-6/+12
|\ \ | |/
| * Merge branch 'mdelaossa/gitlab-ce-31995-project-limit-default-fix'Dmitriy Zaporozhets2018-01-041-2/+2
| |\ | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| | * User#projects_limit remove DB default and added NOT NULL constraintMario de la Ossa2017-12-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This change is required because otherwise if a user is created with a value for `projects_limit` that matches the DB default, it gets overwritten by `current_application_settings.default_projects_limit`. By removing the default we once again can allow a user to be created with a limit of 10 projects without the risk that it'll change to 10000
| * | Merge branch 'change-issues-closed-at-background-migration' into 'master'Sean McGivern2018-01-041-1/+1
| |\ \ | | | | | | | | | | | | | | | | Use a background migration for migrating issues.closed_at See merge request gitlab-org/gitlab-ce!16083
| | * | Use a background migration for issues.closed_atchange-issues-closed-at-background-migrationYorick Peterse2018-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a previous attempt (rolled back in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16021) we tried to migrate `issues.closed_at` from timestamp to timestamptz using a regular migration. This has a bad impact on GitLab.com and as such was rolled back. This commit re-implements the original migrations using generic background migrations, allowing us to still migrate the data in a single release but without a negative impact on availability. To ensure the database schema is up to date the background migrations are performed inline in development and test environments. We also make sure to not migrate that that doesn't need migrating in the first place or has already been migrated.
| * | | Cache merged and closed events data in merge_request_metrics tableOswaldo Ferreira2018-01-021-0/+5
| |/ /
| * | Fix user membership destroy relationFrancisco Javier López2018-01-021-0/+1
| | |
| * | Merge branch ↵Sean McGivern2018-01-021-4/+4
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | '39289-local-schema-rb-automatically-reverts-datetime-to-datetime_with_timezone-after-migrations' into 'master' Prevent schema.rb reverting from datetime_with_timezone to datetime Closes #39289 See merge request gitlab-org/gitlab-ce!14956
| | * Prevent schema.rb reverting from datetime_with_timezone to datetime39289-local-schema-rb-automatically-reverts-datetime-to-datetime_with_timezone-after-migrationsJames Edwards-Jones2017-12-071-4/+4
| | |
* | | Rename Project#cache_index to jobs_cache_indexMatija Čupić2018-01-041-1/+1
| | |
* | | Remove default value from cache_index migrationMatija Čupić2017-12-221-1/+1
| | |
* | | Add cache_index migrationMatija Čupić2017-12-221-1/+2
|/ /
* | Extend Cluster Applications to allow installation of PrometheusMayra Cabrera2017-12-221-0/+9
| |
* | Add index on namespaces lower(name) for UsersController#existsindex-namespaces-lower-nameGreg Stark2017-12-211-1/+1
| |
* | LDAP extern_uids are not normalized when updated via APIFrancisco Javier López2017-12-211-1/+1
| |
* | Remove unused queuesdm-dedicated-sidekiq-queuesDouwe Maan2017-12-131-1/+1
| |
* | Remove issues.assignee_id columnValery Sizov2017-12-111-2/+0
| |
* | Allow git pull/push on project redirectsMayra Cabrera2017-12-081-1/+3
| |
* | Move the circuitbreaker check out in a separate processbvl-circuitbreaker-processBob Van Landuyt2017-12-081-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moving the check out of the general requests, makes sure we don't have any slowdown in the regular requests. To keep the process performing this checks small, the check is still performed inside a unicorn. But that is called from a process running on the same server. Because the checks are now done outside normal request, we can have a simpler failure strategy: The check is now performed in the background every `circuitbreaker_check_interval`. Failures are logged in redis. The failures are reset when the check succeeds. Per check we will try `circuitbreaker_access_retries` times within `circuitbreaker_storage_timeout` seconds. When the number of failures exceeds `circuitbreaker_failure_count_threshold`, we will block access to the storage. After `failure_reset_time` of no checks, we will clear the stored failures. This could happen when the process that performs the checks is not running.
* | The API isn't using the appropriate services for managing forksFrancisco Javier López2017-12-071-1/+1
| |
* | Merge branch 'mk-add-old-attachments-to-uploads-table' into 'master'Stan Hu2017-12-071-1/+1
|\ \ | |/ |/| | | | | Add old files to uploads table See merge request gitlab-org/gitlab-ce!15270
| * Fix uploads.path length for long filenamesMichael Kozono2017-12-011-1/+1
| | | | | | | | This will prevent our other migration for adding old files to the uploads table from breaking.
| * Exclude `untracked_files_for_uploads` from schemaMichael Kozono2017-12-011-10/+0
| | | | | | | | | | | | Because it is a temporary table meant only to facilitate a migration of data. It is referenced only by the post-deploy migration and 2 related background migrations. It should be dropped when the data migration is finished.
| * Rename table to untracked_files_for_uploadsMichael Kozono2017-12-011-3/+3
| |
| * Add TrackUntrackedUploads post-deploy migrationMichael Kozono2017-12-011-0/+10
| | | | | | | | To create the table, and schedule the background migration that begins the work.
* | Merge branch 'feature/custom-text-for-new-projects' into 'master'Rémy Coutable2017-12-051-0/+2
|\ \ | | | | | | | | | | | | | | | | | | Add custom brand text on new project pages Closes #15265 See merge request gitlab-org/gitlab-ce!15541
| * | Add custom brand text on new project pagesMarkus Koller2017-12-041-0/+2
| |/
* | Move config_source earlierKamil Trzcinski2017-12-051-1/+1
| |
* | Merge index during table creationKamil Trzcinski2017-12-051-1/+1
| |
* | Remove index on file_typeKamil Trzcinski2017-12-041-2/+0
| |
* | Store expire_at in ci_job_artifactsKamil Trzcinski2017-12-031-1/+2
| |
* | Add unique index on job_id and file_typeZeger-Jan van de Weg2017-12-031-1/+2
| |
* | Fix most test failuresZeger-Jan van de Weg2017-12-031-2/+3
| |
* | Rename Artifact to JobArtifact, split metadata outZeger-Jan van de Weg2017-12-031-15/+16
| | | | | | | | | | | | | | | | | | Two things at ones, as there was no clean way to seperate the commit and give me feedback from the tests. But the model Artifact is now JobArtifact, and the table does not have a type anymore, but the metadata is now its own model: Ci::JobArtifactMetadata.
* | Create Ci::ArtifactsZeger-Jan van de Weg2017-12-031-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To allow jobs/builds to have multiple artifacts, and to start seperating concerns from Ci::Build a new model is created: Ci::Artifact. Changes include the updating of the ArtifactUploader to adapt to a slightly different interface. The uploader expects to be initialized with a `Ci::Build`. Futher a migration with the minimal fields, the needed foreign keys and an index. Last, the way this works is by prepending a module to Ci::Build so we can basically override behaviour but if needed use `super` to get the original behaviour.
* | Create ci_artifacts tableZeger-Jan van de Weg2017-12-031-0/+16
|/
* Merge branch 'remove-mr-diff-serialised-columns' into 'master'Yorick Peterse2017-11-291-3/+1
|\ | | | | | | | | | | | | Remove serialised diff and commit columns Closes #39533 See merge request gitlab-org/gitlab-ce!15582
| * Improve indexes on merge_request_diffsremove-mr-diff-serialised-columnsSean McGivern2017-11-281-1/+1
| | | | | | | | | | | | | | For getting the SHAs from an MR to find pipelines, we get the last 100 MR diffs for the MR, and find commits from those. This was un-indexed before, because the index was not a composite index on merge_request_diff_id, id. Changing that means that this scope can exclusively use indexes.
| * Remove serialised diff and commit columnsSean McGivern2017-11-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The st_commits and st_diffs columns on merge_request_diffs historically held the YAML-serialised data for a merge request diff, in a variety of formats. Since 9.5, these have been migrated in the background to two new tables: merge_request_diff_commits and merge_request_diff_files. That has the advantage that we can actually query the data (for instance, to find out how many commits we've stored), and that it can't be in a variety of formats, but must match the new schema. This is the final step of that journey, where we drop those columns and remove all references to them. This is a breaking change to the importer, because we can no longer import diffs created in the old format, and we cannot guarantee the export will be in the new format unless it was generated after this commit.
* | Reschedule the migration to populate fork networksbvl-fork-networks-for-deleted-projectsBob Van Landuyt2017-11-291-1/+1
| | | | | | | | | | Rescheduling will make sure the fork networks with a deleted source project are created.
* | Add timeouts for Gitaly callsAndrew Newdigate2017-11-291-0/+3
|/
* Fix defaults for MR states and merge statusesdefault-values-for-mr-statesYorick Peterse2017-11-241-3/+3
| | | | | | | | | This ensures that merge_requests.state and merge_requests.merge_status both have a proper default value and NOT NULL constraint on database level. We also make sure to update any bogus rows first, without blowing up the database. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/40534
* Allow password authentication to be disabled entirelyMarkus Koller2017-11-231-1/+2
|
* Add environment_scope to cluster tableShinya Maeda2017-11-221-0/+1
|
* Update composite pipelines index to include "id"fix-ci-pipelines-indexYorick Peterse2017-11-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the composite index on ci_pipelines (project_id, ref, status) to also include the "id" column at the end. Adding this column to the index drastically improves the performance of queries used for getting the latest pipeline for a particular branch. For example, on project dashboards we'll run a query like the following: SELECT ci_pipelines.* FROM ci_pipelines WHERE ci_pipelines.project_id = 13083 AND ci_pipelines.ref = 'master' AND ci_pipelines.status = 'success' ORDER BY ci_pipelines.id DESC LIMIT 1; Limit (cost=0.43..58.88 rows=1 width=224) (actual time=26.956..26.956 rows=1 loops=1) Buffers: shared hit=6544 dirtied=16 -> Index Scan Backward using ci_pipelines_pkey on ci_pipelines (cost=0.43..830922.89 rows=14216 width=224) (actual time=26.954..26.954 rows=1 loops=1) Filter: ((project_id = 13083) AND ((ref)::text = 'master'::text) AND ((status)::text = 'success'::text)) Rows Removed by Filter: 6476 Buffers: shared hit=6544 dirtied=16 Planning time: 1.484 ms Execution time: 27.000 ms Because of the lack of "id" in the index we end up scanning over the primary key index, then applying a filter to filter out any remaining rows. The more pipelines a GitLab instance has the slower this will get. By adding "id" to the mentioned composite index we can change the above plan into the following: Limit (cost=0.56..2.01 rows=1 width=224) (actual time=0.034..0.034 rows=1 loops=1) Buffers: shared hit=5 -> Index Scan Backward using yorick_test on ci_pipelines (cost=0.56..16326.37 rows=11243 width=224) (actual time=0.033..0.033 rows=1 loops=1) Index Cond: ((project_id = 13083) AND ((ref)::text = 'master'::text) AND ((status)::text = 'success'::text)) Buffers: shared hit=5 Planning time: 0.695 ms Execution time: 0.061 ms This in turn leads to a best-case improvement of roughly 25 milliseconds, give or take a millisecond or two.