laravel 迁移更改列类型 double 为 string : down 函数
laravel migration change column type double to string : down function
我正在尝试将列类型从 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
方法中提及什么?
如果您不在 down 方法中编写代码,在回滚时 s_price 和 r_price 将在架构中包含 VARCHAR(191) 而不是 double(8,2)。
当您 运行
时,下面的 down() 方法会将 s_price 和 r_price 恢复为 DOUBLE(8,2)
php artisan migrate:rollback
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)');
}
我正在尝试将列类型从 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
方法中提及什么?
如果您不在 down 方法中编写代码,在回滚时 s_price 和 r_price 将在架构中包含 VARCHAR(191) 而不是 double(8,2)。
当您 运行
时,下面的 down() 方法会将 s_price 和 r_price 恢复为 DOUBLE(8,2)php artisan migrate:rollback
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)');
}