<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20220923134740 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$this->addSql('ALTER TABLE accessory ADD CONSTRAINT FK_A1B1251CBF396750 FOREIGN KEY (id) REFERENCES product (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE address ADD CONSTRAINT FK_D4E6F81534B549B FOREIGN KEY (uid_id) REFERENCES uid (id)');
$this->addSql('ALTER TABLE cd ADD CONSTRAINT FK_45D68FDA33B92F39 FOREIGN KEY (label_id) REFERENCES `label` (id)');
$this->addSql('ALTER TABLE cd ADD CONSTRAINT FK_45D68FDABF396750 FOREIGN KEY (id) REFERENCES product (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE cd_style ADD CONSTRAINT FK_4CF8E59235F486F6 FOREIGN KEY (cd_id) REFERENCES cd (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE cd_style ADD CONSTRAINT FK_4CF8E592BACD6074 FOREIGN KEY (style_id) REFERENCES style (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE cd_artist ADD CONSTRAINT FK_B240A9F435F486F6 FOREIGN KEY (cd_id) REFERENCES cd (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE cd_artist ADD CONSTRAINT FK_B240A9F4B7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE detail ADD CONSTRAINT FK_2E067F93FCDAEAAA FOREIGN KEY (order_id_id) REFERENCES `order` (id)');
$this->addSql('ALTER TABLE detail ADD CONSTRAINT FK_2E067F934584665A FOREIGN KEY (product_id) REFERENCES product (id)');
$this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_90651744AA60395A FOREIGN KEY (ordered_id) REFERENCES `order` (id)');
$this->addSql('ALTER TABLE livraison ADD CONSTRAINT FK_A60C9F1FF8646701 FOREIGN KEY (livreur_id) REFERENCES livreur (id)');
$this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F5299398A76ED395 FOREIGN KEY (user_id) REFERENCES uid (id)');
$this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F5299398F8646701 FOREIGN KEY (livreur_id) REFERENCES livreur (id)');
$this->addSql('ALTER TABLE product ADD CONSTRAINT FK_D34A04AD12469DE2 FOREIGN KEY (category_id) REFERENCES category (id)');
$this->addSql('ALTER TABLE product_promote ADD CONSTRAINT FK_119D2554584665A FOREIGN KEY (product_id) REFERENCES product (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE product_promote ADD CONSTRAINT FK_119D2554834791C FOREIGN KEY (promote_id) REFERENCES promote (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES uid (id)');
$this->addSql('ALTER TABLE track ADD CONSTRAINT FK_D6E3F8A63FFFF645 FOREIGN KEY (vinyl_id) REFERENCES vinyl (id)');
$this->addSql('ALTER TABLE track_artist ADD CONSTRAINT FK_499B576E5ED23C43 FOREIGN KEY (track_id) REFERENCES track (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE track_artist ADD CONSTRAINT FK_499B576EB7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE vinyl ADD CONSTRAINT FK_E2E531D33B92F39 FOREIGN KEY (label_id) REFERENCES `label` (id)');
$this->addSql('ALTER TABLE vinyl ADD CONSTRAINT FK_E2E531DBF396750 FOREIGN KEY (id) REFERENCES product (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE vinyl_style ADD CONSTRAINT FK_330D05AF3FFFF645 FOREIGN KEY (vinyl_id) REFERENCES vinyl (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE vinyl_style ADD CONSTRAINT FK_330D05AFBACD6074 FOREIGN KEY (style_id) REFERENCES style (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE vinyl_artist ADD CONSTRAINT FK_EA5710053FFFF645 FOREIGN KEY (vinyl_id) REFERENCES vinyl (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE vinyl_artist ADD CONSTRAINT FK_EA571005B7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE accessory DROP FOREIGN KEY FK_A1B1251CBF396750');
$this->addSql('ALTER TABLE address DROP FOREIGN KEY FK_D4E6F81534B549B');
$this->addSql('ALTER TABLE cd DROP FOREIGN KEY FK_45D68FDA33B92F39');
$this->addSql('ALTER TABLE cd DROP FOREIGN KEY FK_45D68FDABF396750');
$this->addSql('ALTER TABLE cd_style DROP FOREIGN KEY FK_4CF8E59235F486F6');
$this->addSql('ALTER TABLE cd_style DROP FOREIGN KEY FK_4CF8E592BACD6074');
$this->addSql('ALTER TABLE cd_artist DROP FOREIGN KEY FK_B240A9F435F486F6');
$this->addSql('ALTER TABLE cd_artist DROP FOREIGN KEY FK_B240A9F4B7970CF8');
$this->addSql('ALTER TABLE detail DROP FOREIGN KEY FK_2E067F93FCDAEAAA');
$this->addSql('ALTER TABLE detail DROP FOREIGN KEY FK_2E067F934584665A');
$this->addSql('ALTER TABLE invoice DROP FOREIGN KEY FK_90651744AA60395A');
$this->addSql('ALTER TABLE livraison DROP FOREIGN KEY FK_A60C9F1FF8646701');
$this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F5299398A76ED395');
$this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F5299398F8646701');
$this->addSql('ALTER TABLE product DROP FOREIGN KEY FK_D34A04AD12469DE2');
$this->addSql('ALTER TABLE product_promote DROP FOREIGN KEY FK_119D2554584665A');
$this->addSql('ALTER TABLE product_promote DROP FOREIGN KEY FK_119D2554834791C');
$this->addSql('ALTER TABLE reset_password_request DROP FOREIGN KEY FK_7CE748AA76ED395');
$this->addSql('ALTER TABLE track DROP FOREIGN KEY FK_D6E3F8A63FFFF645');
$this->addSql('ALTER TABLE track_artist DROP FOREIGN KEY FK_499B576E5ED23C43');
$this->addSql('ALTER TABLE track_artist DROP FOREIGN KEY FK_499B576EB7970CF8');
$this->addSql('ALTER TABLE vinyl DROP FOREIGN KEY FK_E2E531D33B92F39');
$this->addSql('ALTER TABLE vinyl DROP FOREIGN KEY FK_E2E531DBF396750');
$this->addSql('ALTER TABLE vinyl_style DROP FOREIGN KEY FK_330D05AF3FFFF645');
$this->addSql('ALTER TABLE vinyl_style DROP FOREIGN KEY FK_330D05AFBACD6074');
$this->addSql('ALTER TABLE vinyl_artist DROP FOREIGN KEY FK_EA5710053FFFF645');
$this->addSql('ALTER TABLE vinyl_artist DROP FOREIGN KEY FK_EA571005B7970CF8');
$this->addSql('DROP TABLE accessory');
$this->addSql('DROP TABLE address');
$this->addSql('DROP TABLE artist');
$this->addSql('DROP TABLE category');
$this->addSql('DROP TABLE cd');
$this->addSql('DROP TABLE cd_style');
$this->addSql('DROP TABLE cd_artist');
$this->addSql('DROP TABLE country');
$this->addSql('DROP TABLE detail');
$this->addSql('DROP TABLE invoice');
$this->addSql('DROP TABLE `label`');
$this->addSql('DROP TABLE livraison');
$this->addSql('DROP TABLE livreur');
$this->addSql('DROP TABLE `order`');
$this->addSql('DROP TABLE params');
$this->addSql('DROP TABLE product');
$this->addSql('DROP TABLE product_promote');
$this->addSql('DROP TABLE promote');
$this->addSql('DROP TABLE reset_password_request');
$this->addSql('DROP TABLE style');
$this->addSql('DROP TABLE track');
$this->addSql('DROP TABLE track_artist');
$this->addSql('DROP TABLE uid');
$this->addSql('DROP TABLE vinyl');
$this->addSql('DROP TABLE vinyl_style');
$this->addSql('DROP TABLE vinyl_artist');
$this->addSql('DROP TABLE messenger_messages');
}
}