Sha256: 17f70eb41274e26585861dd617b40019e15e339c46561713d267a92e985e066b
Contents?: true
Size: 971 Bytes
Versions: 2
Compression:
Stored size: 971 Bytes
Contents
require 'openc3/utilities/migration' require 'openc3/models/scope_model' require 'openc3/models/timeline_model' module OpenC3 class ActivityUuid < Migration def self.run ScopeModel.names.each do |scope| TimelineModel.names.each do |key| name = key.split('__').last json = Store.zrange("#{scope}#{ActivityModel::PRIMARY_KEY}__#{name}", 0, -1) parsed = json.map { |value| JSON.parse(value, :allow_nan => true, :create_additions => true) } parsed.each_with_index do |activity, index| if activity['uuid'].nil? activity['uuid'] = SecureRandom.uuid Store.zrem("#{scope}#{ActivityModel::PRIMARY_KEY}__#{name}", json[index]) Store.zadd("#{scope}#{ActivityModel::PRIMARY_KEY}__#{name}", activity['start'], JSON.generate(activity)) end end end end end end end unless ENV['OPENC3_NO_MIGRATE'] OpenC3::ActivityUuid.run end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
openc3-5.20.0 | lib/openc3/migrations/20240915000000_activity_uuid.rb |
openc3-5.19.0 | lib/openc3/migrations/20240915000000_activity_uuid.rb |