# Uma FOLHA do romaneio: um veículo, uma página A4 paisagem.
#
# Motorista e ordem de página são atributos da FOLHA, não da linha de entrega.
# Guardá-los em cada linha significaria um UPDATE de 30 linhas a cada tecla e uma
# ambiguidade que o PDF não sabe resolver ("qual dos 30 nomes eu imprimo?").
# É a mesma lição de 20260703000001 (vehicle desnormalizado em consolidacao_entregas)
# → 20260703000002 (create_consolidacao_veiculos), no dia seguinte.
#
# ⚠️ O nome do motorista NÃO é impresso: o rodapé traz a linha "MOTORISTA: ____"
# para preenchimento à mão (é assim que o documento é assinado hoje). O campo existe
# para o operador saber, NA TELA, de quem é cada carro enquanto revisa.
class CreateRomaneioVeiculos < ActiveRecord::Migration[7.1]
  def change
    create_table :romaneio_veiculos do |t|
      t.references :romaneio, null: false, foreign_key: true
      t.string  :veiculo,   null: false
      t.string  :motorista, null: false, default: ''
      t.integer :posicao,   null: false, default: 0   # ordem das páginas no PDF

      t.timestamps
    end

    add_index :romaneio_veiculos, %i[romaneio_id veiculo],
              unique: true, name: 'idx_romaneio_veiculo_unico'
  end
end
