How should procedural database code like stored procedures be managed with a database migration tool like Flyway?
Unlike DDL I would not want to see changes to a stored procedure stored within multiple database migration files. How can procedural code be managed within a single file under source control, but also take advantage of database migrations with a tool like Flyway?
There is no special construct in the framework to deal with this. Mainly because I haven't figured out a way to do this that pleases me.
Update: Repeatable scripts are now fully supported as of Flyway 4.0. See https://flywaydb.org/documentation/migrations#repeatable-migrations
What we do is:
Not a great solution, and a pain to remember each time, but it gets past some of the limitations of the tool.