/**
  * 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();
 }