diff --git a/DataStorage/Database/Connection/ConnectionAbstract.php b/DataStorage/Database/Connection/ConnectionAbstract.php index 378b7d986..be7dc2f82 100644 --- a/DataStorage/Database/Connection/ConnectionAbstract.php +++ b/DataStorage/Database/Connection/ConnectionAbstract.php @@ -101,7 +101,7 @@ abstract class ConnectionAbstract implements ConnectionInterface /** * {@inheritdoc} */ - public function getType() : int + public function getType() : string { return $this->type; } diff --git a/DataStorage/Database/Connection/ConnectionFactory.php b/DataStorage/Database/Connection/ConnectionFactory.php index acdea26ce..e44cfc6b5 100644 --- a/DataStorage/Database/Connection/ConnectionFactory.php +++ b/DataStorage/Database/Connection/ConnectionFactory.php @@ -57,12 +57,11 @@ class ConnectionFactory */ public static function create(array $dbdata) : ConnectionInterface { - // todo: replace string with enum switch ($dbdata['db']) { - case 'mysql': + case DatabaseType::MYSQL: return new MysqlConnection($dbdata); break; - case 'mssql': + case DatabaseType::SQLSRV: return new SqlServerConnection($dbdata); break; default: diff --git a/DataStorage/Database/DatabaseType.php b/DataStorage/Database/DatabaseType.php index f59f81657..f7b3ff614 100644 --- a/DataStorage/Database/DatabaseType.php +++ b/DataStorage/Database/DatabaseType.php @@ -34,9 +34,9 @@ use phpOMS\Datatypes\Enum; */ abstract class DatabaseType extends Enum { - /* public */ const MYSQL = 0; /* MySQL */ - /* public */ const SQLITE = 1; /* SQLITE */ + /* public */ const MYSQL = 'mysql'; /* MySQL */ + /* public */ const SQLITE = 'sqlite'; /* SQLITE */ /* public */ const PGSQL = 2; /* PostgreSQL */ /* public */ const ORACLE = 3; /* Oracle */ - /* public */ const SQLSRV = 4; /* Microsoft SQL Server */ + /* public */ const SQLSRV = 'mssql'; /* Microsoft SQL Server */ }