Re: two different databases at same time?
Re: two different databases at same time?
- Subject: Re: two different databases at same time?
- From: David LeBer <email@hidden>
- Date: Wed, 4 Aug 2010 14:46:19 -0400
On 2010-08-04, at 2:36 PM, David LeBer wrote:
>
> On 2010-08-04, at 2:26 PM, Joe Little wrote:
>
>> On Wed, Aug 4, 2010 at 11:20 AM, David LeBer
>> <email@hidden> wrote:
>>>
>>> On 2010-08-04, at 2:12 PM, Joe Little wrote:
>>>
>>>> Digging up an old thread. This is the first time I'm creating a
>>>> multi-database relation. When my migrations kick off to generate my
>>>> newer database that has a single relation to the old, it fails in
>>>> spectacular ways.
>>>>
>>>> Specifically, it has this error:
>>>>
>>>> Caused by: java.lang.RuntimeException: Failed to execute 'ALTER TABLE
>>>> STUDENT ADD CONSTRAINT STUDENT_admitApplicantID_ID_FK FOREIGN KEY
>>>> (admitApplicantID) REFERENCES ADMIT_APPLICANT (ID) DEFERRABLE
>>>> INITIALLY DEFERRED'.
>>>> PSQLException: ERROR: relation "admit_applicant" does not exist
>>>>
>>>> student has a relation to admit_applicant, where student is
>>>> db2.student and admit_applicant is db1.admit_applicant
>>>>
>>>> This is keyed off this migration line:
>>>>
>>>> studentTable.addForeignKey("admitApplicantID", "ADMIT_APPLICANT", "ID");
>>>
>>> Don't do that.
>>>
>>> EOF is fine with cross database relationships but your DB probably isn't. So it won't like you trying to create a foreign key constraint to a different database, so don't.
>>
>> So, what is the alternative? Would a join table work -- I think that
>> still has foreign key constraints. Or is it simply stating a differ
>> type of join (not inner)? I haven't done this before so my lack of
>> clue is telling.
>
> Sorry, I wasn't clear. Model the relationship in the EOModel, create a vanilla row in the db that will act as a foreign key for the relationship, but don't tell the db that it is a foreign key. Let EOF manage the relationship for you.
Sigh, sorry more confusing. Create a vanilla COLUMN in the db...
>
>>
>>>
>>>>
>>>> Am I just missing some clue that others already have?
>>>>
>>>> On Thu, Apr 1, 2010 at 8:17 PM, Cheong Hee <email@hidden> wrote:
>>>>> Apparently I have complicated it by thinking of using multi ec to handle
>>>>> respective database connections. Thanks for clarification..
>>>>>
>>>>> Cheers
>>>>>
>>>>> Cheong Hee
>>>>>
>>>>> ----- Original Message ----- From: "David LeBer"
>>>>> <email@hidden>
>>>>> To: "Cheong Hee" <email@hidden>
>>>>> Cc: "WO Dev Group" <email@hidden>
>>>>> Sent: Thursday, April 01, 2010 8:23 PM
>>>>> Subject: Re: two different databases at same time?
>>>>>
>>>>>
>>>>>
>>>>> On 2010-04-01, at 12:07 AM, Cheong Hee wrote:
>>>>>
>>>>>> Is there any pointers or sample code how these could be done to initiate
>>>>>> connection and save changes in respective ec?
>>>>>
>>>>> You don't need multiple ec's unless you want them. Other than that it's
>>>>> transparent.
>>>>>
>>>>> EOEditingContext ec = ERXEC.newEditingContext();
>>>>> Person p = (Person)EOUtitlites.createAndInsertInstance(ec,
>>>>> Person.ENTITY_NAME); // Person entity persists in database A
>>>>> Horse h = (Horse)EOUtitlites.createAndInsertInstance(ec, Horse.ENTITY_NAME);
>>>>> // Horse entity persists in database B
>>>>> // make chagnes to h and p
>>>>> ec.saveChanges(); // p saved to database A, h saved to database B
>>>>>
>>>>> You can model cross database relationships as long as you don't try and
>>>>> create a fetch based on them.
>>>>>
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Cheong Hee
>>>>>>
>>>>>> ----- Original Message ----- From: "Mark Ritchie" <email@hidden>
>>>>>> To: "James Cicenia" <email@hidden>
>>>>>> Cc: "WO Dev Group" <email@hidden>
>>>>>> Sent: Thursday, April 01, 2010 1:05 AM
>>>>>> Subject: Re: two different databases at same time?
>>>>>>
>>>>>>
>>>>>>> On 31/Mar/2010, at 8:15 AM, James Cicenia wrote:
>>>>>>>>
>>>>>>>> Is it possible to use two different databases, I guess via two different
>>>>>>>> models?
>>>>>>>> I will need to connect to an Oracle big database on a remote server and
>>>>>>>> was
>>>>>>>> wondering if I could also use a mySQL or postgres database for user
>>>>>>>> control
>>>>>>>> on local server.
>>>>>>>
>>>>>>> Yes, yes! You can have multiple concurrent connections! One for each
>>>>>>> EOModel!
>>>>>>> Just make sure that the entity names are unique across all EOModels!
>>>>>>> Good luck!
>>>>>>> M.
>>>>>>> _______________________________________________
>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>
>>>>>>> This email sent to email@hidden
>>>>>>
>>>>>> _______________________________________________
>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>
>>>>>>
>>>>>> This email sent to email@hidden
>>>>>
>>>>> ;david
>>>>>
>>>>> --
>>>>> David LeBer
>>>>> Codeferous Software
>>>>> 'co-def-er-ous' adj. Literally 'code-bearing'
>>>>> site: http://codeferous.com
>>>>> blog: http://davidleber.net
>>>>> profile: http://www.linkedin.com/in/davidleber
>>>>> twitter: http://twitter.com/rebeld
>>>>> --
>>>>> Toronto Area Cocoa / WebObjects developers group:
>>>>> http://tacow.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>
>>>>> This email sent to email@hidden
>>>>>
>>>
>>> ;david
>>>
>>> --
>>> David LeBer
>>> Codeferous Software
>>> 'co-def-er-ous' adj. Literally 'code-bearing'
>>> site: http://codeferous.com
>>> blog: http://davidleber.net
>>> profile: http://www.linkedin.com/in/davidleber
>>> twitter: http://twitter.com/rebeld
>>> --
>>> Toronto Area Cocoa / WebObjects developers group:
>>> http://tacow.org
>>>
>>>
>>>
>>>
>>>
>
> ;david
>
> --
> David LeBer
> Codeferous Software
> 'co-def-er-ous' adj. Literally 'code-bearing'
> site: http://codeferous.com
> blog: http://davidleber.net
> profile: http://www.linkedin.com/in/davidleber
> twitter: http://twitter.com/rebeld
> --
> Toronto Area Cocoa / WebObjects developers group:
> http://tacow.org
>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
;david
--
David LeBer
Codeferous Software
'co-def-er-ous' adj. Literally 'code-bearing'
site: http://codeferous.com
blog: http://davidleber.net
profile: http://www.linkedin.com/in/davidleber
twitter: http://twitter.com/rebeld
--
Toronto Area Cocoa / WebObjects developers group:
http://tacow.org
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden