I am building a multi-tenant application using Google Cloud Platform (GCP). My application is deployed on App Engine, and I am using MySQL Cloud SQL for the database. To ensure data isolation, I have opted for separate databases for each client, all of which share the same schema.
Here’s a brief overview of my setup:
Application: Hosted on Google App Engine Database: MySQL Cloud SQL with a separate database for each tenant The application determines the correct database to connect to based on the tenant login request.
The challenge I am facing: Managing an increasing number of databases, especially when modifications to the database schema are required, is becoming very difficult and time-consuming. Given that our software product is in its initial launch phase, frequent schema modifications are expected.
My question: Is there any tool or software that can facilitate the management of multiple databases in this scenario? Specifically, I am looking for solutions that can help with:
Efficiently managing and updating multiple databases sharing the same schema. Simplifying schema modifications and propagating them across all tenant databases. Any recommendations or best practices for handling this kind of database management in a multi-tenant architecture on GCP would be greatly appreciated.
Thank you!