Ho configurato correttamente un secondo database con codeigniter e sono riuscito a creare una tabella. Il problema è ora che tutte le linee di codice precedentemente esistenti che utilizzavano $this->db
ora utilizzano il secondo database, quindi in modo naturale viene visualizzato un errore. Lasciatemi spiegare un po 'di più:CodeIgniter Utilizzo di più database senza modificare il codice esistente per il primo database
Io uso la libreria di migrazione di codeigniter e in una nuova migrazione, creo il database con dbforge come tale $this->dbforge->create_database('website_store')
. Fin qui tutto bene, quindi mi collego a questo database usando $DB2 = $this->load->database('store', TRUE);
e creo una tabella. Tutto va bene anche qui.
Poi le estremità di migrazione e CodeIgniter cerca di aggiornare la tabella di migrazione per spingere l'ultima versione, ma guarda nel store
database anziché il database predefinito, in modo che schiocca questo errore:
Table 'website_store.migrations' doesn't exist
UPDATE `migrations` SET `version` = 45
Speriamo che qualcuno sa sull'utilizzo di più database e della libreria di migrazione. A proposito, nel file database.php, è impostato per utilizzare il database predefinito: $active_group = "default";
, non il database del negozio, quindi dovrebbe funzionare. Sembra che la libreria di migrazione veda che c'è già un database caricato, si sente pigro e usa quello.
NOTA: Sembra che questi ragazzi avevano problemi simili che hanno risolto impostando 'pconnect' a 'false', ma sarebbe bello mantenere una connessione a entrambi database:
Convenient Way to Load Multiple Databases in Code Igniter
Error Using Multiple Database In CodeIgniter
Ok, sono andato con la soluzione "pconnect" a "false". Non è quello che volevo fare, ma funziona. – Marco