diff options
author | Rubén Dávila Santos <ruben@gitlab.com> | 2016-09-06 02:25:53 +0300 |
---|---|---|
committer | Ruben Davila <rdavila84@gmail.com> | 2016-09-06 03:05:39 +0300 |
commit | 6f64d041e9508577c34bf349fdbb94a0d027014c (patch) | |
tree | 0756c644563c9b07d4d6a82f8d2de3343e9c8c9d /db | |
parent | 4f4fa293d4b6bde271a8d2c585484b2e212ed43d (diff) |
Merge branch 'zj-drop-gitorious-field' into 'master'
Remove gitorious from import_sources on ApplicationSetting model
Removes 'gitorious' as import field from the import_sources field on ApplicationSetting
Closes #21804
cc @markglenfletcher
See merge request !6180
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20160902122721_drop_gitorious_field_from_application_settings.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/db/migrate/20160902122721_drop_gitorious_field_from_application_settings.rb b/db/migrate/20160902122721_drop_gitorious_field_from_application_settings.rb new file mode 100644 index 00000000000..b7b6e9b3484 --- /dev/null +++ b/db/migrate/20160902122721_drop_gitorious_field_from_application_settings.rb @@ -0,0 +1,40 @@ +class DropGitoriousFieldFromApplicationSettings < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # After the deploy the caches will be cold anyway + DOWNTIME = false + + def up + require 'yaml' + + import_sources = connection.execute('SELECT import_sources FROM application_settings;') + + yaml = if Gitlab::Database.postgresql? + import_sources.values[0][0] + else + return unless import_sources.first + + import_sources.first[0] + end + + yaml = YAML.safe_load(yaml) + yaml.delete 'gitorious' + + # No need for a WHERE clause as there is only one + connection.execute("UPDATE application_settings SET import_sources = #{update_yaml(yaml)}") + end + + def down + # noop, gitorious still yields a 404 anyway + end + + private + + def connection + ActiveRecord::Base.connection + end + + def update_yaml(yaml) + connection.quote(YAML.dump(yaml)) + end +end |