Skip to content
Snippets Groups Projects
Unverified Commit 735c2d84 authored by Ahmad Farhat's avatar Ahmad Farhat Committed by GitHub
Browse files

Fixed migrations not migrating external accounts (#5291)

parent c2f88ad7
Branches
Tags release-2.14.8.1
No related merge requests found
...@@ -12,16 +12,15 @@ namespace :migrations do ...@@ -12,16 +12,15 @@ namespace :migrations do
desc "Migrates v2 resources to v3" desc "Migrates v2 resources to v3"
task :roles, [:provider] => :environment do |_task, args| task :roles, [:provider] => :environment do |_task, args|
args.with_defaults(provider: "greenlight")
has_encountred_issue = 0 has_encountred_issue = 0
Role.unscoped roles = Role.unscoped
.where(provider: args[:provider]) roles = roles.where(provider: args[:provider]) if args[:provider].present?
.select(:id, :name, :provider) roles = roles.select(:id, :name, :provider)
.includes(:role_permissions) .includes(:role_permissions)
.where.not(name: COMMON[:filtered_roles]) .where.not(name: COMMON[:filtered_roles])
.find_each(batch_size: COMMON[:batch_size]) do |r|
roles.find_each(batch_size: COMMON[:batch_size]) do |r|
# RolePermissions # RolePermissions
role_permissions_hash = r.role_permissions.pluck(:name, :value).to_h role_permissions_hash = r.role_permissions.pluck(:name, :value).to_h
...@@ -65,16 +64,16 @@ namespace :migrations do ...@@ -65,16 +64,16 @@ namespace :migrations do
end end
task :users, [:provider, :start, :stop] => :environment do |_task, args| task :users, [:provider, :start, :stop] => :environment do |_task, args|
args.with_defaults(provider: "greenlight")
start, stop = range(args) start, stop = range(args)
has_encountred_issue = 0 has_encountred_issue = 0
User.unscoped user = User.unscoped
.where(provider: args[:provider]) user = user.where(provider: args[:provider]) if args[:provider].present?
.select(:id, :uid, :name, :email, :social_uid, :language, :role_id, :created_at) user = user.select(:id, :uid, :name, :email, :social_uid, :language, :role_id, :created_at)
.includes(:role) .includes(:role)
.where.not(roles: { name: COMMON[:filtered_user_roles] }, deleted: true) .where.not(roles: { name: COMMON[:filtered_user_roles] }, deleted: true)
.find_each(start: start, finish: stop, batch_size: COMMON[:batch_size]) do |u|
user.find_each(start: start, finish: stop, batch_size: COMMON[:batch_size]) do |u|
role_name = infer_role_name(u.role.name) role_name = infer_role_name(u.role.name)
params = { user: params = { user:
{ name: u.name, { name: u.name,
...@@ -115,22 +114,22 @@ namespace :migrations do ...@@ -115,22 +114,22 @@ namespace :migrations do
end end
task :rooms, [:provider, :start, :stop] => :environment do |_task, args| task :rooms, [:provider, :start, :stop] => :environment do |_task, args|
args.with_defaults(provider: "greenlight")
start, stop = range(args) start, stop = range(args)
has_encountred_issue = 0 has_encountred_issue = 0
filtered_roles_ids = Role.unscoped filtered_roles_ids = Role.unscoped
.where(provider: args[:provider]) filtered_roles_ids = filtered_roles_ids.where(provider: args[:provider]) if args[:provider].present?
.select(:id, :name) filtered_roles_ids = filtered_roles_ids.select(:id, :name)
.where(name: COMMON[:filtered_user_roles]) .where(name: COMMON[:filtered_user_roles])
.pluck(:id) .pluck(:id)
Room.unscoped rooms = Room.unscoped
.select(:id, :uid, :name, :bbb_id, :last_session, :user_id, :room_settings) .select(:id, :uid, :name, :bbb_id, :last_session, :user_id, :room_settings)
.includes(:owner) .includes(:owner)
.where('users.provider': args[:provider]) rooms = rooms.where('users.provider': args[:provider]) if args[:provider].present?
.where.not(users: { role_id: filtered_roles_ids, deleted: true }, deleted: true) rooms = rooms.where.not(users: { role_id: filtered_roles_ids, deleted: true }, deleted: true)
.find_each(start: start, finish: stop, batch_size: COMMON[:batch_size]) do |r|
rooms.find_each(start: start, finish: stop, batch_size: COMMON[:batch_size]) do |r|
# RoomSettings # RoomSettings
parsed_room_settings = JSON.parse(r.room_settings) parsed_room_settings = JSON.parse(r.room_settings)
# Returns nil if the RoomSetting value is the same as the corresponding default value in V3 # Returns nil if the RoomSetting value is the same as the corresponding default value in V3
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment