migrations/Version20240320161514.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20240320161514 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('ALTER TABLE user_subscriptions ADD subscription_state VARCHAR(255) DEFAULT NULL, ADD acknowledgement_state VARCHAR(255) DEFAULT NULL, ADD latest_order_id VARCHAR(255) DEFAULT NULL');
  19.         $this->addSql('ALTER TABLE users ADD latest_subscription_id INT UNSIGNED DEFAULT NULL, DROP start_subscription, DROP end_subscription, DROP active_subscription');
  20.         $this->addSql('ALTER TABLE users ADD CONSTRAINT FK_1483A5E918EA7247 FOREIGN KEY (latest_subscription_id) REFERENCES user_subscriptions (id) ON DELETE SET NULL');
  21.         $this->addSql('CREATE UNIQUE INDEX UNIQ_1483A5E918EA7247 ON users (latest_subscription_id)');
  22.         $this->addSql("UPDATE users u SET latest_subscription_id = (
  23.             SELECT us.id FROM user_subscriptions us WHERE us.user_id = u.id
  24.             ORDER BY us.id DESC LIMIT 1
  25.         )");
  26.     }
  27.     public function down(Schema $schema): void
  28.     {
  29.         // this down() migration is auto-generated, please modify it to your needs
  30.         $this->addSql('ALTER TABLE users DROP FOREIGN KEY FK_1483A5E918EA7247');
  31.         $this->addSql('DROP INDEX UNIQ_1483A5E918EA7247 ON users');
  32.         $this->addSql('ALTER TABLE users DROP latest_subscription_id, ADD start_subscription DATE DEFAULT NULL, ADD end_subscription DATE DEFAULT NULL, ADD active_subscription TINYINT(1) DEFAULT 0 NOT NULL');
  33.         $this->addSql('ALTER TABLE user_subscriptions DROP subscription_state, DROP acknowledgement_state, DROP latest_order_id');
  34.     }
  35. }