added _APP_DB_ADAPTER

This commit is contained in:
ArnabChatterjee20k
2025-05-21 17:36:50 +05:30
parent 58e04b4950
commit f5c54bb945
8 changed files with 78 additions and 76 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ _APP_REDIS_HOST=redis
_APP_REDIS_PORT=6379
_APP_REDIS_PASS=
_APP_REDIS_USER=
_APP_DB_SCHEME=mariadb
_APP_DB_ADAPTER=mariadb
_APP_DB_HOST=mariadb
_APP_DB_PORT=3306
_APP_DB_SCHEMA=appwrite
+3 -3
View File
@@ -203,12 +203,12 @@ jobs:
# Set DB Adapter Specific ENV Vars using if-elif
if [ "${{ matrix.db_adapter }}" = "MARIADB" ]; then
export _APP_DB_SCHEME=mariadb
export _APP_DB_ADAPTER=mariadb
export _APP_DB_HOST=mariadb
export _APP_DB_PORT=3306
export _APP_DB_SCHEMA=appwrite
elif [ "${{ matrix.db_adapter }}" = "POSTGRESQL" ]; then
export _APP_DB_SCHEME=postgresql
export _APP_DB_ADAPTER=postgresql
export _APP_DB_HOST=postgresql
export _APP_DB_PORT=5432
export _APP_DB_SCHEMA=appwrite
@@ -220,7 +220,7 @@ jobs:
docker compose exec -T \
-e _APP_DATABASE_SHARED_TABLES \
-e _APP_DATABASE_SHARED_TABLES_V1 \
-e _APP_DB_SCHEME \
-e _APP_DB_ADAPTER \
-e _APP_DB_HOST \
-e _APP_DB_PORT \
-e _APP_DB_SCHEMA \
+1 -1
View File
@@ -332,7 +332,7 @@ return [
'filter' => ''
],
[
'name' => '_APP_DB_SCHEME',
'name' => '_APP_DB_ADAPTER',
'description' => 'To switch between mariadb and postgresql',
'introduction' => '1.6.0',
'default' => 'mariadb',
+15 -5
View File
@@ -101,7 +101,7 @@ $register->set('pools', function () {
$group = new Group();
$fallbackForDB = 'db_main=' . AppwriteURL::unparse([
'scheme' => System::getEnv('_APP_DB_SCHEME', 'mariadb'),
'scheme' => System::getEnv('_APP_DB_ADAPTER', 'mariadb'),
'host' => System::getEnv('_APP_DB_HOST', 'mariadb'),
'port' => System::getEnv('_APP_DB_PORT', '3306'),
'user' => System::getEnv('_APP_DB_USER', ''),
@@ -300,10 +300,20 @@ $register->set('db', function () {
$dbUser = System::getEnv('_APP_DB_USER', '');
$dbPass = System::getEnv('_APP_DB_PASS', '');
$dbSchema = System::getEnv('_APP_DB_SCHEMA', '');
$dbScheme = System::getEnv('_APP_DB_SCHEME', 'mariadb');
$dsn = ($dbScheme === 'postgresql')
? "pgsql:host={$dbHost};port={$dbPort};dbname={$dbSchema}"
: "mysql:host={$dbHost};port={$dbPort};dbname={$dbSchema};charset=utf8mb4";
$dbAdapter = System::getEnv('_APP_DB_ADAPTER', 'mariadb');
$dsn = '';
switch ($dbAdapter) {
case 'postgresql':
$dsn = "pgsql:host={$dbHost};port={$dbPort};dbname={$dbSchema}";
break;
case 'mysql':
case 'mariadb':
default:
$dsn = "mysql:host={$dbHost};port={$dbPort};dbname={$dbSchema};charset=utf8mb4";
break;
}
return new PDO(
+19 -19
View File
@@ -106,7 +106,7 @@ $dbService = $this->getParam('database');
- _APP_DB_SCHEMA
- _APP_DB_USER
- _APP_DB_PASS
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_SMTP_HOST
- _APP_SMTP_PORT
- _APP_SMTP_SECURE
@@ -224,7 +224,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPTIONS_ABUSE
@@ -254,7 +254,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -281,7 +281,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -317,7 +317,7 @@ $dbService = $this->getParam('database');
- appwrite-builds:/storage/builds:rw
- appwrite-certificates:/storage/certificates:rw
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -374,7 +374,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -406,7 +406,7 @@ $dbService = $this->getParam('database');
- appwrite-builds:/storage/builds:rw
- appwrite-uploads:/storage/uploads:rw
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -473,7 +473,7 @@ $dbService = $this->getParam('database');
- appwrite-config:/storage/config:rw
- appwrite-certificates:/storage/certificates:rw
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -507,7 +507,7 @@ $dbService = $this->getParam('database');
- <?= $dbService . "\n" ?>
- openruntimes-executor
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -546,7 +546,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -584,7 +584,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -636,7 +636,7 @@ $dbService = $this->getParam('database');
depends_on:
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -670,7 +670,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_DOMAIN
@@ -709,7 +709,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -739,7 +739,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -768,7 +768,7 @@ $dbService = $this->getParam('database');
- redis
- <?= $dbService . "\n" ?>
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -797,7 +797,7 @@ $dbService = $this->getParam('database');
- <?= $dbService . "\n" ?>
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -823,7 +823,7 @@ $dbService = $this->getParam('database');
- <?= $dbService . "\n" ?>
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -849,7 +849,7 @@ $dbService = $this->getParam('database');
- <?= $dbService . "\n" ?>
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
+36 -36
View File
@@ -88,7 +88,7 @@ services:
- ./dev:/usr/src/code/dev
- ./.env:/usr/src/code/.env
depends_on:
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
- redis
# - clamav
entrypoint:
@@ -96,7 +96,7 @@ services:
- -e
- app/http.php
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_EDITION
- _APP_WORKER_PER_CORE
@@ -262,10 +262,10 @@ services:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPTIONS_ABUSE
@@ -296,9 +296,9 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -326,10 +326,10 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
- request-catcher
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -356,7 +356,7 @@ services:
- appwrite
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
volumes:
- appwrite-uploads:/storage/uploads:rw
- appwrite-cache:/storage/cache:rw
@@ -367,7 +367,7 @@ services:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -423,9 +423,9 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -459,9 +459,9 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -525,14 +525,14 @@ services:
- appwrite
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
volumes:
- appwrite-config:/storage/config:rw
- appwrite-certificates:/storage/certificates:rw
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -566,10 +566,10 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
- openruntimes-executor
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -613,7 +613,7 @@ services:
- maildev
# - smtp
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -648,7 +648,7 @@ services:
depends_on:
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -703,9 +703,9 @@ services:
- ./src:/usr/src/code/src
- ./tests:/usr/src/code/tests
depends_on:
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -741,7 +741,7 @@ services:
depends_on:
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_DOMAIN
@@ -782,9 +782,9 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -814,9 +814,9 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -846,9 +846,9 @@ services:
- ./src:/usr/src/code/src
depends_on:
- redis
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -877,10 +877,10 @@ services:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -906,10 +906,10 @@ services:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -934,10 +934,10 @@ services:
- ./app:/usr/src/code/app
- ./src:/usr/src/code/src
depends_on:
- ${_APP_DB_SCHEME:-mariadb}
- ${_APP_DB_ADAPTER:-mariadb}
- redis
environment:
- _APP_DB_SCHEME
- _APP_DB_ADAPTER
- _APP_ENV
- _APP_WORKER_PER_CORE
- _APP_OPENSSL_KEY_V1
@@ -1055,7 +1055,7 @@ services:
- MYSQL_DATABASE=${_APP_DB_SCHEMA}
- MYSQL_USER=${_APP_DB_USER}
- MYSQL_PASSWORD=${_APP_DB_PASS}
- ${_APP_DB_SCHEME:-mariadb}_AUTO_UPGRADE=1
- ${_APP_DB_ADAPTER:-mariadb}_AUTO_UPGRADE=1
command: "mysqld --innodb-flush-method=fsync"
postgresql:
+2 -10
View File
@@ -42,14 +42,6 @@ class Install extends Action
$defaultHTTPSPort = '443';
/** @var array<string, array<string, string>> $vars array whre key is variable name and value is variable */
$vars = [];
$vars['_APP_DB_SCHEME'] = [
'name' => '_APP_DB_SCHEME',
'default' => $database,
'required' => true,
'filter' => '',
'overwrite' => true,
'question' => 'Choose your database (mariadb|postgresql)',
];
foreach ($config as $category) {
foreach ($category['variables'] ?? [] as $var) {
@@ -181,7 +173,7 @@ class Install extends Action
continue;
}
if ($var['name'] === '_APP_DB_SCHEME' && $data !== false) {
if ($var['name'] === '_APP_DB_ADAPTER' && $data !== false) {
continue;
}
@@ -201,7 +193,7 @@ class Install extends Action
}
}
}
$database = $input['_APP_DB_SCHEME'];
$database = $input['_APP_DB_ADAPTER'];
if ($database === 'postgresql') {
$input['_APP_DB_HOST'] = 'postgresql';
$input['_APP_DB_PORT'] = 5432;
+1 -1
View File
@@ -41,7 +41,7 @@ class Upgrade extends Install
Console::log(' └── docker-compose.yml');
Console::exit(1);
}
$database = System::getEnv('_APP_DB_SCHEME', 'mariadb');
$database = System::getEnv('_APP_DB_ADAPTER', 'mariadb');
parent::action($httpPort, $httpsPort, $organization, $image, $interactive, $noStart, $database);
}
}