sql >> Databasteknik >  >> RDS >> Oracle

Kan Django förhindras från att trunkera långbordsnamn?

Trunkering orsakas av Oracle Django DB backend av quote_name metod, som följer SQL92-kraven och använder hårdkodat värde max_name_length .

Du kan åsidosätta detta beteende genom att skapa anpassad DB-backend eller med monkeypatch så här:

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

Det är inte riktigt klart varför du behöver mer än 30 tecken i tabellnamnet, eftersom det bryter mot Benämningsregler för Oracle Schema-objekt .




  1. Hämta den senaste anteckningen (efter tidsstämpel) i en enda fråga från en 1:n-tabell

  2. Hur man refererar till en sammansatt primärnyckel i SQL

  3. Hur använder man GROUP BY för att sammanfoga strängar i SQL Server?

  4. MySql:Jämför 2 strängar som är tal?