Set c_survey_answer.session_id as nullable

pull/5063/head
Angel Fernando Quiroz Campos 2 years ago
parent 05d62d09f0
commit d17eb5fd11
  1. 2
      public/main/survey/surveyUtil.class.php
  2. 8
      src/CoreBundle/Migrations/Schema/V200/Version20201211114900.php
  3. 20
      src/CourseBundle/Entity/CSurveyAnswer.php

@ -120,7 +120,7 @@ class SurveyUtil
->setQuestion($question)
->setOptionId($optionId)
->setValue((int) $optionValue)
->setSessionId($sessionId)
->setSessionId($sessionId ?: null)
;
$em = Database::getManager();

@ -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(

@ -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;

Loading…
Cancel
Save