getBriefMigration method

Future<BriefMigration> getBriefMigration(
  1. String path
)

Implementation

Future<BriefMigration> getBriefMigration(final String path) async
{
  final identity = getMigrationIdentity(path);
  final digest = MD5Digest();
  {
    final commitFile = File(join(path, 'commit.sql'));
    if (!commitFile.existsSync()) {
      throw FileSystemException('Commit file is not found', commitFile.path);
    }
    final data = await commitFile.readAsBytes();
    digest.update(data, 0, data.length);
  }
  {
    final rollbackFile = File(join(path, 'rollback.sql'));
    if (!rollbackFile.existsSync()) {
      throw FileSystemException('Rollback file is not found', rollbackFile.path);
    }
    final data = await rollbackFile.readAsBytes();
    digest.update(data, 0, data.length);
  }
  var out = Uint8List(digest.digestSize);
  final len = digest.doFinal(out, 0);
  if (out.length > len) {
    out = out.sublist(0, len);
  }
  final csum = hex.encode(out);

  return BriefMigration(
    id: identity.id,
    name: identity.name,
    csum: csum,
    path: path,
  );
}