diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20170626122900.php b/src/CoreBundle/Migrations/Schema/V200/Version20170626122900.php index b373a47334..6a45c9a488 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20170626122900.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20170626122900.php @@ -143,8 +143,9 @@ class Version20170626122900 extends AbstractMigrationChamilo $this->addSql('ALTER TABLE user_rel_course_vote CHANGE c_id c_id INT DEFAULT NULL'); $this->addSql('DELETE FROM user_rel_course_vote WHERE c_id NOT IN (SELECT id FROM course)'); - $this->addSql('UPDATE user_rel_course_vote SET session_id = null WHERE session_id = 0 '); + $this->addSql('UPDATE user_rel_course_vote SET session_id = NULL WHERE session_id = 0 '); $this->addSql('ALTER TABLE user_rel_course_vote CHANGE session_id session_id INT DEFAULT NULL'); + $this->addSql('DELETE FROM user_rel_course_vote WHERE session_id IS NOT NULL AND session_id NOT IN (SELECT id FROM session)'); $this->addSql('ALTER TABLE user_rel_course_vote CHANGE url_id url_id INT DEFAULT NULL'); diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20180319145700.php b/src/CoreBundle/Migrations/Schema/V200/Version20180319145700.php index 8064ad1d4b..c988cf64f5 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20180319145700.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20180319145700.php @@ -140,15 +140,15 @@ class Version20180319145700 extends AbstractMigrationChamilo $this->addSql('DROP INDEX idx_survey_inv_code ON c_survey_invitation;'); } - $this->addSql('DELETE FROM c_survey_invitation WHERE c_id IS NULL OR c_id = 0 '); - $this->addSql('UPDATE c_survey_invitation SET session_id = NULL WHERE session_id = 0 '); - $this->addSql('UPDATE c_survey_invitation SET group_id = NULL WHERE group_id = 0 '); - $this->addSql('ALTER TABLE c_survey_invitation CHANGE c_id c_id INT DEFAULT NULL'); $this->addSql('ALTER TABLE c_survey_invitation CHANGE session_id session_id INT DEFAULT NULL'); $this->addSql('ALTER TABLE c_survey_invitation CHANGE group_id group_id INT DEFAULT NULL'); - $this->addSql('DELETE FROM c_survey_invitation WHERE session_id NOT IN (SELECT id FROM session)'); + $this->addSql('DELETE FROM c_survey_invitation WHERE c_id IS NULL OR c_id = 0 '); + $this->addSql('UPDATE c_survey_invitation SET session_id = NULL WHERE session_id = 0 '); + $this->addSql('UPDATE c_survey_invitation SET group_id = NULL WHERE group_id = 0 '); + + $this->addSql('DELETE FROM c_survey_invitation WHERE session_id IS NOT NULL AND session_id NOT IN (SELECT id FROM session)'); if (!$table->hasForeignKey('FK_D0BC7C291D79BD3')) { $this->addSql( diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20180928172830.php b/src/CoreBundle/Migrations/Schema/V200/Version20180928172830.php index 6032558560..bec816cb0e 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20180928172830.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20180928172830.php @@ -69,14 +69,35 @@ class Version20180928172830 extends AbstractMigrationChamilo if (!$table->hasColumn('resource_node_id')) { $this->addSql('ALTER TABLE c_tool ADD resource_node_id BIGINT DEFAULT NULL'); + } + + // @todo remove/move LP/Link shortcuts. + $this->addSql('DELETE FROM c_tool WHERE tool_id = 0 OR tool_id IS NULL'); + $this->addSql('UPDATE c_tool SET session_id = NULL WHERE session_id = 0 '); - // @todo remove/move LP/Link shortcuts. - $this->addSql('DELETE FROM c_tool WHERE tool_id = 0 OR tool_id IS NULL'); + $this->addSql('DELETE FROM c_tool WHERE session_id IS NOT NULL AND session_id NOT IN (SELECT id FROM session)'); - $this->addSql('ALTER TABLE c_tool ADD CONSTRAINT FK_84566580613FECDF FOREIGN KEY (session_id) REFERENCES session (id)'); + if (!$table->hasForeignKey('FK_84566580613FECDF')) { + $this->addSql( + 'ALTER TABLE c_tool ADD CONSTRAINT FK_84566580613FECDF FOREIGN KEY (session_id) REFERENCES session (id)' + ); + } + + if (!$table->hasForeignKey('FK_845665808F7B22CC')) { $this->addSql('ALTER TABLE c_tool ADD CONSTRAINT FK_845665808F7B22CC FOREIGN KEY (tool_id) REFERENCES tool (id)'); - $this->addSql('ALTER TABLE c_tool ADD CONSTRAINT FK_845665801BAD783F FOREIGN KEY (resource_node_id) REFERENCES resource_node (id) ON DELETE CASCADE'); + } + + if (!$table->hasForeignKey('FK_845665801BAD783F')) { + $this->addSql( + 'ALTER TABLE c_tool ADD CONSTRAINT FK_845665801BAD783F FOREIGN KEY (resource_node_id) REFERENCES resource_node (id) ON DELETE CASCADE' + ); + } + + if (!$table->hasIndex('IDX_845665808F7B22CC')) { $this->addSql('CREATE INDEX IDX_845665808F7B22CC ON c_tool (tool_id)'); + } + + if (!$table->hasIndex('UNIQ_845665801BAD783F')) { $this->addSql('CREATE UNIQUE INDEX UNIQ_845665801BAD783F ON c_tool (resource_node_id)'); } }