mirror of
https://github.com/ppy/osu
synced 2024-12-27 09:23:15 +00:00
Fix importer not considering that some EF beatmaps have no local metadata
This commit is contained in:
parent
8d4a3cc569
commit
2f2c498477
@ -48,6 +48,7 @@ namespace osu.Game.Database
|
|||||||
.Include(s => s.Beatmaps).ThenInclude(b => b.Metadata)
|
.Include(s => s.Beatmaps).ThenInclude(b => b.Metadata)
|
||||||
.Include(s => s.Beatmaps).ThenInclude(b => b.BaseDifficulty)
|
.Include(s => s.Beatmaps).ThenInclude(b => b.BaseDifficulty)
|
||||||
.Include(s => s.Files).ThenInclude(f => f.FileInfo)
|
.Include(s => s.Files).ThenInclude(f => f.FileInfo)
|
||||||
|
.Include(s => s.Metadata)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
// previous entries in EF are removed post migration.
|
// previous entries in EF are removed post migration.
|
||||||
@ -105,24 +106,7 @@ namespace osu.Game.Database
|
|||||||
Bookmarks = beatmap.Bookmarks,
|
Bookmarks = beatmap.Bookmarks,
|
||||||
Ruleset = realm.Find<RulesetInfo>(beatmap.RulesetInfo.ShortName),
|
Ruleset = realm.Find<RulesetInfo>(beatmap.RulesetInfo.ShortName),
|
||||||
Difficulty = new BeatmapDifficulty(beatmap.BaseDifficulty),
|
Difficulty = new BeatmapDifficulty(beatmap.BaseDifficulty),
|
||||||
Metadata = new BeatmapMetadata
|
Metadata = getBestMetadata(beatmap.Metadata, beatmapSet.Metadata),
|
||||||
{
|
|
||||||
Title = beatmap.Metadata.Title,
|
|
||||||
TitleUnicode = beatmap.Metadata.TitleUnicode,
|
|
||||||
Artist = beatmap.Metadata.Artist,
|
|
||||||
ArtistUnicode = beatmap.Metadata.ArtistUnicode,
|
|
||||||
Author = new RealmUser
|
|
||||||
{
|
|
||||||
OnlineID = beatmap.Metadata.Author.Id,
|
|
||||||
Username = beatmap.Metadata.Author.Username,
|
|
||||||
},
|
|
||||||
Source = beatmap.Metadata.Source,
|
|
||||||
Tags = beatmap.Metadata.Tags,
|
|
||||||
PreviewTime = beatmap.Metadata.PreviewTime,
|
|
||||||
AudioFile = beatmap.Metadata.AudioFile,
|
|
||||||
BackgroundFile = beatmap.Metadata.BackgroundFile,
|
|
||||||
AuthorString = beatmap.Metadata.AuthorString,
|
|
||||||
},
|
|
||||||
BeatmapSet = realmBeatmapSet,
|
BeatmapSet = realmBeatmapSet,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -140,6 +124,30 @@ namespace osu.Game.Database
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BeatmapMetadata getBestMetadata(EFBeatmapMetadata? beatmapMetadata, EFBeatmapMetadata? beatmapSetMetadata)
|
||||||
|
{
|
||||||
|
var metadata = beatmapMetadata ?? beatmapSetMetadata ?? new EFBeatmapMetadata();
|
||||||
|
|
||||||
|
return new BeatmapMetadata
|
||||||
|
{
|
||||||
|
Title = metadata.Title,
|
||||||
|
TitleUnicode = metadata.TitleUnicode,
|
||||||
|
Artist = metadata.Artist,
|
||||||
|
ArtistUnicode = metadata.ArtistUnicode,
|
||||||
|
Author = new RealmUser
|
||||||
|
{
|
||||||
|
OnlineID = metadata.Author.Id,
|
||||||
|
Username = metadata.Author.Username,
|
||||||
|
},
|
||||||
|
Source = metadata.Source,
|
||||||
|
Tags = metadata.Tags,
|
||||||
|
PreviewTime = metadata.PreviewTime,
|
||||||
|
AudioFile = metadata.AudioFile,
|
||||||
|
BackgroundFile = metadata.BackgroundFile,
|
||||||
|
AuthorString = metadata.AuthorString,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private void migrateScores(DatabaseWriteUsage db)
|
private void migrateScores(DatabaseWriteUsage db)
|
||||||
{
|
{
|
||||||
// can be removed 20220730.
|
// can be removed 20220730.
|
||||||
|
Loading…
Reference in New Issue
Block a user