38 lines
		
	
	
		
			946 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			946 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);
 | ||
| 
 | ||
|         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('Не удалось поднять играции');
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
| } |