Share » Forums » Developer » Separate database for custom objects?

Separate database for custom objects?

Separate database for custom objects?

Monday 01 October 2007 9:07:24 am - 3 replies

Author Message

Lazaro Ferreira

Monday 01 October 2007 11:07:46 am

Hi,

I haven't tried this, I have never seen why to put custom tables in a separate database, as keeping on the same database has no problem regarding ezpersistentobject

Nevertheless, I guess this

eZPersistentObject gets Ezpublish current database instance calling ezDB class like

  $db =& eZDB::instance();  

eZDB has a method to set Ezpublish current database instance , so calling it should do the trick

 

//get ezpublish current instance
$ezdb =&  eZDB::instance();  

//create your database instance 
$mydb =&  eZDB::instance( ..., $yourdatabaseparameters, $forceNewInstance=true);  

//set it as default 
eZDB::setInstance( $mydb );  

//from here any call to ezpersistent will use your database instance  
....

/don't forget to restore ezpublish database instance
eZDB::setInstance( $ezdb );  

Basically , it keeps switching between ezpublish database, and your custom database

Lazaro
http://www.mzbusiness.com

Kristof Coomans

Monday 01 October 2007 11:35:36 pm

Hi guys

I once had to connect to a custom MS SQL database (read-only access) to show some data of it on our eZ Publish site. To be able to use eZPersistentObject for this a hack was required. You can find a patch at http://issues.ez.no/10667. Be careful, this is only tested for reading external data, but normally it should also work for modifying the external database. Let me know if you have problems using it. Good luck!

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

Torbjørn Myhre

Tuesday 02 October 2007 8:43:21 am

Thanks very much, Kristof!

I tested your patch for fetching some data and it worked like a charm. At some point, we'll need to write data back to the database, I'll keep you posted on the progress :)

You must be logged in to post messages in this topic!

36 542 Users on board!

Forums menu