Múltiplos pilares por entrega + tela de preços só com pilares de preço
Consolidação — multi-pilar: - Uma entrega pode ter vários pilares ao mesmo tempo (Normal + Bônus + Retirada…), somando os valores. Toggles viraram multi-seleção (liga/desliga por pilar; classificar agora faz toggle, em massa só adiciona). - migration: unicidade passa de [consolidacao_id, tracking_id] para [consolidacao_id, tracking_id, tipo]. - classificadas_count/resumo contam entregas distintas (≥1 pilar). Configurações: - /admin/configuracoes lista só os pilares de PREÇO (empresa/notificações não são preço e saíram da tela). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# Permite múltiplos pilares por entrega (ex.: Normal + Bônus + Retirada na mesma
|
||||
# entrega). Antes a unicidade era [consolidacao_id, tracking_id] (um tipo por
|
||||
# entrega); agora é [consolidacao_id, tracking_id, tipo] (um por pilar).
|
||||
class AllowMultipleTiposPerEntrega < ActiveRecord::Migration[7.1]
|
||||
def up
|
||||
if index_name_exists?(:consolidacao_entregas, 'idx_consolidacao_entrega_unique')
|
||||
remove_index :consolidacao_entregas, name: 'idx_consolidacao_entrega_unique'
|
||||
end
|
||||
unless index_name_exists?(:consolidacao_entregas, 'idx_consolidacao_entrega_tipo_unique')
|
||||
add_index :consolidacao_entregas, %i[consolidacao_id tracking_id tipo],
|
||||
unique: true, name: 'idx_consolidacao_entrega_tipo_unique'
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
if index_name_exists?(:consolidacao_entregas, 'idx_consolidacao_entrega_tipo_unique')
|
||||
remove_index :consolidacao_entregas, name: 'idx_consolidacao_entrega_tipo_unique'
|
||||
end
|
||||
unless index_name_exists?(:consolidacao_entregas, 'idx_consolidacao_entrega_unique')
|
||||
add_index :consolidacao_entregas, %i[consolidacao_id tracking_id],
|
||||
unique: true, name: 'idx_consolidacao_entrega_unique'
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user