2015-08-06 1 views
0

Je souhaite séparer mon modèle dans deux bases de données car une partie est également utilisée par d'autres bases de données. Je me demande comment traiter:Application avec plusieurs bases de données

  1. Joint entre les tables des deux bases de données.
  2. Si d'autres problèmes peuvent apparaître.

Y at-il d'autres solutions qui peuvent résoudre ce problème et c'est mieux? Je vais utiliser PostgreSQL avec deux bases de données et CakePHP.

+0

Voir wrappers données Postgres étrangères –

+0

FDW pour le même moteur de base de données? – Serginho

+0

Oui, il existe un FDW PostgreSQL pour PostgreSQL –

Répondre

0

En plus des modèles, avez-vous regardé Config/database.php?

Les modèles avec jointures et associations sont pris en charge.

Est-ce une application en lecture seule ou des tables de maintenance? Si vous êtes en lecture seule, vous pouvez courir assez vite en faisant des choses de base sans vous soucier des jointures et des associations.

Pour tirer parti des capacités de base de données multi Cake, assurez-vous de comprendre la variable $ model.php useDbConfig et comment il se rapporte à Config/database.php

Souvent, dans la classe de modèle dans le fichier où model.php modèle est le nom du modèle pour une table donnée,

public $useDbConfig = "PostgressOnAix"; 

aussi, ne s'applique probablement pas pour vous, mais dans cakePHP vous pouvez le faire;

$this->loadModel("TableStoredTwoPlaces"); 
$this->TableStoredTwoPlaces->useDbConfig = "PostgresOnAix"; 

ou même;

$modelName = "TableStoredTwoPlaces"; 
$this->loadModel($modelName); 
$this->$modelName->useDbConfig = "PostgresOnAix"; 

La valeur du paramètre de modèle de cartes useDbConfig à une définition variable et tableau dans Config/database.php dans la classe DATABASE_CONFIG