Well, I thought I was, but apparently I wasn't.  After deleting all my wonder 
framework projects (I'm using them from source), updating my Wonder source from 
git, and re-adding them back into my workspace and build path,  the constraint 
is now being created DEFERRED INITIALLY DEFERRED.  I also put a break point in 
the wonder source in function foreignKeyConstraintStatementsForRelationship, 
and it is getting hit for every addForeignKey call in my migration code.

In the meantime though, I re-designed my database to remove the problem problem 
foreign key that was setup with owns destination and propagate id, so not sure 
if this would have fixed my original problem or not.

As always, thanks much for you help.

Jeff

On Sep 30, 2011, at 3:04 PM, Chuck Hill wrote:

> 
> On 2011-09-30, at 12:18 PM, Jeff Schmitz wrote:
> 
>> Yes, it is also set to "Owns Destination".  It's "to-one" from Pool to 
>> Pricing, but I didn't create a return relationship in the Pricing EO, so I 
>> don't know if you would consider that one-to-one.  It is mandatory though.
>> 
>> Deferrable is set to No, Check Time is set to Initially Immediate.
> 
> That part is wrong.  DEFERRED INITIALLY DEFERRED is what you want.  Entity 
> Modeler or Migrations SHOULD be generating that for you.  You are using the 
> Wonder Frontbase plugin, right?
> 
> Chuck
> 
> 
>> 
>> Oh, and after dropping and restoring the DB on my dev machine, the error is 
>> now reproducible on it too.
>> 
>> On Sep 30, 2011, at 1:54 PM, Chuck Hill wrote:
>> 
>>> If it also Owns Destination (I think) and is to-one, then EOF will 
>>> automatically create it.  Otherwise you need to create it.
>>> 
>>> Is the Pricing relationship optional or mandatory?
>>> 
>>> Is that constraint marked as DEFERRED INITIALLY DEFERRED?
>>> 
>>> 
>>> Chuck
>>> 
>>> 
>>> On 2011-09-30, at 11:47 AM, Jeff Schmitz wrote:
>>> 
>>>> Yep, that's the clue I needed.  There's a defined relationship from Pool 
>>>> to another EO (Pricing) that I created with "Propagates primary key".  
>>>> Should such objects get created automatically in the "createxxx" function 
>>>> of the parent EO code generated by EOModeler?  Seems like they would have 
>>>> to be to keep the ID's in sync, but I'm not seeing it in the generated 
>>>> code.  
>>>> 
>>>> 
>>>> On Sep 30, 2011, at 12:12 PM, Chuck Hill wrote:
>>>> 
>>>>> Connect to that database using FrontBaseManager.  Go to Schema Objects, 
>>>>> select that table and click the Open Definition button.  Click Foreign 
>>>>> Key and see what is really set for that table.  It looks like perhaps you 
>>>>> have made a self-referencing FK constraint.
>>>>> 
>>>>> 
>>>>> 
>>>>> On 2011-09-29, at 9:44 PM, Jeff Schmitz wrote:
>>>>> 
>>>>>> Hello all,
>>>>>> For some reason I'm seeing the below constraint violation when I try to 
>>>>>> insert a new EO into my database (frontbase).  I checked the database, 
>>>>>> and in the t_pool table, no row exists that has the ID of the row being 
>>>>>> inserted (1000002), but every time I try to insert a new row I get the 
>>>>>> below exception.  Also, this build runs fine on my development machine, 
>>>>>> it's only on the deployment machine where I'm seeing this.  I've tried 
>>>>>> dropping the database, re-generating my migration code and installing 
>>>>>> the new build from scratch, but no luck.  
>>>>>> 
>>>>>> I am a little confused by where it says the violation is occurring:
>>>>>> 
>>>>>> Integrity constraint violation (FOREIGN KEY, 
>>>>>> t_pool.t_pool_id_id_FK(id=1000002)).
>>>>>> 
>>>>>> as I don't know why it would be considered a foreign key since it's the 
>>>>>> ID of the row being added, but then I'm no low level DB expert (one of 
>>>>>> the reasons I use webobjects :-))
>>>>>> 
>>>>>> 
>>>>>> Any ideas?
>>>>>> 
>>>>>> 
>>>>>> evaluateExpression: 
>>>>>> <com.webobjects.jdbcadaptor.FrontbasePlugIn$FrontbaseExpression: "INSERT 
>>>>>> INTO "t_pool"("c_spare_string", "c_name", "c_paid", "c_admin_email", 
>>>>>> "c_can_i_wins_calculated", "c_ud_bonus", "c_possibilities", 
>>>>>> "c_admin_pw", "c_weighted", "c_password", "c_stand_alone", 
>>>>>> "c_early_bird_paid", "c_entry_limit", "c_can_i_win_index", 
>>>>>> "c_seed_type", "c_admin_msg", "c_calculating_can_i_wins", "id", 
>>>>>> "c_pool_type", "c_updating_results", "applicationStateID", 
>>>>>> "c_results_index", "c_allow_one_entry_per_user") VALUES ('', 'ZEBRAS NEW 
>>>>>> 401K PLAN', 'false', '[email protected]', 'false', 'false', 1, 'pw', 'false', 
>>>>>> 'pw', 'false', 'false', 0, 0, 0, NULL, 'false', 1000002, 1, 'false', 
>>>>>> 1000001, 0, 'false')" withBindings: >
>>>>>> Sep 29 22:40:39 netBrackets[2002] (ERXDatabaseContextDelegate.java:177) 
>>>>>> INFO  er.transaction.adaptor.Exceptions  - Database Exception occured: 
>>>>>> com.webobjects.eoaccess.EOGeneralAdaptorException: EvaluateExpression 
>>>>>> failed: <com.webobjects.jdbcadaptor.FrontbasePlugIn$FrontbaseExpression: 
>>>>>> "INSERT INTO "t_pool"("c_spare_string", "c_name", "c_paid", 
>>>>>> "c_admin_email", "c_can_i_wins_calculated", "c_ud_bonus", 
>>>>>> "c_possibilities", "c_admin_pw", "c_weighted", "c_password", 
>>>>>> "c_stand_alone", "c_early_bird_paid", "c_entry_limit", 
>>>>>> "c_can_i_win_index", "c_seed_type", "c_admin_msg", 
>>>>>> "c_calculating_can_i_wins", "id", "c_pool_type", "c_updating_results", 
>>>>>> "applicationStateID", "c_results_index", "c_allow_one_entry_per_user") 
>>>>>> VALUES ('', 'ZEBRAS NEW 401K PLAN', 'false', '[email protected]', 'false', 
>>>>>> 'false', 1, 'pw', 'false', 'pw', 'false', 'false', 0, 0, 0, NULL, 
>>>>>> 'false', 1000002, 1, 'false', 1000001, 0, 'false')" withBindings: >:
>>>>>> Next exception:SQL State:23       subclass = 00 -- error code: 361 -- 
>>>>>> msg: Exception condition 361. Integrity constraint violation (FOREIGN 
>>>>>> KEY, t_pool.t_pool_id_id_FK(id=1000002)).
>>>>>> Next exception:SQL State:40       subclass = 00 -- error code: 363 -- 
>>>>>> msg: Exception condition 363. Transaction rollback.
>>>>>> Sep 29 22:40:39 netBrackets[2002] (ERXNSLogLog4jBridge.java:46) DEBUG 
>>>>>> NSLog  -  === Rollback Internal Transaction
>>>>>> com.webobjects.eoaccess.EOGeneralAdaptorException: EvaluateExpression 
>>>>>> failed: <com.webobjects.jdbcadaptor.FrontbasePlugIn$FrontbaseExpression: 
>>>>>> "INSERT INTO "t_pool"("c_spare_string", "c_name", "c_paid", 
>>>>>> "c_admin_email", "c_can_i_wins_calculated", "c_ud_bonus", 
>>>>>> "c_possibilities", "c_admin_pw", "c_weighted", "c_password", 
>>>>>> "c_stand_alone", "c_early_bird_paid", "c_entry_limit", 
>>>>>> "c_can_i_win_index", "c_seed_type", "c_admin_msg", 
>>>>>> "c_calculating_can_i_wins", "id", "c_pool_type", "c_updating_results", 
>>>>>> "applicationStateID", "c_results_index", "c_allow_one_entry_per_user") 
>>>>>> VALUES ('', 'ZEBRAS NEW 401K PLAN', 'false', '[email protected]', 'false', 
>>>>>> 'false', 1, 'pw', 'false', 'pw', 'false', 'false', 0, 0, 0, NULL, 
>>>>>> 'false', 1000002, 1, 'false', 1000001, 0, 'false')" withBindings: >:
>>>>>> Next exception:SQL State:23       subclass = 00 -- error code: 361 -- 
>>>>>> msg: Exception condition 361. Integrity constraint violation (FOREIGN 
>>>>>> KEY, t_pool.t_pool_id_id_FK(id=1000002)).
>>>>>> Next exception:SQL State:40       subclass = 00 -- error code: 363 -- 
>>>>>> msg: Exception condition 363. Transaction rollback.
>>>>>>    at 
>>>>>> com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContextInformationAdded(EODatabaseContext.java:4504)
>>>>>>    at 
>>>>>> com.webobjects.eoaccess.EODatabaseContext.performChanges(EODatabaseContext.java:6216)
>>>>>>    at 
>>>>>> com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:376)
>>>>>>    at 
>>>>>> com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192)
>>>>>>    at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:1094)
>>>>>>    at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:1016)
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>> Webobjects-dev mailing list      ([email protected])
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>>>>>> 
>>>>>> This email sent to [email protected]
>>>>> 
>>>>> -- 
>>>>> 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
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> -- 
>>> 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
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
> 
> -- 
> 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      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to