code: protected function updateItem($name, $item)
      {
          if ($item->name !== $name && !$this->supportsCascadeUpdate()) {
              $this->db->createCommand()
                  ->update($this->itemChildTable, ['parent' => $item->name], ['parent' => $name])
                  ->execute();
              $this->db->createCommand()
                  ->update($this->itemChildTable, ['child' => $item->name], ['child' => $name])
                  ->execute();
              $this->db->createCommand()
                  ->update($this->assignmentTable, ['item_name' => $item->name], ['item_name' => $name])
                  ->execute();
          }
  
          $item->updatedAt = time();
  
          $this->db->createCommand()
              ->update($this->itemTable, [
                  'name' => $item->name,
                  'description' => $item->description,
                  'rule_name' => $item->ruleName,
                  'data' => $item->data === null ? null : serialize($item->data),
                  'updated_at' => $item->updatedAt,
              ], [
                  'name' => $name,
              ])->execute();
  
          $this->invalidateCache();
  
          return true;
      }
docs: {@inheritdoc}