Migrate custom licenses to the new table.
We want to migrate the custom licenses to the new table created in MR !151445 (merged)
Implementation plan
- Add a data migration to fill the new table with the license
name
andproject_id
# frozen_string_literal: true
class CopyCustomLicenses < Gitlab::Database::Migration[2.2]
milestone '16.10'
def up
sql = <<-SQL
INSERT INTO custom_software_licenses (name, project_id)
SELECT
name,
project_id
FROM
software_licenses
JOIN software_license_policies ON (software_licenses.id = software_license_id)
WHERE
spdx_identifier IS NULL
GROUP BY
name,
project_id;
SQL
execute(sql)
end
def down
# no-op
end
end
We are expecting duplicated licenses among projects.
License | project |
---|---|
custom | 432 |
custom | 165 |
custom | 137 |
- Remove the method
unclassified_licenses_for
onSoftwareLicense
2.1 Remove the test cases related to this method from ee/spec/models/software_license_spec.rb
- Update software licenses with custom licenses.
UPDATE software_license_policies
SET software_license_id = NULL,
custom_software_license_id = custom_software_licenses.id
FROM
custom_software_licenses
JOIN software_licenses ON custom_software_licenses.name = software_licenses.name
WHERE
software_licenses.spdx_identifier IS NULL
AND custom_software_licenses.project_id = software_license_policies.project_id
AND software_licenses.id = software_license_policies.software_license_id
Edited by Marcos Rocha