1
0
Fork 0
mirror of synced 2024-10-01 01:37:56 +13:00

Fixed usage of DSN database

This commit is contained in:
Eldad Fux 2022-10-19 16:55:58 +03:00
parent a1157fb49b
commit e5c62c6730
5 changed files with 7 additions and 14 deletions

View file

@ -55,7 +55,6 @@ function getConsoleDB(): Database
$database = new Database($dbAdapter, getCache()); $database = new Database($dbAdapter, getCache());
$database->setNamespace('console'); $database->setNamespace('console');
$database->setDefaultDatabase('appwrite');
return $database; return $database;
} }

View file

@ -131,7 +131,6 @@ App::post('/v1/projects')
$dbForProject = new Database($pools->get($database)->pop()->getResource(), $cache); $dbForProject = new Database($pools->get($database)->pop()->getResource(), $cache);
$dbForProject->setNamespace("_{$project->getInternalId()}"); $dbForProject->setNamespace("_{$project->getInternalId()}");
$dbForProject->setDefaultDatabase('appwrite');
$dbForProject->create(App::getEnv('_APP_DB_SCHEMA', 'appwrite')); $dbForProject->create(App::getEnv('_APP_DB_SCHEMA', 'appwrite'));

View file

@ -573,9 +573,10 @@ $register->set('pools', function () {
$dsnPort = $dsn->getPort(); $dsnPort = $dsn->getPort();
$dsnUser = $dsn->getUser(); $dsnUser = $dsn->getUser();
$dsnPass = $dsn->getPassword(); $dsnPass = $dsn->getPassword();
$dsnScheme = $dsn->getDatabase(); $dsnScheme = $dsn->getScheme();
$dsnDatabase = $dsn->getDatabase();
if (!in_array($dsn->getScheme(), $schemes)) { if (!in_array($dsnScheme, $schemes)) {
throw new Exception(Exception::GENERAL_SERVER_ERROR, "Invalid console database scheme"); throw new Exception(Exception::GENERAL_SERVER_ERROR, "Invalid console database scheme");
} }
@ -587,12 +588,12 @@ $register->set('pools', function () {
* Resource assignment to an adapter will happen below. * Resource assignment to an adapter will happen below.
*/ */
switch ($dsn->getScheme()) { switch ($dsnScheme) {
case 'mysql': case 'mysql':
case 'mariadb': case 'mariadb':
$resource = function () use ($dsnHost, $dsnPort, $dsnUser, $dsnPass, $dsnScheme) { $resource = function () use ($dsnHost, $dsnPort, $dsnUser, $dsnPass, $dsnDatabase) {
return new PDOProxy(function () use ($dsnHost, $dsnPort, $dsnUser, $dsnPass, $dsnScheme) { return new PDOProxy(function () use ($dsnHost, $dsnPort, $dsnUser, $dsnPass, $dsnDatabase) {
return new PDO("mysql:host={$dsnHost};port={$dsnPort};dbname={$dsnScheme};charset=utf8mb4", $dsnUser, $dsnPass, array( return new PDO("mysql:host={$dsnHost};port={$dsnPort};dbname={$dsnDatabase};charset=utf8mb4", $dsnUser, $dsnPass, array(
PDO::ATTR_TIMEOUT => 3, // Seconds PDO::ATTR_TIMEOUT => 3, // Seconds
PDO::ATTR_PERSISTENT => true, PDO::ATTR_PERSISTENT => true,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
@ -1034,7 +1035,6 @@ App::setResource('dbForProject', function (Group $pools, Database $dbForConsole,
$database = new Database($dbAdapter, $cache); $database = new Database($dbAdapter, $cache);
$database->setNamespace('_' . $project->getInternalId()); $database->setNamespace('_' . $project->getInternalId());
$database->setDefaultDatabase('appwrite');
return $database; return $database;
}, ['pools', 'dbForConsole', 'cache', 'project']); }, ['pools', 'dbForConsole', 'cache', 'project']);
@ -1049,7 +1049,6 @@ App::setResource('dbForConsole', function (Group $pools, Cache $cache) {
$database = new Database($dbAdapter, $cache); $database = new Database($dbAdapter, $cache);
$database->setNamespace('console'); $database->setNamespace('console');
$database->setDefaultDatabase('appwrite');
return $database; return $database;
}, ['pools', 'cache']); }, ['pools', 'cache']);

View file

@ -48,7 +48,6 @@ function getConsoleDB(): Database
$database = new Database($dbAdapter, getCache()); $database = new Database($dbAdapter, getCache());
$database->setNamespace('console'); $database->setNamespace('console');
$database->setDefaultDatabase('appwrite');
return $database; return $database;
} }
@ -71,7 +70,6 @@ function getProjectDB(Document $project): Database
$database = new Database($dbAdapter, getCache()); $database = new Database($dbAdapter, getCache());
$database->setNamespace('_' . $project->getInternalId()); $database->setNamespace('_' . $project->getInternalId());
$database->setDefaultDatabase('appwrite');
return $database; return $database;
} }

View file

@ -187,7 +187,6 @@ abstract class Worker
$database = new Database($dbAdapter, $this->getCache()); $database = new Database($dbAdapter, $this->getCache());
$database->setNamespace('_' . $project->getInternalId()); $database->setNamespace('_' . $project->getInternalId());
$database->setDefaultDatabase('appwrite');
return $database; return $database;
} }
@ -211,7 +210,6 @@ abstract class Worker
$database = new Database($dbAdapter, $this->getCache()); $database = new Database($dbAdapter, $this->getCache());
$database->setNamespace('console'); $database->setNamespace('console');
$database->setDefaultDatabase('appwrite');
return $database; return $database;
} }