Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como lidar com sinônimos Oracle com Flyway 2.0.1?


A melhor maneira seria qualificar o nome do esquema no aplicativo.

Se isso não for possível e o aplicativo usar apenas SQL (não PL/SQL) para acessar os objetos "Proprietário", você poderá evitar sinônimos alterando o esquema padrão em um gatilho pós-logon:
create or replace trigger USERX.a_logon_USERX
after logon on USERX
BEGIN
  EXECUTE IMMEDIATE ('ALTER SESSION SET current_schema=standard');
END;

No entanto, é um pouco difícil entender que essa técnica falha quando o aplicativo envia blocos PL/SQL ("begin ... end;") para o banco de dados. PL/SQL é compilado e, portanto, não pode considerar o esquema atual.