<?php
namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class Organization extends Migration {

	public function up() {
    $this->forge->addField([
      'DisciplineID' => ['type' => 'int', 'unsigned' => true, 'auto_increment'=> true],
      'SiteID' => ['type' => 'int', 'null'=> false],
      'DisciplineCode' => ['type' => 'varchar', 'constraint'=> 10, 'null'=> false],
			'DisciplineName' => ['type' => 'varchar', 'constraint'=> 150, 'null'=> true],
      'Parent' => ['type' => 'int', 'null'=> true],
      'CreateDate' => ['type'=>'DATETIME', 'null' => true],
      'EndDate' => ['type'=>'DATETIME', 'null' => true]
    ]);
    $this->forge->addKey('DisciplineID', true);
    $this->forge->createTable('discipline');

    $this->forge->addField([
      'DepartmentID' => ['type' => 'int', 'unsigned' => true, 'auto_increment'=> true],
      'DisciplineID' => ['type' => 'int', 'null'=> false],
      'SiteID' => ['type' => 'int', 'null'=> false],
      'DepartmentCode' => ['type' => 'varchar', 'constraint'=>10, 'null'=> false],
			'DepartmentName' => ['type' => 'varchar', 'constraint'=> 150, 'null'=> true],
      'CreateDate' => ['type'=>'DATETIME', 'null' => true],
      'EndDate' => ['type'=>'DATETIME', 'null' => true]
    ]);
    $this->forge->addKey('DepartmentID', true);
    $this->forge->createTable('department');

    $this->forge->addField([
      'WorkstationID' => ['type' => 'int', 'unsigned' => true, 'auto_increment'=> true],
      'DepartmentID' => ['type' => 'int', 'null'=> false],
      'WorkstationCode' => ['type' => 'varchar', 'constraint'=>10, 'null'=> false],
			'WorkstationName' => ['type' => 'varchar', 'constraint'=> 150, 'null'=> true],
      'Type' => ['type' => 'tinyint', 'null'=> true],
      'LinkTo' => ['type' => 'int', 'null'=> true],
      'Enable' => ['type' => 'int', 'null'=> true],
      'CreateDate' => ['type'=>'DATETIME', 'null' => true],
      'EndDate' => ['type'=>'DATETIME', 'null' => true]
    ]);
    $this->forge->addKey('WorkstationID', true);
    $this->forge->createTable('workstation');

  } 

  public function down() {
    $this->forge->dropTable('discipline', true);
    $this->forge->dropTable('department', true);
    $this->forge->dropTable('workstation', true);
  }
}
