Codeigniter迁移:是否可以自动进行表修改?

时间:2019-04-29 18:18:33

标签: sql codeigniter migration

我刚刚学习了如何在Codeigniter中使用迁移。在新鲜的环境中为您自动创建表是很高兴的,但是对现有表的结构更改又如何呢?

如果我添加或删除列怎么办?有什么方法可以自动执行此操作,而又不删除现有表(自然会导致数据丢失)。

1 个答案:

答案 0 :(得分:1)

如果要添加或删除列,只需使用db forge类:https://www.codeigniter.com/user_guide/database/forge.html

文档的此部分涉及添加/删除列:https://www.codeigniter.com/user_guide/database/forge.html#modifying-tables

添加:

$fields = array(
        'preferences' => array('type' => 'TEXT')
);
$this->dbforge->add_column('table_name', $fields);

删除:

$this->dbforge->drop_column('table_name', 'column_to_drop');

您要做的就是在迁移类的updown函数中使用这些函数。