Cleanup config files if the db setup fails

This commit is contained in:
Nabeel Shahzad
2018-02-25 15:13:04 -06:00
parent 88e4c26b8f
commit d9abaa2f06
3 changed files with 31 additions and 1 deletions

View File

@@ -158,7 +158,9 @@ class InstallerController extends Controller
*/
public function envsetup(Request $request)
{
Log::info('ENV setup', $request->post());
$log_str = $request->post();
$log_str['password'] = '';
Log::info('ENV setup', $log_str);
// Before writing out the env file, test the DB credentials
try {
@@ -211,6 +213,7 @@ class InstallerController extends Controller
$console_out .= $this->dbService->setupDB();
$console_out .= $this->migrationSvc->runAllMigrations();
} catch(QueryException $e) {
$this->envService->removeConfigFiles();
flash()->error($e->getMessage());
return redirect(route('installer.step2'))->withInput();
}

View File

@@ -158,6 +158,31 @@ class ConfigService
return $opts;
}
/**
* Remove the config files
*/
public function removeConfigFiles()
{
$env_file = \App::environmentFilePath();
$config_file = \App::environmentPath().'/config.php';
if (file_exists($env_file)) {
try {
unlink($env_file);
} catch (\Exception $e) {
Log::error($e->getMessage());
}
}
if(file_exists($config_file)) {
try {
unlink($config_file);
} catch (\Exception $e) {
Log::error($e->getMessage());
}
}
}
/**
* Get the template file name and write it out
* @param $opts

View File

@@ -41,6 +41,8 @@ class DatabaseService {
/**
* Setup the database by running the migration commands
* Only run the setup for sqlite, otherwise, we're assuming
* that the MySQL database has already been created
*/
public function setupDB()
{