migrate to gtea from bistbucket
This commit is contained in:
104
public/restaurant/app/Http/Controllers/WEB/TestDbController.php
Normal file
104
public/restaurant/app/Http/Controllers/WEB/TestDbController.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\WEB;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use PDO;
|
||||
use PDOException;
|
||||
|
||||
class TestDbController extends Controller
|
||||
{
|
||||
protected $myDb;
|
||||
|
||||
public function testDB(Request $request)
|
||||
{
|
||||
$request->session()->put('env.DB_CONNECTION', $request->db_connection);
|
||||
$request->session()->put('env.DB_HOST', $request->db_host);
|
||||
$request->session()->put('env.DB_PORT', $request->db_port);
|
||||
$request->session()->put('env.DB_DATABASE', $request->db_database);
|
||||
$request->session()->put('env.DB_USERNAME', $request->db_username);
|
||||
$request->session()->put('env.DB_PASSWORD', $request->db_password);
|
||||
|
||||
if ($request->db_connection == 'mysql') {
|
||||
return $this->testMySql();
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'Error' => 'DB Type not Supported for testing',
|
||||
'State' => '999',
|
||||
]);
|
||||
}
|
||||
|
||||
public function testMySql()
|
||||
{
|
||||
$db_type = session('env.DB_CONNECTION');
|
||||
$db_host = session('env.DB_HOST');
|
||||
$db_name = session('env.DB_DATABASE');
|
||||
$db_user = session('env.DB_USERNAME');
|
||||
$db_pass = session('env.DB_PASSWORD');
|
||||
$db_port = session('env.DB_PORT');
|
||||
|
||||
if (! $db_name) {
|
||||
return response()->json([
|
||||
'Error' => 'No Database',
|
||||
'State' => '999',
|
||||
]);
|
||||
}
|
||||
|
||||
if (! $db_user) {
|
||||
return response()->json([
|
||||
'Error' => 'No Username',
|
||||
'State' => '999',
|
||||
]);
|
||||
}
|
||||
|
||||
if (! $db_port) {
|
||||
return response()->json([
|
||||
'Error' => 'No Port',
|
||||
'State' => '999',
|
||||
]);
|
||||
}
|
||||
|
||||
if (! $db_host) {
|
||||
return response()->json([
|
||||
'Error' => 'No Host',
|
||||
'State' => '999',
|
||||
]);
|
||||
}
|
||||
|
||||
try {
|
||||
$db = new PDO($db_type.':host='.$db_host.';port='.$db_port.';dbname='.$db_name, $db_user, $db_pass, [
|
||||
PDO::ATTR_TIMEOUT => '5',
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::MYSQL_ATTR_LOCAL_INFILE => true,
|
||||
]);
|
||||
} catch (PDOException $e) {
|
||||
if ($e->getCode() == '1049') {
|
||||
$db = new PDO($db_type.':host='.$db_host.';port='.$db_port.';dbname='.'', $db_user, $db_pass, [
|
||||
PDO::ATTR_TIMEOUT => '5',
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::MYSQL_ATTR_LOCAL_INFILE => true,
|
||||
]);
|
||||
$db->query("CREATE DATABASE IF NOT EXISTS $db_name");
|
||||
|
||||
return response()->json([
|
||||
'State' => '200',
|
||||
'Success' => 'Database '.$db_name.' created',
|
||||
]);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'Error' => $e->getMessage(),
|
||||
'State' => $e->getCode(),
|
||||
]);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'State' => '200',
|
||||
'Success' => 'Seems okay',
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user