Migrate Redis keys for organizations

pull/16315/head
cgonzalez 3 years ago
parent 60d72da323
commit df55bcdb45

@ -316,6 +316,13 @@ module Carto
Carto::UserMetadataExportService.new.import_search_tweets_from_directory(user, "#{path}/user_#{user.id}")
end
organization.users.each do |user|
Carto::UserMetadataExportService.new.import_redis_do_subscriptions(
user,
"#{path}/user_#{user.id}"
)
end
organization
end
end

@ -39,10 +39,7 @@ module Carto
def restore_redis_do_subscriptions_from_json_export(exported_json_string, user)
exported_hash = JSON.parse(exported_json_string).deep_symbolize_keys
raise 'Wrong export version' unless compatible_version?(exported_hash[:version])
Rollbar.info('Restore DO subscriptions', {
exported_hash: exported_hash,
do_subscriptions: exported_hash[:redis][:do_subscriptions]
})
restore_do_subscriptions($users_metadata, exported_hash[:redis][:do_subscriptions], user)
end
@ -76,11 +73,7 @@ module Carto
def restore_do_subscriptions(redis_db, redis_keys, user)
redis_keys.each do |key, value|
subscriptions = JSON.parse(value.presence || '[]')
Rollbar.info('Restore DO subscriptions - Key', {
key: key,
value: value,
subscriptions: subscriptions
})
subscriptions.each do |sub|
dataset = user.tables.find_by(name: sub['sync_table'])
next if dataset.nil?

@ -568,21 +568,13 @@ module Carto
end
def import_metadata_from_directory(user, meta_path)
Rollbar.info('Import metadata from directory', {
username: user.username
})
import_user_visualizations_from_directory(user, Carto::Visualization::TYPE_REMOTE, meta_path)
import_user_visualizations_from_directory(user, Carto::Visualization::TYPE_CANONICAL, meta_path)
import_user_visualizations_from_directory(user, Carto::Visualization::TYPE_DERIVED, meta_path)
import_search_tweets_from_directory(user, meta_path)
Rollbar.info('Restore Redis DO subscriptions', {
redis_user_file: redis_user_file(meta_path)
})
Carto::RedisExportService.new.restore_redis_do_subscriptions_from_json_export(
redis_user_file(meta_path),
user
)
import_redis_do_subscriptions(user, meta_path)
end
def import_search_tweets_from_directory(user, meta_path)
@ -591,6 +583,13 @@ module Carto
search_tweets.each { |st| save_imported_search_tweet(st, user) }
end
def import_redis_do_subscriptions(user, meta_path)
Carto::RedisExportService.new.restore_redis_do_subscriptions_from_json_export(
redis_user_file(meta_path),
user
)
end
private
def user_from_file(path)

Loading…
Cancel
Save