openc3/lib/openc3/migrations/20221202214600_add_target_names.rb
require 'openc3/utilities/migration'
require 'openc3/models/scope_model'
module OpenC3
class AddTargetNames < Migration
def self.run
ScopeModel.names.each do |scope|
# Get all existing InterfaceModels and add cmd_target_names / tlm_target_names if necessary
interface_models = InterfaceModel.all(scope: scope)
interface_models.each do |key, model_hash|
target_names = model_hash['target_names']
model_hash['cmd_target_names'] = target_names unless model_hash['cmd_target_names']
model_hash['tlm_target_names'] = target_names unless model_hash['tlm_target_names']
InterfaceModel.from_json(model_hash, scope: scope).update
end
router_models = RouterModel.all(scope: scope)
router_models.each do |key, model_hash|
target_names = model_hash['target_names']
model_hash['cmd_target_names'] = target_names unless model_hash['cmd_target_names']
model_hash['tlm_target_names'] = target_names unless model_hash['tlm_target_names']
RouterModel.from_json(model_hash, scope: scope).update
end
end
end
end
end
unless ENV['OPENC3_NO_MIGRATE']
OpenC3::AddTargetNames.run
end