aboutsummaryrefslogtreecommitdiff
path: root/db/migrations/5.1.21_missing_indices_v50.php
blob: 66af9c36def5819cc56051731529b7aa8cdc2bd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
final class MissingIndicesV50 extends Migration
{
    use DatabaseMigrationTrait;

    public function description()
    {
        return 'Add missing indices on some tables';
    }

    public function up()
    {
        // avoid running this migration twice
        if ($this->keyExists('mvv_files_ranges', 'range_id')) {
            return;
        }

        $query = "CREATE INDEX `range_id` ON `mvv_files_ranges` (`range_id`)";
        DBManager::get()->exec($query);

        $query = "CREATE INDEX `context_query` ON `activities` (`context`, `context_id`, `mkdate`)";
        DBManager::get()->exec($query);

        $query = "CREATE INDEX `user_id` ON `comments` (`user_id`)";
        DBManager::get()->exec($query);

        $query = "CREATE INDEX `user_id` ON `file_refs` (`user_id`)";
        DBManager::get()->exec($query);

        $query = "CREATE INDEX `user_id` ON `news` (`user_id`)";
        DBManager::get()->exec($query);
    }

    public function down()
    {
        $query = "ALTER TABLE `news` DROP INDEX `user_id`";
        DBManager::get()->exec($query);

        $query = "ALTER TABLE `file_refs` DROP INDEX `user_id`";
        DBManager::get()->exec($query);

        $query = "ALTER TABLE `comments` DROP INDEX `user_id`";
        DBManager::get()->exec($query);

        $query = "ALTER TABLE `activities` DROP INDEX `context_query`";
        DBManager::get()->exec($query);

        $query = "ALTER TABLE `mvv_files_ranges` DROP INDEX `range_id`";
        DBManager::get()->exec($query);
    }
}