summaryrefslogtreecommitdiff
path: root/db/post_migrate/20190917173107_backfill_software_licenses_spdx_identifiers.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-10-22 11:31:16 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-10-22 11:31:16 +0000
commit905c1110b08f93a19661cf42a276c7ea90d0a0ff (patch)
tree756d138db422392c00471ab06acdff92c5a9b69c /db/post_migrate/20190917173107_backfill_software_licenses_spdx_identifiers.rb
parent50d93f8d1686950fc58dda4823c4835fd0d8c14b (diff)
downloadgitlab-ce-905c1110b08f93a19661cf42a276c7ea90d0a0ff.tar.gz
Add latest changes from gitlab-org/gitlab@12-4-stable-ee
Diffstat (limited to 'db/post_migrate/20190917173107_backfill_software_licenses_spdx_identifiers.rb')
-rw-r--r--db/post_migrate/20190917173107_backfill_software_licenses_spdx_identifiers.rb57
1 files changed, 57 insertions, 0 deletions
diff --git a/db/post_migrate/20190917173107_backfill_software_licenses_spdx_identifiers.rb b/db/post_migrate/20190917173107_backfill_software_licenses_spdx_identifiers.rb
new file mode 100644
index 00000000000..09492f5f99e
--- /dev/null
+++ b/db/post_migrate/20190917173107_backfill_software_licenses_spdx_identifiers.rb
@@ -0,0 +1,57 @@
+# frozen_string_literal: true
+
+class BackfillSoftwareLicensesSpdxIdentifiers < ActiveRecord::Migration[5.2]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+ CURRENT_LICENSES = {
+ 'AGPL-1.0' => 'AGPL-1.0',
+ 'AGPL-3.0' => 'AGPL-3.0',
+ 'Apache 2.0' => 'Apache-2.0',
+ 'Artistic-2.0' => 'Artistic-2.0',
+ 'BSD' => 'BSD-4-Clause',
+ 'CC0 1.0 Universal' => 'CC0-1.0',
+ 'CDDL-1.0' => 'CDDL-1.0',
+ 'CDDL-1.1' => 'CDDL-1.1',
+ 'EPL-1.0' => 'EPL-1.0',
+ 'EPL-2.0' => 'EPL-2.0',
+ 'GPLv2' => 'GPL-2.0',
+ 'GPLv3' => 'GPL-3.0',
+ 'ISC' => 'ISC',
+ 'LGPL' => 'LGPL-3.0-only',
+ 'LGPL-2.1' => 'LGPL-2.1',
+ 'MIT' => 'MIT',
+ 'Mozilla Public License 2.0' => 'MPL-2.0',
+ 'MS-PL' => 'MS-PL',
+ 'MS-RL' => 'MS-RL',
+ 'New BSD' => 'BSD-3-Clause',
+ 'Python Software Foundation License' => 'Python-2.0',
+ 'ruby' => 'Ruby',
+ 'Simplified BSD' => 'BSD-2-Clause',
+ 'WTFPL' => 'WTFPL',
+ 'Zlib' => 'Zlib'
+ }.freeze
+
+ disable_ddl_transaction!
+
+ # 25 records to be updated on GitLab.com
+ def up
+ return unless Gitlab.ee?
+
+ say "Expect #{CURRENT_LICENSES.count} updates to the software_licenses table to occur"
+ CURRENT_LICENSES.each do |name, spdx_identifier|
+ # The following cop is disabled because of https://gitlab.com/gitlab-org/gitlab/issues/33470
+ # For more context see https://gitlab.com/gitlab-org/gitlab/merge_requests/17004#note_226264823
+ # rubocop:disable Migration/UpdateColumnInBatches
+ update_column_in_batches(:software_licenses, :spdx_identifier, spdx_identifier) do |table, query|
+ query.where(table[:name].eq(name))
+ end
+ end
+ end
+
+ def down
+ return unless Gitlab.ee?
+
+ update_column_in_batches(:software_licenses, :spdx_identifier, nil)
+ end
+end