39 lines
976 B
PHP
39 lines
976 B
PHP
<?php
|
||
|
||
namespace kernel\services;
|
||
|
||
use Illuminate\Database\Migrations\DatabaseMigrationRepository;
|
||
use Illuminate\Database\Migrations\Migrator;
|
||
use Illuminate\Filesystem\Filesystem;
|
||
use kernel\App;
|
||
use kernel\helpers\Debug;
|
||
|
||
class MigrationService
|
||
{
|
||
protected ModuleService $moduleService;
|
||
|
||
public function __construct()
|
||
{
|
||
$this->moduleService = new ModuleService();
|
||
}
|
||
|
||
/**
|
||
* @throws \Exception
|
||
*/
|
||
public function runAtPath(string $path = ROOT_DIR . '/migrations'): array
|
||
{
|
||
$path = getConst($path);
|
||
// Debug::dd($path);
|
||
|
||
try {
|
||
$dmr = new DatabaseMigrationRepository(App::$db->capsule->getDatabaseManager(), 'migration');
|
||
|
||
$m = new Migrator($dmr, App::$db->capsule->getDatabaseManager(), new Filesystem());
|
||
|
||
return $m->run($path);
|
||
} catch (\Exception $e) {
|
||
throw new \Exception('Не удалось поднять миграции');
|
||
}
|
||
}
|
||
|
||
} |