files = $files; $this->composer = $composer; } /** * Execute the console command. * * @return void */ public function fire() { $table = $this->laravel['config']['queue.connections.database.table']; $tableClassName = Str::studly($table); $fullPath = $this->createBaseMigration($table); $stub = str_replace( ['{{table}}', '{{tableClassName}}'], [$table, $tableClassName], $this->files->get(__DIR__.'/stubs/jobs.stub') ); $this->files->put($fullPath, $stub); $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') { $name = 'create_'.$table.'_table'; $path = $this->laravel->databasePath().'/migrations'; return $this->laravel['migration.creator']->create($name, $path); } }