I recently had to do a database migration where we combined 3 different tables into a single one, basically originally we came from an SQL-based system and now using DynamoDB, so data structures need to change. We ended up just writing a stack that we deploy, run the functions, let the migration run, and then remove that stack once we are happy with it. But just wondering if anyone has a better way of doing that? The main issue we had was if anything failed and we need to reverse it. It's fine in this instance as its a brand new table and we can always clear it or remove the table and start again, but if we were running a migration into the same table, that may not be the case.