小编R0K*_*KET的帖子

更新现有列的数据并通过迁移复制数据

是否可以添加一个新列,将一些数据复制到这个新列并通过 Laravel 迁移更新另一列中的数据?

我有一张类似这样的桌子;

ID 物品 价格
1 项目一 100.00
2 项目二 200.00

现在我需要做的是,

  1. old_price向该表添加一个新列
  2. 将列中的值复制price到新添加的old_price
  3. 将列中的值乘以price5 并更新同一列

新表应该看起来像这样;

ID 物品 价格 旧价格
1 项目一 500.00 100.00
2 项目二 1000.00 200.00

是否有可能通过迁移或种子或其他东西来实现这一目标?

此更改需要在已经投入生产的应用程序上完成,因此删除并重新创建表对我来说不是一个选择。

此外,old_price创建该列只是为了保留该列当前值的引用price。在此之后它不会更新,如果一切都按照新价格进行,则可能会在以后的更新中删除。所以我不需要使用任何模型事件来更新列。

非常感谢您能在这方面给我的任何帮助。谢谢。

laravel laravel-seeding laravel-migrations laravel-schema-builder

6
推荐指数
1
解决办法
8566
查看次数