Take the 2-minute tour ×
Magento Stack Exchange is a question and answer site for users of the Magento e-Commerce platform. It's 100% free, no registration required.

is it possible to made one installation, and from this installation to make a multiple shops with different databases. Something like I will make one installation on domain.1 with database, and from admin crate new website and store on new database for domain.2. I know this can be made with one database with more multiple store but can it be the same but with different databases.

share|improve this question
    
Can you explain why you need 2 databases? Is it a master/slave configuration or just want to have 2 separate databases? –  Marius May 26 at 8:20
    
I just want to have 2 separate databases. I need two different stores with one installation but separate database. –  Mike May 26 at 8:22

3 Answers 3

up vote 2 down vote accepted

I don't think this is possible out of the box. Magento supports master/slave database configuration, but you have to have them for all the stores.
And I don't think this can be done easily with custom coding since the stores are kept in the database.

So depending on the store view you need to know which database to connect to, but in order to know the store view, you need to query a database. So you run around in circles.

share|improve this answer
    
Thanks for the answer. –  Mike May 26 at 8:57

You want to have several separate stores with their own databases using single codebase?

Well, there's no simple and recommended way to do that. That being said we can see what CAN be done:

Database information comes from a single xml file: app/etc/local.xml This file is being loaded from app/Mage.php so if you change that file you can theoretically decide which configuration file you're going to load (based on desired condition, such as domain name). Voila, different domain, different database. Now comes the Bad News Part(tm).

  1. You're overwriting core code and so called "god class" at that. This is considered a VERY BAD practice in Magento world! Every time you upgrade your changes will be overwritten.
  2. Content overlapping. Not all your content is stored in database, there's also media folder and there's session folder (var/session) you either need to find a workaround for (for example custom paths based on database) or store both images and sessions in the database (before you ask: yeah, this is possible).
  3. Cache. You most certainly don't want you different stores share cache folder (var/cache). Fortunately it's possible to use external caches, such as memcached instead of storing files to that folder. Still you must make sure that your cache ID-s won't overlap, because if they do, you're going to be in the world of hurt.
  4. You can't use compilation (the feature is deprecated anyway).
  5. Maybe something else I'm forgetting. Anyone?
share|improve this answer

You just need to create a new folder to contain the configuration files and in index.php you add an array of options to Mage::Run().

In that folder you'll have all the same content as app/etc/ including the modules folder.

First domain Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'app/domain1'));

Second domain Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'app/domain2'));

this will tell Magento where is the config files for the domain.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.