¨4.0.1¨

This commit is contained in:
¨NW¨
2023-12-03 14:07:47 +00:00
parent c08b36d1b6
commit f35052522d
1112 changed files with 43019 additions and 24987 deletions

View File

@@ -8,47 +8,51 @@ use Jackiedo\DotenvEditor\Facades\DotenvEditor;
class Database
{
public function setup($data)
public function setup($request): void
{
$this->checkDatabaseConnection($data);
$this->setEnvVariables($data);
$this->setupDatabaseConnection($request);
$this->setEnvVariables($request);
$this->migrateDatabase();
}
private function checkDatabaseConnection($data)
{
$this->setupDatabaseConnectionConfig($data);
private function setupDatabaseConnection($request): void
{
DB::purge('mysql');
$this->setupDatabaseConnectionConfig($request);
DB::connection('mysql')->reconnect();
DB::connection('mysql')->getPdo();
}
private function setupDatabaseConnectionConfig($data)
private function setupDatabaseConnectionConfig($request): void
{
config([
'database.default' => 'mysql',
'database.connections.mysql.host' => $data['host'],
'database.connections.mysql.port' => $data['port'],
'database.connections.mysql.database' => $data['database'],
'database.connections.mysql.username' => $data['username'],
'database.connections.mysql.password' => $data['password'],
'database.connections.mysql.host' => $request['db_host'],
'database.connections.mysql.port' => $request['db_port'],
'database.connections.mysql.database' => $request['db_database'],
'database.connections.mysql.username' => $request['db_username'],
'database.connections.mysql.password' => $request['db_password'],
]);
}
private function setEnvVariables($data)
private function setEnvVariables($request): void
{
$env = DotenvEditor::load();
$env->setKey('DB_HOST', $data['host']);
$env->setKey('DB_PORT', $data['port']);
$env->setKey('DB_DATABASE', $data['database']);
$env->setKey('DB_USERNAME', $data['username']);
$env->setKey('DB_PASSWORD', $data['password']);
$env->setKey('DB_HOST', $request['db_host']);
$env->setKey('DB_PORT', $request['db_port']);
$env->setKey('DB_DATABASE', $request['db_database']);
$env->setKey('DB_USERNAME', $request['db_username']);
$env->setKey('DB_PASSWORD', $request['db_password']);
$env->save();
}
private function migrateDatabase()
private function migrateDatabase(): void
{
Artisan::call('migrate', ['--force' => true]);
}