M230815063347InsertBackendDigitalMenu.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\migrations;
  3. use common\enums\StatusEnum;
  4. use common\models\backend\Menu;
  5. use common\models\rbac\AuthItem;
  6. use yii\db\Migration;
  7. /**
  8. * Class M230815063347InsertBackendDigitalMenu
  9. */
  10. class M230815063347InsertBackendDigitalMenu extends Migration
  11. {
  12. /**
  13. * {@inheritdoc}
  14. */
  15. public function safeUp()
  16. {
  17. try {
  18. $pid = Menu::find()->where(['and', ['status' => StatusEnum::ENABLED], ['url' => 'mall/finance/stat'], ['app_id' => 'backend']])->select('id')->limit(1)->scalar();
  19. if (empty($pid)) throw new \Exception("上级菜单不存在");
  20. $menu_sql = "INSERT INTO `qimall_menu`(`title`, `app_id`, `cate_id`, `addons_name`, `is_addon`, `pid`, `url`, `icon`, `level`, `dev`, `sort`, `params`, `tree`, `status`, `created_at`, `updated_at`) VALUES ('数字币明细', 'backend', 2, '', 0, {$pid}, 'mall/digital/index', '', 2, 0, 999, NULL, 'tr_0 tr_{$pid}', 1, 1686800793, 1686800793);";
  21. $this->execute($menu_sql);
  22. $prbac_id = AuthItem::find()->where(['and', ['status' => StatusEnum::ENABLED], ['name' => 'mall/finance/stat'], ['app_id' => 'backend']])->select('id')->limit(1)->scalar();
  23. if (empty($prbac_id)) throw new \Exception("上级菜单权限不存在");
  24. $auth_item_sql = "INSERT INTO `qimall_rbac_auth_item`(`name`, `title`, `app_id`, `addons_name`, `pid`, `level`, `is_addon`, `sort`, `tree`, `status`, `created_at`, `updated_at`, `cate_id`) VALUES ('mall/digital/index', '数字币明细', 'backend', '', {$prbac_id}, 2, 0, 999, 'tr_0 tr_{$prbac_id}', 1, 1686800794, 1686800794, 2);";
  25. $this->execute($auth_item_sql);
  26. } catch (\Exception $e) {
  27. echo "添加数字币明细菜单失败err: " . $e->getMessage() . PHP_EOL;
  28. }
  29. }
  30. /**
  31. * {@inheritdoc}
  32. */
  33. public function safeDown()
  34. {
  35. echo "M230815063347InsertBackendDigitalMenu cannot be reverted.\n";
  36. return false;
  37. }
  38. /*
  39. // Use up()/down() to run migration code without a transaction.
  40. public function up()
  41. {
  42. }
  43. public function down()
  44. {
  45. echo "M230815063347InsertBackendDigitalMenu cannot be reverted.\n";
  46. return false;
  47. }
  48. */
  49. }