Development and Live Databases

Thanks for those updates @JonL! I will take a look…

I see a massive opportunity for Bubblers to migrate to Wappler, but in this database management area Bubble have made things really straightforward to learn and implement. I think we need a simple path we can show so Bubblers can feel confidence that the complete Wappler based development cycle is something they can easily move to. Maybe the new database manager will be that tool.

I have heard a few comments from people on the Bubble forums along the lines of “yes, Wappler looks very powerful and fast, but since I’m not familiar with database management, it is all too scary and complex”.

I’d be interested to hear a perspective on this from some of the Wappler team! :slight_smile:

Best wishes,
Antony.

How’s your setup for backing up local files? It seems like we can use Github, but we need to manually push up the files, right? It’s not automatically synced? Is Dropbox or similar a good option?

I use time machine and icloud for my backups.

GIT I use for version control and deployment. And yes if you look at it that way it also backups your website files :slight_smile:

Dropbox would make a perfect tool to keep them safe and synced :slight_smile:

1 Like

Thanks @JonL!

I got Dropbox setup.

Backing up local files is something Bubblers might not think of since the Bubble development environment is in the cloud and everything is automatically backed up for them. I’m glad you mentioned it!

1 Like

Don’t know how bubble exactly works but are you saying it automatically syncs all your databases directly? No matter what changes you have done? So if you have removed a field it deletes all the data directly? That can be very dangerous

Furthermore database synchronization between regular databases like MySQL that you will be using with Wappler is pretty generic topic that is covered with the standard database tools like MySQL workbench:

https://www.optimum7.com/blog/programming-2/database-synchronization-revisioning-with-mysql.html

It is a matter of good organization and version control.

With the planned Database Creator we hope to make this even easier.

Yes, Bubble syncs all the fields. Deletes are recoverable, so the risk is reduced significantly.

Wait to you get to many to many relationships in Mysql… lots different than bubble.
I just finished doing a basic course (8 hours lol but I watched it on double speed) which didn’t cover syntaxt but more how Mysql works and is structurred

Link is here -: the same dude does other videos which are shorter, not everyone has 4 hours however I suggest doing that, a basic html coding course, a bootstrap course and doing all the wappler courses in the docs… Once you do that you should be good to go

2 Likes

I am forgetting Bubble by the minute so please bear with me if I’m wrong and feel free to correct me :slight_smile:

Bubble syncs database schema on deployment and not automatically. As you would expect of course :slight_smile:

1 Like

Caleb’s video’s are fun…I like his style.

Yeah I’m not sure if he talks slow or clear but I find him easy to understand even at 2x speed

Working on those videos as we speak, within a week I hope

As to you question as to how to do things without docker, i simply dump the database to an .sql file (most DB managers will do that) and then upload to production, simple process, will do a quick video on that one also just in the interests of completeness.

However once the site is live if structure changes are needed, i tend do do this manually in both dev and live, it only takes a few seconds and I like to be in 100% control of what I am doing at that stage. adding new tables if just a simple upload of a .sql file

2 Likes

Also if you use MySQL Workbench to manage your database, you can do easily synchronizations with its built-in synchronization features:

https://dev.mysql.com/doc/workbench/en/wb-database-synchronization.html

So you can run the synchronization wizard from your live to production database to have synchronize the two schemes.

We will see if we can also offer within Wappler, easy database synchronization between two targets.

5 Likes

Don’t normally use workbench but that stirred some interest however I don’t see that option on my system

(Workbench 8.0 community edition)

Is this the paid version only?

Seems you have to create an EER diagram first … by chosing the Reverse Engineer and then you will have the option.

See Technique 2 at:

https://www.optimum7.com/blog/programming-2/database-synchronization-revisioning-with-mysql.html

Hey everyone…

Thank you soooo much for your detailed and involved debate… I really appreciate it!

Yes, Bubble has a one click release mechanism that feels really safe and easy to use. I think the flexibility but also complexity of using both git for code and mysql workbench for the database is quite a put off for Bubblers, most of whom have no background in php/mysql development. The amount of new stuff to learn coming over to Wappler I feel is quite overwhelming for many Bubblers.

@George, I sense what would be amazing and could mean many more Bubblers coming over to Wappler would be to have a Release Manager… that at least supported a development and production environment… and maybe a staging one too.

So that product would manage both code release (html/php/css etc) and database release in one click.

For the database part it would track where the development database has been updated since a release was last made and update the production database schema (but not data). Bubble also allows you specify a default value for a newly created field, which is then reflected in the production database as a newly created field is updated. As @mebeingken says, I don’t believe deletion of a field actually happens in reality, so I’m guessing you’d need some mechanism to manage field deletions.

I’m in quite a unique position at the moment… being a typical Bubbler with no php/mysql experience and not yet knowing Wappler… so the struggles and questions I will document on here are the same that may go unheard as many Bubblers look at Wappler and then conclude it is just too complex to make the leap.

I firmly believe everyone creating a trial product (MVP) on Bubble at the moment should go to production in Wappler. I also believe the way to grow a no code product is to target this huge new market of first time app entrepreneurs who have no php/msql experience… which Bubble does very well. I am very happy to bring my unique position at this moment in time to help you folks see what goes on inside the head of such a target customer through posting what seems an issue for me.

Best wishes,
Antony.

2 Likes

I’m not a Bubble user but just a minor clarfication: there’s no need to use git - or mysql workbench.

For database management, there are many options. I use Navicat - a great tool which might reassure some people not familiar with database matters. It’s reasonaly priced, with an Essentials version which is very inexpensive (and does most of what you need). I have the Standard version which does all I need, and more (there is also an Enterprise version).

This is an interesting topic I think we all encounter. I wonder if some type of DB version control or automation tool could be used.

Examples:


https://sqitch.org/
http://www.liquibase.org/
https://flywaydb.org/

http://guilhermechapiewski.github.io/simple-db-migrate/
http://mmatuson.github.io/SchemaSync/

1 Like

Thanks @kfawcett and @TomD, it is great to see some other possibilities listed here.
Of course, the wide range of choices provide both possibilities, but also delay and confusion to the First Time App Entrepreneur evaluating Wappler.

So I throw down a challenge to you experienced Wapplers:

Can you define here on this post what you believe to be the most straightforward but failsafe way to release both code and new database structure from design to production environments?

If a single set of steps could be well documented and have a prominent video tutorial, I believe it could be a key piece of information to entice more App Entrepreneurs to Wappler.

Hi Keith, have you tried any of those solutions?