39 lines
957 B
Ruby
39 lines
957 B
Ruby
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;')
|
|
return unless import_sources.first # support empty databases
|
|
|
|
yaml = if Gitlab::Database.postgresql?
|
|
import_sources.values[0][0]
|
|
else
|
|
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
|