backupSystem static method

Future<void> backupSystem(
  1. SchemaMetaData smd,
  2. SchemaMetaData smdSys
)

Implementation

static Future<void> backupSystem(
    SchemaMetaData smd, SchemaMetaData smdSys) async {
  String ext = FileHelper.getDateString();
  DbTransaction sourceTransaction =
      await DataBaseHelper.getDbTransaction(C_DATABASE_NAME);
  DbTransaction destTransaction =
      await DataBaseHelper.getSqlite3DbTransaction(
          "latest", C_BACKUP_LOCATION + ext);
  await FileHelper.createEmptyDirectory(C_BACKUP_LOCATION + ext);

  await copySystem(smd, smdSys, sourceTransaction, destTransaction);

  await FileHelper.createSymbolicDirectory(
      C_BACKUP_LOCATION + "latest", C_BACKUP_LOCATION + ext);
  FileHelper.multipleFileTrim(C_BACKUP_LOCATION + "latest", ".csv");
  print("Backed up to " + C_BACKUP_LOCATION + ext);
  await sourceTransaction.endTransaction();
  await destTransaction.endTransaction();
}