1
0

20220902014055_update_customer_protrait_table_family_info.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. use think\migration\Migrator;
  3. use think\migration\db\Column;
  4. use app\model\CustomerPortrait;
  5. class UpdateCustomerProtraitTableFamilyInfo extends Migrator
  6. {
  7. /**
  8. * Change Method.
  9. *
  10. * Write your reversible migrations using this method.
  11. *
  12. * More information on writing migrations is available here:
  13. * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
  14. *
  15. * The following commands can be used in this method and Phinx will
  16. * automatically reverse them when rolling back:
  17. *
  18. * createTable
  19. * renameTable
  20. * addColumn
  21. * renameColumn
  22. * addIndex
  23. * addForeignKey
  24. *
  25. * Remember to call "create()" or "update()" and NOT "save()" when working
  26. * with the Table class.
  27. */
  28. public function change()
  29. {
  30. (new CustomerPortrait())->select()->each(function ($item){
  31. $content = json_decode($item['fields'], true);
  32. if (isset($content['family_info']['peripheral_supporting'])){
  33. $content['house_info']['peripheral_supporting'] = $content['family_info']['peripheral_supporting'];
  34. }
  35. if (isset($content['family_info']['consumption_capacity'])){
  36. $content['basic_info']['consumption_capacity'] = $content['family_info']['consumption_capacity'];
  37. }
  38. unset($content['family_info']['peripheral_supporting']);
  39. unset($content['family_info']['consumption_capacity']);
  40. unset($content['basic_info']['state']);
  41. unset($content['basic_info']['revisit_time']);
  42. $item->fields = json_encode($content);
  43. $item->save();
  44. });
  45. }
  46. }