Вход Регистрация
Файл: gapps/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateMakeCommand.php
Строк: 115
<?php

namespace IlluminateDatabaseConsoleMigrations;

use 
IlluminateSupportComposer;
use 
IlluminateDatabaseMigrationsMigrationCreator;

class 
MigrateMakeCommand extends BaseCommand
{
    
/**
     * The console command signature.
     *
     * @var string
     */
    
protected $signature 'make:migration {name : The name of the migration.}
        {--create= : The table to be created.}
        {--table= : The table to migrate.}
        {--path= : The location where the migration file should be created.}'
;

    
/**
     * The console command description.
     *
     * @var string
     */
    
protected $description 'Create a new migration file';

    
/**
     * The migration creator instance.
     *
     * @var IlluminateDatabaseMigrationsMigrationCreator
     */
    
protected $creator;

    
/**
     * The Composer instance.
     *
     * @var IlluminateSupportComposer
     */
    
protected $composer;

    
/**
     * Create a new migration install command instance.
     *
     * @param  IlluminateDatabaseMigrationsMigrationCreator  $creator
     * @param  IlluminateSupportComposer  $composer
     * @return void
     */
    
public function __construct(MigrationCreator $creatorComposer $composer)
    {
        
parent::__construct();

        
$this->creator $creator;
        
$this->composer $composer;
    }

    
/**
     * Execute the console command.
     *
     * @return void
     */
    
public function fire()
    {
        
// It's possible for the developer to specify the tables to modify in this
        // schema operation. The developer may also specify if this table needs
        // to be freshly created so we can create the appropriate migrations.
        
$name trim($this->input->getArgument('name'));

        
$table $this->input->getOption('table');

        
$create $this->input->getOption('create') ?: false;

        if (! 
$table && is_string($create)) {
            
$table $create;

            
$create true;
        }

        
// Now we are ready to write the migration out to disk. Once we've written
        // the migration out, we will dump-autoload for the entire framework to
        // make sure that the migrations are registered by the class loaders.
        
$this->writeMigration($name$table$create);

        
$this->composer->dumpAutoloads();
    }

    
/**
     * Write the migration file to disk.
     *
     * @param  string  $name
     * @param  string  $table
     * @param  bool    $create
     * @return string
     */
    
protected function writeMigration($name$table$create)
    {
        
$path $this->getMigrationPath();

        
$file pathinfo($this->creator->create($name$path$table$create), PATHINFO_FILENAME);

        
$this->line("<info>Created Migration:</info> $file");
    }

    
/**
     * Get migration path (either specified by '--path' option or default location).
     *
     * @return string
     */
    
protected function getMigrationPath()
    {
        if (! 
is_null($targetPath $this->input->getOption('path'))) {
            return 
$this->laravel->basePath().'/'.$targetPath;
        }

        return 
parent::getMigrationPath();
    }
}
Онлайн: 1
Реклама