HEX
Server: LiteSpeed
System: Linux premium260.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: aliazzsr (627)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/aliazzsr/api.crm.vqode.com/migrations/BaseMigration.php
<?php
namespace app\migrations;

use app\components\BaseModel;
use yii\db\Migration;
use yii\helpers\ArrayHelper;

class BaseMigration extends Migration
{
    const OPT_ADD_MODIFIERS = 'add-modifiers';

    public function createTable($table, $columns, $options = null)
    {
        if (self::OPT_ADD_MODIFIERS === $options) {
            $columns = $this->addModifiers($columns);
        }

        parent::createTable($table, $columns);
    }

    protected function addModifiers($columns)
    {
        $modifiers = [
            BaseModel::CreatedAt_Attribute => $this->timestamp()->defaultValue(null)
                ->comment('timestamp record created'),

            BaseModel::UpdatedAt_Attribute => $this->timestamp()->defaultValue(null)
                ->comment('timestamp record last time updated'),

            BaseModel::CreatedId_Attribute => $this->integer()->defaultValue(null)
                ->defaultValue(0)->comment('user created the record'),

            BaseModel::UpdatedId_Attribute => $this->integer()->defaultValue(null)
                ->defaultValue(0)->comment('user updated the record'),
        ];

        return ArrayHelper::merge($columns, $modifiers);
    }
}