Команда для создания базы данных
Создание БД с помощью команды
php artisan make:command CreateDB
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
class CreateDB extends Command
{
protected $signature = 'db:create {name?}';
protected $description = 'Create database from name or config';
public function handle(): void
{
$schemaName = $this->argument('name') ?: config('database.connections.mysql.database');
$charset = config('database.connections.mysql.charset', 'utf8mb4');
$collation = config('database.connections.mysql.collation', 'utf8mb4_unicode_ci');
config(['database.connections.mysql.database' => null]);
$query = "CREATE DATABASE IF NOT EXISTS $schemaName CHARACTER SET $charset COLLATE $collation;";
DB::statement($query);
}
}