• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: two different databases at same time?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: two different databases at same time?


  • Subject: Re: two different databases at same time?
  • From: "Cheong Hee (Gmail)" <email@hidden>
  • Date: Thu, 5 Aug 2010 10:17:48 +0800

When the question posted, I intended to find out if the different db works in the same ec. I have not thought more on the storing and fetching.

I am not sure if this is right but merely bring it out for better understanding. Please point out whichever does not seem right:

Said the Student table is in databaase A. The AdmitApplicant table is stored in database B.
A row admitApplicantID is created in Student table and a relationship should be defined, said admitApplicant. The modelling cross different database should be fine.


If I understand what David mentioned, the EOF fetch through relationship admitApplicant will fail. Therefore, I will assume that the fetch will have to be done by getting the admitApplicant key from Student, and then use the key to search the AdmitApplicant that is resided in database B. Good thing is both could be done in the same ec.

Cheers

Cheong Hee

----- Original Message ----- From: "David LeBer" <email@hidden>
To: "Joe Little" <email@hidden>
Cc: "Cheong Hee" <email@hidden>; "WO Dev Group" <email@hidden>
Sent: Thursday, August 05, 2010 2:36 AM
Subject: Re: two different databases at same time?




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.





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


  • Follow-Ups:
    • Re: two different databases at same time?
      • From: Joe Little <email@hidden>
References: 
 >Re: two different databases at same time? (From: Joe Little <email@hidden>)
 >Re: two different databases at same time? (From: David LeBer <email@hidden>)
 >Re: two different databases at same time? (From: Joe Little <email@hidden>)
 >Re: two different databases at same time? (From: David LeBer <email@hidden>)

  • Prev by Date: Re: Suggestions for best deployment?
  • Next by Date: Re: two different databases at same time?
  • Previous by thread: Re: two different databases at same time?
  • Next by thread: Re: two different databases at same time?
  • Index(es):
    • Date
    • Thread