Ability to merge two users

Hi All,

Is it possible to merge two users in the system?

If not, at least is it possible to replace all occurrences one user in the data with another user?

Thanks,
Mukesh

No. The records created by an user can’t be transfered to another one. The field “Creator” in the database can’t be edit.

Hmm. Thanks.

Hi @mghatiya

Data items:
If you add your own field of “Created by” user type, and the records created in the database contain that “Created by” custom field, you could achieve this by just changing the user that field has with the new user.

About the users:
I think this should be “easy”. Just “replace” the fields you want to “save” in one of the two users and delete the other. This needs to be the last step as if you delete it before the (Data items section, see above), you will lose the “Created By” records to (deleted thing).

Merging of different users is not possible. But you can archive your requirement by assigning role / permission to the user. It can work for the privacy rules too.
And they can able to access the data from another user details.

Example : parent user and child user. need to maintain some relationships between the users in table / intermediate database table.
Parent user can able access the data of child user by accessing child user unique ID.

Thanks.
Data Items: Yes, in some cases I do have those kind of fields. I was just wondering if there was an automated way to replace them all. Right now I am having to go through each data type and figure out if it has a user related field and then perform that operation. I was looking for something like “replace all the instances of this user with that user”, so that it is not dependent on me missing out something.

Users:
I had a question in this one. Can I really delete the first user? I was wondering what would happen to the records created by that user in that case. You seem to suggest that in those cases records will still remain but “created by” will point to “deleted thing”. Can you please confirm this one?

This seems to complicate the things. I don’t want to build new logic of parent/child.

And it is not about one user being able to access other user’s data. It is about all the instances of one user being replaced by another.

Hi, I think you missed the concept.

You can achieve this if you add a custom field (user type) as a new field in the data types.

Take a look into this scenario:

We got a bunch of entries. As you can see, I have created a custom field called “Created by (custom)” User type. We need to fill this entry with the user that has created the field initially. In this case, the data belongs to user1@test.com

Let’s say we want to merge user1@test.com with user2@test.com and keep only one of them, let’s say user2.

In this case, we want to make changes to a list of things (search the database) we can filter by the user1@test.com to list all the records on this user, and then we modify the data in the Created by (custom) with the new user2@test.com

Now we do exactly the same with the user data (if we want) → Finally, we can delete the user1@test.com as we already transferred all the data to user2.

You can see more details in this demo: Bubble | No-code apps (you can reset the demo by clicking on the restart scenario button).

Editor: Mergusers | Bubble Editor

Redu.

Hi @yusaney1.

I had understood the concept. Maybe I missed to communicate that well. I was just asking a follow-up question on that method.

I have lot of “data types” and in many cases I do have a user-like field and I am using what you have suggested.

What I am saying was that this is still dependent on me going and checking all user types, doing a search for those in the workflow, replacing the field with new values. I may miss some data types, some fields or may make some mistakes e.g. instead of updating field of user 1 to user 2 I might by mistake in some case do it the other way round.

So, I was just commenting that this one is bit error prone method. It would have been nicer if Bubble had an in-built action like “Change all the data types that have user field and update all those instances from user1 to user2”. I would have been more confident of that action than what I have built myself.

And my second question was to just confirm that deleting user1 was indeed safe. I was worried that if I deleted user1, it might delete all the data created by user1 too. You seem to suggest that that is not the case. I was just looking for a reconfirmation.

Thanks,
Mukesh

There’s no built-in method to do this, but if you take your time and make sure you are covering all the data types, this should not be a problem at all, as the data types are pre-defined.

When you delete a user that has created different entries in multiple data types, all the “fields” that contain anything related to that user will change to Deleted thing. That’s why it is essential to delete the user as the last step when all the data has been merged. Otherwise, you won’t be able to “find” using search the fields that had the user.

Example:

BEFORE deleting the user:

AFTER deleting the user: