thinkphp6的迁移示例

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()方法中按照逆序重新添加被删除的列,并为每个列指定正确的数据类型、默认值以及其他所需的属性。这样,在回滚时数据库将恢复到迁移前的状态。

请注意,上述示例是一个基本的演示,您可能需要根据您的数据库结构和需求进行适当的调整和修改。

猜你喜欢

转载自blog.csdn.net/qq_27487739/article/details/134592829