setup complete

This commit is contained in:
2024-09-06 23:30:12 +03:00
parent a73ee21568
commit 6fc0a65b6f
22 changed files with 351 additions and 330 deletions
+53
View File
@@ -0,0 +1,53 @@
<?php
namespace Lucent\Setup\Step;
use Illuminate\Database\QueryException;
use Illuminate\Support\Facades\DB;
use Lucent\Setup\Data\SetupStep;
class DatabaseSetupStep implements IStep
{
public function __invoke(): SetupStep
{
$name = "Database Connection";
$databaseConfig = config('database.connections.lucentdb');
if(empty($databaseConfig)) {
$instructions = <<<EOD
# You need to setup a database connection for lucentdb in database.php config. You can choose either sqlite or pgsql
# example:
'connections' => [
'lucentdb' => [
'driver' => 'sqlite',
'url' => env('LUCENT_DATABASE_URL'),
'database' => env('LUCENT_DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
EOD;
return SetupStep::makeFail($name, $instructions);
}
try {
DB::connection("lucentdb")->table("records")->get();
}catch (QueryException $e) {
$instructions = <<<EOD
# Make sure you run:
php artisan lucent:setup-db
EOD;
return SetupStep::makeFail($name, $instructions);
}
return SetupStep::makeSuccess($name, "Database Connection successfully created");
}
}