mirror of
https://github.com/ppy/osu
synced 2024-12-26 08:53:10 +00:00
Remove migration of key bindings
This commit is contained in:
parent
2bcb3fd304
commit
5bb741b4e8
@ -12,7 +12,6 @@ using osu.Game.Configuration;
|
|||||||
using osu.Game.IO;
|
using osu.Game.IO;
|
||||||
using osu.Game.Rulesets;
|
using osu.Game.Rulesets;
|
||||||
using osu.Game.Scoring;
|
using osu.Game.Scoring;
|
||||||
using DatabasedKeyBinding = osu.Game.Input.Bindings.DatabasedKeyBinding;
|
|
||||||
using LogLevel = Microsoft.Extensions.Logging.LogLevel;
|
using LogLevel = Microsoft.Extensions.Logging.LogLevel;
|
||||||
using osu.Game.Skinning;
|
using osu.Game.Skinning;
|
||||||
|
|
||||||
@ -24,14 +23,13 @@ namespace osu.Game.Database
|
|||||||
public DbSet<BeatmapDifficulty> BeatmapDifficulty { get; set; }
|
public DbSet<BeatmapDifficulty> BeatmapDifficulty { get; set; }
|
||||||
public DbSet<BeatmapMetadata> BeatmapMetadata { get; set; }
|
public DbSet<BeatmapMetadata> BeatmapMetadata { get; set; }
|
||||||
public DbSet<BeatmapSetInfo> BeatmapSetInfo { get; set; }
|
public DbSet<BeatmapSetInfo> BeatmapSetInfo { get; set; }
|
||||||
public DbSet<DatabasedSetting> DatabasedSetting { get; set; }
|
|
||||||
public DbSet<FileInfo> FileInfo { get; set; }
|
public DbSet<FileInfo> FileInfo { get; set; }
|
||||||
public DbSet<RulesetInfo> RulesetInfo { get; set; }
|
public DbSet<RulesetInfo> RulesetInfo { get; set; }
|
||||||
public DbSet<SkinInfo> SkinInfo { get; set; }
|
public DbSet<SkinInfo> SkinInfo { get; set; }
|
||||||
public DbSet<ScoreInfo> ScoreInfo { get; set; }
|
public DbSet<ScoreInfo> ScoreInfo { get; set; }
|
||||||
|
|
||||||
// migrated to realm
|
// migrated to realm
|
||||||
public DbSet<DatabasedKeyBinding> DatabasedKeyBinding { get; set; }
|
public DbSet<DatabasedSetting> DatabasedSetting { get; set; }
|
||||||
|
|
||||||
private readonly string connectionString;
|
private readonly string connectionString;
|
||||||
|
|
||||||
@ -138,11 +136,6 @@ namespace osu.Game.Database
|
|||||||
modelBuilder.Entity<SkinInfo>().HasIndex(b => b.Hash).IsUnique();
|
modelBuilder.Entity<SkinInfo>().HasIndex(b => b.Hash).IsUnique();
|
||||||
modelBuilder.Entity<SkinInfo>().HasIndex(b => b.DeletePending);
|
modelBuilder.Entity<SkinInfo>().HasIndex(b => b.DeletePending);
|
||||||
|
|
||||||
modelBuilder.Entity<DatabasedKeyBinding>().HasIndex(b => new { b.RulesetID, b.Variant });
|
|
||||||
modelBuilder.Entity<DatabasedKeyBinding>().HasIndex(b => b.IntAction);
|
|
||||||
modelBuilder.Entity<DatabasedKeyBinding>().Ignore(b => b.KeyCombination);
|
|
||||||
modelBuilder.Entity<DatabasedKeyBinding>().Ignore(b => b.Action);
|
|
||||||
|
|
||||||
modelBuilder.Entity<DatabasedSetting>().HasIndex(b => new { b.RulesetID, b.Variant });
|
modelBuilder.Entity<DatabasedSetting>().HasIndex(b => new { b.RulesetID, b.Variant });
|
||||||
|
|
||||||
modelBuilder.Entity<FileInfo>().HasIndex(b => b.Hash).IsUnique();
|
modelBuilder.Entity<FileInfo>().HasIndex(b => b.Hash).IsUnique();
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
|
||||||
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using osu.Framework.Input.Bindings;
|
|
||||||
using osu.Game.Database;
|
|
||||||
|
|
||||||
namespace osu.Game.Input.Bindings
|
|
||||||
{
|
|
||||||
[Table("KeyBinding")]
|
|
||||||
public class DatabasedKeyBinding : IKeyBinding, IHasPrimaryKey
|
|
||||||
{
|
|
||||||
public int ID { get; set; }
|
|
||||||
|
|
||||||
public int? RulesetID { get; set; }
|
|
||||||
|
|
||||||
public int? Variant { get; set; }
|
|
||||||
|
|
||||||
[Column("Keys")]
|
|
||||||
public string KeysString { get; set; }
|
|
||||||
|
|
||||||
[Column("Action")]
|
|
||||||
public int IntAction { get; set; }
|
|
||||||
|
|
||||||
[NotMapped]
|
|
||||||
public KeyCombination KeyCombination
|
|
||||||
{
|
|
||||||
get => KeysString;
|
|
||||||
set => KeysString = value.ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
[NotMapped]
|
|
||||||
public object Action
|
|
||||||
{
|
|
||||||
get => IntAction;
|
|
||||||
set => IntAction = (int)value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -450,25 +450,7 @@ namespace osu.Game
|
|||||||
using (var db = contextFactory.GetForWrite())
|
using (var db = contextFactory.GetForWrite())
|
||||||
using (var usage = realmFactory.GetForWrite())
|
using (var usage = realmFactory.GetForWrite())
|
||||||
{
|
{
|
||||||
var existingBindings = db.Context.DatabasedKeyBinding;
|
// migrate ruleset settings. can be removed 20220315.
|
||||||
|
|
||||||
// only migrate data if the realm database is empty.
|
|
||||||
if (!usage.Realm.All<RealmKeyBinding>().Any())
|
|
||||||
{
|
|
||||||
foreach (var dkb in existingBindings)
|
|
||||||
{
|
|
||||||
usage.Realm.Add(new RealmKeyBinding
|
|
||||||
{
|
|
||||||
KeyCombinationString = dkb.KeyCombination.ToString(),
|
|
||||||
ActionInt = (int)dkb.Action,
|
|
||||||
RulesetID = dkb.RulesetID,
|
|
||||||
Variant = dkb.Variant
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
db.Context.RemoveRange(existingBindings);
|
|
||||||
|
|
||||||
var existingSettings = db.Context.DatabasedSetting;
|
var existingSettings = db.Context.DatabasedSetting;
|
||||||
|
|
||||||
// only migrate data if the realm database is empty.
|
// only migrate data if the realm database is empty.
|
||||||
|
Loading…
Reference in New Issue
Block a user