58 lines
1.8 KiB
PHP
58 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Phinx\Migration\AbstractMigration;
|
|
|
|
final class CreateLimsDailySamplesTable extends AbstractMigration
|
|
{
|
|
/**
|
|
* Tabella con un dato al giorno: numero totale di campioni inseriti
|
|
* nel LIMS (loro software) in quella giornata. Serve per calcolare
|
|
* la % di campioni esportati sul totale inserito nel LIMS.
|
|
*/
|
|
public function change(): void
|
|
{
|
|
$table = $this->table('lims_daily_samples', [
|
|
'id' => false,
|
|
'primary_key' => ['id'],
|
|
'comment' => 'Totale campioni inseriti nel LIMS per giornata',
|
|
]);
|
|
|
|
$table
|
|
->addColumn('id', 'integer', [
|
|
'identity' => true,
|
|
'signed' => false,
|
|
])
|
|
->addColumn('sample_date', 'date', [
|
|
'null' => false,
|
|
'comment' => 'Giornata di riferimento',
|
|
])
|
|
->addColumn('total_samples', 'integer', [
|
|
'signed' => false,
|
|
'null' => false,
|
|
'default' => 0,
|
|
'comment' => 'Totale campioni inseriti nel LIMS in quella giornata',
|
|
])
|
|
->addColumn('note', 'string', [
|
|
'limit' => 255,
|
|
'null' => true,
|
|
'default' => null,
|
|
])
|
|
->addColumn('created_at', 'timestamp', [
|
|
'null' => true,
|
|
'default' => 'CURRENT_TIMESTAMP',
|
|
])
|
|
->addColumn('updated_at', 'timestamp', [
|
|
'null' => true,
|
|
'default' => null,
|
|
'update' => 'CURRENT_TIMESTAMP',
|
|
])
|
|
->addIndex(['sample_date'], [
|
|
'unique' => true,
|
|
'name' => 'uq_lims_daily_samples_date',
|
|
])
|
|
->create();
|
|
}
|
|
}
|