# Retrato dos números de cada operação, para detectar o que MUDOU entre uma # varredura e a seguinte. # # A maior parte das mudanças da operação não passa pelo nosso código: elas # acontecem no SimpliRoute e chegam pelo sync do espelho (que é read-only aqui). # Sem guardar o retrato anterior não há como dizer "3 NFs entraram, 1 saiu" — # só dá para mostrar o número de agora, que é o que os dashboards já fazem. # # Uma linha por tabela de operação. É snapshot, não histórico: a linha é # ATUALIZADA a cada varredura. Guardar a série inteira seria outra feature (e a # tabela cresceria por operação × varredura sem ninguém consultar). class CreateOperacaoSnapshots < ActiveRecord::Migration[7.1] def change create_table :operacao_snapshots do |t| t.string :tabela, null: false t.integer :total_notas, null: false, default: 0 t.integer :entregues, null: false, default: 0 t.integer :nao_entregues, null: false, default: 0 t.integer :pendentes, null: false, default: 0 t.datetime :capturado_em, null: false t.timestamps end add_index :operacao_snapshots, :tabela, unique: true end end