Total Complexity | 3 |
Total Lines | 43 |
Duplicated Lines | 0 % |
Changes | 2 | ||
Bugs | 0 | Features | 2 |
1 | <?php |
||
10 | final class Version20250602200524_NewPmCountGameTurnStats extends AbstractMigration |
||
11 | { |
||
12 | public function getDescription(): string |
||
13 | { |
||
14 | return 'Added game turn stats for new pm count during last tick interval.'; |
||
15 | } |
||
16 | |||
17 | public function up(Schema $schema): void |
||
18 | { |
||
19 | $this->addSql(<<<'SQL' |
||
20 | ALTER TABLE stu_game_turn_stats ADD new_pm_count INT DEFAULT NULL |
||
21 | SQL); |
||
22 | $this->addSql(<<<'SQL' |
||
23 | CREATE INDEX pm_date_idx ON stu_pms (date) |
||
24 | SQL); |
||
25 | $this->addSql(<<<'SQL' |
||
26 | UPDATE stu_game_turn_stats stats |
||
27 | SET new_pm_count = ( |
||
28 | SELECT COUNT(*) |
||
29 | FROM stu_pms p |
||
30 | WHERE p.date > ( |
||
31 | SELECT t.startdate |
||
32 | FROM stu_game_turns t |
||
33 | WHERE t.id = (stats.turn_id - 1) |
||
34 | ) |
||
35 | AND p.date < ( |
||
36 | SELECT t.enddate |
||
37 | FROM stu_game_turns t |
||
38 | WHERE t.id = (stats.turn_id - 1) |
||
39 | ) |
||
40 | ) |
||
41 | SQL); |
||
42 | $this->addSql(<<<'SQL' |
||
43 | ALTER TABLE stu_game_turn_stats ALTER new_pm_count DROP NOT NULL |
||
44 | SQL); |
||
45 | } |
||
46 | |||
47 | public function down(Schema $schema): void |
||
53 | ALTER TABLE stu_game_turn_stats DROP new_pm_count |
||
54 | SQL); |
||
55 | } |
||
57 |