Brand new projects and most small projects don’t typically have many headaches in regards to database migrations.
Once your database has grown, either in size or volume of transactions, migrations can create panic. Your database can stop responding because it’s more focused on executing a migration than responding to production requests.
That’s not good.
At Power Home Remodeling, our database is now well over one terabyte in size. For some that may seem large, but there are other Rails projects with much larger databases.
Earlier this year I took on the task to develop an API Strategy for our application. We have API routes now. They just don’t all follow the same rules.
Here’s the criteria our web and mobile developers wanted for our API:
- Consistency. How we make requests. Data in the response.
- Strongly typed. Mobile and React developers like strongly typed data.
- Documentation tied to the code. Trying to synchronize code changes with documentation in comments or a separate document failed for us in the past. …
This is not a how-to post. There are plenty of those out there targeted at migrating from whatever version you are on to whatever the next version for you happens to be. Ombu Labs helped us out and they have written a bit on the topic of upgrading.
This is highlighting our application as an example of one that has successfully been upgraded over time.
At one point it was hard to believe we’d make it. Fortunately, each upgrade does seem easier. But if you stagnate too long, the buildup of multiple releases becomes quite intimidating.
When I say I work at Power Home Remodeling, most people automatically think of people installing roofs and windows.
Their first thought isn’t tech. And if they think about computers at all, it’s generally around scheduling installations and maybe even ordering product and the logistics of getting it to a home.
We do a lot more than just that using technologies most businesses don’t even bother with. And there’s a tremendous outlook for taking advantage of new technologies we’re just beginning to scratch the surface on.
We run our own call center. This is built on Adhearsion along with some…
This is the start of my tenth year at Power Home Remodeling. What started out with just me as a single developer is now a group of over 50.
Since that first day, I’ve worked remotely in a different timezone from our corporate headquarters. It’s caused us to consider remote development every step of the way and allowed us to grow our team with great people as far away as the Philippines and Brazil.
Working with large, remote, team like this has its difficulties with communication but we seem to be dealing with it well.
Principal Developer at Power Home Remodeling