Hook after_commit on:create no Captain::Unit dispara ProvisionUnitInSupabaseJob, que upserta a unit em reserva_hotel.unidades via Supabase REST (UNIQUE on tenant_id+chatwoot_unit_id) e grava IDs no Captain::Unit (supabase_unit_id, supabase_tenant_id, supabase_marca_id). Sem isso, criar nova unidade no painel Pix não habilitava roleta — a row no Supabase ficava ausente e OfferService caía em "tenant não resolvido". Inclui rake captain:reprovision_unit_in_supabase[id] + provision_all pra reconciliação manual e migration retroativa. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
10 lines
380 B
Ruby
10 lines
380 B
Ruby
class AddSupabaseMappingToCaptainUnits < ActiveRecord::Migration[7.1]
|
|
def change
|
|
add_column :captain_units, :supabase_unit_id, :uuid
|
|
add_column :captain_units, :supabase_tenant_id, :bigint, default: 1
|
|
add_column :captain_units, :supabase_marca_id, :uuid
|
|
|
|
add_index :captain_units, :supabase_unit_id, unique: true, where: 'supabase_unit_id IS NOT NULL'
|
|
end
|
|
end
|