0

我无法弄清楚 CodeIgniter 的迁移业务......我找不到任何体面的文档来解释额外的字段元素,如 current_timestamp、默认日期时间值等

我想知道是否有人可以帮助我将以下内容转换为正确的 dbforge->add_field 数组

我需要以下 2

`last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'

我已经从 tank_auth 库的 SQL 插入语句中复制了这些内容。

但我现在想把它放到迁移中。

干杯,

4

2 回答 2

7

对于数字 1,您可以使用

$this->dbforge->add_field('last_login TIMESTAMP');

或者

$data = array(
 'type' => 'TIMESTAMP'
);

此自动插入 ON UPDATE CURRENT_TIMESTAMP

于 2013-05-21T10:42:26.917 回答
1

我想你可能不走运。这些是dbforge 的可用选项

此外,可以使用以下键/值:

unsigned/true : to generate "UNSIGNED" in the field definition.
default/value : to generate a default value in the field definition.
null/true : to generate "NULL" in the field definition. Without this, the field will >     default to "NOT NULL".
auto_increment/true : generates an auto_increment flag on the field. Note that the >     field type must be a type that supports this,
such as integer

您可能必须通过标准查询。$this->db->query('YOUR QUERY HERE');可能是你需要的。

于 2012-10-02T07:33:50.843 回答