Changes to auth.LogEntry in changeset  breaks Oracle backend.
|Reported by:||Jason Huggins||Owned by:||adrian|
|Component:||Database layer (models, ORM)||Version:|
|Severity:||major||Keywords:||oracle TextField CharField Long|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Changeset  added an additional "TextField" objects to the LogEntry model.
In the Oracle backend (#87), I mapped TextField types in Django to the "Long" datatype in the db, because the Model documentaton suggests TextFields should be used to store (potentially large) html content. If I used any other string datatype (like varchar2), the max length of the field would be 4000 characters/bytes. That isn't good. Yet, again, Oracle stinks compared to PostgreSQL, because Oracle only allows one "Long" field type per table.
If LogEntry's "object_id" needs to only hold small strings, and it is going to be less than 4000 characters, I'd suggest you change it to CharField.
After changeset #469, I get this error in django-admin.py init:
Error: The database couldn't be initialized. Here's the full exception:
ORA-01754: a table may contain only one column of type LONG
I've confirmed that changing LogEntry's object_id field to "CharField" fixes the problem for Oracle.