Change de base de donnee

Par pikadjou, il y a 14 ans


Bonjour a tous,

Voila j aimerai sur un systeme cakephp pouvoir me connecter a la base de donnee "home" et a la base de donnee "forum"

J ai vu dans le database.php que on peut utilise plusieur bdd differente, mais comment changer?

Y a t il moyen de mettre des conditionsdans le database? genre si une tel variable est X alors le base de default sera X, Y alors le base de default sera Y,

Je sais pas si je me suis bien fait comprendre :s

8 réponses

XciD, il y a 14 ans

public $useDbConfig = 'default'; dans un model . tu change default par un string que tu definie dans databaseconfig

pikadjou, il y a 14 ans

Okok merci bcp, est il possible de faire: public $useDbConfig = array('default', 'forum');
pour etre sur les 2 bases de donnee en meme temps et alors comment gere les 2? suffit il d apelle les tables (comme elles ont des noms differents?)

J aimerai aussi pouvoir le definir dynamiquement en passant un paramettre.

exemple: si l utilisateur se connecter sur www.forum.exemple.com -> db = forum
si l utilisateur se connecter sur www.homr.exemple.com-> db = home

XciD, il y a 14 ans

je comprends pas pourquoi tu les separes.
pour ce que tu veux, dans le controlleur tu dois pouvoir redefinir une bdd

pikadjou, il y a 14 ans

Comment je peux justement redefinir la bdd? avec public $useDbConfig ?

En fait c est un peu plus compliquer que ca mais j'aimerai faire des mondes differents (pour une sorte de jeu) mais alors suivant l'url je dois me connecter a la base de donnee du jeu 1, 2, 3, ou 4.

XciD, il y a 14 ans

je vois, je te conseille de faire plusieurs dossier app avec plusieurs nom de domaine, enfin je pense.
Qu'es que les autres en pense ?

pikadjou, il y a 14 ans

Que veux tu dire par plusieurs dossier app? et comment je peux faire cale?

XciD, il y a 14 ans

En gros, tu fais une copie de tOn dossier app, puis dans ton serveur apache tu fais une redirection pour chaque dossier, ainsi chaque dossier à sa configuration personnalisé et son URL

pikadjou, il y a 14 ans

okok donc il est plus facile de faire par exemple 5 dossier avec pour chaque dossier ca config?

Moi j ai aussi regarder de mon cote et j avais pu lire que il y aurait moyen grace a un controller, envoier une variable a l'AppModel. Alors je me suis dis dans un controller je fais un explode url et je recuper le nom de la bdd, que j envoie dans mon appmodel: public $useDbConfig = $mavariable; se serais un peu se casser la tete pour rien?

En tout cas un enorme merci pour le temps que tu prends pour m aider.