35 lines
		
	
	
		
			886 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			886 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						||
 | 
						||
namespace kernel\services;
 | 
						||
 | 
						||
use Illuminate\Database\Migrations\DatabaseMigrationRepository;
 | 
						||
use Illuminate\Database\Migrations\Migrator;
 | 
						||
use Illuminate\Filesystem\Filesystem;
 | 
						||
use kernel\App;
 | 
						||
 | 
						||
class MigrationService
 | 
						||
{
 | 
						||
    protected ModuleService $moduleService;
 | 
						||
 | 
						||
    public function __construct()
 | 
						||
    {
 | 
						||
        $this->moduleService = new ModuleService();
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * @throws \Exception
 | 
						||
     */
 | 
						||
    public function runAtPath(string $path = ROOT_DIR . '/migrations'): array
 | 
						||
    {
 | 
						||
        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('Не удалось поднять играции');
 | 
						||
        }
 | 
						||
    }
 | 
						||
 | 
						||
} |