/** * 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); }
/** * Rename a column. * * @param $table * @param FieldType $type * @param AssignmentInterface $assignment */ public function renameColumn($table, FieldType $type, AssignmentInterface $assignment) { $schema = $type->getSchema(); $from = $assignment->getFieldType(true); if ($from->getColumnName() === $type->getColumnName()) { return; } $this->schema->table($table, function (Blueprint $table) use($schema, $from) { $schema->renameColumn($table, $from); }); }
/** * Parse an assignment relation. * * @param AssignmentInterface $assignment * @param $string */ protected function parseAssignment(AssignmentInterface $assignment, &$string) { $fieldType = $assignment->getFieldType(); $parser = $fieldType->getParser(); $string .= $parser->relation($assignment); }