我正在做一个迁移文件,表中有一个字段,其类型应该是DateTime,默认值为CURRENT_TIMESTAMP。到目前为止我所拥有的是下一个:
'date' => array(
'type' => 'DATETIME',
),
我认为这是正确的...但我仍然需要设置默认值...当然,我想做的就是将其从 SQL 转换为 codeigniter 迁移:
`date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
提前致谢。
Codeigniter 迁移的最佳方式:
$this->dbforge->add_field(array(
'id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'first_name' => array(
'type' => 'VARCHAR',
'constraint' => '50',
'null'=>false,
),
'last_name' => array(
'type' => 'VARCHAR',
'constraint' => 50,
'null'=>false,
),
'email' => array(
'type' => 'VARCHAR',
'constraint' => 100,
'unique' => true,
'null'=>false,
),
'mobile' => array(
'type' => 'BIGINT',
'constraint' => 15,
'null'=>true,
),
'password' => array(
'type' => 'VARCHAR',
'constraint' => 255,
'null'=>false,
),
'image' => array(
'type' => 'VARCHAR',
'constraint' => 255,
'null'=>true,
),
'status' => array(
'type' => 'TINYINT',
'constraint' => 3,
'default'=>1,
),
'delete_status' => array(
'type' => 'TINYINT',
'constraint' => 3,
'default'=>1,
),
'created_date datetime default current_timestamp',
'updated_date datetime default current_timestamp on update current_timestamp',
));
你可以这样尝试。需要使用
timestamp
。请参阅下面的示例..
'created_at' => array('type' => 'timestamp')
我在 codeigniter 论坛中找到了 这个答案。基本上,它说我可以使用
created_at timestamp default current_timestamp
而不是键->值数组。还有其他有趣的事情,例如“更新时”:
'updated_at' => array(
'type' => 'varchar',
'constraint' => 250,
'null' => true,
'on update' => 'NOW()'
)
我希望它可以帮助任何人的未来。