added subroles and dpi association fixed all pages and migration
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Phinx\Migration\AbstractMigration;
|
||||
|
||||
final class CreateEmployeePpeItemsTable extends AbstractMigration
|
||||
{
|
||||
public function change(): void
|
||||
{
|
||||
$table = $this->table('employee_ppe_items', [
|
||||
'id' => false,
|
||||
'primary_key' => ['id'],
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'encoding' => 'utf8mb4',
|
||||
]);
|
||||
|
||||
$table
|
||||
->addColumn('id', 'integer', [
|
||||
'identity' => true,
|
||||
'signed' => false,
|
||||
])
|
||||
->addColumn('employee_id', 'integer', [
|
||||
'signed' => false,
|
||||
'null' => false,
|
||||
])
|
||||
->addColumn('ppe_item_id', 'integer', [
|
||||
'signed' => false,
|
||||
'null' => false,
|
||||
])
|
||||
->addColumn('assigned_date', 'date', [
|
||||
'null' => true,
|
||||
'default' => null,
|
||||
])
|
||||
->addColumn('expiry_date', 'date', [
|
||||
'null' => true,
|
||||
'default' => null,
|
||||
])
|
||||
->addColumn('quantity', 'integer', [
|
||||
'signed' => false,
|
||||
'null' => false,
|
||||
'default' => 1,
|
||||
])
|
||||
->addColumn('status', 'enum', [
|
||||
'values' => [
|
||||
'assigned',
|
||||
'returned',
|
||||
'expired',
|
||||
'lost',
|
||||
'damaged',
|
||||
],
|
||||
'null' => false,
|
||||
'default' => 'assigned',
|
||||
])
|
||||
->addColumn('notes', 'text', [
|
||||
'null' => true,
|
||||
'default' => null,
|
||||
])
|
||||
->addColumn('created_at', 'timestamp', [
|
||||
'null' => true,
|
||||
'default' => 'CURRENT_TIMESTAMP',
|
||||
])
|
||||
->addColumn('updated_at', 'timestamp', [
|
||||
'null' => true,
|
||||
'default' => 'CURRENT_TIMESTAMP',
|
||||
'update' => 'CURRENT_TIMESTAMP',
|
||||
])
|
||||
->addIndex(['employee_id'], [
|
||||
'name' => 'idx_employee_ppe_items_employee_id',
|
||||
])
|
||||
->addIndex(['ppe_item_id'], [
|
||||
'name' => 'idx_employee_ppe_items_ppe_item_id',
|
||||
])
|
||||
->addIndex(['status'], [
|
||||
'name' => 'idx_employee_ppe_items_status',
|
||||
])
|
||||
->addIndex(['expiry_date'], [
|
||||
'name' => 'idx_employee_ppe_items_expiry_date',
|
||||
])
|
||||
->addForeignKey(
|
||||
'employee_id',
|
||||
'employees',
|
||||
'id',
|
||||
[
|
||||
'delete' => 'CASCADE',
|
||||
'update' => 'CASCADE',
|
||||
'constraint' => 'fk_employee_ppe_items_employee',
|
||||
]
|
||||
)
|
||||
->addForeignKey(
|
||||
'ppe_item_id',
|
||||
'ppe_items',
|
||||
'id',
|
||||
[
|
||||
'delete' => 'RESTRICT',
|
||||
'update' => 'CASCADE',
|
||||
'constraint' => 'fk_employee_ppe_items_ppe_item',
|
||||
]
|
||||
)
|
||||
->create();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user