/// <summary> /// 迁移数据。 /// </summary> /// <param name="version">版本:0表示安装到最新,-1卸载!</param> public async Task MigrateAsync(int version = 0) { await _reposority.EnsureMigrationTableExistsAsync(); foreach (var migration in _migrations) { try { var operations = await LoadMirationsAsync(migration, version); if (!operations.Any()) { continue; } foreach (var operation in operations) { if (!await _reposority.ExecuteAsync(operation, operation.Operations)) { break; } } } catch (Exception exception) { Logger.LogError(999, string.Format(Resources.MigrationError, exception.Message), exception); #if DEBUG Logger.LogError(exception.StackTrace); #endif throw; } } }