summaryrefslogtreecommitdiff
path: root/src/Database/DatabaseServiceProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Database/DatabaseServiceProvider.php')
-rw-r--r--src/Database/DatabaseServiceProvider.php38
1 files changed, 27 insertions, 11 deletions
diff --git a/src/Database/DatabaseServiceProvider.php b/src/Database/DatabaseServiceProvider.php
index 49fb4af5..306ffaca 100644
--- a/src/Database/DatabaseServiceProvider.php
+++ b/src/Database/DatabaseServiceProvider.php
@@ -4,23 +4,39 @@ namespace Engelsystem\Database;
use Engelsystem\Container\ServiceProvider;
use Exception;
-use PDO;
+use Illuminate\Database\Capsule\Manager as CapsuleManager;
+use Illuminate\Events\Dispatcher as EventsDispatcher;
class DatabaseServiceProvider extends ServiceProvider
{
public function register()
{
$config = $this->app->get('config');
- Db::connect(
- 'mysql:host=' . $config->get('database')['host']
- . ';dbname=' . $config->get('database')['db']
- . ';charset=utf8',
- $config->get('database')['user'],
- $config->get('database')['pw']
- ) || $this->exitOnError();
-
- Db::getPdo()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- Db::getPdo()->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
+ $capsule = $this->app->make(CapsuleManager::class);
+
+ $dbConfig = $config->get('database');
+ $capsule->addConnection(array_merge([
+ 'driver' => 'mysql',
+ 'host' => '',
+ 'database' => '',
+ 'username' => '',
+ 'password' => '',
+ 'charset' => 'utf8',
+ 'collation' => 'utf8_unicode_ci',
+ 'prefix' => '',
+ ], $dbConfig));
+
+ $capsule->setAsGlobal();
+ $capsule->bootEloquent();
+
+ try {
+ $capsule->getConnection()->getPdo();
+ } catch (\PDOException $e) {
+ $this->exitOnError();
+ }
+
+ $this->app->instance('db', $capsule);
+ Db::setDbManager($capsule);
}
/**