mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Install to Laravel WIP
This commit is contained in:
@@ -29,6 +29,7 @@ use Dotenv\Dotenv;
|
||||
use Illuminate\Database\Capsule\Manager as Capsule;
|
||||
use Illuminate\Database\Events\StatementPrepared;
|
||||
use Illuminate\Events\Dispatcher;
|
||||
use LibreNMS\Exceptions\DatabaseConnectException;
|
||||
use LibreNMS\Util\Laravel;
|
||||
|
||||
class Eloquent
|
||||
@@ -86,10 +87,10 @@ class Eloquent
|
||||
}
|
||||
}
|
||||
|
||||
public static function isConnected()
|
||||
public static function isConnected($name = null)
|
||||
{
|
||||
try {
|
||||
$conn = self::DB();
|
||||
$conn = self::DB($name);
|
||||
if ($conn) {
|
||||
return !is_null($conn->getPdo());
|
||||
}
|
||||
@@ -103,20 +104,21 @@ class Eloquent
|
||||
/**
|
||||
* Access the Database Manager for Fluent style queries. Like the Laravel DB facade.
|
||||
*
|
||||
* @param string $name
|
||||
* @return \Illuminate\Database\Connection
|
||||
*/
|
||||
public static function DB()
|
||||
public static function DB($name = null)
|
||||
{
|
||||
// check if Laravel is booted
|
||||
if (Laravel::isBooted()) {
|
||||
return \DB::connection();
|
||||
return \DB::connection($name);
|
||||
}
|
||||
|
||||
if (is_null(self::$capsule)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return self::$capsule->getDatabaseManager()->connection();
|
||||
return self::$capsule->getDatabaseManager()->connection($name);
|
||||
}
|
||||
|
||||
public static function getDriver()
|
||||
@@ -124,4 +126,26 @@ class Eloquent
|
||||
$connection = config('database.default');
|
||||
return config("database.connections.{$connection}.driver");
|
||||
}
|
||||
|
||||
public static function setConnection($name, $db_host = null, $db_user = '', $db_pass = '', $db_name = '', $db_port = null, $db_socket = null)
|
||||
{
|
||||
if (!is_null($db_host) || !empty($db_name)) {
|
||||
// legacy connection override
|
||||
\Config::set("database.connections.$name", [
|
||||
"driver" => "mysql",
|
||||
"host" => $db_host,
|
||||
"port" => $db_port,
|
||||
"database" => $db_name,
|
||||
"username" => $db_user,
|
||||
"password" => $db_pass,
|
||||
"unix_socket" => $db_socket,
|
||||
"charset" => "utf8",
|
||||
"collation" => "utf8_unicode_ci",
|
||||
"prefix" => "",
|
||||
"strict" => true,
|
||||
"engine" => null
|
||||
]);
|
||||
\Config::set('database.default', $name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user