mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 12:57:36 +08:00
Add LegacyOnlineID
with backwards migration
This commit is contained in:
parent
9cd33d9bb2
commit
c1a817fec6
@ -84,8 +84,9 @@ namespace osu.Game.Database
|
|||||||
/// 32 2023-07-09 Populate legacy scores with the ScoreV2 mod (and restore TotalScore to the legacy total for such scores) using replay files.
|
/// 32 2023-07-09 Populate legacy scores with the ScoreV2 mod (and restore TotalScore to the legacy total for such scores) using replay files.
|
||||||
/// 33 2023-08-16 Reset default chat toggle key binding to avoid conflict with newly added leaderboard toggle key binding.
|
/// 33 2023-08-16 Reset default chat toggle key binding to avoid conflict with newly added leaderboard toggle key binding.
|
||||||
/// 34 2023-08-21 Add BackgroundReprocessingFailed flag to ScoreInfo to track upgrade failures.
|
/// 34 2023-08-21 Add BackgroundReprocessingFailed flag to ScoreInfo to track upgrade failures.
|
||||||
|
/// 35 2023-09-01 Add LegacyOnlineID to ScoreInfo. Move osu_scores_*_high IDs stored in OnlineID to LegacyOnlineID. Reset anomalous OnlineIDs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const int schema_version = 34;
|
private const int schema_version = 35;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Lock object which is held during <see cref="BlockAllOperations"/> sections, blocking realm retrieval during blocking periods.
|
/// Lock object which is held during <see cref="BlockAllOperations"/> sections, blocking realm retrieval during blocking periods.
|
||||||
@ -1031,6 +1032,24 @@ namespace osu.Game.Database
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case 35:
|
||||||
|
{
|
||||||
|
foreach (var score in migration.NewRealm.All<ScoreInfo>())
|
||||||
|
{
|
||||||
|
if (score.OnlineID > 0)
|
||||||
|
{
|
||||||
|
score.LegacyOnlineID = score.OnlineID;
|
||||||
|
score.OnlineID = -1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
score.LegacyOnlineID = score.OnlineID = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger.Log($"Migration completed in {stopwatch.ElapsedMilliseconds}ms");
|
Logger.Log($"Migration completed in {stopwatch.ElapsedMilliseconds}ms");
|
||||||
|
@ -100,9 +100,25 @@ namespace osu.Game.Scoring
|
|||||||
|
|
||||||
public double? PP { get; set; }
|
public double? PP { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The online ID of this score.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// In the osu-web database, this ID (if present) comes from the new <c>solo_scores</c> table.
|
||||||
|
/// </remarks>
|
||||||
[Indexed]
|
[Indexed]
|
||||||
public long OnlineID { get; set; } = -1;
|
public long OnlineID { get; set; } = -1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The legacy online ID of this score.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// In the osu-web database, this ID (if present) comes from the legacy <c>osu_scores_*_high</c> tables.
|
||||||
|
/// This ID is also stored to replays set on osu!stable.
|
||||||
|
/// </remarks>
|
||||||
|
[Indexed]
|
||||||
|
public long LegacyOnlineID { get; set; } = -1;
|
||||||
|
|
||||||
[MapTo("User")]
|
[MapTo("User")]
|
||||||
public RealmUser RealmUser { get; set; } = null!;
|
public RealmUser RealmUser { get; set; } = null!;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user