title: flyway and initialization of Repeatable migrations
body: <p>Quoting flyway doc at <a href="https://flywaydb.org/documentation/migration/repeatable" rel="nofollow noreferrer">https://flywaydb.org/documentation/migration/repeatable</a> :</p>
  
  <blockquote>
    <p>Repeatable migrations do not have a version. Instead they are
    (re-)applied every time their checksum changes.</p>
    
    <p>This is very useful for managing database objects whose definition can
    then simply be maintained in a single file in version control.</p>
    
    <p>Within a single migration run, repeatable migrations are always
    applied last, after all pending versioned migrations have been
    executed. Repeatable migrations are applied in the order of their
    description.</p>
  </blockquote>
  
  <p>This sounds exciting however I can't seem to find any clarification on how this actually works and on how to initialize repeatable migrations. I understand that for Versioned migration I can create a base migration (<a href="https://flywaydb.org/documentation/existing" rel="nofollow noreferrer">https://flywaydb.org/documentation/existing</a>) and then run the baseline command to get things ready for my future versions. However for <strong>repeatable migrations</strong> I do not understand how flyway is able to checksum changes.</p>
  
  <blockquote>
    <p>Instead they are</p>
    
    <blockquote>
      <p>(re-)applied every time their checksum changes.</p>
    </blockquote>
  </blockquote>
  
  <p>Is flyway making the assumption I am recreating my database from scratch to get the checksum comparison working? This would explain how it is able to compare checksum (since it has access to the file-definition of object already in database). </p>