On Tue, 9 Mar 2004, Joerg Heinicke wrote:

> until now I could successfully use xdoclet to generate the torque schema and
> torque to generate the sql script for the database. This worked upto 8 or 9
> elements, with the next one I got a foreign key constraint into the torque
> schema, what is not bad at all. But torque generates a sql script out of it,
> that mysql does not like:
> 
> ERROR 1005: Can't create table 'bla.frm' (errno: 150)
> 
> This seems to be an infamous problem as different postings in FAQs and mailing
> lists show, e.g. http://www.faqts.com/knowledge_base/view.phtml/aid/23462/fid/83.
> 
> For the moment I caould circumvent it by adding generateForeignKeys to the
> xdoclet task, but that does not really satisfy me.
> 
> So I have some questions:
> 1. Why is this now the first reference with the foreign key constraint added to
> the torque schema? I had already collections and references to an abstract
> class, never a foreign key constraint was added. Having those in general would
> be good I think for the case of changing the persistence layer.

Foreignkeys are only generated when both endpoints of the
reference/collection are fixed, i.e. no inheritance on either end with
differing tables.
 
> 2. Though I guess there is a more appropriate torque mailing list:
> Why does torque generate a non-working sql script though the profile is
> specified with mysql? Is there a mysql/innodb profile that changes that
> behaviour?  Of course I don't want to learn just another templating language for
> fixing this myself:
> http://www.mail-archive.com/[EMAIL PROTECTED]/msg01050.html.

Indeed, this is a question better asked on the torque-user mailing
list. It might have been solved in Torque 3.1 (we use 3.0.2) but this is
not yet directly supported by OJB (but might work).

> 3. Even less appropriate here:
> Why is mysql that dumb, and does not resolve the dependency on a foreign key
> index itself? Maybe somebody does know a switch to activate the intelligence in
> mysql :)

Don't know about that, but more 'intelligence' (guessing in this case) in
the database means more restriction on the usage.

Tom


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to