Upgrade.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace addons\Member;
  3. use Yii;
  4. use common\components\Migration;
  5. use common\interfaces\AddonWidget;
  6. use common\helpers\StringHelper;
  7. use common\models\member\Member;
  8. /**
  9. * 升级数据库
  10. *
  11. * Class Upgrade
  12. * @package addons\Member
  13. */
  14. class Upgrade extends Migration implements AddonWidget
  15. {
  16. /**
  17. * @var array
  18. */
  19. public $versions = [
  20. '1.0.0', // 默认版本
  21. '1.0.1', '1.0.2', '1.0.3', '1.0.4'
  22. ];
  23. /**
  24. * @param $addon
  25. * @return mixed|void
  26. * @throws \yii\db\Exception
  27. */
  28. public function run($addon)
  29. {
  30. switch ($addon->version) {
  31. case '1.0.4' :
  32. $members = Member::find()->select(['id', 'tree'])->asArray()->all();
  33. foreach ($members as $member) {
  34. $this->updateTree($member['id'], $member['tree'], Member::class);
  35. }
  36. break;
  37. case '1.0.3' :
  38. $this->addColumn('{{%member_invoice}}', 'opening_bank_account', "varchar(100) NULL DEFAULT '' COMMENT '公司开户行账号'");
  39. $this->addColumn('{{%member_invoice}}', 'phone', "varchar(50) NULL DEFAULT '' COMMENT '公司电话'");
  40. $this->addColumn('{{%member_invoice}}', 'remark', "varchar(255) NULL DEFAULT '' COMMENT '备注'");
  41. break;
  42. case '1.0.2' :
  43. $this->addColumn('{{%member}}', 'bg_image', "varchar(200) NULL DEFAULT '' COMMENT '个人背景图'");
  44. $this->addColumn('{{%member}}', 'description', "varchar(200) NULL DEFAULT '' COMMENT '个人说明'");
  45. break;
  46. case '1.0.1' :
  47. $this->addColumn('{{%member_withdraw_deposit}}', 'batch_no', "varchar(100) NULL DEFAULT '' COMMENT '批量转账单号'");
  48. break;
  49. }
  50. }
  51. /**
  52. * @param int $id
  53. * @param string $tree
  54. * @param $model
  55. * @return void
  56. */
  57. protected function updateTree($id, $tree, $model)
  58. {
  59. $tree = StringHelper::replace(' ', '', $tree);
  60. $endTree = substr($tree, strlen($tree) - 1);
  61. if ($endTree != '-') {
  62. $tree = $tree.'-';
  63. $model::updateAll(['tree' => $tree], ['id' => $id]);
  64. }
  65. }
  66. }
粤ICP备19079148号