如何将 Datetime 设置为 Codeigniter 迁移中列的类型

问题描述 投票:0回答:3

我正在做一个迁移文件,表中有一个字段,其类型应该是DateTime,默认值为CURRENT_TIMESTAMP。到目前为止我所拥有的是下一个:

'date'  => array(
    'type' => 'DATETIME',
),

我认为这是正确的...但我仍然需要设置默认值...当然,我想做的就是将其从 SQL 转换为 codeigniter 迁移:

`date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP

提前致谢。

php sql codeigniter migration
3个回答
3
投票

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', 
            ));

1
投票

你可以这样尝试。需要使用

timestamp
。请参阅下面的示例..

   'created_at' => array('type' => 'timestamp')

1
投票

我在 codeigniter 论坛中找到了 这个答案。基本上,它说我可以使用

created_at  timestamp default current_timestamp
而不是键->值数组。还有其他有趣的事情,例如“更新时”:

'updated_at' => array(
     'type' => 'varchar',
     'constraint' => 250,
     'null' => true,
     'on update' => 'NOW()'
) 

我希望它可以帮助任何人的未来。

© www.soinside.com 2019 - 2024. All rights reserved.