Я пытаюсь обновить этот код рельсов в сырой PostgreSQL
ValidationEmergency.with_deleted.where(
code: 'aml_validation_failed',
service_name: 'ComplyAdvantage', service_type: nil).each do |e|
e.update_attributes(
{
service_type: 'Screening',
service_id: e.message.split(', ').last.split(' => ').last.to_i
}, without_protection: true
)
end
что у меня есть (отредактировано после комментария @ fanta)
ActiveRecord::Base.connection.execute("
UPDATE validation_emergencies
SET
service_type = 'Screening',
service_id = (
CAST ( array_upper(string_to_array(message, ' => '), 1) AS INTEGER )
)
WHERE
code = 'aml_validation_failed'
AND
service_name = 'ComplyAdvantage'
AND
service_type IS NULL"
)
Тип сервиса обновляется правильно, но service_id нет, все еще изучая, как правильно разделить и gsub с postgresql.
Пожалуйста, сообщите. Спасибо.