CodeIgniter & DBForge - Créer une Base de données et des Tables

Je suis en train d'écrire un script dans CodeIgniter qui permettra de créer une base de données et ensuite ajouter des tables pour que la base de données nouvellement créée, ainsi que divers champs de la nouvelle table.

Jusqu'à présent, j'ai dbforge pour créer la nouvelle base de données, mais depuis que je suis en utilisant la base de données de la bibliothèque et de pré-définir la base de données de valeurs de connexion, quand il s'agit de créer une table, il la met dans la pré-sélectionnée de la base de données et non pas celui qu'il vient de créer.

Dans le database.php fichier de config j'ai le texte suivant:

$db['default']['database'] = 'db1';

Si j'utilise la commande suivante pour créer une nouvelle base de données:

$this->dbforge->create_database('db2');

'db2' aurez créé, mais ensuite la commande suivante met la table dans 'db1'.

$this->dbforge->create_table('table1');

J'ai besoin de "table1" créé en 'db2'. Comment puis-je obtenir CI pour sélectionner la base de données nouvellement créée ('db2') afin de créer la table dans la bonne place, et puis revenir à 'db1'?

J'ai regardé la question suivante qui est similaire à ce que je fais mais je ne veux pas avoir à mettre de toute autre connexion des entrées dans la database.php

Codeigniter montre l'erreur: Pas de base de données sélectionné

Toute aide appréciée!

MODIFIER - je dois ajouter que le create_database pouviez avoir n'importe quel nom pour le nom de base de données... C'est un script pour créer automatiquement une base de données et les tables où l'DB nom est tiré à partir d'un formulaire.

comment mettre $this->dbforge->create_database('db2');. Je n'ai pas d'idée pour ce faire. puis-je savoir? J'ai mis cela dans controllers/migrate.php en fonction de l'index, mais je reçois toujours un message d'erreur. merci.

OriginalL'auteur pmgrace | 2013-05-11