Membership Database Tables having issues (Missing or Incorrect) after upgrading to Membership 3.5

Hello. After upgrading to Membership 3.5, there are problems in my Membership Database Tables. When going to Membership > Options > Advanced, and clicking on Verifying Membership Tables, I see the red error "Missing or Incorrect" many times. I have never seen these before.

After clicking Repair Membership Tables, all the "Missing or Incorrect" change to "Fix", but then when I click on Verifying Membership Tables again, the "Missing or Incorrect" is shown again. So it looks like even though I saw "Fixed" after clicking on "Repair Membership Tables", it really did not fix the issues.

This seems like a major problem because I cannot have all these errors on my production website! And I have seen some very weird issues happening now ever since upgrading to 3.5 and seeing these errors in the tables. For example, after a user purchases a membership through PayPal and comes back to the site, they are NOT put in the correct Subscription plan and stay in the default one after registering. This is horrible and I am very nervous of what is going on. Can you please help and fix as soon as possible?

Below is the full output of the Verifying Membership Tables. I put in "PRIVATE" to hide the table names since this is a public forum. Please help please.

I granted access to my admin. Please help please.

Verifying

Checking table : PRIVATE_m_membership_levels - Ok

Checking fields in table : PRIVATE_m_membership_levels -
id - Ok
level_title - Ok
level_slug - Ok
level_active - Ok
level_count - Ok

Checking table : PRIVATE_m_membership_relationships - Ok

Checking fields in table : PRIVATE_m_membership_relationships -
rel_id - Ok
user_id - Ok
sub_id - Ok
level_id - Ok
startdate - Ok
updateddate - Ok
expirydate - Ok
order_instance - Ok
usinggateway - Ok

Checking table : PRIVATE_m_membership_rules - Ok

Checking fields in table : PRIVATE_m_membership_rules -
level_id - Ok
rule_ive - Ok
rule_area - Ok
rule_value - Missing or Incorrect
rule_order - Ok

Checking table : PRIVATE_m_subscriptions - Ok

Checking fields in table : PRIVATE_m_subscriptions -
id - Ok
sub_name - Ok
sub_active - Ok
sub_public - Ok
sub_count - Ok
sub_description - Missing or Incorrect
sub_pricetext - Ok
order_num - Ok

Checking table : PRIVATE_m_subscriptions_levels - Ok

Checking fields in table : PRIVATE_m_subscriptions_levels -
sub_id - Ok
level_id - Ok
level_period - Ok
sub_type - Ok
level_price - Ok
level_currency - Ok
level_order - Ok
level_period_unit - Ok

Checking table : PRIVATE_m_subscription_transaction - Ok

Checking fields in table : PRIVATE_m_subscription_transaction -
transaction_ID - Ok
transaction_subscription_ID - Ok
transaction_user_ID - Ok
transaction_sub_ID - Ok
transaction_paypal_ID - Ok
transaction_payment_type - Ok
transaction_stamp - Ok
transaction_total_amount - Ok
transaction_currency - Ok
transaction_duedate - Ok
transaction_gateway - Ok
transaction_note - Missing or Incorrect
transaction_expires - Ok

Checking table : PRIVATE_m_urlgroups - Ok

Checking fields in table : PRIVATE_m_urlgroups -
id - Ok
groupname - Ok
groupurls - Missing or Incorrect
isregexp - Ok
stripquerystring - Ok

Checking table : PRIVATE_m_communications - Ok

Checking fields in table : PRIVATE_m_communications -
id - Ok
sub_id - Ok
subject - Ok
message - Missing or Incorrect
periodunit - Ok
periodtype - Ok
periodprepost - Ok
lastupdated - Ok
active - Ok
periodstamp - Ok

Checking table : PRIVATE_m_pings - Ok

Checking fields in table : PRIVATE_m_pings -
id - Ok
pingname - Ok
pingurl - Ok
pinginfo - Missing or Incorrect
pingtype - Ok

Checking table : PRIVATE_m_ping_history - Ok

