Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorRubén Dávila Santos <ruben@gitlab.com>2016-09-06 02:25:53 +0300
committerRuben Davila <rdavila84@gmail.com>2016-09-06 03:05:39 +0300
commit6f64d041e9508577c34bf349fdbb94a0d027014c (patch)
tree0756c644563c9b07d4d6a82f8d2de3343e9c8c9d /db
parent4f4fa293d4b6bde271a8d2c585484b2e212ed43d (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.rb40
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