Выводы
После некоторых исследований и мастеринга у меня есть два варианта.
1. Doctrine DBAL
Я заглянул в библиотеку Doctrine DBAL и нашел именно то, что искал. Библиотека для управления выполнением команды.
Это просто в использовании, как уже упоминалось в вопросе выше, вам нужно выполнить этот фрагмент кода:
Schema::getConnection()->getDoctrineSchemaManager()->dropDatabase("`{$database_name}`");
ПРИМЕЧАНИЕ : для того, чтобы сделать это, сначала нужно запросить библиотеку через composer:
composer require doctrine/dbal
Если углубиться в этот метод, он действительно не стоит лишнего кода, не говоря уже о включение библиотеки в качестве кода, который она выполняет, выглядит следующим образом: [github] :
/**
* Returns the SQL snippet to drop an existing database.
*
* @param string $database The name of the database that should be dropped.
*/
public function getDropDatabaseSQL(string $database) : string
{
return 'DROP DATABASE ' . $database;
}
, что в точности совпадает с тем, что вы делаете в варианте 2.
2. Laravel DB :: Statement ()
Этот метод делает то же самое и намного проще. Все, что нужно, это следующий фрагмент кода:
DB::statement("DROP DATABASE `{$database_name}`");
Заключение
TLDR; Для этого используйте DB Facade Laravel вместо решения стороннего производителя. Это понятнее, проще и использует меньше кода.
Теперь я знаю, что для этого может быть не так много причин, как указал @Rwd, но я постараюсь использовать его каким-то образом для автоматизировать процесс очистки избыточных баз данных. Я, вероятно, создам некоторую форму контейнера DatabaseManager, где каждый менеджер будет содержать версию информации базы данных на основе экземпляра, и включит метод для обработки сброса базы данных.
Благодаря @Rwd и @apokryfos для обсуждение.