START: 2026-07-16 13:27:10 +---------------------------------------------+ [TASK]: Ser vars [CMD]: export HOME=/home/qasenseibackwebc STDOUT: STDERR: EXIT: 0 [CMD]: SCRIPTS_PATH=/home/qasenseibackwebc/scripts STDOUT: STDERR: EXIT: 0 [CMD]: COMPOSER_PATH=$SCRIPTS_PATH/composer STDOUT: STDERR: EXIT: 0 [CMD]: PHP_BIN=/usr/local/bin/php STDOUT: STDERR: EXIT: 0 [CMD]: REPO_PATH=/home/qasenseibackwebc/repositories/sensei-citrine-backend STDOUT: STDERR: EXIT: 0 [CMD]: DOTFILES_PATH=/home/qasenseibackwebc/repositories/sensei-citrine-backend-dotfiles STDOUT: STDERR: EXIT: 0 [CMD]: PROJECT_PATH=/home/qasenseibackwebc/public_html STDOUT: STDERR: EXIT: 0 +---------------------------------------------+ [TASK]: Check composer [CMD]: if [ -f "$COMPOSER_PATH" ]; then echo "Composer already exists in this directory." else echo "Downloading Composer..." $PHP_BIN -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $PHP_BIN -r "if (hash_file('sha384', 'composer-setup.php') === 'c8b085408188070d5f52bcfe4ecfbee5f727afa458b2573b8eaaf77b3419b0bf2768dc67c86944da1544f06fa544fd47') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }" $PHP_BIN composer-setup.php $PHP_BIN -r "unlink('composer-setup.php');" mv composer.phar $COMPOSER_PATH echo "Composer downloaded as $COMPOSER_PATH" fi STDOUT: Composer already exists in this directory. STDERR: EXIT: 0 +---------------------------------------------+ [TASK]: Check repo [CMD]: cd $REPO_PATH STDOUT: STDERR: EXIT: 0 [CMD]: git fetch --all STDOUT: Fetching origin STDERR: From gitlab.com:metalmessiah87/sensei-citrine-backend dd6de62..b3e99d4 development -> origin/development EXIT: 0 [CMD]: git pull STDOUT: Fetching origin Updating dd6de62..b3e99d4 Fast-forward DEV.md | 24 + cron_php_tasks/__v2_daily_create_baseorders.php | 198 +++- cron_php_tasks/__v3_daily_suspend_accounts.php | 168 +++ cron_php_tasks/cron_runner.php | 97 ++ ...000001_create_epic_jobs_and_recaudos_tables.php | 56 + ...260702_000001_add_gestion_planes_permission.php | 114 ++ ...0002_create_configuracion_facturacion_table.php | 46 + ...03_add_configuracion_facturacion_permission.php | 114 ++ ...reate_descuentos_rutas_comportamiento_table.php | 27 + ...03_000002_add_gestion_descuentos_permission.php | 114 ++ ...4_000001_remove_aplica_para_from_descuentos.php | 19 + ...260706_000001_create_excepciones_pago_table.php | 25 + ...002_add_gestion_excepciones_pago_permission.php | 114 ++ ...003_create_configuracion_fechas_corte_table.php | 23 + ..._000004_add_gestion_fechas_corte_permission.php | 114 ++ ...0708_000001_create_tarifas_reconexion_table.php | 47 + ...2_add_gestion_tarifas_reconexion_permission.php | 114 ++ ...001_create_descuentos_pago_adelantado_table.php | 47 + ...dd_gestion_descuentos_adelantado_permission.php | 114 ++ error_log | 74 +- include/Config.php | 5 + include/classes/Billing.php | 38 +- include/classes/Clients.php | 3 +- include/classes/ConfiguracionFacturacion.php | 105 ++ include/classes/ConfiguracionFechasCorte.php | 151 +++ include/classes/Connection.php | 2 +- include/classes/DescuentoPagoAdelantado.php | 214 ++++ include/classes/DescuentoRutasComportamiento.php | 226 ++++ include/classes/ExcepcionPagoCliente.php | 306 +++++ include/classes/Planes.php | 164 +++ include/classes/TarifaReconexion.php | 213 ++++ include/classes/TelegramChannel.php | 59 + test/test_billing_config.php | 81 ++ test/test_billing_day_25.php | 124 ++ test/test_descuentos_adelantado.php | 155 +++ test/test_descuentos_crud.php | 103 ++ test/test_excepciones_crud.php | 102 ++ test/test_fechas_corte.php | 83 ++ test/test_planes_crud.php | 113 ++ test/test_tarifas_reconexion.php | 155 +++ test/unit/BillingCronTest.php | 41 + v1/index.php | 1251 +++++++++++++++++++- 42 files changed, 5267 insertions(+), 76 deletions(-) create mode 100644 cron_php_tasks/__v3_daily_suspend_accounts.php create mode 100644 cron_php_tasks/cron_runner.php create mode 100644 db/migrations/20260626_000001_create_epic_jobs_and_recaudos_tables.php create mode 100644 db/migrations/20260702_000001_add_gestion_planes_permission.php create mode 100644 db/migrations/20260702_000002_create_configuracion_facturacion_table.php create mode 100644 db/migrations/20260702_000003_add_configuracion_facturacion_permission.php create mode 100644 db/migrations/20260703_000001_create_descuentos_rutas_comportamiento_table.php create mode 100644 db/migrations/20260703_000002_add_gestion_descuentos_permission.php create mode 100644 db/migrations/20260704_000001_remove_aplica_para_from_descuentos.php create mode 100644 db/migrations/20260706_000001_create_excepciones_pago_table.php create mode 100644 db/migrations/20260706_000002_add_gestion_excepciones_pago_permission.php create mode 100644 db/migrations/20260706_000003_create_configuracion_fechas_corte_table.php create mode 100644 db/migrations/20260706_000004_add_gestion_fechas_corte_permission.php create mode 100644 db/migrations/20260708_000001_create_tarifas_reconexion_table.php create mode 100644 db/migrations/20260708_000002_add_gestion_tarifas_reconexion_permission.php create mode 100644 db/migrations/20260709_000001_create_descuentos_pago_adelantado_table.php create mode 100644 db/migrations/20260709_000002_add_gestion_descuentos_adelantado_permission.php create mode 100644 include/classes/ConfiguracionFacturacion.php create mode 100644 include/classes/ConfiguracionFechasCorte.php create mode 100644 include/classes/DescuentoPagoAdelantado.php create mode 100644 include/classes/DescuentoRutasComportamiento.php create mode 100644 include/classes/ExcepcionPagoCliente.php create mode 100644 include/classes/Planes.php create mode 100644 include/classes/TarifaReconexion.php create mode 100644 include/classes/TelegramChannel.php create mode 100644 test/test_billing_config.php create mode 100644 test/test_billing_day_25.php create mode 100644 test/test_descuentos_adelantado.php create mode 100644 test/test_descuentos_crud.php create mode 100644 test/test_excepciones_crud.php create mode 100644 test/test_fechas_corte.php create mode 100644 test/test_planes_crud.php create mode 100644 test/test_tarifas_reconexion.php create mode 100644 test/unit/BillingCronTest.php STDERR: From gitlab.com:metalmessiah87/sensei-citrine-backend dd6de62..b3e99d4 development -> origin/development EXIT: 0 [CMD]: git checkout development STDOUT: Fetching origin Updating dd6de62..b3e99d4 Fast-forward DEV.md | 24 + cron_php_tasks/__v2_daily_create_baseorders.php | 198 +++- cron_php_tasks/__v3_daily_suspend_accounts.php | 168 +++ cron_php_tasks/cron_runner.php | 97 ++ ...000001_create_epic_jobs_and_recaudos_tables.php | 56 + ...260702_000001_add_gestion_planes_permission.php | 114 ++ ...0002_create_configuracion_facturacion_table.php | 46 + ...03_add_configuracion_facturacion_permission.php | 114 ++ ...reate_descuentos_rutas_comportamiento_table.php | 27 + ...03_000002_add_gestion_descuentos_permission.php | 114 ++ ...4_000001_remove_aplica_para_from_descuentos.php | 19 + ...260706_000001_create_excepciones_pago_table.php | 25 + ...002_add_gestion_excepciones_pago_permission.php | 114 ++ ...003_create_configuracion_fechas_corte_table.php | 23 + ..._000004_add_gestion_fechas_corte_permission.php | 114 ++ ...0708_000001_create_tarifas_reconexion_table.php | 47 + ...2_add_gestion_tarifas_reconexion_permission.php | 114 ++ ...001_create_descuentos_pago_adelantado_table.php | 47 + ...dd_gestion_descuentos_adelantado_permission.php | 114 ++ error_log | 74 +- include/Config.php | 5 + include/classes/Billing.php | 38 +- include/classes/Clients.php | 3 +- include/classes/ConfiguracionFacturacion.php | 105 ++ include/classes/ConfiguracionFechasCorte.php | 151 +++ include/classes/Connection.php | 2 +- include/classes/DescuentoPagoAdelantado.php | 214 ++++ include/classes/DescuentoRutasComportamiento.php | 226 ++++ include/classes/ExcepcionPagoCliente.php | 306 +++++ include/classes/Planes.php | 164 +++ include/classes/TarifaReconexion.php | 213 ++++ include/classes/TelegramChannel.php | 59 + test/test_billing_config.php | 81 ++ test/test_billing_day_25.php | 124 ++ test/test_descuentos_adelantado.php | 155 +++ test/test_descuentos_crud.php | 103 ++ test/test_excepciones_crud.php | 102 ++ test/test_fechas_corte.php | 83 ++ test/test_planes_crud.php | 113 ++ test/test_tarifas_reconexion.php | 155 +++ test/unit/BillingCronTest.php | 41 + v1/index.php | 1251 +++++++++++++++++++- 42 files changed, 5267 insertions(+), 76 deletions(-) create mode 100644 cron_php_tasks/__v3_daily_suspend_accounts.php create mode 100644 cron_php_tasks/cron_runner.php create mode 100644 db/migrations/20260626_000001_create_epic_jobs_and_recaudos_tables.php create mode 100644 db/migrations/20260702_000001_add_gestion_planes_permission.php create mode 100644 db/migrations/20260702_000002_create_configuracion_facturacion_table.php create mode 100644 db/migrations/20260702_000003_add_configuracion_facturacion_permission.php create mode 100644 db/migrations/20260703_000001_create_descuentos_rutas_comportamiento_table.php create mode 100644 db/migrations/20260703_000002_add_gestion_descuentos_permission.php create mode 100644 db/migrations/20260704_000001_remove_aplica_para_from_descuentos.php create mode 100644 db/migrations/20260706_000001_create_excepciones_pago_table.php create mode 100644 db/migrations/20260706_000002_add_gestion_excepciones_pago_permission.php create mode 100644 db/migrations/20260706_000003_create_configuracion_fechas_corte_table.php create mode 100644 db/migrations/20260706_000004_add_gestion_fechas_corte_permission.php create mode 100644 db/migrations/20260708_000001_create_tarifas_reconexion_table.php create mode 100644 db/migrations/20260708_000002_add_gestion_tarifas_reconexion_permission.php create mode 100644 db/migrations/20260709_000001_create_descuentos_pago_adelantado_table.php create mode 100644 db/migrations/20260709_000002_add_gestion_descuentos_adelantado_permission.php create mode 100644 include/classes/ConfiguracionFacturacion.php create mode 100644 include/classes/ConfiguracionFechasCorte.php create mode 100644 include/classes/DescuentoPagoAdelantado.php create mode 100644 include/classes/DescuentoRutasComportamiento.php create mode 100644 include/classes/ExcepcionPagoCliente.php create mode 100644 include/classes/Planes.php create mode 100644 include/classes/TarifaReconexion.php create mode 100644 include/classes/TelegramChannel.php create mode 100644 test/test_billing_config.php create mode 100644 test/test_billing_day_25.php create mode 100644 test/test_descuentos_adelantado.php create mode 100644 test/test_descuentos_crud.php create mode 100644 test/test_excepciones_crud.php create mode 100644 test/test_fechas_corte.php create mode 100644 test/test_planes_crud.php create mode 100644 test/test_tarifas_reconexion.php create mode 100644 test/unit/BillingCronTest.php STDERR: From gitlab.com:metalmessiah87/sensei-citrine-backend dd6de62..b3e99d4 development -> origin/development Already on 'development' EXIT: 0 +---------------------------------------------+ [TASK]: Remove old content [CMD]: cd $PROJECT_PATH STDOUT: STDERR: EXIT: 0 [CMD]: rm -rf ./* ./.??* STDOUT: STDERR: EXIT: 0 +---------------------------------------------+ [TASK]: Copy entire content [CMD]: cd $REPO_PATH STDOUT: STDERR: EXIT: 0 [CMD]: echo "Start copy" STDOUT: Start copy STDERR: EXIT: 0 [CMD]: tar \ --exclude='.git' \ --exclude='.env.*' \ --exclude='Containerfile' \ --exclude='Dockerfile' \ --exclude='docker-entrypoint.sh' \ --exclude='.gitlab-ci.yml' \ --exclude='.gitignore' \ --exclude='*.md' \ --exclude='container-compose.yml' \ --exclude='*.sql' \ -cf - ./* ./.??* | tar --no-same-permissions -xf - -C "$PROJECT_PATH/" STDOUT: Start copy STDERR: EXIT: 0 +---------------------------------------------+ [TASK]: Change permissions [CMD]: cd $PROJECT_PATH STDOUT: STDERR: EXIT: 0 [CMD]: chmod -R 755 ./ STDOUT: STDERR: EXIT: 0 +---------------------------------------------+ [TASK]: Install dependencies [CMD]: cd $PROJECT_PATH STDOUT: STDERR: EXIT: 0 [CMD]: $PHP_BIN $COMPOSER_PATH i --no-dev --optimize-autoloader STDOUT: STDERR: Installing dependencies from lock file Verifying lock file contents can be installed on current platform. Package operations: 11 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing psr/http-message (1.1): Extracting archive - Installing psr/container (1.1.2): Extracting archive - Installing pimple/pimple (v3.6.2): Extracting archive - Installing nikic/fast-route (v1.3.0): Extracting archive - Installing slim/slim (3.12.5): Extracting archive - Installing symfony/polyfill-php80 (v1.37.0): Extracting archive - Installing symfony/polyfill-mbstring (v1.37.0): Extracting archive - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive - Installing phpoption/phpoption (1.9.5): Extracting archive - Installing graham-campbell/result-type (v1.1.4): Extracting archive - Installing vlucas/phpdotenv (v5.6.3): Extracting archive 0/11 [>---------------------------] 0% 11/11 [============================] 100% Generating optimized autoload files 7 packages you are using are looking for funding. Use the `composer fund` command to find out more! EXIT: 0 [CMD]: echo "ALL DONE" STDOUT: ALL DONE STDERR: Installing dependencies from lock file Verifying lock file contents can be installed on current platform. Package operations: 11 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing psr/http-message (1.1): Extracting archive - Installing psr/container (1.1.2): Extracting archive - Installing pimple/pimple (v3.6.2): Extracting archive - Installing nikic/fast-route (v1.3.0): Extracting archive - Installing slim/slim (3.12.5): Extracting archive - Installing symfony/polyfill-php80 (v1.37.0): Extracting archive - Installing symfony/polyfill-mbstring (v1.37.0): Extracting archive - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive - Installing phpoption/phpoption (1.9.5): Extracting archive - Installing graham-campbell/result-type (v1.1.4): Extracting archive - Installing vlucas/phpdotenv (v5.6.3): Extracting archive 0/11 [>---------------------------] 0% 11/11 [============================] 100% Generating optimized autoload files 7 packages you are using are looking for funding. Use the `composer fund` command to find out more! EXIT: 0 +---------------------------------------------+ [TASK]: Copy the dotfiles [CMD]: cd $DOTFILES_PATH STDOUT: STDERR: EXIT: 0 [CMD]: cp -r ./ $PROJECT_PATH STDOUT: STDERR: EXIT: 0 +---------------------------------------------+ [TASK]: Run migrations [CMD]: cd $PROJECT_PATH STDOUT: STDERR: EXIT: 0 [CMD]: $PHP_BIN cli/migrate.php status STDOUT: [APLICADA] 20260224_000001_seed_two_records [APLICADA] 20260303_000001_add_mutable_column_to_vistas [APLICADA] 20260310_000001_add_suspension_masiva_permission [APLICADA] 20260316_000001_add_suspension_masiva_filtrada_permission [APLICADA] 20260408_000001_add_acciones_masivas_and_activacion_masiva_permission [APLICADA] 20260414_000001_add_historico_suspension_permission [APLICADA] 20260415_000001_create_suspension_masiva_history_tables [APLICADA] 20260416_000002_add_historico_activacion_permission [APLICADA] 20260417_000001_create_activacion_masiva_history_tables [APLICADA] 20260428_000001_create_modulos_descripcion_table [APLICADA] 20260428_000002_seed_modulos_descripcion_catalog [APLICADA] 20260430_000001_add_fecha_nacimiento_to_personas [APLICADA] 20260504_000001_fix_fecha_nacimiento_column_size [APLICADA] 20260519_000001_add_reportes_clientes_permission [APLICADA] 20260522_000001_add_comparar_idapps_excel_permission [APLICADA] 20260525_000001_increase_url_documentos_cliente_size [APLICADA] 20260526_000001_add_notificaciones_masivas_permission [APLICADA] 20260528_000001_add_sistemas_pago_permission [APLICADA] 20260528_000002_add_portafolios_permission [APLICADA] 20260529_000001_add_notification_template_to_portafolios [APLICADA] 20260529_000002_seed_portafolios_efecty_payu [APLICADA] 20260529_000003_seed_notification_template_portafolios [APLICADA] 20260601_000001_create_notifications_templates_table [APLICADA] 20260601_000002_add_plantillas_permission [APLICADA] 20260606120000_create_clients_tags_tables [APLICADA] 20260609120000_seed_new_tag_all_clients [APLICADA] 20260610120000_seed_specific_transfer_freetrial_tags [APLICADA] 20260610130000_fix_wrong_tags_8497_8464 [APLICADA] 20260610140000_add_renovacion_tags [APLICADA] 20260610141000_update_renovacion_tag_names [APLICADA] 20260611120000_drop_clients_tags_tables [APLICADA] 20260611130000_create_eventos_cuentas_tables [APLICADA] 20260611140000_seed_eventos_cuentas [APLICADA] 20260611150000_add_fecha_filtrado_to_eventos_cuentas_auditoria [APLICADA] 20260611180000_fix_fecha_filtrado_auditoria [APLICADA] 20260612100000_add_foreign_keys_to_eventos_cuentas_auditoria [APLICADA] 20260612110000_add_cuenta_id_to_eventos_cuentas_auditoria [APLICADA] 20260612120000_update_eventos_cuentas_names [APLICADA] 20260617_000001_add_account_event_edit_permission [APLICADA] 20260620_000001_add_eventos_cuentas_permission [PENDIENTE] 20260626_000001_create_epic_jobs_and_recaudos_tables [PENDIENTE] 20260702_000001_add_gestion_planes_permission [PENDIENTE] 20260702_000002_create_configuracion_facturacion_table [PENDIENTE] 20260702_000003_add_configuracion_facturacion_permission [PENDIENTE] 20260703_000001_create_descuentos_rutas_comportamiento_table [PENDIENTE] 20260703_000002_add_gestion_descuentos_permission [PENDIENTE] 20260704_000001_remove_aplica_para_from_descuentos [PENDIENTE] 20260706_000001_create_excepciones_pago_table [PENDIENTE] 20260706_000002_add_gestion_excepciones_pago_permission [PENDIENTE] 20260706_000003_create_configuracion_fechas_corte_table [PENDIENTE] 20260706_000004_add_gestion_fechas_corte_permission [PENDIENTE] 20260708_000001_create_tarifas_reconexion_table [PENDIENTE] 20260708_000002_add_gestion_tarifas_reconexion_permission [PENDIENTE] 20260709_000001_create_descuentos_pago_adelantado_table [PENDIENTE] 20260709_000002_add_gestion_descuentos_adelantado_permission STDERR: EXIT: 0 [CMD]: $PHP_BIN cli/migrate.php migrate STDOUT: [APLICADA] 20260224_000001_seed_two_records [APLICADA] 20260303_000001_add_mutable_column_to_vistas [APLICADA] 20260310_000001_add_suspension_masiva_permission [APLICADA] 20260316_000001_add_suspension_masiva_filtrada_permission [APLICADA] 20260408_000001_add_acciones_masivas_and_activacion_masiva_permission [APLICADA] 20260414_000001_add_historico_suspension_permission [APLICADA] 20260415_000001_create_suspension_masiva_history_tables [APLICADA] 20260416_000002_add_historico_activacion_permission [APLICADA] 20260417_000001_create_activacion_masiva_history_tables [APLICADA] 20260428_000001_create_modulos_descripcion_table [APLICADA] 20260428_000002_seed_modulos_descripcion_catalog [APLICADA] 20260430_000001_add_fecha_nacimiento_to_personas [APLICADA] 20260504_000001_fix_fecha_nacimiento_column_size [APLICADA] 20260519_000001_add_reportes_clientes_permission [APLICADA] 20260522_000001_add_comparar_idapps_excel_permission [APLICADA] 20260525_000001_increase_url_documentos_cliente_size [APLICADA] 20260526_000001_add_notificaciones_masivas_permission [APLICADA] 20260528_000001_add_sistemas_pago_permission [APLICADA] 20260528_000002_add_portafolios_permission [APLICADA] 20260529_000001_add_notification_template_to_portafolios [APLICADA] 20260529_000002_seed_portafolios_efecty_payu [APLICADA] 20260529_000003_seed_notification_template_portafolios [APLICADA] 20260601_000001_create_notifications_templates_table [APLICADA] 20260601_000002_add_plantillas_permission [APLICADA] 20260606120000_create_clients_tags_tables [APLICADA] 20260609120000_seed_new_tag_all_clients [APLICADA] 20260610120000_seed_specific_transfer_freetrial_tags [APLICADA] 20260610130000_fix_wrong_tags_8497_8464 [APLICADA] 20260610140000_add_renovacion_tags [APLICADA] 20260610141000_update_renovacion_tag_names [APLICADA] 20260611120000_drop_clients_tags_tables [APLICADA] 20260611130000_create_eventos_cuentas_tables [APLICADA] 20260611140000_seed_eventos_cuentas [APLICADA] 20260611150000_add_fecha_filtrado_to_eventos_cuentas_auditoria [APLICADA] 20260611180000_fix_fecha_filtrado_auditoria [APLICADA] 20260612100000_add_foreign_keys_to_eventos_cuentas_auditoria [APLICADA] 20260612110000_add_cuenta_id_to_eventos_cuentas_auditoria [APLICADA] 20260612120000_update_eventos_cuentas_names [APLICADA] 20260617_000001_add_account_event_edit_permission [APLICADA] 20260620_000001_add_eventos_cuentas_permission [PENDIENTE] 20260626_000001_create_epic_jobs_and_recaudos_tables [PENDIENTE] 20260702_000001_add_gestion_planes_permission [PENDIENTE] 20260702_000002_create_configuracion_facturacion_table [PENDIENTE] 20260702_000003_add_configuracion_facturacion_permission [PENDIENTE] 20260703_000001_create_descuentos_rutas_comportamiento_table [PENDIENTE] 20260703_000002_add_gestion_descuentos_permission [PENDIENTE] 20260704_000001_remove_aplica_para_from_descuentos [PENDIENTE] 20260706_000001_create_excepciones_pago_table [PENDIENTE] 20260706_000002_add_gestion_excepciones_pago_permission [PENDIENTE] 20260706_000003_create_configuracion_fechas_corte_table [PENDIENTE] 20260706_000004_add_gestion_fechas_corte_permission [PENDIENTE] 20260708_000001_create_tarifas_reconexion_table [PENDIENTE] 20260708_000002_add_gestion_tarifas_reconexion_permission [PENDIENTE] 20260709_000001_create_descuentos_pago_adelantado_table [PENDIENTE] 20260709_000002_add_gestion_descuentos_adelantado_permission Aplicando: 20260626_000001_create_epic_jobs_and_recaudos_tables OK: 20260626_000001_create_epic_jobs_and_recaudos_tables Aplicando: 20260702_000001_add_gestion_planes_permission OK: 20260702_000001_add_gestion_planes_permission Aplicando: 20260702_000002_create_configuracion_facturacion_table OK: 20260702_000002_create_configuracion_facturacion_table Aplicando: 20260702_000003_add_configuracion_facturacion_permission OK: 20260702_000003_add_configuracion_facturacion_permission Aplicando: 20260703_000001_create_descuentos_rutas_comportamiento_table OK: 20260703_000001_create_descuentos_rutas_comportamiento_table Aplicando: 20260703_000002_add_gestion_descuentos_permission OK: 20260703_000002_add_gestion_descuentos_permission Aplicando: 20260704_000001_remove_aplica_para_from_descuentos OK: 20260704_000001_remove_aplica_para_from_descuentos Aplicando: 20260706_000001_create_excepciones_pago_table OK: 20260706_000001_create_excepciones_pago_table Aplicando: 20260706_000002_add_gestion_excepciones_pago_permission OK: 20260706_000002_add_gestion_excepciones_pago_permission Aplicando: 20260706_000003_create_configuracion_fechas_corte_table OK: 20260706_000003_create_configuracion_fechas_corte_table Aplicando: 20260706_000004_add_gestion_fechas_corte_permission OK: 20260706_000004_add_gestion_fechas_corte_permission Aplicando: 20260708_000001_create_tarifas_reconexion_table OK: 20260708_000001_create_tarifas_reconexion_table Aplicando: 20260708_000002_add_gestion_tarifas_reconexion_permission OK: 20260708_000002_add_gestion_tarifas_reconexion_permission Aplicando: 20260709_000001_create_descuentos_pago_adelantado_table OK: 20260709_000001_create_descuentos_pago_adelantado_table Aplicando: 20260709_000002_add_gestion_descuentos_adelantado_permission OK: 20260709_000002_add_gestion_descuentos_adelantado_permission Migraciones aplicadas: 15 STDERR: EXIT: 0 ============================================= END. Duration: 16.31s