protected void updateMPExpandoColumns(long companyId) throws Exception {
    try (LoggingTimer loggingTimer = new LoggingTimer(String.valueOf(companyId))) {

      ExpandoTable expandoTable = null;

      try {
        expandoTable = _expandoTableLocalService.getTable(companyId, User.class.getName(), "MP");
      } catch (NoSuchTableException nste) {
        return;
      }

      ExpandoColumn oldExpandoColumn =
          _expandoColumnLocalService.getColumn(
              companyId, User.class.getName(), expandoTable.getName(), "client-id");

      if (oldExpandoColumn == null) {
        return;
      }

      ExpandoColumn newExpandoColumn =
          _expandoColumnLocalService.getColumn(
              companyId, User.class.getName(), expandoTable.getName(), "clientID");

      if (newExpandoColumn == null) {
        newExpandoColumn =
            _expandoColumnLocalService.updateColumn(
                oldExpandoColumn.getColumnId(), "clientID", ExpandoColumnConstants.STRING);
      }

      List<ExpandoValue> expandoValues =
          _expandoValueLocalService.getColumnValues(
              oldExpandoColumn.getColumnId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS);

      for (ExpandoValue expandoValue : expandoValues) {
        _expandoValueLocalService.addValue(
            expandoValue.getCompanyId(), User.class.getName(),
            expandoTable.getName(), newExpandoColumn.getName(),
            expandoValue.getClassPK(), expandoValue.getString());
      }

      _expandoColumnLocalService.deleteColumn(oldExpandoColumn.getColumnId());
    }
  }