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