class CreateAuditoriaLogs < ActiveRecord::Migration[7.1]
  def change
    create_table :auditoria_logs do |t|
      t.integer  :user_id,         null: false
      t.string   :acao,            null: false   # criar, editar, finalizar, arquivar, etc.
      t.string   :entidade,        null: false   # Consolidacao, ConsolidacaoEntrega, etc.
      t.integer  :entidade_id
      t.jsonb    :dados_anteriores, default: {}
      t.jsonb    :dados_novos,      default: {}
      t.string   :ip_address
      t.string   :user_agent

      t.timestamps
    end

    add_index :auditoria_logs, :user_id
    add_index :auditoria_logs, :acao
    add_index :auditoria_logs, :entidade
    add_index :auditoria_logs, [:entidade, :entidade_id]
    add_index :auditoria_logs, :created_at
  end
end
