| Conditions | 1 |
| Paths | 1 |
| Total Lines | 19 |
| Code Lines | 6 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 0 |
| CRAP Score | 2 |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 12 | public function up(Schema $schema): void |
||
| 13 | { |
||
| 14 | $this->addSql('ALTER TABLE user ADD first_login DATETIME DEFAULT NULL, ADD last_login DATETIME DEFAULT NULL'); |
||
| 15 | |||
| 16 | // Migrate first/last login from log to user |
||
| 17 | $this->addSql( |
||
| 18 | <<<STRING |
||
| 19 | UPDATE user INNER JOIN ( |
||
| 20 | SELECT creator_id, MIN(creation_date) AS min, MAX(creation_date) AS max |
||
| 21 | FROM log |
||
| 22 | WHERE creator_id IS NOT NULL AND message = 'login' |
||
| 23 | GROUP BY creator_id |
||
| 24 | ) AS tmp ON tmp.creator_id = user.id |
||
| 25 | SET user.first_login = IFNULL(user.first_login, tmp.min), user.last_login = tmp.max; |
||
| 26 | STRING |
||
| 27 | ); |
||
| 28 | |||
| 29 | // Delete old login logs |
||
| 30 | $this->addSql("DELETE FROM log WHERE message = 'login' AND creation_date < DATE_SUB(NOW(), INTERVAL 2 MONTH)"); |
||
| 31 | } |
||
| 33 |