From d17eb5fd112bd4655e59680190f29df97b67d307 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Fri, 12 Jan 2024 16:37:10 -0500 Subject: [PATCH] Set c_survey_answer.session_id as nullable --- public/main/survey/surveyUtil.class.php | 2 +- .../Schema/V200/Version20201211114900.php | 8 +++++--- src/CourseBundle/Entity/CSurveyAnswer.php | 20 ++++--------------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/public/main/survey/surveyUtil.class.php b/public/main/survey/surveyUtil.class.php index f4f90c3f19..58d708fde4 100644 --- a/public/main/survey/surveyUtil.class.php +++ b/public/main/survey/surveyUtil.class.php @@ -120,7 +120,7 @@ class SurveyUtil ->setQuestion($question) ->setOptionId($optionId) ->setValue((int) $optionValue) - ->setSessionId($sessionId) + ->setSessionId($sessionId ?: null) ; $em = Database::getManager(); diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20201211114900.php b/src/CoreBundle/Migrations/Schema/V200/Version20201211114900.php index 3eb41a1b56..3aa1e25b52 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20201211114900.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20201211114900.php @@ -32,9 +32,11 @@ final class Version20201211114900 extends AbstractMigrationChamilo if ($schema->hasTable('c_survey_answer')) { $table = $schema->getTable('c_survey_answer'); if (!$table->hasColumn('session_id')) { - $this->addSql( - 'ALTER TABLE c_survey_answer ADD session_id INT NOT NULL' - ); + $this->addSql('ALTER TABLE c_survey_answer ADD session_id INT NULL'); + } else { + $this->addSql('ALTER TABLE c_survey_answer CHANGE session_id session_id INT DEFAULT NULL'); + $this->addSql('UPDATE c_survey_answer SET session_id = NULL WHERE session_id = 0'); + $this->addSql('DELETE FROM c_survey_answer WHERE session_id IS NOT NULL AND session_id NOT IN (SELECT id FROM session)'); } if (!$table->hasColumn('c_lp_item_id')) { $this->addSql( diff --git a/src/CourseBundle/Entity/CSurveyAnswer.php b/src/CourseBundle/Entity/CSurveyAnswer.php index d7670bad9d..1adbb4bdc2 100644 --- a/src/CourseBundle/Entity/CSurveyAnswer.php +++ b/src/CourseBundle/Entity/CSurveyAnswer.php @@ -34,8 +34,8 @@ class CSurveyAnswer #[ORM\Column(name: 'user', type: 'string', length: 250, nullable: false)] protected string $user; - #[ORM\Column(name: 'session_id', type: 'integer', nullable: false)] - protected int $sessionId; + #[ORM\Column(name: 'session_id', type: 'integer', nullable: true)] + protected ?int $sessionId; #[ORM\Column(name: 'c_lp_item_id', type: 'integer', nullable: false)] protected int $lpItemId; @@ -120,24 +120,12 @@ class CSurveyAnswer return $this; } - /** - * Get session Id. - * - * @return int - */ - public function getSessionId() + public function getSessionId(): ?int { return $this->sessionId; } - /** - * Set session Id. - * - * @param int $sessionId - * - * @return CSurveyAnswer - */ - public function setSessionId($sessionId) + public function setSessionId(?int $sessionId = null): static { $this->sessionId = $sessionId;