/** * 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 (!$stream) { return; } if (!$this->assignment->isTranslatable()) { $table = $stream->getEntryTableName(); } else { $table = $stream->getEntryTranslationsTableName(); } $schema->dropColumn($table, $type); }