首页 > 解决方案 > laravel 迁移将列类型 double 更改为字符串:向下函数

问题描述

我正在尝试将列类型从 修改double(8,2)varchar

由于如文档中所述,它不允许double更改,所以我尝试使用raw语句。

public function up()
{
    DB::statement('ALTER TABLE dmf_product_match_unmatches MODIFY s_price VARCHAR(191)');
    DB::statement('ALTER TABLE dmf_product_match_unmatches MODIFY r_price VARCHAR(191)');
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    //
}

所以我的问题是我需要在down方法中提到什么?

标签: phpmysqllaravellaravel-migrations

解决方案


如果您不会在 down 方法中编写代码,则在回滚时 s_price 和 r_price 在模式中将有 VARCHAR(191) 但没有 double(8,2)。

下面的 down() 方法将在您运行时将 s_price 和 r_price 恢复为 DOUBLE(8,2)

php工匠迁移:回滚

public function down()
{
    DB::statement('ALTER TABLE dmf_product_match_unmatches MODIFY s_price DOUBLE(8,2)');
    DB::statement('ALTER TABLE dmf_product_match_unmatches MODIFY r_price DOUBLE(8,2)');
}

推荐阅读