/** * Rename a table. * * @param StreamInterface $from * @param StreamInterface $to */ public function renameTable(StreamInterface $from, StreamInterface $to) { if ($from->getEntryTableName() === $to->getEntryTableName()) { return; } $this->schema->rename($from->getEntryTableName(), $to->getEntryTableName()); }
/** * Handle the command. * * @param StreamSchema $schema */ public function handle(StreamSchema $schema) { $table = $this->stream->getEntryTableName(); $schema->dropTable($table); if ($this->stream->isTranslatable()) { $table = $this->stream->getEntryTranslationsTableName(); $schema->dropTable($table); } }
/** * Parse the assignment rules. * * @param StreamInterface $stream * @param AssignmentInterface $assignment * @param $string */ protected function parseAssignmentRules(StreamInterface $stream, AssignmentInterface $assignment, &$string) { $rules = []; if ($assignment->isRequired()) { $rules[] = 'required'; } if ($assignment->isUnique()) { $rules[] = 'unique:' . $stream->getEntryTableName() . ',' . $assignment->getColumnName(); } if (is_array($rules)) { $rules = implode('|', array_filter($rules)); $string .= "\n'{$assignment->getFieldSlug()}' => '{$rules}',"; } }
/** * Return the entry table name. * * @param StreamInterface $stream * @return mixed */ public function parse(StreamInterface $stream) { return $stream->getEntryTableName(); }