36 lines
1.1 KiB
PHP
36 lines
1.1 KiB
PHP
|
<?php
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
use Phinx\Migration\AbstractMigration;
|
||
|
|
||
|
final class AddInitialTables extends AbstractMigration {
|
||
|
|
||
|
public function change(): void {
|
||
|
// hardware components
|
||
|
$components_table = $this->table('components');
|
||
|
$components_table->addColumn('name', 'string', ['null' => false])
|
||
|
->addColumn('type', 'string', ['null' => false])
|
||
|
->addTimestamps()
|
||
|
->addIndex(['name', 'type'])
|
||
|
->create();
|
||
|
|
||
|
// benchmarks
|
||
|
$benchmarks_table = $this->table('benchmarks');
|
||
|
$benchmarks_table->addColumn('name', 'string', ['null' => false])
|
||
|
->addColumn('description', 'string')
|
||
|
->addColumn('scoring', 'string', ['null' => false])
|
||
|
->addTimestamps()
|
||
|
->addIndex(['name', 'scoring'])
|
||
|
->create();
|
||
|
|
||
|
// benchmark test results
|
||
|
$table = $this->table('results');
|
||
|
$table->addColumn('average', 'integer', ['null' => false])
|
||
|
->addColumn('minimum', 'integer')
|
||
|
->addColumn('maximum', 'integer')
|
||
|
->addTimestamps()
|
||
|
->create();
|
||
|
}
|
||
|
|
||
|
}
|