public static void runMigration(DSLContext jooq, String fileName) {
    if (jooq.fetchExists(MIGRATION, MIGRATION.FILE_NAME.eq(fileName))) {
      return;
    }

    try {
      runSqlFile(jooq, fileName);

      Migration migration = new Migration(fileName);
      jooq.newRecord(MIGRATION, migration).insert();
    } catch (IOException e) {
      throw new RuntimeException("Error executing sql file", e);
    }
  }