<?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 Version20190430092106 extends AbstractMigration
{
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('CREATE TABLE gym_circuit (`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 gym_circuit_detail (`id` INT AUTO_INCREMENT NOT NULL, `gym_exercise_circuit_id` INT NOT NULL, `document_id` INT NOT NULL, INDEX IDX_74989B979DA50C2F (`gym_exercise_circuit_id`), INDEX IDX_74989B975D9C4E11 (`document_id`), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE gym_exercise (`id` INT AUTO_INCREMENT NOT NULL, `name` VARCHAR(255) NOT NULL, `thumbnail_name` VARCHAR(45) NULL, `um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `value` INT DEFAULT NULL,`equipment` VARCHAR(1000) DEFAULT null , `create_user` VARCHAR(50) NOT NULL, `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE gym_exercise_muscle (gym_exercise_id INT NOT NULL, muscle_id INT NOT NULL, INDEX IDX_BCB4809CCF565EB0 (gym_exercise_id), INDEX IDX_BCB4809C354FDBB4 (muscle_id), PRIMARY KEY(gym_exercise_id, muscle_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE gym_exercise_document (`id` INT AUTO_INCREMENT NOT NULL, `gym_exercise_id` INT NOT NULL, `document_id` INT NOT NULL, INDEX IDX_55A8C4062AF86E1 (`gym_exercise_id`), INDEX IDX_55A8C4065D9C4E11 (`document_id`), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE muscle (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_F31119EF5E237E06 (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE training_program (`id` INT AUTO_INCREMENT NOT NULL, `user_id` VARCHAR(255) NOT NULL, `des` VARCHAR(255) DEFAULT NULL, `status_date` DATE NOT NULL, `end_date` DATE DEFAULT NULL, `presentation_phrase` VARCHAR(255) DEFAULT NULL, `motivational_phrase` VARCHAR(255) DEFAULT NULL, `create_user` VARCHAR(50) NOT NULL, `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE training_session (`id` INT AUTO_INCREMENT NOT NULL, training_program_id INT NOT NULL, `order` VARCHAR(255) NOT NULL, `note` VARCHAR(255) DEFAULT NULL, `create_user` VARCHAR(50) NOT NULL, `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, INDEX IDX_D7A45DA8406BD6C (training_program_id), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE training_session_detail (training_session_id INT NOT NULL, `id` INT AUTO_INCREMENT NOT NULL, `order` INT NOT NULL, `um_type` VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:um_type)\', `value` INT NOT NULL, `create_user` VARCHAR(50) NOT NULL, `creation_date` DATETIME NOT NULL, `modified_user` VARCHAR(50) DEFAULT NULL, `modified_date` DATETIME DEFAULT NULL, INDEX IDX_C61B7F77DB8156B9 (training_session_id), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('ALTER TABLE gym_circuit_detail ADD CONSTRAINT FK_74989B979DA50C2F FOREIGN KEY (`gym_exercise_circuit_id`) REFERENCES gym_circuit (`id`) ON DELETE CASCADE');
$this->addSql('ALTER TABLE gym_circuit_detail ADD CONSTRAINT FK_74989B975D9C4E11 FOREIGN KEY (`document_id`) REFERENCES gym_exercise (`id`) ON DELETE CASCADE');
$this->addSql('ALTER TABLE gym_exercise_muscle ADD CONSTRAINT FK_BCB4809CCF565EB0 FOREIGN KEY (gym_exercise_id) REFERENCES gym_exercise (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE gym_exercise_muscle ADD CONSTRAINT FK_BCB4809C354FDBB4 FOREIGN KEY (muscle_id) REFERENCES muscle (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE gym_exercise_document ADD CONSTRAINT FK_55A8C4062AF86E1 FOREIGN KEY (`gym_exercise_id`) REFERENCES gym_exercise (`id`) ON DELETE CASCADE');
$this->addSql('ALTER TABLE gym_exercise_document ADD CONSTRAINT FK_55A8C4065D9C4E11 FOREIGN KEY (`document_id`) REFERENCES document (`id`) ON DELETE CASCADE');
$this->addSql('ALTER TABLE training_session ADD CONSTRAINT FK_D7A45DA8406BD6C FOREIGN KEY (training_program_id) REFERENCES training_program (id)');
$this->addSql('ALTER TABLE training_session_detail ADD CONSTRAINT FK_C61B7F77DB8156B9 FOREIGN KEY (training_session_id) REFERENCES training_session (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE gym_circuit_detail DROP FOREIGN KEY FK_74989B979DA50C2F');
$this->addSql('ALTER TABLE gym_circuit_detail DROP FOREIGN KEY FK_74989B975D9C4E11');
$this->addSql('ALTER TABLE gym_exercise_muscle DROP FOREIGN KEY FK_BCB4809CCF565EB0');
$this->addSql('ALTER TABLE gym_exercise_document DROP FOREIGN KEY FK_55A8C4062AF86E1');
$this->addSql('ALTER TABLE gym_exercise_muscle DROP FOREIGN KEY FK_BCB4809C354FDBB4');
$this->addSql('ALTER TABLE training_session DROP FOREIGN KEY FK_D7A45DA8406BD6C');
$this->addSql('ALTER TABLE training_session_detail DROP FOREIGN KEY FK_C61B7F77DB8156B9');
$this->addSql('DROP TABLE gym_circuit');
$this->addSql('DROP TABLE gym_circuit_detail');
$this->addSql('DROP TABLE gym_exercise');
$this->addSql('DROP TABLE gym_exercise_muscle');
$this->addSql('DROP TABLE gym_exercise_document');
$this->addSql('DROP TABLE muscle');
$this->addSql('DROP TABLE training_program');
$this->addSql('DROP TABLE training_session');
$this->addSql('DROP TABLE training_session_detail');
}
}