Exemplo n.º 1
0
        public void Run(Type type, BsonDocument document)
        {
            var documentVersion = _versionService.GetVersionOrDefault(document);
            var currentOrLatest = _versionService.GetCurrentOrLatestMigrationVersion(type);

            if (documentVersion == currentOrLatest)
            {
                return;
            }

            MigrateUpOrDown(type, document, documentVersion, currentOrLatest);
        }
Exemplo n.º 2
0
        private FilterDefinition <BsonDocument> CreateQueryForRelevantDocuments(
            Type type)
        {
            var currentVersion = _versionService.GetCurrentOrLatestMigrationVersion(type);

            var existFilter = Builders <BsonDocument> .Filter.Exists(_versionService.GetVersionFieldName(), false);

            var notEqualFilter = Builders <BsonDocument> .Filter.Ne(
                _versionService.GetVersionFieldName(),
                currentVersion);

            return(Builders <BsonDocument> .Filter.Or(existFilter, notEqualFilter));
        }