Clearing columns, then registering a new user causes big issues

Hi guys, I’m running into some pretty serious issues when registering a new user. I’m running an iOS app, and I had a particular group of custom columns, some of which were Data-Relation fields. This was all working fine when first registering, etc. But then I needed to add some columns and change the schema. I cleared out the column list and deleted them all from the backend, including all existing users to start “fresh”. Then I registered a new user with the new properties being set. And then that’s when I started noticing the issues…

Old columns started appearing that aren’t even now being set in the app, new columns weren’t showing any data, and all columns are being updated with the values set to other properties, etc. I have now reached a state at which I can’t register a user properly at all, even after following these steps:

  1. Clear all custom columns by deleting them from the backend
  2. Run the app again with setting all property values properly
  3. Viewing the backend… I get all kinds of weirdness. The values entered from the app are showing up in the wrong columns. See attached example for reference.

The issue doesn’t seem to be on the app side of things, as the properties are being set properly. It seems to be storing values in the wrong places completely, causing Internal Server Errors. I cannot get a user registration to work anymore due to this.

I thought it was maybe a propagation delay issue due to changing the schema, but I waited about 10 minutes after clearing out the columns, and I still see the same issue. I even see it immediately after refreshing the console following a user registration - the fields are wrong, and then I go into another table and then back to the Users table, and they are even different then. Very strange.

Any thoughts on how to proceed on this? I am willing to help out any way needed, even if it’s live testing, as this is a critical app on which we have to get registration working properly.

Thank you in advance, please let me know how I can debug this or if there’s anything I may be doing wrong from my side (or any further info I can provide). The code for registering a user is pretty straight-forward, and worked fine before. Something like the following:

    BackendlessUser *user = [BackendlessUser new];

    user.password = self.passwordTextField.text;

    [user setProperty:@"email" object:self.emailTextField.text];

    [user setProperty:@"name" object:self.nameTextField.text];

    [user setProperty:@"phoneNumber" object:self.phoneNumberTextField.text];

    [user setProperty:@"photoUrl" object:file.fileURL];

    [user setProperty:@"organization" object:organization];

    [user setProperty:@"role" object:[self.userRoles objectAtIndex:self.selectedUserRoleIndex]];

    [user setProperty:@"userDeviceId" object:[[UIDevice currentDevice].identifierForVendor UUIDString]];


    .. setting other fields and code to save:











    [backendless.userService registering:user response:^(BackendlessUser *user) {
    ...etc...

Quick update - this issue may be confined to the server-side/backend portal. When printing the properties from the app side after registration, they all show up exactly as entered. But when looking at them in the portal, they are completely wrong. So the issue is less severe, but still worth looking into.

Another update - other tables that have static content are showing up as blank with Internal Server Errors. It seems to be fine on the app side of things (it’s showing rows from the DB properly), so not a huge deal… but something that definitely needs to be fixed.

Hi!

We are looking into this issue.

Thank you! If needed, my application ID is:

11E027CC-8167-0540-FF9C-B7C4B60FC000

Thank you. I already found app by name.
Your data structure already fixed. We are working on solution to avoid these errors in future.

Hi Kate - thank you for the response on this. I deleted all the custom columns, cleared all users, and then went through the app process of registering a new user. Unfortunately it still seems to have issues. The custom columns are not showing on the backend, and it’s putting data in the wrong places (i.e. the email field is appearing in a completely different column that should be a Data Relation). :frowning:

Hi Vincent,

Could you please attach a screenshot showing the following: “The custom columns are not showing on the backend, and it’s putting data in the wrong places”

Regards,
Mark

Hi Mark, no problem, see attached. It’s putting the “email” data into the “Alert.acceptedUser” field, and it’s putting “locationLat” data into the “email” field, for instance. Actually, now that I’m looking at it, it seems that everything is shifted left by one column where it actually should be. Let me know if that helps, and thanks!

Thanks, Vincent, it helps. What browser do you use?

I’m currently using Chrome on a Mac. I just tried Safari, and I’m seeing better results there - it seems the data looks correct, but I’m seeing columns from other tables appearing in the User table. Let me know if you need more details there, I’ll be glad to provide them. Thank you again for your support!

It looks like cache problem. You can fix it running command localStorage.clear();

in browser console.

Hi Kate, sorry but can you be more specific about where this command needs to be run? It seems like a javascript command, but I’m not sure exactly how and where to run it. Also - When I pulled up the backend via Safari, I was still seeing issues (i.e. other columns from other Data Models appearing in the User table), so it seems as if there may still be issues outside of a cache. But regardless, I’ll be glad to try this cache clear to see if that helps.

Hi Vincent,

Here’s a little video that shows how you can clear local storage in Chrome:
https://monosnap.com/file/DZYoHARihyvyvIFQL4FXfALW49vrVz

If this does not help, we will attach to your app remotely and look at it from our side.

Regards,
Mark

Thank you, Mark! That seems to have taken care of the issue. Your level of support is fantastic, by the way. Our team has been testing Backendless as a solution to migrate numerous apps off of Parse, and so far, it has been a great experience and in many cases, even better than Parse! We will definitely recommend you guys for any projects that need alternatives to Parse going forward. Please tell me you’re not shutting down anytime soon, though! :wink:

Thanks, Vincent. There are no plans to shut down ))