getTable('short_urls'); if ($shortUrls->hasColumn('valid_since')) { return; } $shortUrls->addColumn('valid_since', Types::DATETIME_MUTABLE, [ 'notnull' => false, ]); $shortUrls->addColumn('valid_until', Types::DATETIME_MUTABLE, [ 'notnull' => false, ]); } /** * @throws SchemaException */ public function down(Schema $schema): void { $shortUrls = $schema->getTable('short_urls'); if (! $shortUrls->hasColumn('valid_since')) { return; } $shortUrls->dropColumn('valid_since'); $shortUrls->dropColumn('valid_until'); } public function isTransactional(): bool { return $this->connection->getDatabasePlatform()->getName() !== 'mysql'; } }