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) ->setQuestion($question)
->setOptionId($optionId) ->setOptionId($optionId)
->setValue((int) $optionValue) ->setValue((int) $optionValue)
->setSessionId($sessionId) ->setSessionId($sessionId ?: null)
; ;
$em = Database::getManager(); $em = Database::getManager();

@ -32,9 +32,11 @@ final class Version20201211114900 extends AbstractMigrationChamilo
if ($schema->hasTable('c_survey_answer')) { if ($schema->hasTable('c_survey_answer')) {
$table = $schema->getTable('c_survey_answer'); $table = $schema->getTable('c_survey_answer');
if (!$table->hasColumn('session_id')) { if (!$table->hasColumn('session_id')) {
$this->addSql( $this->addSql('ALTER TABLE c_survey_answer ADD session_id INT NULL');
'ALTER TABLE c_survey_answer ADD session_id INT NOT 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')) { if (!$table->hasColumn('c_lp_item_id')) {
$this->addSql( $this->addSql(

@ -34,8 +34,8 @@ class CSurveyAnswer
#[ORM\Column(name: 'user', type: 'string', length: 250, nullable: false)] #[ORM\Column(name: 'user', type: 'string', length: 250, nullable: false)]
protected string $user; protected string $user;
#[ORM\Column(name: 'session_id', type: 'integer', nullable: false)] #[ORM\Column(name: 'session_id', type: 'integer', nullable: true)]
protected int $sessionId; protected ?int $sessionId;
#[ORM\Column(name: 'c_lp_item_id', type: 'integer', nullable: false)] #[ORM\Column(name: 'c_lp_item_id', type: 'integer', nullable: false)]
protected int $lpItemId; protected int $lpItemId;
@ -120,24 +120,12 @@ class CSurveyAnswer
return $this; return $this;
} }
/** public function getSessionId(): ?int
* Get session Id.
*
* @return int
*/
public function getSessionId()
{ {
return $this->sessionId; return $this->sessionId;
} }
/** public function setSessionId(?int $sessionId = null): static
* Set session Id.
*
* @param int $sessionId
*
* @return CSurveyAnswer
*/
public function setSessionId($sessionId)
{ {
$this->sessionId = $sessionId; $this->sessionId = $sessionId;

Loading…
Cancel
Save