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

Peut-on empêcher Django de tronquer les noms de table longs ?

La troncation est causée au niveau du backend Oracle Django DB par quote_name qui respecte les exigences SQL92 et utilise la valeur codée en dur max_name_length .

Vous pouvez remplacer ce comportement en créant un backend de base de données personnalisé ou en utilisant monkeypatch comme ceci :

from django.db.backends.oracle.base import DatabaseOperations
DatabaseOperations.max_name_length = lambda s: <NEW_MAX_VALUE>

La raison pour laquelle vous avez besoin de plus de 30 caractères dans le nom de la table n'est pas vraiment claire, car cela viole Règles de dénomination des objets de schéma Oracle .