How to bulk-update structures of multiple MySQL databases (structurally cloned but with different data)

I am considering create an application on Google App Engine where each user will have their own MySQL database but the app itself will be hosted on one Google App Engine Account.

How do I go about making changes to the structure of each database in bulk if I want to say add a column?

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Say ALTER TABLE? It does not change depending on if you have a copy or clone or ex replica or mariadb...
Steve BinkCommented:
You would need to make an appropriate update script containing all your schema changes, then run that script for each database.  There is no "shortcut" to this...
MarkProgrammerAuthor Commented:
Are you sure? NaviCat has a structure synchronization feature which works well for me but it only supports copying to one server ..
Acronis True Image 2019 just released!

Create a reliable backup. Make sure you always have dependable copies of your data so you can restore your entire system or individual files.

Steve BinkCommented:
That would be NaviCat scripting those changes.. a feature of that application, which is outside of MySQL.

In my office environment, we have an application running on 85 separate instances.  We have written our own infrastructure to push out schema changes.  It consists of bash scripts which iterate over all known instances and apply updates.

Yes, I am sure there is no way to accomplish this in MySQL.  There are, however, plenty of ways to use external to automate the changes.
MarkProgrammerAuthor Commented:
That's what I meant, an external application like NaviCat but that supports copying structures to multiple databases...
Steve BinkCommented:
A quick Google search on Navicat's command line shows limited options for scripting, though it seems possible.  I'm guessing you would use the data synchronization feature, but it appears you would need to create a profile.  There's also a "batch jobs" feature, but again, you'll need to create the jobs to batch.  That's still a bit of manual management of the task, which would become tedious if you have a large number of databases to sync.  

There are other options:  As I said, my office uses some scripts built in-house to accomplish this, and it works wonderfully.  In our situation, the hard part is making the DDL script.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
MySQL Server

From novice to tech pro — start learning today.