28 lines
1.2 KiB
Ruby
28 lines
1.2 KiB
Ruby
# 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
|