discourse/db/migrate/20140610034314_move_bio_to_user_profiles.rb
Sam Saffron 30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00

28 lines
898 B
Ruby

# frozen_string_literal: true
class MoveBioToUserProfiles < ActiveRecord::Migration[4.2]
def up
add_column :user_profiles, :bio_raw, :text
add_column :user_profiles, :bio_cooked, :text
execute "UPDATE user_profiles SET bio_raw = subquery.bio_raw, bio_cooked = subquery.bio_cooked FROM (
SELECT bio_raw, bio_cooked, id FROM users
) as subquery WHERE user_profiles.user_id = subquery.id"
remove_column :users, :bio_raw
remove_column :users, :bio_cooked
end
def down
add_column :users, :bio_raw, :text
add_column :users, :bio_cooked, :text
execute "UPDATE users SET bio_raw = subquery.bio_raw, bio_cooked = subquery.bio_cooked FROM (
SELECT bio_raw, bio_cooked, user_id FROM user_profiles
) as subquery WHERE users.id = subquery.user_id"
remove_column :user_profiles, :bio_raw
remove_column :user_profiles, :bio_cooked
end
end