migrations/Version20260324143000.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 Version20260324143000 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(
  19.             '
  20.                 CREATE TABLE cmr_measurement (
  21.                     id INT AUTO_INCREMENT NOT NULL COMMENT \'Internal ID\', 
  22.                     exposure_id INT NOT NULL COMMENT \'Internal ID\', 
  23.                     measurement_method_id INT NOT NULL COMMENT \'Internal ID\', 
  24.                     measurement_type_id INT NOT NULL COMMENT \'Internal ID\', 
  25.                     created INT NOT NULL COMMENT \'Entity creation date as UNIX timestamp\', 
  26.                     active SMALLINT DEFAULT 1 NOT NULL COMMENT \'Indicator if entity is active\', 
  27.                     last_active_date DATE DEFAULT NULL COMMENT \'Last active date\', 
  28.                     date DATETIME NOT NULL COMMENT \'Date\', 
  29.                     value INT DEFAULT NULL COMMENT \'Value\', 
  30.                     comparison VARCHAR(3) NOT NULL COMMENT \'Comparison\', 
  31.                     unit VARCHAR(10) DEFAULT NULL COMMENT \'Unit\', 
  32.                     method VARCHAR(255) NOT NULL COMMENT \'Method\', 
  33.                     notes TINYTEXT DEFAULT NULL COMMENT \'Notes\', 
  34.                     created_by_id INT NOT NULL COMMENT \'Internal ID\',
  35.                     updated_by_id INT DEFAULT NULL COMMENT \'Internal ID\',
  36.                     INDEX IDX_CMR_MEASUREMENT_EXPOSURE_ID (exposure_id), 
  37.                     INDEX IDX_CMR_MEASUREMENT_MEASUREMENT_METHOD_ID (measurement_method_id), 
  38.                     INDEX IDX_CMR_MEASUREMENT_MEASUREMENT_TYPE_ID (measurement_type_id), 
  39.                     INDEX IDX_CMR_MEASUREMENT_CREATED_BY_ID (created_by_id), 
  40.                     INDEX IDX_CMR_MEASUREMENT_UPDATED_BY_ID (updated_by_id), 
  41.                     PRIMARY KEY(id)
  42.                 ) 
  43.                 DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
  44.             '
  45.         );
  46.         $this->addSql(
  47.             '
  48.                 ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_EXPOSURE_ID FOREIGN KEY 
  49.                     (exposure_id) REFERENCES cmr_exposure (id) ON DELETE CASCADE
  50.             '
  51.         );
  52.         $this->addSql(
  53.             '
  54.                 ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_MEASUREMENT_METHOD_ID FOREIGN KEY 
  55.                     (measurement_method_id) REFERENCES cmr_measurement_method (id)
  56.             '
  57.         );
  58.         $this->addSql(
  59.             '
  60.                 ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_MEASUREMENT_TYPE_ID FOREIGN KEY 
  61.                     (measurement_type_id) REFERENCES cmr_measurement_type (id)
  62.             '
  63.         );
  64.         $this->addSql(
  65.             '
  66.                 ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_CREATED_BY_ID FOREIGN KEY 
  67.                     (created_by_id) REFERENCES user (id)
  68.             '
  69.         );
  70.         $this->addSql(
  71.             '
  72.                 ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_UPDATED_BY_ID FOREIGN KEY 
  73.                     (updated_by_id) REFERENCES user (id)
  74.             '
  75.         );
  76.     }
  77.     public function down(Schema $schema): void
  78.     {
  79.         // this down() migration is auto-generated, please modify it to your needs
  80.         $this->addSql('ALTER TABLE cmr_measurement DROP FOREIGN KEY FK_CMR_MEASUREMENT_EXPOSURE_ID');
  81.         $this->addSql('ALTER TABLE cmr_measurement DROP FOREIGN KEY FK_CMR_MEASUREMENT_MEASUREMENT_METHOD_ID');
  82.         $this->addSql('ALTER TABLE cmr_measurement DROP FOREIGN KEY FK_CMR_MEASUREMENT_MEASUREMENT_TYPE_ID');
  83.         $this->addSql('DROP TABLE cmr_measurement');
  84.     }
  85. }