<?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 Version20260324143000 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 cmr_measurement (
id INT AUTO_INCREMENT NOT NULL COMMENT \'Internal ID\',
exposure_id INT NOT NULL COMMENT \'Internal ID\',
measurement_method_id INT NOT NULL COMMENT \'Internal ID\',
measurement_type_id INT NOT NULL COMMENT \'Internal ID\',
created INT NOT NULL COMMENT \'Entity creation date as UNIX timestamp\',
active SMALLINT DEFAULT 1 NOT NULL COMMENT \'Indicator if entity is active\',
last_active_date DATE DEFAULT NULL COMMENT \'Last active date\',
date DATETIME NOT NULL COMMENT \'Date\',
value INT DEFAULT NULL COMMENT \'Value\',
comparison VARCHAR(3) NOT NULL COMMENT \'Comparison\',
unit VARCHAR(10) DEFAULT NULL COMMENT \'Unit\',
method VARCHAR(255) NOT NULL COMMENT \'Method\',
notes TINYTEXT DEFAULT NULL COMMENT \'Notes\',
created_by_id INT NOT NULL COMMENT \'Internal ID\',
updated_by_id INT DEFAULT NULL COMMENT \'Internal ID\',
INDEX IDX_CMR_MEASUREMENT_EXPOSURE_ID (exposure_id),
INDEX IDX_CMR_MEASUREMENT_MEASUREMENT_METHOD_ID (measurement_method_id),
INDEX IDX_CMR_MEASUREMENT_MEASUREMENT_TYPE_ID (measurement_type_id),
INDEX IDX_CMR_MEASUREMENT_CREATED_BY_ID (created_by_id),
INDEX IDX_CMR_MEASUREMENT_UPDATED_BY_ID (updated_by_id),
PRIMARY KEY(id)
)
DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
'
);
$this->addSql(
'
ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_EXPOSURE_ID FOREIGN KEY
(exposure_id) REFERENCES cmr_exposure (id) ON DELETE CASCADE
'
);
$this->addSql(
'
ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_MEASUREMENT_METHOD_ID FOREIGN KEY
(measurement_method_id) REFERENCES cmr_measurement_method (id)
'
);
$this->addSql(
'
ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_MEASUREMENT_TYPE_ID FOREIGN KEY
(measurement_type_id) REFERENCES cmr_measurement_type (id)
'
);
$this->addSql(
'
ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_CREATED_BY_ID FOREIGN KEY
(created_by_id) REFERENCES user (id)
'
);
$this->addSql(
'
ALTER TABLE cmr_measurement ADD CONSTRAINT FK_CMR_MEASUREMENT_UPDATED_BY_ID FOREIGN KEY
(updated_by_id) REFERENCES user (id)
'
);
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE cmr_measurement DROP FOREIGN KEY FK_CMR_MEASUREMENT_EXPOSURE_ID');
$this->addSql('ALTER TABLE cmr_measurement DROP FOREIGN KEY FK_CMR_MEASUREMENT_MEASUREMENT_METHOD_ID');
$this->addSql('ALTER TABLE cmr_measurement DROP FOREIGN KEY FK_CMR_MEASUREMENT_MEASUREMENT_TYPE_ID');
$this->addSql('DROP TABLE cmr_measurement');
}
}