# Liga o usuário ao perfil de acesso.
#
# NULO É VÁLIDO e não é descuido: motorista não usa perfil (o que ele acessa é a
# área própria, governada pelo tipo de conta), e um usuário sem perfil cai no
# padrão do papel legado (Permissao::PADRAO_POR_ROLE) — é o que mantém o sistema
# funcionando entre o deploy do código e a migration de dados.
class AddPerfilAcessoToUsers < ActiveRecord::Migration[7.1]
  def change
    # ⚠️ `to_table:` é OBRIGATÓRIO. Com `foreign_key: true` o Rails pluraliza o
    # nome da referência para achar a tabela alvo, e o Inflector não fala
    # português: `perfil_acesso` viraria "perfil_acessos". A tabela real é
    # `perfis_acesso` (plural no primeiro termo) — mesma pegadinha documentada em
    # 20260824000002_create_notificacao_eventos.rb.
    add_reference :users, :perfil_acesso, null: true,
                  foreign_key: { to_table: :perfis_acesso }
  end
end
