我刚刚学习了如何在Codeigniter中使用迁移。在新鲜的环境中为您自动创建表是很高兴的,但是对现有表的结构更改又如何呢?
如果我添加或删除列怎么办?有什么方法可以自动执行此操作,而又不删除现有表(自然会导致数据丢失)。
答案 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');
您要做的就是在迁移类的up
和down
函数中使用这些函数。