• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
CI4 .env file connecting to multiple databases not working

#1
I have four databases I wish to connect to, like so:

Code:
database.default.hostname = 127.0.0.1
database.default.username = something1
database.default.password = somepass1
database.default.database = somedatabase1
database.default.DBDriver = MySQLi

database.second.hostname = 127.0.0.1
database.second.username = something1
database.second.password = somepass1
database.second.database = somedatabase2
database.second.DBDriver = MySQLi

(and so on to database.fourth...)

When I had just one (default) it worked, when I added the other three, it stopped. Any clues?
Reply

#2
You need to add the property `second` in app/Config/Database.php.

https://github.com/codeigniter4/CodeIgni...se.php#L33
Reply

#3
(02-02-2021, 12:48 AM)kenjis Wrote: You need to add the property `second` in app/Config/Database.php.

https://github.com/codeigniter4/CodeIgni...se.php#L33

Thank you, that worked perfectly.

That should be documented in the https://codeigniter.com/user_guide/datab...h-env-file page of the docs as it wasn't said that is what is needed.
Reply

#4
I've had a similar problem where I was able to define connection to the second database, but the convenience model methods (such as $theModel->findAll() ) not working on models based on the 2nd database.

Consider:


Code:
$modelBasedOnDb1 = model('model1'); // using $db1
$results1 = $modelBasedOnDb1->findAll(); // works fine

$modelBasedOnDb2 = new ModelBasedOnDb2();
$modelBasedOnDb2->db = $db2; // despite this
$results2 = $modelBasedOnDb2->findAll(); // produces some error like: no such table (whatevertable) on"DB 1"


(I used pseudo-names to describe the problem)

I ended up merging 3 databases in a single database because of this problem.
(Happened with CI 4.0.4 - I haven't tried again with CI 4.1.x)

At least half of modern web developers (Node.js / Angular / React, etc) have a PHP-based website....

Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme ¬© 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.