所以我正在开发一个可以管理数据库的小型Web应用程序。
现在我可以使用以下函数来检索所有数据库
print(getattr(earthquake1, answer, "Instance variable {} not found".format(answer)))
但我现在希望能够为每个数据库获取表格,并最终对这些数据库做更多的事情,但我想如果我的工作不会成为一个问题。
通常,您的配置中包含不同的数据库,但由于我希望我的应用程序可以使用"任何"数据库,并确保我不必手动添加所有数据库等,因为这是我希望我的网络应用程序为我完成的工作。
我尝试过一些没有成功的例子。
DB::select('SHOW DATABASES')
显然这没有用,但是有没有"正确的"解决这个问题?我认为动态编辑.env变量可能是一种选择,但我似乎无法找到一个合法的"这样做的方式。
答案 0 :(得分:0)
你不需要这个。
我认为动态编辑.env变量可能是一个 选项,但我似乎无法找到合法的"这样做的方式。
你需要的是这个
DB::purge('mysql');//IMP
Config::set('database.connections.mysql.host', $host);
Config::set('database.connections.mysql.database', $database);
Config::set('database.connections.mysql.username', $username);
Config::set('database.connections.mysql.password', $password);
您只需找出一种方法来动态获取$host
,$database
,$username
和$password
的值。
一种方法是使用一个存储所有这些值的数据库,并将默认数据库连接(例如mysql
中的config/database.php
)指向它。然后在运行中从中读取值并相应地设置连接。