listVersions method

  1. @override
Future<List<String>> listVersions()
override

Lists all available migration versions in ascending order.

Implementation

@override
Future<List<String>> listVersions() async {
  var migrationsDirectory = MigrationConstants.migrationsBaseDirectory(
    _projectDirectory,
  );

  if (!await migrationsDirectory.exists()) {
    return [];
  }

  return await migrationsDirectory
        .list()
        .where((entity) => entity is Directory)
        .cast<Directory>()
        .map((directory) => path.basename(directory.path))
        .toList()
    ..sort();
}