[geeklog-devel] Draft of schema for GL2

dwight at trumbower.com dwight at trumbower.com
Thu Dec 16 14:49:55 EST 2004


We are fine as long as you don't use foreign key specific functions. LIke
Cascade deletes and updates. Which it sounds like Propel will handle this.
myisam will just ignore the ddl for foreign keys.

Dwight

>From MySql:
In MySQL Server 3.23.44 and up, the InnoDB storage engine supports
checking of foreign key constraints, including CASCADE, ON DELETE, and ON
UPDATE. See section 15.7.4 FOREIGN KEY Constraints.

For storage engines other than InnoDB, MySQL Server parses the FOREIGN KEY
syntax in CREATE TABLE statements, but does not use or store it. In the
future, the implementation will be extended to store this information in
the table specification file so that it may be retrieved by mysqldump and
ODBC. At a later stage, foreign key constraints will be implemented for
MyISAM tables as well.




> I think we are fine.  Why?  Well, if we develop this using foreign keys
> I think we cover our arses in the case someone doesn't use INNODB.
> That's because I'm pretty sure that if a MySQL Server that doesn't have
> INNODB support compiled in and somenoe imports DDL for a database that
> tries to use INNODB, it will simply convert them to MyISAM and ignore
> any FOREIGN KEY constraints (as opposed to creating an error and dying).
>
> As I said, the Propel classes enforce foreign key constraints natively
> (assuming the schema.xml is right) so in the MyISAM case we are still
> covered.  Only exception to this is obviously GL2 programmers can issue
> raw SQL so there is the possiblity of orphaned children.  But again, if
> all developers use INNODB the database during coding, we would catch any
> potential errors regardless.
>
> So, in short, I don't think MyISAM users will be effected.  Of course
> someone will need to test this...
>
> If I am right (which I'm pretty sure I am), we will want to put a stern
> warning about the possible effects of not using INNODB.  Also, this make
> the table-locking issue more complicated since we have to cover the
> MyISAM side of things as well.  Or does it?  Table locking should only
> occur on high traffic sites and, IMHO, you get what you get for using
> MyISAM on a wildly popular website.
>
> --Tony
>
> dwight at trumbower.com wrote:
>
>> Moving to INNODB is moving closer to a real DBMS and requires more
>>
>>administration. For one, you can't do backups unless you take the
>> database
>>off line or spend $500 for a product. I don't see ISP switching. Most
>>can't handle standard mysql properly.
>>
>>I found this out when Dirk started making GL 1.3.x default to innodb. He
>>changed it back to myisam with an option to make it innodb.
>>
>>
>>I don't have a problem with forcing INNODB, just bringing up issues as I
>>see them. The target user for GL2 will be much smaller than it is today.
>>
>>Dwight
>>_______________________________________________
>>geeklog-devel mailing list
>>geeklog-devel at lists.geeklog.net
>>http://lists.geeklog.net/listinfo/geeklog-devel
>>
>>
>
> _______________________________________________
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
> http://lists.geeklog.net/listinfo/geeklog-devel
>




More information about the geeklog-devel mailing list