因此,我有一个多租户应用程序,而且我有一个系统可以通过标准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操作管理所有这些租户。我希望能够删除租户数据库...
您可以创建一个laravel命令来删除数据库。例如:
要从表中删除记录: