Why does this make me shiver? I'd like to have my DB take care of structural integrity for me as
1) I will make coding mistakes, 2) It is rare, that ONLY WO touches a DB, 3) I will not rely on EOF always doing the thing I expect it to do. Not having FK constraints is about as wrong as using MyISAM in my opinion. cug -- http://www.event-s.net On 4. Dec. 2009, at 06:21 , Kieran Kelleher wrote: > Ramsey, > > Just remove the FK constraints in MySQL. WO works fine without them since EOF > takes care of it. If a database does not support deferred constraints, then > you should not add FK constraints at all. > > Cheers, Kieran > > On Dec 4, 2009, at 8:02 AM, Ramsey Lee Gurley wrote: > >> Hi Kieran, >> >> Have you tried vertical inheritance with MySQL? I have >> Animal->Cat->Leopard. I try to create a leopard and it fails because >> >> com.webobjects.eoaccess.EOGeneralAdaptorException: EvaluateExpression >> failed: <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "INSERT >> INTO Leopard(spots, id) VALUES (?, ?)" withBindings: 1:33(spots), 2:9(id)>: >> Next exception:SQL State:23000 -- error code: 1452 -- msg: Cannot add or >> update a child row: a foreign key constraint fails (`example/leopard`, >> CONSTRAINT `Leopard_id_id_FK` FOREIGN KEY (`id`) REFERENCES `cat` (`id`)) >> >> It gets the adaptor operations for Animal, then Leopard, then Cat... and >> blows up at leopard because there's no cat yet (I think). I had to google >> for "What are deferred constraints" so I could be very wrong, but I think >> it's blowing up because of lack of deferred constraints (^_^) It looks like >> I'll need to have an EODatabaseContext delegate override >> databaseContextWillOrderAdaptorOperations to fix it, unless there is >> something in the ERXSQLHelper that can get there first. >> >> This just happens to be a timely thread since I was messing with my >> MySQLPlugin last night (^_^) >> >> Ramsey >> >> On Dec 4, 2009, at 7:17 AM, Kieran Kelleher wrote: >> >>> Fair enough. Finally, we have one specific strike against it. ;-) >>> >>> Since we have Delete rules in the EOModel, is this feature a "safety net" >>> that is needed for external non-WO apps that are accessing the database? I >>> have never implemented constraints and have yet to have an orphan record >>> since transactions/rollback protect against that, right? >>> >>> -Kieran >>> >>> On Dec 4, 2009, at 12:39 AM, Chuck Hill wrote: >>> >>>> >>>> On Dec 3, 2009, at 5:44 PM, Lachlan Deck wrote: >>>> >>>>> On 04/12/2009, at 12:25 PM, Kieran Kelleher wrote: >>>>> >>>>>> I was just wondering why people were saying disaster, toy, etc .... >>>>>> wondering if I am missing something and going to lose all my data next >>>>>> week! >>>>>> >>>>>> Like I said, I have not used FrontBase or PostgreSQL in production and >>>>>> have never touched PostgreSQL, so if it is comparison you are after, I >>>>>> don't have one. However I will say that I started using MySQL at 4.0, >>>>>> then 4.1 and now 5.0. Being the stickler for learning as much as I think >>>>>> I need to do something right, I bought the original Jeremy Zawodny book >>>>>> "Advanced MySQL" and that gave me a clear understanding and confidence >>>>>> of how to set the thing up. I have never used the cluster engine >>>>>> (NDB).... yet. I have always used InnoDB. I used MyISAM once for a >>>>>> readonly database (about 5 tables only) that has geocode lookups on >>>>>> tables of about 100 million rows because at the time it appeared faster >>>>>> (with mysql 4.0 at the time) to do points in radius operations which >>>>>> sometimes selected up to 500,000 rows in a select. My main ongoing >>>>>> project is InnoDB and every user is a user that does edits, with a small >>>>>> percentage of users absolutely hammering the database with production >>>>>> processing during business hours each day. I replicate to 3 slaves on >>>>>> that project purely for backup. It runs 24/7 and almost never have any >>>>>> "Scheduled Maintenance" downtime garbage because of the fact that the >>>>>> replication slaves are where the backups happen. One slave is remote and >>>>>> 2 onsite with the master. The binary logs on the master are written to a >>>>>> separate phyaical drive >>>>>> >>>>>> Why do I like it? >>>>>> - It is free >>>>>> - It has never left me down - no data/table corruption >>>>>> - It is simple to set up and configure >>>>>> - replication is a breeze to set up >>>>>> - It has multiple engine types for different scenarios >>>>>> - and finally the reason that most people like what they use: "I am >>>>>> comfortable with it" ;-) >>>>>> >>>>>> >>>>>> What would I like that I think I might be missing? >>>>>> - transactional structure changes (ie., create table and roll back.) >>>>>> transactions in InnoDB only apply to table/record edits themselves. >>>>> >>>>> + Deferred constraints! >>>> >>>> >>>> That is a pretty big strike against MySQL in my books. >>>> >>>> >>>> Chuck >>>> >>>> -- >>>> Chuck Hill Senior Consultant / VP Development >>>> >>>> Practical WebObjects - for developers who want to increase their overall >>>> knowledge of WebObjects or who are trying to solve specific problems. >>>> http://www.global-village.net/products/practical_webobjects >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Do not post admin requests to the list. They will be ignored. >>>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>>> Help/Unsubscribe/Update your Subscription: >>>> http://lists.apple.com/mailman/options/webobjects-dev/kieran_lists%40mac.com >>>> >>>> This email sent to kieran_li...@mac.com >>> >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>> Help/Unsubscribe/Update your Subscription: >>> http://lists.apple.com/mailman/options/webobjects-dev/rgurley%40mac.com >>> >>> This email sent to rgur...@mac.com >> > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/webobjects-dev/guido.neitzer%40gmail.com > > This email sent to guido.neit...@gmail.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com