The Support Group Blog

Google App Maker is a wonderful tool for solving small problems throughout your organization. You can use it to create an easy way for your team to manage and share contacts or help you track the deadlines and budgets of your important projects. Google App Maker is great for so many things because it hides so much of the complexity of today's data-driven apps behind a drag and drop, "it just works" facade. However, if you're in charge of the Google Cloud instance that stores all this data, you'll quickly find that this ease of use comes at a cost…both mentally and monetarily.

Each time a user creates a new app and/or publishes an app with a Google Cloud SQL backend database – which is the default method, by the way – App Maker automatically creates a database, assigns a universally unique identifier (UUID) and names it accordingly. This, of course, is a great deal for the average user, but for the database admin, it can easily become a headache as he tries to figure out what all the databases are for and if they're even still in use. Whatsmore, when a user deletes an app from Google Drive, the database isn’t removed from the Google Cloud SQL instance. It remains there until it is manually removed. Google does offer tools within the Google Cloud Console to manage these databases. However, the databases are identified by their respective UUIDs, which isn't particularly helpful.

THERE'S AN APP FOR THAT

Here at The Support Group, our developers are in the habit of creating apps for customers and leaving boatloads of databases lying around on our Google Cloud SQL. Eventually, our databases started to take up lots of storage space and increase our costs in the form of monthly fees. Well to a hammer everything looks like a nail and to us, every problem looks like a Google App Maker app. So we set out to create a solution to our problem by developing an app that reviews our Google Cloud SQL instance and retrieves a list of all the databases. Not only can we see what is in each database, but we can add a humanly readable note to each database for future reference. This makes it easier to track our databases while minimizing costs and maximizing storage.

One of the technical challenges presented to the developer who created this database management app was the requirement to have the data table widget and its column headers dynamically resize based on the data in each of the table’s columns. This was accomplished after a lot of research and with some original JavaScripting. The details are explained and displayed in our free downloadable and fully functional example app.