From ef58acabc0b01b60409c2f16506d3a6c89d85dc5 Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Mon, 5 Sep 2016 13:07:59 +0200 Subject: [PATCH] Fix wrongly remove to_group_id rows --- app/Migrations/Schema/V110/Version20150603181728.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Migrations/Schema/V110/Version20150603181728.php b/app/Migrations/Schema/V110/Version20150603181728.php index 3513f4f7be..9c1c0cf6a5 100644 --- a/app/Migrations/Schema/V110/Version20150603181728.php +++ b/app/Migrations/Schema/V110/Version20150603181728.php @@ -56,7 +56,6 @@ class Version20150603181728 extends AbstractMigrationChamilo // Remove inconsistencies about non-existing courses $this->addSql("DELETE FROM c_item_property WHERE session_id IS NOT NULL and session_id <> 0 AND session_id NOT IN (SELECT id FROM session)"); - $this->addSql("DELETE FROM c_item_property WHERE to_group_id IS NOT NULL AND to_group_id <> 0 AND to_group_id NOT IN (SELECT iid FROM c_group_info)"); $this->addSql("DELETE FROM c_item_property WHERE to_user_id IS NOT NULL and to_user_id <> 0 AND to_user_id NOT IN (SELECT id FROM user)"); $this->addSql("DELETE FROM c_item_property WHERE to_user_id IS NOT NULL AND to_user_id <> 0 AND to_user_id NOT IN (SELECT id FROM user)"); $this->addSql("DELETE FROM c_item_property WHERE insert_user_id IS NOT NULL AND insert_user_id <> 0 AND insert_user_id NOT IN (SELECT id FROM user)"); @@ -68,8 +67,9 @@ class Version20150603181728 extends AbstractMigrationChamilo $this->addSql("DELETE FROM c_item_property WHERE c_id NOT IN (SELECT id FROM course)"); $this->addSql("UPDATE c_item_property SET to_group_id = NULL WHERE to_group_id = 0"); - $this->addSql("DELETE FROM c_item_property WHERE to_group_id IS NOT NULL AND to_group_id NOT IN (SELECT id FROM c_group_info)"); + $this->addSql('UPDATE c_item_property cip SET cip.to_group_id = (SELECT cgi.iid FROM c_group_info cgi WHERE cgi.c_id = cip.c_id AND cgi.id = cip.to_group_id)'); + $this->addSql("DELETE FROM c_item_property WHERE to_group_id IS NOT NULL AND to_group_id <> 0 AND to_group_id NOT IN (SELECT iid FROM c_group_info)"); $this->addSql('UPDATE c_item_property SET to_user_id = NULL WHERE to_user_id = 0'); $this->addSql('UPDATE c_item_property SET insert_user_id = NULL WHERE insert_user_id = 0'); $this->addSql('UPDATE c_item_property SET session_id = NULL WHERE session_id = 0');