To be honest I'm not really sure why I thought storing this as JSON in the players table itself was a good idea. It's not efficient and it's not data that is needed every time we request a player. PlayerOsuRulesetData should be moved into it's own table and added as a navigation to the Player entity.
[x] Refactor the existing PlayerOsuRulesetData class to be a database entity
[x] Table name player_osu_ruleset_data
[x] Unique compound index of { PlayerId, Ruleset }
[x] Create a one to many relationship between Player and PlayerOsuRulesetData
[x] Relevant database migration created and tested
To be honest I'm not really sure why I thought storing this as JSON in the
players
table itself was a good idea. It's not efficient and it's not data that is needed every time we request a player.PlayerOsuRulesetData
should be moved into it's own table and added as a navigation to thePlayer
entity.PlayerOsuRulesetData
class to be a database entityplayer_osu_ruleset_data
PlayerId
,Ruleset
}Player
andPlayerOsuRulesetData