%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/www/admin1/vendor/froiden/laravel-installer/src/Helpers/ |
Upload File : |
<?php
namespace Froiden\LaravelInstaller\Helpers;
use Exception;
use Illuminate\Database\SQLiteConnection;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class DatabaseManager
{
/**
* Migrate and seed the database.
*
* @return array
*/
public function migrateAndSeed()
{
$this->sqlite();
return $this->migrate();
}
/**
* Run the migration and call the seeder.
*
* @return array
*/
private function migrate()
{
try {
Artisan::call('migrate', ["--force" => true, '--schema-path' => 'do not run schema path']);
} catch (Exception $e) {
return $this->response($e->getMessage());
}
return $this->seed();
}
/**
* Seed the database.
*
* @return array
*/
private function seed()
{
try {
Artisan::call('db:seed');
} catch (Exception $e) {
return $this->response($e->getMessage());
}
return $this->response(trans('installer_messages.final.finished'), 'success');
}
/**
* Return a formatted error messages.
*
* @param $message
* @param string $status
* @return array
*/
private function response($message, $status = 'danger')
{
return array(
'status' => $status,
'message' => $message
);
}
/**
* check database type. If SQLite, then create the database file.
*/
private function sqlite()
{
if (DB::connection() instanceof SQLiteConnection) {
$database = DB::connection()->getDatabaseName();
if (!file_exists($database)) {
touch($database);
DB::reconnect(Config::get('database.default'));
}
}
}
}