Вход Регистрация
Файл: app/Services/MigrationService.php
Строк: 39
<?php

declare(strict_types=1);

namespace 
AppServices;

use 
SymfonyComponentConsoleOutputBufferedOutput;

class 
MigrationService
{
    public function 
getPendingMigrations(array $paths): array
    {
        
$migrator app('migrator');

        if (! 
$migrator->repositoryExists()) {
            return [];
        }

        
$files $migrator->getMigrationFiles($paths);
        
$ran $migrator->getRepository()->getRan();

        return 
array_values(array_diff(array_keys($files), $ran));
    }

    public function 
runOne(string $file): string
    
{
        
$buffer = new BufferedOutput();
        
$migrator app('migrator');
        
$migrator->setOutput($buffer);
        
$migrator->run([$file], ['pretend' => false]);

        return 
trim(strip_tags($buffer->fetch()));
    }

    public function 
findFile(string $name): ?string
    
{
        foreach ([
database_path('migrations'), database_path('upgrades')] as $path) {
            
$file $path '/' $name '.php';
            if (
file_exists($file)) {
                return 
$file;
            }
        }

        return 
null;
    }
}
Онлайн: 1
Реклама