fix(dron): agregar ambito_id a create_entrada en bitacora_db

- La firma del método no aceptaba :ambito_id causando 'unknown keyword'
- Los drones (ejecutor.rb) pasaban ambito_id al crear eventos en bitácora web
- El error silenciaba el registro → eventos de drones no aparecían en bitácora
- Solución: agregar ambito_id: nil a firma, columna INSERT y params

Refs: A04.P006 — Pipeline DASUTEN Full backup 2026-04-21
This commit is contained in:
Ricardo Monla
2026-04-21 07:35:04 -03:00
parent f9b9d55edb
commit a6ed2ca771
+6 -5
View File
@@ -444,9 +444,10 @@ module BitacorasDB
# @param tema_id [Integer, nil] ID del tema relacionado # @param tema_id [Integer, nil] ID del tema relacionado
# @param bitacora_id [Integer, nil] ID de la bitácora # @param bitacora_id [Integer, nil] ID de la bitácora
# @param nodo_id [Integer, nil] ID del nodo # @param nodo_id [Integer, nil] ID del nodo
# @param ambito_id [Integer, nil] ID del ámbito (requerido por drones para registro en bitácora web)
# @return [Hash] Entrada creada con ID # @return [Hash] Entrada creada con ID
def create_entrada(inicio:, descripcion:, fin: nil, estado: nil, modo: nil, es_ia: false, def create_entrada(inicio:, descripcion:, fin: nil, estado: nil, modo: nil, es_ia: false,
tema_id: nil, bitacora_id: nil, nodo_id: nil) tema_id: nil, bitacora_id: nil, nodo_id: nil, ambito_id: nil)
# Validar formato de tiempo # Validar formato de tiempo
inicio_time = parse_time(inicio) inicio_time = parse_time(inicio)
@@ -497,17 +498,17 @@ module BitacorasDB
query = <<~SQL query = <<~SQL
INSERT INTO #{SCHEMA}.#{TABLES[:entradas]} ( INSERT INTO #{SCHEMA}.#{TABLES[:entradas]} (
inicio, fin, descripcion, estado, modo, es_ia, inicio, fin, descripcion, estado, modo, es_ia,
tema_id, bitacora_id, nodo_id tema_id, bitacora_id, nodo_id, ambito_id
) )
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
RETURNING id, inicio, fin, descripcion, estado, modo, es_ia, RETURNING id, inicio, fin, descripcion, estado, modo, es_ia,
tema_id, bitacora_id, nodo_id, created_at, updated_at tema_id, bitacora_id, nodo_id, ambito_id, created_at, updated_at
SQL SQL
result = @connection.exec_params( result = @connection.exec_params(
query, query,
[inicio_time, fin_time, descripcion, estado, modo, es_ia, [inicio_time, fin_time, descripcion, estado, modo, es_ia,
tema_id, bitacora_id, nodo_id] tema_id, bitacora_id, nodo_id, ambito_id]
) )
entrada = result.first entrada = result.first