我希望增加小数精度和小数列的小数位数。
我知道我可以删除该列,然后重新创建它,但是这样做将意味着丢失该列中的数据。
有没有使用Laravel Schema :: table的方法,我可以更改列的精度和小数位数而不会掉落它?
例如:
Schema::table('prices', function(Blueprint $t) {
$t->buy_price->decimal(5,2);
});
只需创建另一个,migration
然后在该up
方法中添加以下代码:
public function up()
{
// Change db_name and table_name
DB::select(DB::raw('ALTER TABLE `db_name`.`table_name` CHANGE COLUMN `buy_price` `buy_price` decimal(10,2) NOT NULL;'));
}
同样在该down
方法中,只需设置旧值即可roll-back
:
public function down()
{
// Change db_name and table_name
DB::select(DB::raw('ALTER TABLE `db_name`.`table_name` CHANGE COLUMN `buy_price` `buy_price` decimal(5,2) NOT NULL;'));
}
然后照常从terminal/command prompt
using迁移php artisan migrate
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句