Welcome Guest, Not a member yet? Register   Sign In
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

(This post was last modified: 02-02-2021, 09:00 AM by gosocial2. Edit Reason: to format code snippet )

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)

CodeIgniter Wizard (CRUD code generator for Mac) instantly scaffolds Bootstrap-based web applications with an administrative interface (admin templates include Bootstrap5)

Reply




Theme © iAndrew 2016 - Forum software by © MyBB