Migrations\Shell\Task\SeedTask::getOptionParser PHP Method

getOptionParser() public method

Gets the option parser instance and configures it.
public getOptionParser ( ) : Cake\Console\ConsoleOptionParser
return Cake\Console\ConsoleOptionParser
    public function getOptionParser()
    {
        $name = ($this->plugin ? $this->plugin . '.' : '') . $this->name;
        $parser = new ConsoleOptionParser($name);
        $bakeThemes = [];
        foreach (Plugin::loaded() as $plugin) {
            $path = Plugin::classPath($plugin);
            if (is_dir($path . 'Template' . DS . 'Bake')) {
                $bakeThemes[] = $plugin;
            }
        }
        $parser->description('Bake seed class.')->addOption('plugin', ['short' => 'p', 'help' => 'Plugin to bake into.'])->addOption('force', ['short' => 'f', 'boolean' => true, 'help' => 'Force overwriting existing files without prompting.'])->addOption('connection', ['short' => 'c', 'default' => 'default', 'help' => 'The datasource connection to get data from.'])->addOption('table', ['help' => 'The database table to use.'])->addOption('theme', ['short' => 't', 'help' => 'The theme to use when baking code.', 'choices' => $bakeThemes])->addArgument('name', ['help' => 'Name of the seed to bake. Can use Plugin.name to bake plugin models.'])->addOption('data', ['boolean' => true, 'help' => 'Include data from the table to the seed'])->addOption('fields', ['default' => '*', 'help' => 'If including data, comma separated list of fields to select (all fields by default)'])->addOption('limit', ['short' => 'l', 'help' => 'If including data, max number of rows to select']);
        return $parser;
    }

Usage Example

 /**
  * Gets the option parser instance and configures it.
  *
  * @return \Cake\Console\ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = parent::getOptionParser();
     $parser->addOption('records', ['boolean' => true, 'help' => 'Include records from the database in the seed file']);
     return $parser;
 }