手记

MigrateCommand.php

<?php

 

namespace Illuminate\Database\Console\Migrations;

 

use Illuminate\Console\Command;

use Symfony\Component\Console\Input\InputOption;

use Illuminate\Database\Migrations\MigrationRepositoryInterface;

 

class InstallCommand extends Command

{// InstallCommand extends Command

    /**

     * The console command name.

     *

     * @var string

     */

    protected $name = 'migrate:install';// The console command name.

 

    /**

     * The console command description.

     *

     * @var string

     */

    protected $description = 'Create the migration repository';// The console command description

 

    /**

     * The repository instance.

     *

     * @var \Illuminate\Database\Migrations\MigrationRepositoryInterface

     */

    protected $repository;//The repository instance

 

    /**

     * Create a new migration install command instance.

     *

     * @param  \Illuminate\Database\Migrations\MigrationRepositoryInterface  $repository

     * @return void

     */

    public function __construct(MigrationRepositoryInterface $repository)

    {//Create a new migration install command instance.

        parent::__construct();// set the parent::__construct()

 

        $this->repository = $repository;// set the repository

    }

 

    /**

     * Execute the console command.

     *

     * @return void

     */

    public function fire()

    {//Execute the console command

        $this->repository->setSource($this->input->getOption('database'));

// set Source

        $this->repository->createRepository();

// create Repository

        $this->info('Migration table created successfully.');

    }// set info

 

    /**

     * Get the console command options.

     *

     * @return array

     */

    protected function getOptions()

    {// Get the console command options

        return [

            ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use.'],

        ];// run at php5.4+

    }

}

0人推荐
随时随地看视频
慕课网APP