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

O Django pode ser impedido de truncar nomes de tabelas longos?


Truncar é causado no back-end do Oracle Django DB por quote_name método, que segue os requisitos do SQL92 e usa o valor codificado max_name_length .

Você pode substituir esse comportamento criando back-end de banco de dados personalizado ou por monkeypatch como este:
from django.db.backends.oracle.base import DatabaseOperations
DatabaseOperations.max_name_length = lambda s: <NEW_MAX_VALUE>

Não está muito claro por que você precisa de mais de 30 caracteres no nome da tabela, pois viola Regras de nomenclatura de objetos de esquema Oracle .