code: func parseMigrationPath(path string) (uint64, migrationType, string, error) {
  	filebase := filepath.Base(path)
  
  	matches := upMigrationFile.FindAllSubmatch([]byte(filebase), -1)
  	if matches != nil {
  		return parseMatches(matches, upMigration)
  	}
  	matches = downMigrationFile.FindAllSubmatch([]byte(filebase), -1)
  	if matches != nil {
  		return parseMatches(matches, downMigration)
  	}
  
  	return 0, "", "", InvalidMigrationFile
  }
docs: // Returns the migration number, type and base name, so 1, "up", "migration" from "01_migration_up.sql"