Currently by default the SqlScriptMigration always splits SQL statements at semicolon. As I recall I added this because I encountered issues with runnng batches of statements on MySQL. In some cases this causes problems though - currently encountering it with PostgreSQL when trying to run a CREATE FUNCTION that contains a couple of semi-colons in the body of the function. These cause the function to be split incorrectly which fails.
As an interim solution we will add a settable flag on SqlScriptMigration that allows you to specify if statements should be split or not.