migrations/Version20250305120201.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 Version20250305120201 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('CREATE TABLE channel_licenses_order (id INT AUTO_INCREMENT NOT NULL, channel_id VARCHAR(36) NOT NULL, created_by_id VARCHAR(36) DEFAULT NULL, updated_by_id VARCHAR(36) DEFAULT NULL, license_count_licenses INT NOT NULL, license_count_licenses_given INT NOT NULL, license_unit_price INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_C14FA89C72F5A1AA (channel_id), INDEX IDX_C14FA89CB03A8386 (created_by_id), INDEX IDX_C14FA89C896DBBDE (updated_by_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE commercial_licenses_offers (id INT AUTO_INCREMENT NOT NULL, license_count_licenses INT NOT NULL, license_count_licenses_given INT NOT NULL, license_unit_price INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE custom_view_channel (id INT AUTO_INCREMENT NOT NULL, user_id VARCHAR(36) NOT NULL, channel_id VARCHAR(36) NOT NULL, name VARCHAR(255) NOT NULL, columns JSON DEFAULT NULL COMMENT \'(DC2Type:json)\', filters JSON DEFAULT NULL COMMENT \'(DC2Type:json)\', active TINYINT(1) NOT NULL, sort_key VARCHAR(255) DEFAULT NULL, sort_direction VARCHAR(255) DEFAULT NULL, type VARCHAR(255) NOT NULL, INDEX IDX_F0238CA6A76ED395 (user_id), INDEX IDX_F0238CA672F5A1AA (channel_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE custom_view_commercial (id INT AUTO_INCREMENT NOT NULL, user_id VARCHAR(36) NOT NULL, name VARCHAR(255) NOT NULL, columns JSON DEFAULT NULL COMMENT \'(DC2Type:json)\', filters JSON DEFAULT NULL COMMENT \'(DC2Type:json)\', active TINYINT(1) NOT NULL, sort_key VARCHAR(255) DEFAULT NULL, sort_direction VARCHAR(255) DEFAULT NULL, type VARCHAR(255) NOT NULL, INDEX IDX_8A431023A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('ALTER TABLE channel_licenses_order ADD CONSTRAINT FK_C14FA89C72F5A1AA FOREIGN KEY (channel_id) REFERENCES channel_channels (id) ON DELETE CASCADE');
  23.         $this->addSql('ALTER TABLE channel_licenses_order ADD CONSTRAINT FK_C14FA89CB03A8386 FOREIGN KEY (created_by_id) REFERENCES account_users (id) ON DELETE SET NULL');
  24.         $this->addSql('ALTER TABLE channel_licenses_order ADD CONSTRAINT FK_C14FA89C896DBBDE FOREIGN KEY (updated_by_id) REFERENCES account_users (id) ON DELETE SET NULL');
  25.         $this->addSql('ALTER TABLE custom_view_channel ADD CONSTRAINT FK_F0238CA6A76ED395 FOREIGN KEY (user_id) REFERENCES account_users (id) ON DELETE CASCADE');
  26.         $this->addSql('ALTER TABLE custom_view_channel ADD CONSTRAINT FK_F0238CA672F5A1AA FOREIGN KEY (channel_id) REFERENCES channel_channels (id) ON DELETE CASCADE');
  27.         $this->addSql('ALTER TABLE custom_view_commercial ADD CONSTRAINT FK_8A431023A76ED395 FOREIGN KEY (user_id) REFERENCES account_users (id) ON DELETE CASCADE');
  28.         $this->addSql('ALTER TABLE custom_view DROP FOREIGN KEY FK_FF8B637372F5A1AA');
  29.         $this->addSql('ALTER TABLE custom_view DROP FOREIGN KEY FK_FF8B6373A76ED395');
  30.         $this->addSql('ALTER TABLE order_product DROP FOREIGN KEY FK_2530ADE68D9F6D38');
  31.         $this->addSql('ALTER TABLE order_product DROP FOREIGN KEY FK_2530ADE64584665A');
  32.         $this->addSql('ALTER TABLE channel_orders DROP FOREIGN KEY FK_1B4CC79072F5A1AA');
  33.         $this->addSql('ALTER TABLE channel_orders DROP FOREIGN KEY FK_1B4CC790B03A8386');
  34.         $this->addSql('ALTER TABLE channel_orders DROP FOREIGN KEY FK_1B4CC790896DBBDE');
  35.         $this->addSql('ALTER TABLE channel_orders DROP FOREIGN KEY FK_1B4CC790A76ED395');
  36.         $this->addSql('ALTER TABLE channel_products DROP FOREIGN KEY FK_C40A29F372F5A1AA');
  37.         $this->addSql('ALTER TABLE channel_products DROP FOREIGN KEY FK_C40A29F3953C1C61');
  38.         $this->addSql('INSERT INTO custom_view_channel (id, user_id, channel_id, name, columns, filters, active, sort_key, sort_direction, type) SELECT old.id, old.user_id, old.channel_id, old.name, old.columns, old.filters, old.active, old.sort_key, old.sort_direction, old.type FROM custom_view as old');
  39.         $this->addSql('DROP TABLE custom_view');
  40.         $this->addSql('DROP TABLE order_product');
  41.         $this->addSql('DROP TABLE channel_orders');
  42.         $this->addSql('DROP TABLE channel_products');
  43.         $this->addSql('ALTER TABLE channel_channels ADD sepa_mandate TINYINT(1) DEFAULT 0 NOT NULL, ADD status INT DEFAULT 0 NOT NULL');
  44.         $this->addSql('INSERT INTO commercial_licenses_offers (license_count_licenses, license_count_licenses_given, license_unit_price) VALUES (10, 0, 25000)');
  45.         $this->addSql('INSERT INTO commercial_licenses_offers (license_count_licenses, license_count_licenses_given, license_unit_price) VALUES (50, 0, 18000)');
  46.         $this->addSql('INSERT INTO commercial_licenses_offers (license_count_licenses, license_count_licenses_given, license_unit_price) VALUES (100, 0, 15500)');
  47.     }
  48.     public function down(Schema $schema): void
  49.     {
  50.         // this down() migration is auto-generated, please modify it to your needs
  51.         $this->addSql('CREATE TABLE custom_view (id INT AUTO_INCREMENT NOT NULL, user_id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, channel_id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, columns JSON DEFAULT NULL COMMENT \'(DC2Type:json)\', filters JSON DEFAULT NULL COMMENT \'(DC2Type:json)\', active TINYINT(1) NOT NULL, sort_key VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, sort_direction VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, INDEX IDX_FF8B6373A76ED395 (user_id), INDEX IDX_FF8B637372F5A1AA (channel_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  52.         $this->addSql('CREATE TABLE order_product (order_id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, product_id INT NOT NULL, INDEX IDX_2530ADE64584665A (product_id), INDEX IDX_2530ADE68D9F6D38 (order_id), PRIMARY KEY(order_id, product_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  53.         $this->addSql('CREATE TABLE channel_orders (id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, user_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, channel_id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_by_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, updated_by_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, status INT NOT NULL, amount NUMERIC(10, 2) NOT NULL, json_data JSON NOT NULL COMMENT \'(DC2Type:json)\', transaction_pay_plug_id VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_1B4CC790B03A8386 (created_by_id), INDEX IDX_1B4CC790896DBBDE (updated_by_id), INDEX IDX_1B4CC790A76ED395 (user_id), INDEX IDX_1B4CC79072F5A1AA (channel_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  54.         $this->addSql('CREATE TABLE channel_products (id INT AUTO_INCREMENT NOT NULL, source_id INT DEFAULT NULL, channel_id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, label VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, price NUMERIC(10, 2) DEFAULT NULL, INDEX IDX_C40A29F3953C1C61 (source_id), INDEX IDX_C40A29F372F5A1AA (channel_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  55.         $this->addSql('ALTER TABLE custom_view ADD CONSTRAINT FK_FF8B637372F5A1AA FOREIGN KEY (channel_id) REFERENCES channel_channels (id) ON DELETE CASCADE');
  56.         $this->addSql('ALTER TABLE custom_view ADD CONSTRAINT FK_FF8B6373A76ED395 FOREIGN KEY (user_id) REFERENCES account_users (id) ON DELETE CASCADE');
  57.         $this->addSql('ALTER TABLE order_product ADD CONSTRAINT FK_2530ADE68D9F6D38 FOREIGN KEY (order_id) REFERENCES channel_orders (id) ON DELETE CASCADE');
  58.         $this->addSql('ALTER TABLE order_product ADD CONSTRAINT FK_2530ADE64584665A FOREIGN KEY (product_id) REFERENCES channel_products (id) ON DELETE CASCADE');
  59.         $this->addSql('ALTER TABLE channel_orders ADD CONSTRAINT FK_1B4CC79072F5A1AA FOREIGN KEY (channel_id) REFERENCES channel_channels (id)');
  60.         $this->addSql('ALTER TABLE channel_orders ADD CONSTRAINT FK_1B4CC790B03A8386 FOREIGN KEY (created_by_id) REFERENCES account_users (id) ON DELETE SET NULL');
  61.         $this->addSql('ALTER TABLE channel_orders ADD CONSTRAINT FK_1B4CC790896DBBDE FOREIGN KEY (updated_by_id) REFERENCES account_users (id) ON DELETE SET NULL');
  62.         $this->addSql('ALTER TABLE channel_orders ADD CONSTRAINT FK_1B4CC790A76ED395 FOREIGN KEY (user_id) REFERENCES account_users (id)');
  63.         $this->addSql('ALTER TABLE channel_products ADD CONSTRAINT FK_C40A29F372F5A1AA FOREIGN KEY (channel_id) REFERENCES channel_channels (id)');
  64.         $this->addSql('ALTER TABLE channel_products ADD CONSTRAINT FK_C40A29F3953C1C61 FOREIGN KEY (source_id) REFERENCES app (id)');
  65.         $this->addSql('ALTER TABLE channel_licenses_order DROP FOREIGN KEY FK_C14FA89C72F5A1AA');
  66.         $this->addSql('ALTER TABLE channel_licenses_order DROP FOREIGN KEY FK_C14FA89CB03A8386');
  67.         $this->addSql('ALTER TABLE channel_licenses_order DROP FOREIGN KEY FK_C14FA89C896DBBDE');
  68.         $this->addSql('ALTER TABLE custom_view_channel DROP FOREIGN KEY FK_F0238CA6A76ED395');
  69.         $this->addSql('ALTER TABLE custom_view_channel DROP FOREIGN KEY FK_F0238CA672F5A1AA');
  70.         $this->addSql('ALTER TABLE custom_view_commercial DROP FOREIGN KEY FK_8A431023A76ED395');
  71.         $this->addSql('DROP TABLE channel_licenses_order');
  72.         $this->addSql('DROP TABLE commercial_licenses_offers');
  73.         $this->addSql('DROP TABLE custom_view_channel');
  74.         $this->addSql('DROP TABLE custom_view_commercial');
  75.         $this->addSql('ALTER TABLE channel_channels DROP sepa_mandate, DROP status');
  76.     }
  77. }