files = $files; $this->composer = $composer; } /** * Execute the console command. * * @return void */ public function handle() { $table = $this->laravel['config']['queue.connections.database.table']; $this->replaceMigration( $this->createBaseMigration($table), $table, Str::studly($table) ); $this->info('Migration created successfully!'); $this->composer->dumpAutoloads(); } /** * Create a base migration file for the table. * * @param string $table * @return string */ protected function createBaseMigration($table = 'jobs') { return $this->laravel['migration.creator']->create( 'create_'.$table.'_table', $this->laravel->databasePath().'/migrations' ); } /** * Replace the generated migration with the job table stub. * * @param string $path * @param string $table * @param string $tableClassName * @return void */ protected function replaceMigration($path, $table, $tableClassName) { $stub = str_replace( ['{{table}}', '{{tableClassName}}'], [$table, $tableClassName], $this->files->get(__DIR__.'/stubs/jobs.stub') ); $this->files->put($path, $stub); } }