Files
Reem-Notas/lib/tasks/diagnostico.rake
victor 1fa8cd59e8 Automatiza migrations no boot + rake de diagnóstico
- docker-compose: command roda `rails db:prepare` antes de subir o server
  (cria DB se faltar, aplica migrations pendentes, seed só em DB novo) —
  elimina o passo manual de db:migrate após o up
- lib/tasks/diagnostico.rake: `rake reem:diagnostico` substitui o runner
  longo de checagem da tabela externa (conta/período/datas disponíveis)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 22:30:34 -03:00

29 lines
1.6 KiB
Ruby

namespace :reem do
desc "Diagnóstico do dashboard: verifica dados da tabela externa por conta/período"
task diagnostico: :environment do
ini = ENV['INICIO'] ? Date.parse(ENV['INICIO']) : Date.current.beginning_of_month
fim = ENV['FIM'] ? Date.parse(ENV['FIM']) : Date.current
puts "================ DIAGNÓSTICO REEM ================"
puts "Período analisado: #{ini}#{fim}"
puts "DB_EXISTING_ACCOUNT_ID: #{ENV.fetch('DB_EXISTING_ACCOUNT_ID', '95907 (default)')}"
puts "-------------------------------------------------"
puts "Entregas no período (com filtro Gade): #{Entrega.da_conta_gade.no_periodo(ini, fim).count}"
puts "Entregas no período (SEM filtro conta): #{Entrega.no_periodo(ini, fim).count}"
puts "Pagas no período (com filtro Gade): #{Entrega.da_conta_gade.pagas.no_periodo(ini, fim).count}"
puts "-------------------------------------------------"
puts "account_ids presentes na tabela:"
Entrega.group(:account_id).count.each { |acc, qtd| puts " account_id=#{acc.inspect}#{qtd} linhas" }
puts "-------------------------------------------------"
puts "planned_date mais antiga: #{Entrega.minimum(:planned_date)}"
puts "planned_date mais recente: #{Entrega.maximum(:planned_date)}"
puts "================================================="
puts "Leitura:"
puts " • 'SEM filtro' > 0 e 'com filtro Gade' = 0 → ajuste DB_EXISTING_ACCOUNT_ID no .env"
puts " • ambos = 0 → não há dados nesse período (use as datas acima)"
rescue => e
warn "[diagnostico] Falha: #{e.class} - #{e.message}"
raise
end
end