1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/* For licensing terms, see /license.txt */ |
4
|
|
|
|
5
|
|
|
namespace Chamilo\CoreBundle\Migrations\Schema\V200; |
6
|
|
|
|
7
|
|
|
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo; |
8
|
|
|
use Doctrine\DBAL\Schema\Schema; |
9
|
|
|
use Doctrine\DBAL\Types\Types; |
10
|
|
|
|
11
|
|
|
/** |
12
|
|
|
* Group changes. |
13
|
|
|
*/ |
14
|
|
|
class Version20170904173000 extends AbstractMigrationChamilo |
15
|
|
|
{ |
16
|
|
|
public function up(Schema $schema): void |
17
|
|
|
{ |
18
|
|
|
$table = $schema->getTable('c_group_rel_user'); |
19
|
|
|
|
20
|
|
|
$this->addSql('DELETE FROM c_group_rel_user WHERE user_id NOT IN (SELECT id FROM user)'); |
21
|
|
|
$this->addSql('DELETE FROM c_group_rel_user WHERE group_id NOT IN (SELECT iid FROM c_group_info)'); |
22
|
|
|
if (false === $table->hasForeignKey('FK_C5D3D49FA76ED395')) { |
23
|
|
|
$this->addSql( |
24
|
|
|
'ALTER TABLE c_group_rel_user ADD CONSTRAINT FK_C5D3D49FA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)' |
25
|
|
|
); |
26
|
|
|
} |
27
|
|
|
|
28
|
|
|
if (false === $table->hasForeignKey('FK_C5D3D49FFE54D947')) { |
29
|
|
|
$this->addSql( |
30
|
|
|
'ALTER TABLE c_group_rel_user ADD CONSTRAINT FK_C5D3D49FFE54D947 FOREIGN KEY (group_id) REFERENCES c_group_info (iid)' |
31
|
|
|
); |
32
|
|
|
} |
33
|
|
|
if (false === $table->hasIndex('IDX_C5D3D49FA76ED395')) { |
34
|
|
|
$this->addSql('CREATE INDEX IDX_C5D3D49FA76ED395 ON c_group_rel_user (user_id)'); |
35
|
|
|
} |
36
|
|
|
if (false === $table->hasIndex('IDX_C5D3D49FFE54D947')) { |
37
|
|
|
$this->addSql('CREATE INDEX IDX_C5D3D49FFE54D947 ON c_group_rel_user (group_id)'); |
38
|
|
|
} |
39
|
|
|
|
40
|
|
|
$this->addSql('DELETE FROM c_group_rel_tutor WHERE user_id NOT IN (SELECT id FROM user)'); |
41
|
|
|
$this->addSql('DELETE FROM c_group_rel_tutor WHERE group_id NOT IN (SELECT iid FROM c_group_info)'); |
42
|
|
|
|
43
|
|
|
$table = $schema->getTable('c_group_rel_tutor'); |
44
|
|
|
if (false === $table->hasForeignKey('FK_F6FF71ABA76ED395')) { |
45
|
|
|
$this->addSql( |
46
|
|
|
'ALTER TABLE c_group_rel_tutor ADD CONSTRAINT FK_F6FF71ABA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)' |
47
|
|
|
); |
48
|
|
|
} |
49
|
|
|
if (false === $table->hasForeignKey('FK_F6FF71ABFE54D947')) { |
50
|
|
|
$this->addSql( |
51
|
|
|
'ALTER TABLE c_group_rel_tutor ADD CONSTRAINT FK_F6FF71ABFE54D947 FOREIGN KEY (group_id) REFERENCES c_group_info (iid)' |
52
|
|
|
); |
53
|
|
|
} |
54
|
|
|
if (false === $table->hasIndex('IDX_F6FF71ABA76ED395')) { |
55
|
|
|
$this->addSql('CREATE INDEX IDX_F6FF71ABA76ED395 ON c_group_rel_tutor (user_id)'); |
56
|
|
|
} |
57
|
|
|
if (false === $table->hasIndex('IDX_F6FF71ABFE54D947')) { |
58
|
|
|
$this->addSql('CREATE INDEX IDX_F6FF71ABFE54D947 ON c_group_rel_tutor (group_id)'); |
59
|
|
|
} |
60
|
|
|
} |
61
|
|
|
|
62
|
|
|
public function down(Schema $schema): void |
63
|
|
|
{ |
64
|
|
|
} |
65
|
|
|
} |
66
|
|
|
|