'smallint', 'credentials_expire_at' => 'datetime', 'expires_at' => 'datetime', ]; /** * @param Schema $schema */ public function up(Schema $schema) { $userTable = $schema->getTable($this->getTable('user')); foreach ($this->fields as $field => $type) { $this->skipIf(!$userTable->hasColumn($field), 'It seems that you already played this migration.'); $userTable->dropColumn($field); } } /** * @param Schema $schema */ public function down(Schema $schema) { $userTable = $schema->getTable($this->getTable('user')); foreach ($this->fields as $field => $type) { $this->skipIf($userTable->hasColumn($field), 'It seems that you already played this migration.'); $userTable->addColumn($field, $type, ['notnull' => false]); } } }