The first version of Packstack was, technically speaking, pretty simple. The next release will be more complex. Many of the features users requested required alterations to the database.
I decided to use NodeJS with express and sequelize for this project. In the past, I've used Python with flask and sqlalchemy, but I wanted to take the opportunity to learn something new.
This past weekend, I finally wrapped up most of the database modifications and wrote the migration scripts. This last part – writing the migration scripts – was something I was dreading for a long time. Sequelize has a cli migration tool but it's not bulletproof and requires you to have a solid understanding of the underlying technology if you're deviating from the docs at all.
Anyways, I'm happy to say that I've emerged from the pit of database migrations. I documented my steps and wrote some custom scripts so that when I return to the land of migrations, which is unavoidable, it'll go much more smoothly.