FIREFLO_DB_URL sin establecer y FireFlo se ejecuta con configuración de archivo con
registros de llamadas escritos a data/cdr/.
Solo dos características lo requieren: el sweep de expiración de CDR, que necesita consultar registros sin
resultado, y el crédito prepago, ya que el crédito solo puede entrar por la base de datos. Tarificación, enrutamiento por menor coste
y CDRs funcionan todos sin ella. También lo hace la mitad de solo lectura del panel de control. Pero el panel
edita configuración, y en modo archivo no hay nada que editar.
Conexión
FIREFLO_CONFIG_IMPORT es separado de FIREFLO_DB_MIGRATE a propósito: uno aplica DDL solo
hacia adelante, el otro reemplaza las reglas que deciden qué se cobra a los clientes. --dry-run lo ignora.El interruptor de fuente
Un interruptor mueve cada dominio a la vez.
Establecida a través del entorno como
FIREFLO_CONFIG_SOURCE.
Las tablas
Las propiedades de un worker se proyectan sobre
outSms.instance.<name>.<key> y se publican exactamente como
filas de app_config, así que el nivel de fallback y el reajuste en vivo no se ven afectados. Mantén un ajuste en un
sitio u otro. Si ambos definen la misma clave, la tabla de worker gana y el duplicado se registra.
Qué cambia cuando estás en modo db
- Un cambio tarda hasta un intervalo de sondeo, contra aproximadamente 200 ms para una edición de archivo.
- Una lectura fallida retiene la configuración anterior en lugar de vaciarla.
- Los cambios se anuncian exactamente como una edición de archivo, así que editar
app_configreajusta workers en ejecución.tps,maxRetries,pause, TLVs registrados. Y estableceroutSms.instance.<x>.enablea false detiene ese proveedor dentro de un intervalo. - Borrar una fila revierte la clave a lo que retiene el siguiente nivel: una variable de entorno, o el valor por defecto codificado. En lugar de dejarla sin establecer.
- Cada watcher de archivo se retira.
conf/smsg.propertiesaún se lee al arranque.
app_route y app_rate del esquema pre-normalizado aún se leen cuando las tablas normalizadas
están vacías, con una advertencia. Nada se convierte automáticamente: la rule_line empaquetada no puede dividirse
en SQL.
Versionado de esquema
El esquema es un archivo baseline,V1.19.0__baseline.sql, generado en lugar de fusionado a mano: los
originales se aplicaron a una base de datos scratch, se volcaron con pg_dump --schema-only, y el volcado
se verificó aplicándolo a una segunda base de datos y comparando ambas. Cambios posteriores continúan en V1.20.0.
Solo hacia adelante es la regla.
Está numerado en la versión más alta que reemplaza, no la más baja, deliberadamente. Un despliegue que
se detuviera a mitad trataría un baseline con número más bajo como ya aplicado y migraría a un no-op,
perdiendo silenciosamente lo que vino después. En 1.19.0 intenta aplicar y falla en la primera
tabla que ya existe. Recuperable, donde la versión silenciosa corrompe por omisión.
Consulta fireflo db para test, migrate, info, validate y repair, y
Elegir una fuente de configuración para la ruta de migración
entre archivo y base de datos.