migrations/Version20220923134740.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 Version20220923134740 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 accessory (id INT NOT NULL, state VARCHAR(255) DEFAULT NULL, weight SMALLINT NOT NULL, img VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE address (id INT AUTO_INCREMENT NOT NULL, uid_id INT NOT NULL, address VARCHAR(255) NOT NULL, postal_code VARCHAR(5) NOT NULL, city VARCHAR(255) NOT NULL, country VARCHAR(255) NOT NULL, complement VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_D4E6F81534B549B (uid_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE artist (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, slug VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE category (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, slug VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE cd (id INT NOT NULL, label_id INT NOT NULL, year SMALLINT NOT NULL, state VARCHAR(255) NOT NULL, INDEX IDX_45D68FDA33B92F39 (label_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE cd_style (cd_id INT NOT NULL, style_id INT NOT NULL, INDEX IDX_4CF8E59235F486F6 (cd_id), INDEX IDX_4CF8E592BACD6074 (style_id), PRIMARY KEY(cd_id, style_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE cd_artist (cd_id INT NOT NULL, artist_id INT NOT NULL, INDEX IDX_B240A9F435F486F6 (cd_id), INDEX IDX_B240A9F4B7970CF8 (artist_id), PRIMARY KEY(cd_id, artist_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE country (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, nom VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE detail (id INT AUTO_INCREMENT NOT NULL, order_id_id INT NOT NULL, product_id INT NOT NULL, price DOUBLE PRECISION NOT NULL, qty SMALLINT NOT NULL, INDEX IDX_2E067F93FCDAEAAA (order_id_id), INDEX IDX_2E067F934584665A (product_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  27.         $this->addSql('CREATE TABLE invoice (id INT AUTO_INCREMENT NOT NULL, ordered_id INT NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', total DOUBLE PRECISION NOT NULL, UNIQUE INDEX UNIQ_90651744AA60395A (ordered_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE `label` (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, slug VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE livraison (id INT AUTO_INCREMENT NOT NULL, livreur_id INT NOT NULL, min SMALLINT NOT NULL, max SMALLINT NOT NULL, price DOUBLE PRECISION NOT NULL, INDEX IDX_A60C9F1FF8646701 (livreur_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  30.         $this->addSql('CREATE TABLE livreur (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  31.         $this->addSql('CREATE TABLE `order` (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, livreur_id INT DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', amount DOUBLE PRECISION NOT NULL, shipping DOUBLE PRECISION NOT NULL, pi VARCHAR(255) NOT NULL, state TINYINT(1) DEFAULT NULL, ref VARCHAR(255) NOT NULL, INDEX IDX_F5299398A76ED395 (user_id), INDEX IDX_F5299398F8646701 (livreur_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  32.         $this->addSql('CREATE TABLE params (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) DEFAULT NULL, value LONGTEXT DEFAULT NULL, start_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', end_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  33.         $this->addSql('CREATE TABLE product (id INT AUTO_INCREMENT NOT NULL, category_id INT NOT NULL, ref VARCHAR(255) NOT NULL, designation VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', price DOUBLE PRECISION NOT NULL, updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', promo DOUBLE PRECISION DEFAULT NULL, description LONGTEXT DEFAULT NULL, slug VARCHAR(255) NOT NULL, quantity SMALLINT DEFAULT NULL, category INT NOT NULL, INDEX IDX_D34A04AD12469DE2 (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  34.         $this->addSql('CREATE TABLE product_promote (product_id INT NOT NULL, promote_id INT NOT NULL, INDEX IDX_119D2554584665A (product_id), INDEX IDX_119D2554834791C (promote_id), PRIMARY KEY(product_id, promote_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  35.         $this->addSql('CREATE TABLE promote (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  36.         $this->addSql('CREATE TABLE reset_password_request (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, selector VARCHAR(20) NOT NULL, hashed_token VARCHAR(100) NOT NULL, requested_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', expires_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_7CE748AA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  37.         $this->addSql('CREATE TABLE style (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, slug VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  38.         $this->addSql('CREATE TABLE track (id INT AUTO_INCREMENT NOT NULL, vinyl_id INT NOT NULL, filename VARCHAR(255) NOT NULL, piste VARCHAR(2) NOT NULL, title VARCHAR(255) NOT NULL, INDEX IDX_D6E3F8A63FFFF645 (vinyl_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  39.         $this->addSql('CREATE TABLE track_artist (track_id INT NOT NULL, artist_id INT NOT NULL, INDEX IDX_499B576E5ED23C43 (track_id), INDEX IDX_499B576EB7970CF8 (artist_id), PRIMARY KEY(track_id, artist_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  40.         $this->addSql('CREATE TABLE uid (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', password VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', is_activ TINYINT(1) NOT NULL, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, connected_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', is_verified TINYINT(1) NOT NULL, signature VARCHAR(255) DEFAULT NULL, phone VARCHAR(14) NOT NULL, UNIQUE INDEX UNIQ_539B0606E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  41.         $this->addSql('CREATE TABLE vinyl (id INT NOT NULL, label_id INT NOT NULL, format SMALLINT NOT NULL, year SMALLINT NOT NULL, state VARCHAR(255) NOT NULL, img VARCHAR(255) DEFAULT NULL, nb_items SMALLINT NOT NULL, INDEX IDX_E2E531D33B92F39 (label_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  42.         $this->addSql('CREATE TABLE vinyl_style (vinyl_id INT NOT NULL, style_id INT NOT NULL, INDEX IDX_330D05AF3FFFF645 (vinyl_id), INDEX IDX_330D05AFBACD6074 (style_id), PRIMARY KEY(vinyl_id, style_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  43.         $this->addSql('CREATE TABLE vinyl_artist (vinyl_id INT NOT NULL, artist_id INT NOT NULL, INDEX IDX_EA5710053FFFF645 (vinyl_id), INDEX IDX_EA571005B7970CF8 (artist_id), PRIMARY KEY(vinyl_id, artist_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  44.         $this->addSql('CREATE TABLE messenger_messages (id BIGINT AUTO_INCREMENT NOT NULL, body LONGTEXT NOT NULL, headers LONGTEXT NOT NULL, queue_name VARCHAR(190) NOT NULL, created_at DATETIME NOT NULL, available_at DATETIME NOT NULL, delivered_at DATETIME DEFAULT NULL, INDEX IDX_75EA56E0FB7336F0 (queue_name), INDEX IDX_75EA56E0E3BD61CE (available_at), INDEX IDX_75EA56E016BA31DB (delivered_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  45.         $this->addSql('ALTER TABLE accessory ADD CONSTRAINT FK_A1B1251CBF396750 FOREIGN KEY (id) REFERENCES product (id) ON DELETE CASCADE');
  46.         $this->addSql('ALTER TABLE address ADD CONSTRAINT FK_D4E6F81534B549B FOREIGN KEY (uid_id) REFERENCES uid (id)');
  47.         $this->addSql('ALTER TABLE cd ADD CONSTRAINT FK_45D68FDA33B92F39 FOREIGN KEY (label_id) REFERENCES `label` (id)');
  48.         $this->addSql('ALTER TABLE cd ADD CONSTRAINT FK_45D68FDABF396750 FOREIGN KEY (id) REFERENCES product (id) ON DELETE CASCADE');
  49.         $this->addSql('ALTER TABLE cd_style ADD CONSTRAINT FK_4CF8E59235F486F6 FOREIGN KEY (cd_id) REFERENCES cd (id) ON DELETE CASCADE');
  50.         $this->addSql('ALTER TABLE cd_style ADD CONSTRAINT FK_4CF8E592BACD6074 FOREIGN KEY (style_id) REFERENCES style (id) ON DELETE CASCADE');
  51.         $this->addSql('ALTER TABLE cd_artist ADD CONSTRAINT FK_B240A9F435F486F6 FOREIGN KEY (cd_id) REFERENCES cd (id) ON DELETE CASCADE');
  52.         $this->addSql('ALTER TABLE cd_artist ADD CONSTRAINT FK_B240A9F4B7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
  53.         $this->addSql('ALTER TABLE detail ADD CONSTRAINT FK_2E067F93FCDAEAAA FOREIGN KEY (order_id_id) REFERENCES `order` (id)');
  54.         $this->addSql('ALTER TABLE detail ADD CONSTRAINT FK_2E067F934584665A FOREIGN KEY (product_id) REFERENCES product (id)');
  55.         $this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_90651744AA60395A FOREIGN KEY (ordered_id) REFERENCES `order` (id)');
  56.         $this->addSql('ALTER TABLE livraison ADD CONSTRAINT FK_A60C9F1FF8646701 FOREIGN KEY (livreur_id) REFERENCES livreur (id)');
  57.         $this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F5299398A76ED395 FOREIGN KEY (user_id) REFERENCES uid (id)');
  58.         $this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F5299398F8646701 FOREIGN KEY (livreur_id) REFERENCES livreur (id)');
  59.         $this->addSql('ALTER TABLE product ADD CONSTRAINT FK_D34A04AD12469DE2 FOREIGN KEY (category_id) REFERENCES category (id)');
  60.         $this->addSql('ALTER TABLE product_promote ADD CONSTRAINT FK_119D2554584665A FOREIGN KEY (product_id) REFERENCES product (id) ON DELETE CASCADE');
  61.         $this->addSql('ALTER TABLE product_promote ADD CONSTRAINT FK_119D2554834791C FOREIGN KEY (promote_id) REFERENCES promote (id) ON DELETE CASCADE');
  62.         $this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES uid (id)');
  63.         $this->addSql('ALTER TABLE track ADD CONSTRAINT FK_D6E3F8A63FFFF645 FOREIGN KEY (vinyl_id) REFERENCES vinyl (id)');
  64.         $this->addSql('ALTER TABLE track_artist ADD CONSTRAINT FK_499B576E5ED23C43 FOREIGN KEY (track_id) REFERENCES track (id) ON DELETE CASCADE');
  65.         $this->addSql('ALTER TABLE track_artist ADD CONSTRAINT FK_499B576EB7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
  66.         $this->addSql('ALTER TABLE vinyl ADD CONSTRAINT FK_E2E531D33B92F39 FOREIGN KEY (label_id) REFERENCES `label` (id)');
  67.         $this->addSql('ALTER TABLE vinyl ADD CONSTRAINT FK_E2E531DBF396750 FOREIGN KEY (id) REFERENCES product (id) ON DELETE CASCADE');
  68.         $this->addSql('ALTER TABLE vinyl_style ADD CONSTRAINT FK_330D05AF3FFFF645 FOREIGN KEY (vinyl_id) REFERENCES vinyl (id) ON DELETE CASCADE');
  69.         $this->addSql('ALTER TABLE vinyl_style ADD CONSTRAINT FK_330D05AFBACD6074 FOREIGN KEY (style_id) REFERENCES style (id) ON DELETE CASCADE');
  70.         $this->addSql('ALTER TABLE vinyl_artist ADD CONSTRAINT FK_EA5710053FFFF645 FOREIGN KEY (vinyl_id) REFERENCES vinyl (id) ON DELETE CASCADE');
  71.         $this->addSql('ALTER TABLE vinyl_artist ADD CONSTRAINT FK_EA571005B7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
  72.     }
  73.     public function down(Schema $schema): void
  74.     {
  75.         // this down() migration is auto-generated, please modify it to your needs
  76.         $this->addSql('ALTER TABLE accessory DROP FOREIGN KEY FK_A1B1251CBF396750');
  77.         $this->addSql('ALTER TABLE address DROP FOREIGN KEY FK_D4E6F81534B549B');
  78.         $this->addSql('ALTER TABLE cd DROP FOREIGN KEY FK_45D68FDA33B92F39');
  79.         $this->addSql('ALTER TABLE cd DROP FOREIGN KEY FK_45D68FDABF396750');
  80.         $this->addSql('ALTER TABLE cd_style DROP FOREIGN KEY FK_4CF8E59235F486F6');
  81.         $this->addSql('ALTER TABLE cd_style DROP FOREIGN KEY FK_4CF8E592BACD6074');
  82.         $this->addSql('ALTER TABLE cd_artist DROP FOREIGN KEY FK_B240A9F435F486F6');
  83.         $this->addSql('ALTER TABLE cd_artist DROP FOREIGN KEY FK_B240A9F4B7970CF8');
  84.         $this->addSql('ALTER TABLE detail DROP FOREIGN KEY FK_2E067F93FCDAEAAA');
  85.         $this->addSql('ALTER TABLE detail DROP FOREIGN KEY FK_2E067F934584665A');
  86.         $this->addSql('ALTER TABLE invoice DROP FOREIGN KEY FK_90651744AA60395A');
  87.         $this->addSql('ALTER TABLE livraison DROP FOREIGN KEY FK_A60C9F1FF8646701');
  88.         $this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F5299398A76ED395');
  89.         $this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F5299398F8646701');
  90.         $this->addSql('ALTER TABLE product DROP FOREIGN KEY FK_D34A04AD12469DE2');
  91.         $this->addSql('ALTER TABLE product_promote DROP FOREIGN KEY FK_119D2554584665A');
  92.         $this->addSql('ALTER TABLE product_promote DROP FOREIGN KEY FK_119D2554834791C');
  93.         $this->addSql('ALTER TABLE reset_password_request DROP FOREIGN KEY FK_7CE748AA76ED395');
  94.         $this->addSql('ALTER TABLE track DROP FOREIGN KEY FK_D6E3F8A63FFFF645');
  95.         $this->addSql('ALTER TABLE track_artist DROP FOREIGN KEY FK_499B576E5ED23C43');
  96.         $this->addSql('ALTER TABLE track_artist DROP FOREIGN KEY FK_499B576EB7970CF8');
  97.         $this->addSql('ALTER TABLE vinyl DROP FOREIGN KEY FK_E2E531D33B92F39');
  98.         $this->addSql('ALTER TABLE vinyl DROP FOREIGN KEY FK_E2E531DBF396750');
  99.         $this->addSql('ALTER TABLE vinyl_style DROP FOREIGN KEY FK_330D05AF3FFFF645');
  100.         $this->addSql('ALTER TABLE vinyl_style DROP FOREIGN KEY FK_330D05AFBACD6074');
  101.         $this->addSql('ALTER TABLE vinyl_artist DROP FOREIGN KEY FK_EA5710053FFFF645');
  102.         $this->addSql('ALTER TABLE vinyl_artist DROP FOREIGN KEY FK_EA571005B7970CF8');
  103.         $this->addSql('DROP TABLE accessory');
  104.         $this->addSql('DROP TABLE address');
  105.         $this->addSql('DROP TABLE artist');
  106.         $this->addSql('DROP TABLE category');
  107.         $this->addSql('DROP TABLE cd');
  108.         $this->addSql('DROP TABLE cd_style');
  109.         $this->addSql('DROP TABLE cd_artist');
  110.         $this->addSql('DROP TABLE country');
  111.         $this->addSql('DROP TABLE detail');
  112.         $this->addSql('DROP TABLE invoice');
  113.         $this->addSql('DROP TABLE `label`');
  114.         $this->addSql('DROP TABLE livraison');
  115.         $this->addSql('DROP TABLE livreur');
  116.         $this->addSql('DROP TABLE `order`');
  117.         $this->addSql('DROP TABLE params');
  118.         $this->addSql('DROP TABLE product');
  119.         $this->addSql('DROP TABLE product_promote');
  120.         $this->addSql('DROP TABLE promote');
  121.         $this->addSql('DROP TABLE reset_password_request');
  122.         $this->addSql('DROP TABLE style');
  123.         $this->addSql('DROP TABLE track');
  124.         $this->addSql('DROP TABLE track_artist');
  125.         $this->addSql('DROP TABLE uid');
  126.         $this->addSql('DROP TABLE vinyl');
  127.         $this->addSql('DROP TABLE vinyl_style');
  128.         $this->addSql('DROP TABLE vinyl_artist');
  129.         $this->addSql('DROP TABLE messenger_messages');
  130.     }
  131. }