From cfd2c9911a24297e71986caf40e341f7ce71dbf0 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Tue, 3 Jan 2023 14:30:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=AE=89=E8=A3=85=E6=97=B6?= =?UTF-8?q?=20=E6=89=A7=E8=A1=8C=20migrate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- beike/Repositories/PluginRepo.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/beike/Repositories/PluginRepo.php b/beike/Repositories/PluginRepo.php index d9ea2147..5ccc65a6 100644 --- a/beike/Repositories/PluginRepo.php +++ b/beike/Repositories/PluginRepo.php @@ -13,6 +13,7 @@ namespace Beike\Repositories; use Beike\Models\Plugin; use Beike\Plugin\Plugin as BPlugin; +use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\File; use Illuminate\Database\Eloquent\Collection; use Beike\Shop\Services\TotalServices\ShippingService; @@ -42,6 +43,7 @@ class PluginRepo public static function installPlugin(BPlugin $bPlugin) { self::publishStaticFiles($bPlugin); + self::migrateDatabase($bPlugin); $type = $bPlugin->type; $code = $bPlugin->code; $plugin = Plugin::query() @@ -72,6 +74,20 @@ class PluginRepo } + /** + * 数据库迁移 + */ + public static function migrateDatabase(BPlugin $bPlugin) + { + $migrationPath = "{$bPlugin->getPath()}/Migrations"; + if (is_dir($migrationPath)) { + Artisan::call('migrate', [ + '--force' => true + ]); + } + } + + /** * 从系统卸载插件: 删除数据 * @param BPlugin $bPlugin