我刚学会了如何在Codeigniter中使用迁移。在新的环境中自动为您创建表格会很好,但是对现有表格的结构更改呢?
如果我添加或删除列怎么办?有没有办法自动化这个,而不删除现有的表(这将导致数据自然丢失)。
如果要添加或删除列,只需使用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
函数中使用这些函数。