ThinkPHP 6的迁移代码,以下示例为正确执行回滚操作:
use think\migration\db\Column;
class RemoveColumnsFromGoodsTable extends \think\migration\Migrator
{
public function up()
{
$table = $this->table('goods');
$table->removeColumn('is_inventory')
->removeColumn('inventory_product_id')
->update();
}
public function down()
{
$table = $this->table('goods');
$table->addColumn('is_inventory', 'boolean', [
'default' => false,
'comment' => '是否有库存',
])
->addColumn('inventory_product_id', 'integer', [
'default' => null,
'null' => true,
'comment' => '库存产品ID',
])
->update();
}
}
在上述示例中,up()
方法用于执行升级操作(删除两个列),down()
方法用于执行回滚操作(重新添加两个列)。首先,removeColumn()
方法用于删除指定的列,然后使用update()
方法将更改应用到数据库中。
请确保在down()
方法中按照逆序重新添加被删除的列,并为每个列指定正确的数据类型、默认值以及其他所需的属性。这样,在回滚时数据库将恢复到迁移前的状态。
请注意,上述示例是一个基本的演示,您可能需要根据您的数据库结构和需求进行适当的调整和修改。