# 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