<?php

namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;
use CodeIgniter\Database\RawSql;

class WikiSectionsMigration extends Migration
{
    protected array $COLUMNS = [

        'id' =>  [
            'type' => 'INT',
            'unsigned' => true,
            'auto_increment' => true,
        ],
        'order' =>  [
            'type' => 'INT',
            'unsigned' => true,
            'null'=> true,
        ],
        'name' =>  [
            'type' => 'VARCHAR',
            'constraint' => 255,
        ],
        'slug' => [
            'type' => 'VARCHAR',
            'constraint' => 255,
        ],
        'icon' => [
            'type' => 'VARCHAR',
            'constraint' => 255,
            'null' => true,
        ],
        'parent_section_id' => [
            'type' => 'INT',
            'unsigned' => true,
            'null' => true,

        ],

    ];

    public function up()
    {
        $this->forge->addField($this->COLUMNS);
        $currenttime = new RawSql('CURRENT_TIMESTAMP');
        $this->forge->addField([
            'created_at' => [
                'type' => 'TIMESTAMP',
                'default' => $currenttime,

            ],
            'updated_at' => [
                'type' => 'TIMESTAMP',
                'null' => true,

            ],
            'deleted_at' => [
                'type' => 'TIMESTAMP',
                'null' => true,

            ],
        ]);
        $this->forge->addPrimaryKey('id');
        $this->forge->addForeignKey('parent_section_id','wiki_sections','id');
        $this->forge->createTable("wiki_sections");
    }

    public function down()
    {
        $this->forge->dropTable("wiki_sections");
    }
}
