| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace app\migrations;
- use yii\db\Migration;
- use Yii;
- /**
- * Class M240627092257QimallRbacAuthItemUpdate
- */
- class M240627092257QimallRbacAuthItemUpdate extends Migration
- {
- /**
- * {@inheritdoc}
- */
- public function safeUp()
- {
- try {
- // 将 id=2823 的记录中的 name 更新为 mall/setting
- $sql1 = <<<SQL
- UPDATE qimall_rbac_auth_item
- SET name = 'mall/setting'
- WHERE id = 2823;
- SQL;
- Yii::$app->db->createCommand($sql1)->execute();
- // 将 name=mall/setting/memory 的记录的 pid 更新为 2823
- $sql2 = <<<SQL
- UPDATE qimall_rbac_auth_item
- SET pid = 2823
- WHERE name = 'mall/setting/memory';
- SQL;
- Yii::$app->db->createCommand($sql2)->execute();
- // 查找第二个 name=mall/setting 的记录的 id
- $sql3 = <<<SQL
- SELECT id
- FROM qimall_rbac_auth_item
- WHERE name = 'mall/setting'
- ORDER BY id ASC
- LIMIT 1 OFFSET 1;
- SQL;
- $secondRecordId = Yii::$app->db->createCommand($sql3)->queryScalar();
- // 如果找到了第二个记录,则更新其 status 为 -1
- if ($secondRecordId !== false) {
- $sql4 = <<<SQL
- UPDATE qimall_rbac_auth_item
- SET status = -1
- WHERE id = :id;
- SQL;
- Yii::$app->db->createCommand($sql4)->bindValue(':id', $secondRecordId)->execute();
- }
- } catch (\Exception $e) {
- \Yii::error('更新权限菜单错误了:' . $e->getMessage());
- }
- }
- /**
- * {@inheritdoc}
- */
- public function safeDown()
- {
- echo "M240627092257QimallRbacAuthItemUpdate cannot be reverted.\n";
- return false;
- }
- /*
- // Use up()/down() to run migration code without a transaction.
- public function up()
- {
- }
- public function down()
- {
- echo "M240627092257QimallRbacAuthItemUpdate cannot be reverted.\n";
- return false;
- }
- */
- }
|