예제 #1
0
파일: app.php 프로젝트: GerDner/luck-docker
        } catch (\PDOException $e) {
            $data = ['query' => $sql, 'success' => false, 'offset' => $offset, 'errorMsg' => $e->getMessage()];
            $response->body(json_encode($data));
            return;
        }
    }
    $data = ['valid' => $dump->valid(), 'offset' => $dump->key(), 'totalCount' => $totalCount, 'success' => true];
    $response->body(json_encode($data));
    return;
})->via('GET', 'POST')->name('applySnippets');
$app->post('/check-database-connection', function () use($container, $app) {
    $request = $app->request();
    $response = $app->response();
    $connectionInfo = new DatabaseConnectionInformation(['username' => $request->post('c_database_user'), 'hostname' => $request->post('c_database_host'), 'port' => $request->post('c_database_port'), 'password' => $request->post('c_database_password'), 'socket' => $request->post('c_database_socket')]);
    try {
        $databaseFactory = new DatabaseFactory();
        $connection = $databaseFactory->createPDOConnection($connectionInfo);
    } catch (\Exception $e) {
        $response->header('Content-Type', 'application/json');
        $response->status(200);
        $response->body(json_encode([]));
        return;
    }
    // init db in container
    $container->offsetSet('db', $connection);
    /** @var $databaseService DatabaseService */
    $databaseService = $container->offsetGet('database.service');
    $databaseNames = $databaseService->getAvailableDatabaseNames();
    $result = [];
    foreach ($databaseNames as $databaseName) {
        $result[] = ['value' => $databaseName, 'display' => $databaseName];
예제 #2
0
 /**
  * @param DatabaseConnectionInformation $connectionInfo
  * @param Container $container
  * @return \PDO
  */
 protected function initDatabaseConnection(DatabaseConnectionInformation $connectionInfo, Container $container)
 {
     $databaseFactory = new DatabaseFactory();
     $conn = $databaseFactory->createPDOConnection($connectionInfo);
     $container->offsetSet('db', $conn);
     return $conn;
 }