如何在Laravel 6中删除数据库?

问题描述 投票:0回答:2

因此,我有一个多租户应用程序,而且我有一个系统可以通过标准CRUD操作管理所有这些租户。我希望能够在删除租户时删除租户数据库,但是我似乎在文档中找不到能够执行此操作的任何内容,也无法在API文档中找到可以使用的一系列方法。] >

我在网上看到了以下内容(我可以找到的唯一信息),但是它已经有2年历史了,但是所有这些方法都已经过时或已在Laravel 6中转移。

Schema::getConnection()->getDoctrineSchemaManager()->dropDatabase("`{$databaseName}`");

通过我自己的测试,运行以下命令确实有效。

DB::statement('DROP DATABASE `foo`');

我不能做的是将变量绑定到此语句:

DB::statement(DB::raw('DROP DATABASE ?', $database_name));

我还想使用标准的Laravel查询生成器,而不是自己清理信息。因此,理想情况下,我希望能够执行以下操作:

DatabaseManager::dropDatabase($database_name);

或此:

$database = DatabaseManager::connect($database_name);
$database->dropDatabase();

我的猜测是,我需要创建一个与MySQL

的新连接,在这里我没有直接连接到单个数据库。然后执行命令删除数据库,然后关闭连接。

我将寻求自己构建这个,但是只是想知道是否有人对此有任何想法,或者是否曾经做过?非常感谢所有帮助。

因此,我有一个多租户应用程序,而且我有一个系统可以通过标准CRUD操作管理所有这些租户。我希望能够删除租户数据库...

php mysql database laravel laravel-6
2个回答
0
投票

您可以创建一个laravel命令来删除数据库。例如:


0
投票

要从表中删除记录:

© www.soinside.com 2019 - 2024. All rights reserved.