161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
# File 'lib/redis/objects.rb', line 161
def migrate_redis_legacy_keys
cursor = 0
legacy = redis_legacy_prefix
total_keys = 0
if legacy == redis_prefix
raise "Failed to migrate keys for #{self.name.to_s} as legacy and new redis_prefix are the same (#{redis_prefix})"
end
warn "[redis-objects] Migrating keys from #{legacy} prefix to #{redis_prefix}"
loop do
cursor, keys = redis.scan(cursor, :match => "#{legacy}:*")
total_keys += keys.length
keys.each do |key|
base_class, id, name = key.split(':')
new_key = redis_field_key(name, id=id, context=self)
warn "[redis-objects] Rename '#{key}', '#{new_key}'"
ok = redis.rename(key, new_key)
warn "[redis-objects] Warning: Rename '#{key}', '#{new_key}' failed: #{ok}" if ok != 'OK'
end
break if cursor == "0"
end
warn "[redis-objects] Migrated #{total_keys} total number of redis keys"
end
|