I am rewriting the DAL completely. 50% done. It will be addressed

On May 27, 11:28 pm, Mariano Mara <mariano.m...@gmail.com> wrote:
> 2009/5/28 SergeyPo <ser...@zarealye.com>
>
>
>
> > My vote for it too, I've reported this problem before.
>
> > Sergey
>
> Sorry I missed it: seems I didn't search enough.
>
>
>
> > On May 28, 8:13 am, Mariano Mara <mariano.m...@gmail.com> wrote:
> > > G'night everyone.
>
> > > I'm defining a table like this:
>
> > > db.define_table("BillHourType", SQLField("hourtype", db.HourType),
> > >                                 SQLField("billtype", db.BillableType),
> > >                                 SQLField("startdate", type='date',
> > >                                          required=True, notnull=True,
> > >                                          requires=IS_DATE()),
> > >                                 SQLField("enddate", type='date'))
> > > and I'm hitting the following error:
>
> > > DatabaseError: ORA-00972: identifier is too long
>
> > > so I took a look in sql.log where I found this:
>
> > > CREATE TABLE BillHourType(
> > >         id NUMBER PRIMARY KEY,
> > >         hourtype NUMBER, CONSTRAINT BillHourType_hourtype__constraint
> > > FOREIGN KEY (hourtype) REFERENCES HourType(id) ON DELETE CASCADE,
> > >         billtype NUMBER, CONSTRAINT BillHourType_billtype__constraint
> > > FOREIGN KEY (billtype) REFERENCES BillableType(id) ON DELETE CASCADE,
> > >         startdate DATE NOT NULL,
> > >         enddate DATE
> > > );
>
> > > If I'm right objects names in oracle cannot be larger than 30 characters
> > and
> > > the constraint name (BillHourType_hourtype__constraint) is 33 characters
> > > long. Actually if I change the table name to something shorter, the error
> > > disappears, that's why I think that's exactly the problem.
> > > I think this should be a quite common error in web2py applications using
> > > Oracle. As a fix, I would suggest to drop the "constraint" part of the
> > name
> > > or abbreviate it (e.g. I always use "ck") and maybe use just one
> > underscore
> > > between the column and the last word.
> > > Of course, I offer myself to take a look and provide a patch if that's ok
> > > (although I'm worry to introduce a change that might affect all db
> > drivers).
> > > Just let me know if you're interest.
>
> > > Mariano.
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to