iachat/db/migrate/20260501030000_add_supabase_mapping_to_captain_units.rb
Rodribm10 c5cd15665e feat(captain): provisionamento automático de Captain::Unit em reserva_hotel.unidades
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>
2026-05-01 00:21:20 -03:00

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