Henning P. Schmiedehausen wrote:
Thomas Schindl <[EMAIL PROTECTED]> writes:

Add a new "mysql-inno" or "mysql-4" database type to the
generator. Should be pretty simple, basically you copy the mysql
templates and change a few names and parameters.

Patches welcome. ;-)

        Regards
                Henning


Hallo,


The solution I am using is the following one (it works, apparently, but I am no torque guru):

I have modified the templates/sql/base/mysql/foreignkey.vm file from:

-----------
#foreach ($fk in $table.ForeignKeys)
FOREIGN KEY ($fk.LocalColumnNames) REFERENCES $fk.ForeignTableName ($fk.ForeignColumnNames),
#end
-----------


to:

-----------
#foreach ($fk in $table.ForeignKeys)
FOREIGN KEY ($fk.LocalColumnNames) REFERENCES $fk.ForeignTableName ($fk.ForeignColumnNames)
#if ($fk.hasOnUpdate())
ON UPDATE $fk.OnUpdate
#end
#if ($fk.hasOnDelete())
ON DELETE $fk.OnDelete
#end
,
#end
-----------


to allow for the generation of foreign keys costraints
This should be compatible with both innodb and myisam tables and with 4.0.x and 3.23.5x versions of mysql (the unsupported options are simply ignored by the db versions which don't support them).


Then to use Innodb tables, the line regarding the innodb table type must be uncommented (and myisam commented) in the file: templates/sql/base/mysql/db.props

Regards
Luigi






On Wed, 2003-08-06 at 16:04, Jeroen Peschier wrote:

Hi all,

My Torque project uses a MySQL 4.1 database. I have many onUpdate and onDelete restrictions in the project's schema.xml. When the SQL code gets generated it outputs the foreign keys fine in the SQL, but no ONUPDATE or ONDELETE constraints to be found... Is this a known issue?

There's also no table type in the CREATE TABLE statements. I think MySQL defaults to using MyISAM while I want InnoDB. How do I specify a table type? Come to think of it, why even specify a table type if foreign keys plus constraints are defined and the database is MySQL. InnoDB should be implied, no?


InnoDB => You have to "comment in" that in db.props-file of mysql.


Another minor thing I cannot specify in the schema is the character set and collation to be used on a table.

As is it now I have a post-create SQL-script that does a bunch of ALTER TABLE statement and sets the required character set and collation. I really don't want to add the referential constraints manually. It kinda defeats the purpose of having it generated :)

Open for suggestions...

Jeroen



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




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





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



Reply via email to