class Multiwoven::Integrations::Destination::MariaDB::Client
def write(sync_config, records, action = "destination_insert")
def write(sync_config, records, action = "destination_insert") connection_config = sync_config.destination.connection_specification.with_indifferent_access table_name = sync_config.stream.name primary_key = sync_config.model.primary_key db = create_connection(connection_config) write_success = 0 write_failure = 0 records.each do |record| query = Multiwoven::Integrations::Core::QueryBuilder.perform(action, table_name, record, primary_key) logger.debug("MARIA:DB:WRITE:QUERY query = #{query} sync_id = #{sync_config.sync_id} sync_run_id = #{sync_config.sync_run_id}") begin db.run(query) write_success += 1 rescue StandardError => e handle_exception(e, { context: "MARIA:DB:RECORD:WRITE:EXCEPTION", type: "error", sync_id: sync_config.sync_id, sync_run_id: sync_config.sync_run_id }) write_failure += 1 end end tracking_message(write_success, write_failure) rescue StandardError => e handle_exception(e, { context: "MARIA:DB:RECORD:WRITE:EXCEPTION", type: "error", sync_id: sync_config.sync_id, sync_run_id: sync_config.sync_run_id }) end