migrations/Version20230224113411.php line 1

Open in your IDE?
  1. <?php
  2. /* @noinspection PhpUnused */
  3. declare(strict_types=1);
  4. namespace DoctrineMigrations;
  5. use Doctrine\DBAL\Schema\Schema;
  6. use Doctrine\Migrations\AbstractMigration;
  7. /**
  8.  * Auto-generated Migration: Please modify to your needs!
  9.  *
  10.  * @package API
  11.  * @internal
  12.  */
  13. final class Version20230224113411 extends AbstractMigration
  14. {
  15.     public function down(Schema $schema): void
  16.     {
  17.         // this down() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6FA7ECE841');
  19.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6F8C03F15C');
  20.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6FD3C69772');
  21.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6FB996D56C');
  22.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6FDB3BF2E8');
  23.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6F8B66BF13');
  24.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6F7D182D95');
  25.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6F2793CC5E');
  26.         $this->addSql('ALTER TABLE accident DROP FOREIGN KEY FK_8F31DB6F9D1A2C23');
  27.         $this->addSql('ALTER TABLE accident_injury DROP FOREIGN KEY FK_5F05591516D8554C');
  28.         $this->addSql('ALTER TABLE accident_injury DROP FOREIGN KEY FK_5F055915A515F27A');
  29.         $this->addSql('ALTER TABLE accident_injury DROP FOREIGN KEY FK_5F05591530AF3734');
  30.         $this->addSql('ALTER TABLE accident_protective_gear DROP FOREIGN KEY FK_8F62F2A016D8554C');
  31.         $this->addSql('ALTER TABLE accident_protective_gear DROP FOREIGN KEY FK_8F62F2A0190B0335');
  32.         $this->addSql('DROP TABLE accident');
  33.         $this->addSql('DROP TABLE accident_injury');
  34.         $this->addSql('DROP TABLE accident_protective_gear');
  35.     }
  36.     public function getDescription(): string
  37.     {
  38.         return
  39.             "Introduces accident table.\n" .
  40.             "Introduces accident_protective_gear table.\n" .
  41.             "Introduces accident_injury table.";
  42.     }
  43.     public function up(Schema $schema): void
  44.     {
  45.         // this up() migration is auto-generated, please modify it to your needs
  46.         $this->addSql(
  47.             '
  48.                 CREATE TABLE accident (
  49.                     id INT AUTO_INCREMENT NOT NULL COMMENT \'Internal ID\',
  50.                     accident_status_id VARCHAR(32) NOT NULL COMMENT \'Internal accident status ID\',
  51.                     employee_id INT DEFAULT NULL COMMENT \'Internal ID\',
  52.                     casualty_gender_id VARCHAR(1) NOT NULL COMMENT \'Internal gender ID\',
  53.                     casualty_nationality_id VARCHAR(2) DEFAULT NULL
  54.                         COMMENT \'Country code in upper case (ISO 3166-1 Alpha-2)\',
  55.                     casualty_employee_type_id VARCHAR(16) NOT NULL COMMENT \'Internal employee type ID\',
  56.                     casualty_employee_legal_state_id VARCHAR(32) DEFAULT NULL
  57.                         COMMENT \'Internal employee legal state ID\',
  58.                     created_by_user_id INT NOT NULL COMMENT \'Internal ID\',
  59.                     updated_by_user_id INT DEFAULT NULL COMMENT \'Internal ID\',
  60.                     created INT NOT NULL COMMENT \'Entity creation date as UNIX timestamp\',
  61.                     active SMALLINT DEFAULT 1 NOT NULL COMMENT \'Indicator if entity is active\',
  62.                     casualty_birthday DATE NOT NULL COMMENT \'Casualty birthday\',
  63.                     casualty_last_name VARCHAR(225) NOT NULL COMMENT \'Casualty last name\',
  64.                     casualty_first_name VARCHAR(225) NOT NULL COMMENT \'Casualty first name\',
  65.                     casualty_address VARCHAR(225) NOT NULL COMMENT \'Postal address for casualty\',
  66.                     casualty_zip_code VARCHAR(16) NOT NULL COMMENT \'Zip code of address for casualty\',
  67.                     casualty_city VARCHAR(225) NOT NULL COMMENT \'City of address for casualty\',
  68.                     casualty_health_insurance_provider_full_address VARCHAR(1000) NOT NULL
  69.                         COMMENT \'Casualty health insurance provider full address\',
  70.                     casualty_job_title VARCHAR(225) DEFAULT NULL COMMENT \'Casualty job title\',
  71.                     casualty_job_entry_date DATE DEFAULT NULL COMMENT \'Casualty job entry date\',
  72.                     casualty_org_unit_name VARCHAR(225) NOT NULL COMMENT \'Casualty org unit name\',
  73.                     accident_type SMALLINT NOT NULL COMMENT \'Flag for accident type\',
  74.                     accident_date_time DATETIME NOT NULL COMMENT \'Accident date and time\',
  75.                     accident_org_unit_name VARCHAR(225) NOT NULL COMMENT \'Accident org unit name\',
  76.                     accident_org_unit_id INT NOT NULL COMMENT \'Internal ID\',
  77.                     place VARCHAR(1000) DEFAULT NULL COMMENT \'Place\',
  78.                     description TEXT NOT NULL COMMENT \'Description\',
  79.                     fatal SMALLINT NOT NULL COMMENT \'Flag if accident was fatal\',
  80.                     accident_in_home_office SMALLINT NOT NULL COMMENT \'Flag if accident happened in the home office\',
  81.                     description_issuer_casualty SMALLINT NOT NULL
  82.                         COMMENT \'Flag if description issuer was the casualty\',
  83.                     first_person_to_recognize_full_address VARCHAR(1000) DEFAULT NULL
  84.                         COMMENT \'First person to recognize full address\',
  85.                     first_person_to_recognize_eyewitness SMALLINT DEFAULT NULL
  86.                         COMMENT \'Flag if first person to recognize was an eyewitness\',
  87.                     first_aid_full_address VARCHAR(1000) DEFAULT NULL COMMENT \'First aid full address\',
  88.                     casualty_work_starting_time TIME NOT NULL COMMENT \'Working day start time of casualty\',
  89.                     casualty_work_ending_time TIME NOT NULL COMMENT \'Working day end time of casualty\',
  90.                     casualty_stopped_working SMALLINT NOT NULL
  91.                         COMMENT \'Flag if casualty stopped working after accident\',
  92.                     casualty_stopped_working_date_time DATETIME DEFAULT NULL
  93.                         COMMENT \'Date and time when casualty stopped working\',
  94.                     casualty_restarted_working_date DATE DEFAULT NULL COMMENT \'Date when casualty restarted working\',
  95.                     casualty_lost_days INT DEFAULT NULL COMMENT \'Lost working days for casualty\',
  96.                     authorized_person_representative_full_name VARCHAR(500) DEFAULT NULL
  97.                         COMMENT \'Full name of approving authorized person representative\',
  98.                     work_council_representative_full_name VARCHAR(500) DEFAULT NULL
  99.                         COMMENT \'Full name of approving work council representative\',
  100.                     updated INT DEFAULT NULL COMMENT \'Last accident update date as UNIX timestamp\',
  101.                     last_active_date DATE DEFAULT NULL COMMENT \'Last active date\',
  102.                     INDEX IDX_8F31DB6FA7ECE841 (accident_status_id),
  103.                     INDEX IDX_8F31DB6F8C03F15C (employee_id),
  104.                     INDEX IDX_8F31DB6FD3C69772 (casualty_gender_id),
  105.                     INDEX IDX_8F31DB6FB996D56C (casualty_nationality_id),
  106.                     INDEX IDX_8F31DB6FDB3BF2E8 (casualty_employee_type_id),
  107.                     INDEX IDX_8F31DB6F8B66BF13 (casualty_employee_legal_state_id),
  108.                     INDEX IDX_8F31DB6F7D182D95 (created_by_user_id),
  109.                     INDEX IDX_8F31DB6F2793CC5E (updated_by_user_id),
  110.                     INDEX IDX_8F31DB6F9D1A2C23 (accident_org_unit_id),
  111.                     PRIMARY KEY(id)
  112.                 ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
  113.             '
  114.         );
  115.         $this->addSql(
  116.             '
  117.                 CREATE TABLE accident_injury (
  118.                     accident_id INT NOT NULL COMMENT \'Internal ID\',
  119.                     body_part_id VARCHAR(16) NOT NULL COMMENT \'Internal body part ID\',
  120.                     injury_type_id VARCHAR(32) NOT NULL COMMENT \'Internal injury type ID\',
  121.                     INDEX IDX_5F05591516D8554C (accident_id),
  122.                     INDEX IDX_5F055915A515F27A (body_part_id),
  123.                     INDEX IDX_5F05591530AF3734 (injury_type_id),
  124.                     PRIMARY KEY(accident_id, body_part_id, injury_type_id)
  125.                 ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
  126.             '
  127.         );
  128.         $this->addSql(
  129.             '
  130.                 CREATE TABLE accident_protective_gear (
  131.                     accident_id INT NOT NULL COMMENT \'Internal ID\',
  132.                     protective_gear_id INT NOT NULL COMMENT \'Internal ID\',
  133.                     INDEX IDX_8F62F2A016D8554C (accident_id),
  134.                     INDEX IDX_8F62F2A0190B0335 (protective_gear_id),
  135.                     PRIMARY KEY(accident_id, protective_gear_id)
  136.                 ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
  137.             '
  138.         );
  139.         $this->addSql(
  140.             '
  141.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6FA7ECE841 FOREIGN KEY
  142.                     (accident_status_id) REFERENCES accident_status (id)
  143.             '
  144.         );
  145.         $this->addSql(
  146.             '
  147.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6F8C03F15C FOREIGN KEY
  148.                     (employee_id) REFERENCES employee (id)
  149.             '
  150.         );
  151.         $this->addSql(
  152.             '
  153.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6FD3C69772 FOREIGN KEY
  154.                     (casualty_gender_id) REFERENCES gender (id)
  155.             '
  156.         );
  157.         $this->addSql(
  158.             '
  159.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6FB996D56C FOREIGN KEY
  160.                     (casualty_nationality_id) REFERENCES country (id)
  161.             '
  162.         );
  163.         $this->addSql(
  164.             '
  165.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6FDB3BF2E8 FOREIGN KEY
  166.                     (casualty_employee_type_id) REFERENCES employee_type (id)
  167.             '
  168.         );
  169.         $this->addSql(
  170.             '
  171.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6F8B66BF13 FOREIGN KEY
  172.                     (casualty_employee_legal_state_id) REFERENCES employee_legal_state (id)
  173.             '
  174.         );
  175.         $this->addSql(
  176.             '
  177.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6F7D182D95 FOREIGN KEY
  178.                     (created_by_user_id) REFERENCES user (id)
  179.             '
  180.         );
  181.         $this->addSql(
  182.             '
  183.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6F2793CC5E FOREIGN KEY
  184.                     (updated_by_user_id) REFERENCES user (id)
  185.             '
  186.         );
  187.         $this->addSql(
  188.             '
  189.                 ALTER TABLE accident ADD CONSTRAINT FK_8F31DB6F9D1A2C23 FOREIGN KEY
  190.                     (accident_org_unit_id) REFERENCES org_unit (id)
  191.             '
  192.         );
  193.         $this->addSql(
  194.             '
  195.                 ALTER TABLE accident_injury ADD CONSTRAINT FK_5F05591516D8554C FOREIGN KEY
  196.                     (accident_id) REFERENCES accident (id) ON DELETE CASCADE
  197.             '
  198.         );
  199.         $this->addSql(
  200.             '
  201.                 ALTER TABLE accident_injury ADD CONSTRAINT FK_5F055915A515F27A FOREIGN KEY
  202.                     (body_part_id) REFERENCES body_part (id)
  203.             '
  204.         );
  205.         $this->addSql(
  206.             '
  207.                 ALTER TABLE accident_injury ADD CONSTRAINT FK_5F05591530AF3734 FOREIGN KEY
  208.                     (injury_type_id) REFERENCES injury_type (id)
  209.             '
  210.         );
  211.         $this->addSql(
  212.             '
  213.                 ALTER TABLE accident_protective_gear ADD CONSTRAINT FK_8F62F2A016D8554C FOREIGN KEY
  214.                     (accident_id) REFERENCES accident (id) ON DELETE CASCADE
  215.             '
  216.         );
  217.         $this->addSql(
  218.             '
  219.                 ALTER TABLE accident_protective_gear ADD CONSTRAINT FK_8F62F2A0190B0335 FOREIGN KEY
  220.                     (protective_gear_id) REFERENCES protective_gear (id)
  221.             '
  222.         );
  223.     }
  224. }