title: Flyway repeatable migrations - executed before versioned ones?
body: <p>I'm observing some strange Flyway behaviour when using repeatable migrations. Documentation states, that:</p>
  
  <blockquote>
    <p>Within a single migration run, repeatable migrations are always applied last, after all pending versioned migrations have been executed.</p>
  </blockquote>
  
  <p>but in my case it seems, that the repeatable migration (which is recreating one of the DB views) is failing because it is being executed before versioned migrations.</p>
  
  <p>Flyway info data, from before migration:
      <code>
      +-------------------+---------------------+---------------------+---------+
      | Version           | Description         | Installed on        | State   |
      +-------------------+---------------------+---------------------+---------+
      | 1                 | Initial             |                     | &lt;Baseln |
      | 2                 | ███████████████████ |                     | &lt;Baseln |
      | 5                 | Initial data        |                     | &lt;Baseln |
      | 6                 | Initial sample data | 2016-04-29 14:21:13 | Success |
      | 20160422002600000 | ███████████████████ | 2016-04-29 14:33:48 | Success |
      | 20160422003400000 | ███████████████████ | 2016-04-29 14:33:48 | Success |
      | 20160422004700000 | ███████████████████ | 2016-04-29 14:33:48 | Success |
      | 20160428152800000 | ███████████████████ | 2016-04-29 14:33:48 | Success |
      | 20160428163300000 | ███████████████████ | 2016-04-29 14:33:48 | Success |
      | 20160428171300000 | ███████████████████ | 2016-04-29 14:33:48 | Success |
      |                   | ProblematicView     | 2016-04-29 14:33:48 | Outdate |
      |                   | Reports             | 2016-04-29 14:33:49 | Success |
      |                   | OtherView           | 2016-04-29 14:33:49 | Success |
      | 20160429115100000 | ███████████████████ | 2016-04-29 14:37:10 | Success |
      | 20160429160100000 | ███████████████████ | 2016-05-16 11:54:24 | Success |
      | 20160501090500000 | ███████████████████ | 2016-05-16 11:54:24 | Success |
      | 20160504111600000 | ███████████████████ | 2016-05-16 11:54:24 | Success |
      | 20160504120400000 | ███████████████████ | 2016-05-16 11:54:24 | Success |
      | 20160504143800000 | ███████████████████ | 2016-05-16 11:54:24 | Success |
      | 20160504145200000 | ███████████████████ | 2016-05-16 11:54:25 | Success |
      | 20160504161600000 | ███████████████████ |                     | Pending |
      | 20160506110300000 | ███████████████████ |                     | Pending |
      | 20160506162300000 | ███████████████████ |                     | Pending |
      | 20160506232000000 | ███████████████████ |                     | Pending |
      | 20160508144100000 | ███████████████████ |                     | Pending |
      | 20160509192400000 | ███████████████████ |                     | Pending |
      | 20160511160000000 | ███████████████████ |                     | Pending |
      | 20160511163659000 | ███████████████████ |                     | Pending |
      | 20160511163700000 | A newly_created_col |                     | Pending |
      | 20160511170000000 | ███████████████████ |                     | Pending |
      | 20160512112100000 | ███████████████████ |                     | Pending |
      | 20160512170500000 | ███████████████████ |                     | Pending |
      | 20160513134900000 | ███████████████████ |                     | Pending |
      +-------------------+---------------------+-------------------------------+</code></p>
  
  <p>and the migration log:</p>
  
  <pre><code>[INFO] Database: jdbc:sqlserver://█:1433;authenticationScheme=nativeAuthentication;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;multiSubnetFailover=false;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=█;applicationName=Microsoft JDBC Driver for SQL Server;applicationIntent=readwrite; (Microsoft SQL Server 11.0)
  [INFO] Successfully validated 33 migrations (execution time 00:00.052s)
  [INFO] SQLServer does not support setting the schema for the current session. Default schema NOT changed to dbo
  [INFO] Current version of schema [dbo]: 20160504145200000
  [WARNING] outOfOrder mode is active. Migration of schema [dbo] may not be reproducible.
  [INFO] Migrating schema [dbo] with repeatable migration ProblematicView
  [ERROR] Migration of schema [dbo] with repeatable migration ProblematicView failed! Changes successfully rolled back.
  [INFO] SQLServer does not support setting the schema for the current session. Default schema NOT changed to dbo
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD FAILURE
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time: 3.550s
  [INFO] Finished at: Mon May 16 12:40:49 CEST 2016
  [INFO] Final Memory: 10M/243M
  [INFO] ------------------------------------------------------------------------
  [ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:4.0.1:migrate (migrate-¦) on project ¦-db: org.flywaydb.core.internal.dbsupport.FlywaySqlScriptException:
  [ERROR] Migration R__ProblematicView.sql failed
  [ERROR] ------------------------------------------------
  [ERROR] SQL State  : S0001
  [ERROR] Error Code : 207
  [ERROR] Message    : Invalid column name 'newly_created_column'. /*&lt;-- column created in V20160511163700000*/`
  </code></pre>
  
  <p>Am I doing something wrong?<br>
  I'm using flyway-maven-plugin 4.0.1 (tested also on 4.0) with the following properties:</p>
  
  <pre><code>Maven:
  &lt;cleanDisabled&gt;true&lt;/cleanDisabled&gt;
  &lt;outOfOrder&gt;true&lt;/outOfOrder&gt;
  &lt;table&gt;schema_version&lt;/table&gt;
  &lt;repeatableSqlMigrationPrefix&gt;R&lt;/repeatableSqlMigrationPrefix&gt;
  &lt;sqlMigrationPrefix&gt;V&lt;/sqlMigrationPrefix&gt;
  Config file:
  flyway.user=flyway
  flyway.password=█
  flyway.url=jdbc:sqlserver://█;databasename=█
  flyway.locations=filesystem:flyway/upgrade/█`
  </code></pre>
  
  <p>//EDIT1:  </p>
  
  <ol>
  <li>When <strong>outOfOrder</strong> is set to false the migration is still failing,  </li>
  <li>clean + migrate seem to work, but that doesn't quite solve the problem,  </li>
  <li>I've noticed one more thing - when I've rolled back the DB to version 20160504143800000 repeatable migrations are shown at the end of the list (flyway info), but when 20160504145200000 migration is successfully executed suddenly they're in the middle of it (as in the table above). I'm not sure though if this has anything to do with the actual execution order.</li>
  </ol>