/**
  * Handle the command.
  *
  * @param AssignmentSchema $schema
  */
 public function handle(AssignmentSchema $schema, AssignmentRepositoryInterface $assignments)
 {
     $stream = $this->assignment->getStream();
     /* @var AssignmentInterface $assignment */
     $assignment = $assignments->find($this->assignment->getId());
     // If nothing is different then skip it.
     if ($assignment->isTranslatable() == $this->assignment->isTranslatable()) {
         return;
     }
     /*
      * If it's NOW translatable then move it from
      * the main table to the translations table.
      */
     if ($this->assignment->isTranslatable()) {
         $schema->dropColumn($stream->getEntryTableName(), $assignment->getFieldType(true));
         $schema->addColumn($stream->getEntryTranslationsTableName(), $assignment->getFieldType(true), $assignment);
     }
     /*
      * If it's NOT translatable then move it from
      * the translations table to the main table.
      */
     if (!$this->assignment->isTranslatable()) {
         $schema->dropColumn($stream->getEntryTranslationsTableName(), $assignment->getFieldType(true));
         $schema->addColumn($stream->getEntryTableName(), $assignment->getFieldType(true), $assignment);
     }
 }
 /**
  * Handle the command.
  *
  * @param AssignmentSchema $schema
  */
 public function handle(AssignmentSchema $schema)
 {
     $stream = $this->assignment->getStream();
     $type = $this->assignment->getFieldType();
     if (!$this->assignment->isTranslatable()) {
         $table = $stream->getEntryTableName();
     } else {
         $table = $stream->getEntryTranslationsTableName();
     }
     $schema->updateColumn($table, $type, $this->assignment);
 }
 /**
  * Handle the command.
  *
  * @param AssignmentSchema              $schema
  * @param AssignmentRepositoryInterface $assignments
  */
 public function handle(AssignmentSchema $schema, AssignmentRepositoryInterface $assignments)
 {
     $stream = $this->assignment->getStream();
     $type = $this->assignment->getFieldType(true);
     if (!$this->assignment->isTranslatable()) {
         $table = $stream->getEntryTableName();
     } else {
         $table = $stream->getEntryTranslationsTableName();
     }
     /* @var AssignmentInterface $assignment */
     $assignment = $assignments->find($this->assignment->getId());
     $assignment = clone $assignment;
     $schema->renameColumn($table, $type, $assignment);
 }