forge->addField([ 'id' => [ 'type' => 'INT', 'constraint' => 10, 'unsigned' => true, 'auto_increment' => true, ], 'name' => [ 'type' => 'VARCHAR', 'constraint' => 150, ], 'email' => [ 'type' => 'VARCHAR', 'constraint' => 255, ], 'password' => [ 'type' => 'VARCHAR', 'constraint' => 255, ], 'avatar' => [ 'type' => 'VARCHAR', 'constraint' => 500, 'null' => true, ], 'role' => [ 'type' => 'ENUM', 'constraint' => ['superadmin', 'user'], 'default' => 'user', ], 'email_verified' => [ 'type' => 'TINYINT', 'constraint' => 1, 'default' => 0, ], 'verify_token' => [ 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, ], 'reset_token' => [ 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, ], 'reset_token_expiry' => [ 'type' => 'DATETIME', 'null' => true, ], 'api_token' => [ 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, ], 'is_active' => [ 'type' => 'TINYINT', 'constraint' => 1, 'default' => 1, ], 'last_login_at' => [ 'type' => 'DATETIME', 'null' => true, ], 'created_at' => [ 'type' => 'DATETIME', 'null' => true, ], 'updated_at' => [ 'type' => 'DATETIME', 'null' => true, ], 'deleted_at' => [ 'type' => 'DATETIME', 'null' => true, ], ]); $this->forge->addKey('id', true); $this->forge->addUniqueKey('email'); $this->forge->addUniqueKey('api_token'); $this->forge->createTable('users', true); } public function down() { $this->forge->dropTable('users', true); } }