diff --git a/lib/data_update_scripts/20210218041143_backfill_usernames.rb b/lib/data_update_scripts/20210218041143_backfill_usernames.rb new file mode 100644 index 000000000..c7878f7bc --- /dev/null +++ b/lib/data_update_scripts/20210218041143_backfill_usernames.rb @@ -0,0 +1,9 @@ +module DataUpdateScripts + class BackfillUsernames + def run + User.where(username: nil).find_each do |user| + user.update(username: "user#{user.id}") + end + end + end +end diff --git a/spec/lib/data_update_scripts/backfill_usernames_spec.rb b/spec/lib/data_update_scripts/backfill_usernames_spec.rb new file mode 100644 index 000000000..3bf89bee0 --- /dev/null +++ b/spec/lib/data_update_scripts/backfill_usernames_spec.rb @@ -0,0 +1,14 @@ +require "rails_helper" +require Rails.root.join( + "lib/data_update_scripts/20210218041143_backfill_usernames.rb", +) + +describe DataUpdateScripts::BackfillUsernames do + it " " do + user = create(:user) + user.update_column(:username, nil) + expect do + described_class.new.run + end.to change { user.reload.username }.from(nil).to("user#{user.id}") + end +end