Пример #1
0
 /**
  * Prepare the migration database for running.
  */
 protected function prepareDatabase()
 {
     $this->migrator->setConnection($this->option('database'));
     if (!$this->migrator->tableExists()) {
         $options = ['--database' => $this->option('database')];
         $this->call('migration:install', $options);
     }
 }
Пример #2
0
 /**
  * Execute the console command.
  */
 public function fire()
 {
     $this->migrator->setConnection($this->input->getOption('database'));
     if ($this->migrator->tableExists()) {
         $this->warn('Migration table already exits.');
     } else {
         $this->migrator->createTable();
         $this->info('Migration table created successfully.');
     }
 }
Пример #3
0
 /**
  * Execute the console command.
  */
 public function fire()
 {
     if (!$this->confirmToProceed()) {
         return;
     }
     $this->migrator->setConnection($this->option('database'));
     $this->migrator->rollback($this->getMigrationPaths(), ['step' => (int) $this->option('step'), 'seed' => $this->option('seed')]);
     // Once the migrator has run we will grab the note output and send it out to
     // the console screen, since the migrator itself functions without having
     // any instances of the OutputInterface contract passed into the class.
     foreach ($this->migrator->getNotes() as $note) {
         $this->output->writeln($note);
     }
 }
Пример #4
0
 /**
  * Execute the console command.
  */
 public function fire()
 {
     $this->migrator->setConnection($this->option('database'));
     if (!$this->migrator->tableExists()) {
         return $this->error('No migrations found.');
     }
     $migrations = $this->migrator->getRepository()->getMigrations();
     $files = $this->getAllMigrationFiles();
     $list = [];
     foreach ($files as $file) {
         $name = $this->migrator->getMigrationName($file);
         $list[] = in_array($name, $migrations) ? ['<info>Y</info>', $name] : ['<fg=red>N</fg=red>', $name];
     }
     if (count($list) > 0) {
         $this->table(['Ran?', 'Migration'], $list);
     } else {
         $this->error('No migrations found');
     }
 }
Пример #5
0
 /**
  * Execute the console command.
  */
 public function fire()
 {
     if (!$this->confirmToProceed()) {
         return;
     }
     $this->migrator->setConnection($this->option('database'));
     // First, we'll make sure that the migration table actually exists before we
     // start trying to rollback and re-run all of the migrations. If it's not
     // present we will just bail out with a info message for the developer.
     if (!$this->migrator->tableExists()) {
         return $this->comment('Migration table not found.');
     }
     $this->migrator->reset($this->getMigrationPaths(), ['seed' => $this->option('seed')]);
     // Once the migrator has run we will grab the note output and send it out to
     // the console screen, since the migrator itself functions without having
     // any instances of the OutputInterface contract passed into the class.
     foreach ($this->migrator->getNotes() as $note) {
         $this->output->writeln($note);
     }
 }
 /**
  * Execute the console command.
  */
 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'));
     // Identify the type based on name
     list($stub, $table) = explode('-', $name, 2);
     if ($this->option('table')) {
         $table = $this->option('table');
     }
     $types = ['table' => 'table', 'view' => 'view', 'procedure' => 'procedure'];
     $stubs = ['create' => 'create', 'update' => 'update', 'seed' => 'seed', 'delete' => 'update', 'view' => 'view'];
     $type = end(explode('-', $table));
     $stub = $stubs[$type] ?: $stubs[$stub];
     $stub = $stub ?: 'create';
     $name = str_replace('-', '_', $name);
     if (!$types[$type]) {
         $name .= '_table';
     } else {
         $table = str_replace('-' . $type, '', $table);
     }
     $table = '#__' . str_replace('-', '_', $table);
     $replace = [];
     $from = $this->option('from');
     if ($from) {
         $this->migrator->setConnection($this->option('database'));
         $replace['COLUMN'] = $this->generateColumns($from);
         $replace['INDEX'] = $this->generateIndexes($from);
         $replace['RELATION'] = $this->generateRelations($from);
         $stub = 'createfrom';
     }
     // 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, $stub, $replace);
 }