Checking fields in table : PRIVATE_m_ping_history -
id - Ok
ping_id - Ok
ping_sent - Ok
ping_info - Missing or Incorrect
ping_return - Missing or Incorrect

Checking table : PRIVATE_m_levelmeta - Ok

Checking fields in table : PRIVATE_m_levelmeta -
id - Ok
level_id - Ok
meta_key - Ok
meta_value - Missing or Incorrect
meta_stamp - Ok

Checking table :PRIVATE_m_subscriptionmeta - Ok

Checking fields in table : PRIVATE_m_subscriptionmeta -
id - Ok
sub_id - Ok
meta_key - Ok
meta_value - Missing or Incorrect
meta_stamp - Ok

Checking table : PRIVATE_m_member_payments - Ok

Checking fields in table : PRIVATE_m_member_payments -
id - Ok
member_id - Ok
sub_id - Ok
level_id - Ok
level_order - Ok
paymentmade - Ok
paymentexpires - Ok

Checking table : PRIVATE_m_coupons - Ok

Checking fields in table : PRIVATE_m_coupons -
id - Ok
site_id - Ok
couponcode - Ok
discount - Ok
discount_type - Ok
discount_currency - Ok
coupon_startdate - Ok
coupon_enddate - Ok
coupon_sub_id - Ok
coupon_uses - Ok
coupon_used - Ok
coupon_apply_to - Ok
  • Vinod Dalvi

    Hi @Nick,

    Sorry to hear of the problems you are having.

    I could reproduce the same issue on my test site using latest version of Membership plugin so i have notified the plugin developer to fix it.

    In the meanwhile you can just try using older version of this plugin as described in the following reply.

    https://premium.wpmudev.org/forums/topic/latest-membership-plugin-update-ruined-my-home-page#post-635087

    Cheers,
    Vinod Dalvi

  • Nick

    Good evening @Jonathan and @Vinod Dalvi!

    Yes I can confirm upgrading to 3.5.0.8 fixed these issues! I had subscribed to many of the topics pertaining to this issue, so during the day I kept seeing emails saying how you fixed it in the latest release and I was very excited to test it, and even more excited to see everything working as it should!

    I do have one question. This may not be a bug, but maybe more of a weird user experience to think about in a future release.

    - When I register for an account, I get placed in the default subscription for registered users I set on the Membership Options screen. This works great.

    - Then I continue to purchase the actual subscription via PayPal. Once I receive the payment confirmation screen on PayPal I checked the membership database and see the user was successfully moved from the default subscription into the subscription I just purchased. This was fixed with your latest release, and works great.

    - From the PayPal payment confirmation screen, I click on the link that says to return to the website. I click the link and successfully return to my website. This works great.

    - However, when first returning to the website, I see the content that I set up for users of the default subscription to see even though I automatically was moved into the paid subscription . Once I click any link on the page, I immediately begin to see the content and menus for the paid subscription.

    - So it seems like I have to click something when first returning to my website after purchasing the subscription on PayPal in order to leave the default subscription and enter into the paid subscription. It seems a little confusing that after returning from PayPal I am still seeing the content from the default subscription, and that I won't see the new content until I click something.

    Maybe it's just me who feels this is confusing! Too bad PayPal can't send you back to the website and have you see the new content for the paid subscription immediately, rather than waiting until after I click something.

    Just wanted to share my thoughts.

    Thanks again for fixing this!

    Best,
    Nick

  • Jonathan

    Hey @Nick,

    Yea, unfortunately not much we can do about this one. What happens is when you complete the purchase with PayPal they will send a webhook to your site - this is done automatically behind the scenes. Once that webhook is received the plugin updates the user's subscription accordingly. Some times this webhook could fire AFTER being redirected back to your site from PayPal.

    What I would suggest doing is on your registration completed page adding some text that says something along the lines of "Thanks for subscribing! Your subscription is now being activated and will be available within a couple of a minutes." And maybe add a link to the person's account page.