Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
SetupVersion_0004
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 migrateIOSystem
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 migrateDatabase
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3declare(strict_types=1);
4
5namespace PeServer\App\Models\Setup\Versions;
6
7use PeServer\App\Models\Setup\DatabaseSetupArgument;
8use PeServer\App\Models\Setup\IOSetupArgument;
9
10/**
11 * @SuppressWarnings(PHPMD.CamelCaseClassName)
12 */
13#[Version(4)]
14class SetupVersion_0004 extends SetupVersionBase //phpcs:ignore Squiz.Classes.ValidClassName.NotCamelCaps
15{
16    #region SetupVersionBase
17
18    protected function migrateIOSystem(IOSetupArgument $argument): void
19    {
20        //NOP
21    }
22
23    protected function migrateDatabase(DatabaseSetupArgument $argument): void
24    {
25        $statements = <<<SQL
26
27        create table [feedback_comments] (
28            [feedback_sequence] integer not null,
29            [comment] text not null,
30            foreign key([feedback_sequence]) references [feedbacks]([sequence]),
31            primary key([feedback_sequence])
32        )
33        ;
34
35        create table [crash_report_comments] (
36            [crash_report_sequence]    integer not null,
37            [comment]    text not null,
38            foreign key([crash_report_sequence]) references [crash_reports]([sequence]),
39            primary key([crash_report_sequence])
40        )
41        ;
42
43        SQL;
44
45        foreach ($this->splitStatements($statements) as $statement) {
46            $argument->default->execute($statement);
47        }
48    }
49
50    #endregion
51}