clqms-be/app/Database/Migrations/2026-01-01-000005_CreateLabInfrastructure.php
OpenCode Bot 9946978487 chore: refresh CLQMS backend baseline
Re-synced controllers, configs, libraries, seeds, and docs with the latest API expectations and response helpers.
2026-04-08 16:07:19 +07:00

67 lines
3.3 KiB
PHP
Executable File

<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class CreateLabInfrastructure extends Migration {
public function up() {
$this->forge->addField([
'EID' => ['type' => 'int', 'unsigned' => true, 'auto_increment'=> true],
'IEID' => ['type' => 'varchar', 'constraint' => 50],
'DepartmentID' => ['type' => 'int', 'constraint'=> 10, 'null'=> false],
'InstrumentID' => ['type' => 'varchar', 'constraint'=> 150, 'null'=> true],
'InstrumentName' => ['type' => 'varchar', 'constraint'=> 150, 'null'=> true],
'WorkstationID' => ['type' => 'int', 'unsigned' => true ],
'isEnable' => ['type' => 'bit', 'null'=> false],
'EquipmentRole' => ['type' => 'varchar', 'constraint' => 1, 'null'=> false],
'CreateDate' => ['type'=>'DATETIME', 'null' => true],
'EndDate' => ['type'=>'DATETIME', 'null' => true]
]);
$this->forge->addKey('EID', true);
$this->forge->createTable('equipmentlist');
$this->forge->addField([
'InterfaceID' => ['type' => 'int', 'unsigned' => true, 'auto_increment'=> true],
'InstrumentID' => ['type' => 'int', 'null'=> false],
'SiteID' => ['type' => 'int', 'null'=> true],
'InterfaceName' => ['type' => 'varchar', 'constraint'=> 150, 'null'=> true],
'InterfaceDesc' => ['type' => 'varchar', 'constraint'=> 150, 'null'=> true],
'Protocol' => ['type' => 'varchar', 'constraint'=> 50, 'null'=> true],
'IPAddress' => ['type' => 'varchar', 'constraint'=> 50, 'null'=> true],
'Port' => ['type' => 'varchar', 'constraint'=> 25, 'null'=> true],
'COM' => ['type' => 'varchar', 'constraint'=> 5, 'null'=> true],
'Baud' => ['type' => 'varchar', 'constraint'=> 10, 'null'=> true],
'Data' => ['type' => 'varchar', 'constraint'=> 10, 'null'=> true],
'Parity' => ['type' => 'varchar', 'constraint'=> 10, 'null'=> true],
'Stop' => ['type' => 'varchar', 'constraint'=> 10, 'null'=> true],
'CreateDate' => ['type'=>'DATETIME', 'null' => true],
'EndDate' => ['type'=>'DATETIME', 'null' => true]
]);
$this->forge->addKey('InterfaceID', true);
$this->forge->createTable('comparameters');
$this->forge->addField([
'EquipmentID' => ['type' => 'int', 'unsigned' => true, 'auto_increment'=> true],
'DeviceName' => ['type' => 'varchar', 'constraint' => 50,'null'=> false],
'Description' => ['type' => 'varchar', 'constraint' => 50,'null'=> false],
'SiteID' => ['type' => 'int', 'null'=> true],
'LocationID' => ['type' => 'int', 'null'=> true],
'DIDType' => ['type' => 'varchar', 'constraint'=>10, 'null'=> true],
'DID' => ['type' => 'varchar', 'constraint'=>100, 'null'=> true],
'MachineID' => ['type' => 'varchar', 'constraint'=>100, 'null'=> true],
'IPAddress' => ['type' => 'varchar', 'constraint'=>25, 'null'=> true],
'CreateDate' => ['type'=>'DATETIME', 'null' => true],
'EndDate' => ['type'=>'DATETIME', 'null' => true]
]);
$this->forge->addKey('EquipmentID', true);
$this->forge->createTable('devicelist');
}
public function down() {
$this->forge->dropTable('devicelist');
$this->forge->dropTable('comparameters');
$this->forge->dropTable('equipmentlist');
}
}