M250303023147AlterRebateBuyTableByDev106.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace addons\Rebate\console\migrations;
  3. use addons\Rebate\common\models\RebateBuy;
  4. use common\enums\RabbitMqEnum;
  5. use Yii;
  6. use yii\db\Migration;
  7. /**
  8. * Class M250303023147AlterRebateBuyTableByDev106
  9. */
  10. class M250303023147AlterRebateBuyTableByDev106 extends Migration
  11. {
  12. /**
  13. * {@inheritdoc}
  14. */
  15. public function safeUp()
  16. {
  17. $sql = <<<SQL
  18. ALTER TABLE `qimall_addons_rebate_buy`
  19. ADD COLUMN `refund_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单退款id',
  20. ADD COLUMN `refund_at` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '退款完成时间',
  21. ADD COLUMN `settlement_at` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '达标时间',
  22. ADD COLUMN `order_detail_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单详情id',
  23. ADD COLUMN `is_reward_trigger` tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否是此数据触发了奖励',
  24. ADD COLUMN `position` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '是第几位达标的' AFTER `is_reward_trigger`;
  25. SQL;
  26. $this->execute($sql);
  27. // 修复上线之后新增的字段为空的问题
  28. Yii::$app->services->rabbitMq->push(
  29. RabbitMqEnum::EXCHANGE_LONG_DURATION,
  30. RabbitMqEnum::LONG_DURATION_QUEUE,
  31. [],
  32. RebateBuy::class,
  33. 'fixFields'
  34. );
  35. }
  36. /**
  37. * {@inheritdoc}
  38. */
  39. public function safeDown()
  40. {
  41. return false;
  42. }
  43. /*
  44. // Use up()/down() to run migration code without a transaction.
  45. public function up()
  46. {
  47. }
  48. public function down()
  49. {
  50. echo "M250303023147AlterRebateBuyTableByDev106 cannot be reverted.\n";
  51. return false;
  52. }
  53. */
  54. }