生活の跡

個人的な備忘録

FuelPHP の DBUtil::create_table に含めるフィールドに、on update CURRENT_TIMESTAMP 属性を付与する

概要

FuelPHP のマイグレーションにて、テーブル作成と同時に初期データも追加します。更新日時のフィールド「updated_at」にon update CURRENT_TIMESTAMP属性を付与するための方法を記します。

環境

FuelPHP 1.8.2

方法

公式ドキュメントだけではわからなかったのですが、create_table の default パラメータに記載すれば良いようです。

<?php

namespace Fuel\Migrations;

class Create_users
{
    public function up()
    {
        \DBUtil::create_table('users', array(
/* 〜(省略)〜 */
            'updated_at' => array(
                'null' => true,
                'type' => 'timestamp',
                'default' => \DB::expr('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')
            ),
        ), array('id'));
    }

    public function down()
    {
        \DBUtil::drop_table('users');
    }
}

参考

fuelphp.jp

developer.next-engine.com