migrations/Version20211121172327.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 Version20211121172327 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 comment_task (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, task_id INT NOT NULL, uuid CHAR(36) NOT NULL COMMENT \'(DC2Type:guid)\', title VARCHAR(255) DEFAULT NULL, message LONGTEXT NOT NULL, status VARCHAR(255) DEFAULT NULL, INDEX IDX_744879C9A76ED395 (user_id), INDEX IDX_744879C98DB60186 (task_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE entry (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, task_id INT DEFAULT NULL, begin_at DATE NOT NULL, finish_at DATE NOT NULL, status VARCHAR(255) NOT NULL, uuid CHAR(36) NOT NULL COMMENT \'(DC2Type:guid)\', INDEX IDX_2B219D70A76ED395 (user_id), INDEX IDX_2B219D708DB60186 (task_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE files (id INT AUTO_INCREMENT NOT NULL, folder_id INT NOT NULL, name VARCHAR(255) NOT NULL, path VARCHAR(255) NOT NULL, updated_at DATE DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', type VARCHAR(50) NOT NULL, version VARCHAR(255) NOT NULL, uuid CHAR(36) NOT NULL COMMENT \'(DC2Type:guid)\', INDEX IDX_6354059162CB942 (folder_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE files_history (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, file_id INT NOT NULL, date DATE NOT NULL, version VARCHAR(255) NOT NULL, INDEX IDX_86676F1CA76ED395 (user_id), INDEX IDX_86676F1C93CB796C (file_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE folder (id INT AUTO_INCREMENT NOT NULL, status_id INT NOT NULL, uuid CHAR(36) NOT NULL COMMENT \'(DC2Type:guid)\', name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_ECA209CD6BF700BD (status_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE folder_status (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE parameter_time_clock (id INT AUTO_INCREMENT NOT NULL, tolerance_start INT NOT NULL, tolerance_end INT NOT NULL, start INT NOT NULL, end_work INT NOT NULL, rest_start INT DEFAULT NULL, rest_end INT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE role (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE task (id INT AUTO_INCREMENT NOT NULL, folder_id INT NOT NULL, uuid CHAR(36) NOT NULL COMMENT \'(DC2Type:guid)\', name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, estimated_time INT DEFAULT NULL, time_spent INT NOT NULL, INDEX IDX_527EDB25162CB942 (folder_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  27.         $this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, uuid VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649D17F50A6 (uuid), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE user_role (user_id INT NOT NULL, role_id INT NOT NULL, INDEX IDX_2DE8C6A3A76ED395 (user_id), INDEX IDX_2DE8C6A3D60322AC (role_id), PRIMARY KEY(user_id, role_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE user_task (user_id INT NOT NULL, task_id INT NOT NULL, INDEX IDX_28FF97ECA76ED395 (user_id), INDEX IDX_28FF97EC8DB60186 (task_id), PRIMARY KEY(user_id, task_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  30.         $this->addSql('ALTER TABLE comment_task ADD CONSTRAINT FK_744879C9A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  31.         $this->addSql('ALTER TABLE comment_task ADD CONSTRAINT FK_744879C98DB60186 FOREIGN KEY (task_id) REFERENCES task (id)');
  32.         $this->addSql('ALTER TABLE entry ADD CONSTRAINT FK_2B219D70A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  33.         $this->addSql('ALTER TABLE entry ADD CONSTRAINT FK_2B219D708DB60186 FOREIGN KEY (task_id) REFERENCES task (id)');
  34.         $this->addSql('ALTER TABLE files ADD CONSTRAINT FK_6354059162CB942 FOREIGN KEY (folder_id) REFERENCES folder (id)');
  35.         $this->addSql('ALTER TABLE files_history ADD CONSTRAINT FK_86676F1CA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  36.         $this->addSql('ALTER TABLE files_history ADD CONSTRAINT FK_86676F1C93CB796C FOREIGN KEY (file_id) REFERENCES files (id)');
  37.         $this->addSql('ALTER TABLE folder ADD CONSTRAINT FK_ECA209CD6BF700BD FOREIGN KEY (status_id) REFERENCES folder_status (id)');
  38.         $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB25162CB942 FOREIGN KEY (folder_id) REFERENCES folder (id)');
  39.         $this->addSql('ALTER TABLE user_role ADD CONSTRAINT FK_2DE8C6A3A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  40.         $this->addSql('ALTER TABLE user_role ADD CONSTRAINT FK_2DE8C6A3D60322AC FOREIGN KEY (role_id) REFERENCES role (id) ON DELETE CASCADE');
  41.         $this->addSql('ALTER TABLE user_task ADD CONSTRAINT FK_28FF97ECA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  42.         $this->addSql('ALTER TABLE user_task ADD CONSTRAINT FK_28FF97EC8DB60186 FOREIGN KEY (task_id) REFERENCES task (id) ON DELETE CASCADE');
  43.     }
  44.     public function down(Schema $schema): void
  45.     {
  46.         // this down() migration is auto-generated, please modify it to your needs
  47.         $this->addSql('ALTER TABLE files_history DROP FOREIGN KEY FK_86676F1C93CB796C');
  48.         $this->addSql('ALTER TABLE files DROP FOREIGN KEY FK_6354059162CB942');
  49.         $this->addSql('ALTER TABLE task DROP FOREIGN KEY FK_527EDB25162CB942');
  50.         $this->addSql('ALTER TABLE folder DROP FOREIGN KEY FK_ECA209CD6BF700BD');
  51.         $this->addSql('ALTER TABLE user_role DROP FOREIGN KEY FK_2DE8C6A3D60322AC');
  52.         $this->addSql('ALTER TABLE comment_task DROP FOREIGN KEY FK_744879C98DB60186');
  53.         $this->addSql('ALTER TABLE entry DROP FOREIGN KEY FK_2B219D708DB60186');
  54.         $this->addSql('ALTER TABLE user_task DROP FOREIGN KEY FK_28FF97EC8DB60186');
  55.         $this->addSql('ALTER TABLE comment_task DROP FOREIGN KEY FK_744879C9A76ED395');
  56.         $this->addSql('ALTER TABLE entry DROP FOREIGN KEY FK_2B219D70A76ED395');
  57.         $this->addSql('ALTER TABLE files_history DROP FOREIGN KEY FK_86676F1CA76ED395');
  58.         $this->addSql('ALTER TABLE user_role DROP FOREIGN KEY FK_2DE8C6A3A76ED395');
  59.         $this->addSql('ALTER TABLE user_task DROP FOREIGN KEY FK_28FF97ECA76ED395');
  60.         $this->addSql('DROP TABLE comment_task');
  61.         $this->addSql('DROP TABLE entry');
  62.         $this->addSql('DROP TABLE files');
  63.         $this->addSql('DROP TABLE files_history');
  64.         $this->addSql('DROP TABLE folder');
  65.         $this->addSql('DROP TABLE folder_status');
  66.         $this->addSql('DROP TABLE parameter_time_clock');
  67.         $this->addSql('DROP TABLE role');
  68.         $this->addSql('DROP TABLE task');
  69.         $this->addSql('DROP TABLE user');
  70.         $this->addSql('DROP TABLE user_role');
  71.         $this->addSql('DROP TABLE user_task');
  72.     }
  73. }