// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System.Linq; using System.Threading.Tasks; using MongoDB.Bson; using MongoDB.Driver; using Squidex.Infrastructure.Migrations; namespace Migrate_01.Migrations { public sealed class ConvertOldSnapshotStores : IMigration { private readonly IMongoDatabase database; public ConvertOldSnapshotStores(IMongoDatabase database) { this.database = database; } public Task UpdateAsync() { var collections = new[] { "States_Apps", "States_Rules", "States_Schemas" }; var update = Builders.Update.Rename("State", "Doc"); var filter = new BsonDocument(); return Task.WhenAll( collections .Select(x => database.GetCollection(x)) .Select(x => x.UpdateManyAsync(filter, update))); } } }