所以我有一个问题,我有一个多租户应用程序,我有一个系统,我可以通过标准 CRUD 操作管理所有这些租户。我希望能够在租户被删除时删除租户数据库,但我似乎在文档中找不到任何关于能够做到这一点的内容,我也无法在 API 文档中找到一系列可以使用的方法。
我在网上看到了以下内容(我能找到的唯一信息),但它已有 2 年历史,但所有这些方法要么已被弃用,要么已在 Laravel 6 中移动。
Schema::getConnection()->getDoctrineSchemaManager()->dropDatabase("`{$database_name}`");
通过我自己的测试,运行以下命令确实有效。
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的新连接,而我没有直接连接到单个数据库。然后执行命令删除数据库,然后关闭连接。
我将寻求自己构建这个,但只是想知道是否有人对这个有任何想法,或者是否以前做过这个?非常感谢所有帮助。
噜噜哒
神不在的星期二
白衣染霜花
LEATH