Viewing file: DatabaseManager.php (2.28 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Webkul\Installer\Helpers;
use Exception; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; use Webkul\Installer\Database\Seeders\DatabaseSeeder as KrayinDatabaseSeeder;
class DatabaseManager { /** * Check Database Connection. */ public function isInstalled() { if (! file_exists(base_path('.env'))) { return false; }
try { DB::connection()->getPDO();
$isConnected = (bool) DB::connection()->getDatabaseName();
if (! $isConnected) { return false; }
$hasUserTable = Schema::hasTable('users');
if (! $hasUserTable) { return false; }
$userCount = DB::table('users')->count();
if (! $userCount) { return false; }
return true; } catch (Exception $e) { return false; } }
/** * Drop all the tables and migrate in the database * * @return void|string */ public function migration() { try { Artisan::call('migrate:fresh');
return response()->json([ 'success' => true, 'message' => 'Tables is migrated successfully.', ]); } catch (Exception $e) { return response()->json([ 'error' => $e->getMessage(), ], 500); } }
/** * Seed the database. * * @return void|string */ public function seeder($data) { try { app(KrayinDatabaseSeeder::class)->run([ 'default_locale' => $data['parameter']['default_locales'], 'default_currency' => $data['parameter']['default_currency'], ]);
$this->storageLink(); } catch (Exception $e) { return $e->getMessage(); } }
/** * Storage Link. */ private function storageLink() { Artisan::call('storage:link'); }
/** * Generate New Application Key */ public function generateKey() { try { Artisan::call('key:generate'); } catch (Exception $e) { } } }
|