| Server IP : 103.175.220.74 / Your IP : 216.73.216.151 Web Server : nginx/1.18.0 System : Linux p-floo-wj1-db 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : deploy ( 1003) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/app/bronsoncandy.com/vendor/illuminate/console/ |
Upload File : |
<?php
namespace Illuminate\Console;
use Illuminate\Filesystem\Filesystem;
use function Illuminate\Filesystem\join_paths;
abstract class MigrationGeneratorCommand extends Command
{
/**
* The filesystem instance.
*
* @var \Illuminate\Filesystem\Filesystem
*/
protected $files;
/**
* Create a new migration generator command instance.
*
* @param \Illuminate\Filesystem\Filesystem $files
* @return void
*/
public function __construct(Filesystem $files)
{
parent::__construct();
$this->files = $files;
}
/**
* Get the migration table name.
*
* @return string
*/
abstract protected function migrationTableName();
/**
* Get the path to the migration stub file.
*
* @return string
*/
abstract protected function migrationStubFile();
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$table = $this->migrationTableName();
if ($this->migrationExists($table)) {
$this->components->error('Migration already exists.');
return 1;
}
$this->replaceMigrationPlaceholders(
$this->createBaseMigration($table), $table
);
$this->components->info('Migration created successfully.');
return 0;
}
/**
* Create a base migration file for the table.
*
* @param string $table
* @return string
*/
protected function createBaseMigration($table)
{
return $this->laravel['migration.creator']->create(
'create_'.$table.'_table', $this->laravel->databasePath('/migrations')
);
}
/**
* Replace the placeholders in the generated migration file.
*
* @param string $path
* @param string $table
* @return void
*/
protected function replaceMigrationPlaceholders($path, $table)
{
$stub = str_replace(
'{{table}}', $table, $this->files->get($this->migrationStubFile())
);
$this->files->put($path, $stub);
}
/**
* Determine whether a migration for the table already exists.
*
* @param string $table
* @return bool
*/
protected function migrationExists($table)
{
return count($this->files->glob(
join_paths($this->laravel->databasePath('migrations'), '*_*_*_*_create_'.$table.'_table.php')
)) !== 0;
}
}