public function up(){
$this->createTable('POST', array(
'id' => 'pk',
'isremoved' => 'integer NOT NULL',
'removaldate' => 'timestamp NULL',
'post' => 'text NOT NULL',
'creationdate' => 'timestamp NOT NULL',
));
}
这是迁移的up函数。正如你所看到的,这是创建新表的查询。默认情况下,YII为时间戳列创建默认值,等于CURRENT_TIMESTAMP,并创建额外的参数,将其设置为ON UPDATE CURRENT_TIMESTAMP。
我不需要时间戳的当前值,也不需要在更新行时更新此列。我必须做什么?顺便说一句,你使用MySQL
3条答案
按热度按时间6gpjuf901#
对于像我这样的谷歌用户:Yii2现在已经开箱即用了。
现在,您可以将
->defaultExpression('CURRENT_TIMESTAMP')
添加到定义中。f45qwnt82#
利用MySQL创建表脚本:
其给出:
现在将其添加到迁移中:
zaq34kh63#
您必须设置其他默认值,例如null