Browse Source

Migration improved again.

pull/470/head
Sebastian 6 years ago
parent
commit
cf828f13c9
  1. 8
      backend/src/Squidex.Web/Json/TypedJsonInheritanceConverter.cs
  2. 7
      backend/tools/Migrate_01/Migrations/MongoDb/RenameAssetMetadata.cs

8
backend/src/Squidex.Web/Json/TypedJsonInheritanceConverter.cs

@ -69,7 +69,7 @@ namespace Squidex.Web.Json
return result; return result;
}); });
private readonly IReadOnlyDictionary<string, Type> maping; private readonly IReadOnlyDictionary<string, Type> mapping;
public TypedJsonInheritanceConverter(string discriminator) public TypedJsonInheritanceConverter(string discriminator)
: this(discriminator, DefaultMapping.Value) : this(discriminator, DefaultMapping.Value)
@ -79,17 +79,17 @@ namespace Squidex.Web.Json
public TypedJsonInheritanceConverter(string discriminator, IReadOnlyDictionary<string, Type> mapping) public TypedJsonInheritanceConverter(string discriminator, IReadOnlyDictionary<string, Type> mapping)
: base(typeof(T), discriminator) : base(typeof(T), discriminator)
{ {
maping = mapping ?? DefaultMapping.Value; this.mapping = mapping ?? TypedJsonInheritanceConverter<T>.DefaultMapping.Value;
} }
protected override Type GetDiscriminatorType(JObject jObject, Type objectType, string discriminatorValue) protected override Type GetDiscriminatorType(JObject jObject, Type objectType, string discriminatorValue)
{ {
return maping.GetOrDefault(discriminatorValue) ?? throw new InvalidOperationException($"Could not find subtype of '{objectType.Name}' with discriminator '{discriminatorValue}'."); return mapping.GetOrDefault(discriminatorValue) ?? throw new InvalidOperationException($"Could not find subtype of '{objectType.Name}' with discriminator '{discriminatorValue}'.");
} }
public override string GetDiscriminatorValue(Type type) public override string GetDiscriminatorValue(Type type)
{ {
return maping.FirstOrDefault(x => x.Value == type).Key ?? type.Name; return mapping.FirstOrDefault(x => x.Value == type).Key ?? type.Name;
} }
} }
} }

7
backend/tools/Migrate_01/Migrations/MongoDb/RenameAssetMetadata.cs

@ -31,6 +31,13 @@ namespace Migrate_01.Migrations.MongoDb
await collection.UpdateManyAsync(new BsonDocument(), createMetadata); await collection.UpdateManyAsync(new BsonDocument(), createMetadata);
var removeNullPixelInfos =
Builders<BsonDocument>.Update
.Unset("ph")
.Unset("pw");
await collection.UpdateManyAsync(new BsonDocument("ph", BsonValue.Create(null)), removeNullPixelInfos);
var setPixelDimensions = var setPixelDimensions =
Builders<BsonDocument>.Update Builders<BsonDocument>.Update
.Rename("ph", "md.pixelHeight") .Rename("ph", "md.pixelHeight")

Loading…
Cancel
Save