%PDF- %PDF-
Direktori : /home/silvzytp/crm-ind-code/vendor/laravel/framework/src/Illuminate/Database/Schema/ |
Current File : //home/silvzytp/crm-ind-code/vendor/laravel/framework/src/Illuminate/Database/Schema/SchemaState.php |
<?php namespace Illuminate\Database\Schema; use Illuminate\Database\Connection; use Illuminate\Filesystem\Filesystem; use Symfony\Component\Process\Process; abstract class SchemaState { /** * The connection instance. * * @var \Illuminate\Database\Connection */ protected $connection; /** * The filesystem instance. * * @var \Illuminate\Filesystem\Filesystem */ protected $files; /** * The name of the application's migration table. * * @var string */ protected $migrationTable = 'migrations'; /** * The process factory callback. * * @var callable */ protected $processFactory; /** * The output callable instance. * * @var callable */ protected $output; /** * Create a new dumper instance. * * @param \Illuminate\Database\Connection $connection * @param \Illuminate\Filesystem\Filesystem|null $files * @param callable|null $processFactory * @return void */ public function __construct(Connection $connection, Filesystem $files = null, callable $processFactory = null) { $this->connection = $connection; $this->files = $files ?: new Filesystem; $this->processFactory = $processFactory ?: function (...$arguments) { return Process::fromShellCommandline(...$arguments)->setTimeout(null); }; $this->handleOutputUsing(function () { // }); } /** * Dump the database's schema into a file. * * @param \Illuminate\Database\Connection $connection * @param string $path * @return void */ abstract public function dump(Connection $connection, $path); /** * Load the given schema file into the database. * * @param string $path * @return void */ abstract public function load($path); /** * Create a new process instance. * * @param array $arguments * @return \Symfony\Component\Process\Process */ public function makeProcess(...$arguments) { return call_user_func($this->processFactory, ...$arguments); } /** * Specify the name of the application's migration table. * * @param string $table * @return $this */ public function withMigrationTable(string $table) { $this->migrationTable = $table; return $this; } /** * Specify the callback that should be used to handle process output. * * @param callable $output * @return $this */ public function handleOutputUsing(callable $output) { $this->output = $output; return $this; } }