后台安装时 执行 migrate

This commit is contained in:
Edward Yang 2023-01-03 14:30:00 +08:00
parent f07e511256
commit cfd2c9911a
1 changed files with 16 additions and 0 deletions

View File

@ -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