dbal(); $dbal->defaultConnection('default'); $connection = $dbal->connection('default'); $connection->profilingCollectBacktrace('%kernel.debug%'); $connection->useSavepoints(true); if ('sqlite' === $driver) { $connection->driver('pdo_sqlite'); $hasCustomPath = array_key_exists('DATABASE_SQLITE_PATH', $_ENV) || array_key_exists('DATABASE_SQLITE_PATH', $_SERVER); if ($hasCustomPath) { $connection->path('%env(resolve:DATABASE_SQLITE_PATH)%'); } else { $projectDir = dirname(__DIR__, 2); $databasePath = sprintf('%s/var/data/database.sqlite', $projectDir); $databaseDir = dirname($databasePath); $filesystem = new Filesystem(); if (!$filesystem->exists($databaseDir)) { $filesystem->mkdir($databaseDir, 0o775); } if (!$filesystem->exists($databasePath)) { $filesystem->touch($databasePath); } $connection->path('%kernel.project_dir%/var/data/database.sqlite'); } } else { $connection->url('%env(resolve:DATABASE_URL)%'); $connection->serverVersion('16'); $connection->charset('utf8'); } };