Version20200503170404.php 863 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. declare(strict_types=1);
  3. namespace ShlinkMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. final class Version20200503170404 extends AbstractMigration
  7. {
  8. private const INDEX_NAME = 'IDX_visits_date';
  9. public function up(Schema $schema): void
  10. {
  11. $visits = $schema->getTable('visits');
  12. $this->skipIf($visits->hasIndex(self::INDEX_NAME));
  13. $visits->addIndex(['date'], self::INDEX_NAME);
  14. }
  15. public function down(Schema $schema): void
  16. {
  17. $visits = $schema->getTable('visits');
  18. $this->skipIf(! $visits->hasIndex(self::INDEX_NAME));
  19. $visits->dropIndex(self::INDEX_NAME);
  20. }
  21. /**
  22. * @fixme Workaround for https://github.com/doctrine/migrations/issues/1104
  23. */
  24. public function isTransactional(): bool
  25. {
  26. return false;
  27. }
  28. }