Migrating Stored Procedures with Flyway

2019-02-07 04:29发布

问题:

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?

回答1:

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



回答2:

What we do is:

  1. Have a complete CREATE OR REPLACE Flyway script for stored procedures whenever they change.
  2. Store each of the stored procedures in a separate area in source control, so that changes are tracked and differences are computable.

Not a great solution, and a pain to remember each time, but it gets past some of the limitations of the tool.