diff --git a/db/migrate/20190315055432_migrate_null_override_for_upload_site_settings.rb b/db/migrate/20190315055432_migrate_null_override_for_upload_site_settings.rb new file mode 100644 index 00000000000..bbc47802a60 --- /dev/null +++ b/db/migrate/20190315055432_migrate_null_override_for_upload_site_settings.rb @@ -0,0 +1,40 @@ +class MigrateNullOverrideForUploadSiteSettings < ActiveRecord::Migration[5.2] + def up + { + 'logo_url' => 'logo', + 'logo_small_url' => 'logo_small', + 'digest_logo_url' => 'digest_logo', + 'mobile_logo_url' => 'mobile_logo', + 'large_icon_url' => 'large_icon', + 'favicon_url' => 'favicon', + 'apple_touch_icon_url' => 'apple_touch_icon', + 'default_opengraph_image_url' => 'opengraph_image', + 'twitter_summary_large_image_url' => 'twitter_summary_large_image', + 'push_notifications_icon_url' => 'push_notifications_icon' + }.each do |old_name, new_name| + if DB.query_single("SELECT 1 FROM site_settings WHERE name = '#{old_name}' AND value IS NULL").present? && + DB.query_single("SELECT 1 FROM site_settings WHERE name = '#{new_name}'").empty? + + ActiveRecord::Base.connection.execute <<~SQL + INSERT INTO site_settings ( + name, + data_type, + value, + created_at, + updated_at + ) VALUES ( + '#{new_name}', + 18, + '', + CURRENT_TIMESTAMP, + CURRENT_TIMESTAMP + ) + SQL + end + end + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end