I started using Bubble about 6 months ago. I was able to fumble may way through it and created a MVP with the basic functionality I was looking for. Now, 6 months later, I have realized that my database structure is a mess. I have too few data types, and too many data fields in the types I do have. It really is a logical mess that is effecting performance.
I would like to re-structure the database with new types and then connect those new types to the user (and other data types). I’m not sure how to best going about doing this while preserving the existing data (and having that existing data work with the new structure).
Questions:
Do I start a brand new app from scratch so I can setup the database correctly from the beginning? If so, can I later transfer the data from my old app to the new app (and map the changed fields accordingly)?
Would it be easier/better to just add in new data types into my existing app? I would have to create new pages anyway to once the data structure changes. I imagine this might be easier since I wouldn’t have to mess with my domain info, etc.?
Any advice or literature would be greatly appreciated.
It really depends on the complexity of your front end and the magnitude of changes that you need to make in the database, how many workflows you have etc. Because changing your database structure is going to impact so much of your app.
Most people that have been using Bubble for a while will probably tell you that your first app is going to have a lot of sins in it. The second will be way better, the third better again etc. So starting fresh is going to give you the opportunity to optimize a whole bunch of things I’m sure. It can often be the fastest way as well as unwinding all of those sins can take time.
You can always export your data from the first app in CSV format and then manipulate it as needed to match the new app structure and then just import it. That’s probably the easiest way to migrate from one app to another.
Don’t forget that you can copy/paste UI & workflows between any of your own apps as well. So for things that you’ve built that are largely the same from the old app to the new app (i.e. authentication etc) you can just copy/paste a lot of that over.
Josh @ Support Dept
Helping no-code founders get unstuck fast save hours, & ship faster with an expert on-demand
I’m also learning that my structure was bad from the beginning. I started messing with Bubble in January. Backend API workflows are what you would be setting up to convert your current data to your new structure. Do you have examples of your current structure and what you want it to be instead? I can probably help you with what the API workflow would be to convert properly.
For me my users don’t access the app on weekends, so for two days I can add all the new data types/fields to the Development version of the app, copy all data from live to dev, run all the workflows, make sure everything went correctly then I can push the dev app to live, then copy the database over.
For sure, I am starting second version of the app, and I am somewhat embarrassed by the first version. I plan on only getting better as I learn more.
This seems like a good option. It will also give me time redo the 2nd app and import the old data into it before going live. A couple of questions regarding this though…
Can I stick with the free plan while building the new app, or do I have to pay for one of the paid plans? I understand it will need to be paid once it goes live, but will I have access to what I need on the free plan while building it.
Is it fairly easy to switch the domain over to point to the new app once it goes live?
Thank you, I was thinking that should work, but I wasn’t sure.
Thank you tyler11. I’m still working through how I want the new structure to be. One of my many mistakes on the first app is that I didn’t think through the database structure first. I just added in types and fields as I built. While I expect there will still be some of that, I want to get the database structure and privacy rules mainly setup before I start building.
Potentially. I guess it really depends on whether what the free plan offers is enough. i.e. you won’t be able to set up backend workflows, there’s a limit on the number of database records etc. But you could also do all of the things that fit within the free plan and then upgrade it to a paid plan to finish of anything like that right before you set it live
Yeah you can transfer the domain in a new minutes!
Josh @ Support Dept
Helping no-code founders get unstuck fast save hours, & ship faster with an expert on-demand