Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment gérer les synonymes Oracle avec Flyway 2.0.1 ?

La meilleure façon serait de qualifier le nom du schéma dans l'application.

Si ce n'est pas possible et que l'application utilise uniquement SQL (et non PL/SQL) pour accéder aux objets "Propriétaire", vous pouvez éviter les synonymes en modifiant le schéma par défaut dans un déclencheur après connexion :

create or replace trigger USERX.a_logon_USERX
after logon on USERX
BEGIN
  EXECUTE IMMEDIATE ('ALTER SESSION SET current_schema=standard');
END;

Cependant, il est assez difficile de comprendre que cette technique échoue lorsque l'application envoie des blocs PL/SQL ("begin ... end;") à la base de données. PL/SQL est compilé et ne peut donc pas prendre en compte le schéma actuel.