diff --git a/NineChronicles.DataProvider.Executable/Commands/MySqlMigration.cs b/NineChronicles.DataProvider.Executable/Commands/MySqlMigration.cs index 9e1ad8ee..c545fa16 100644 --- a/NineChronicles.DataProvider.Executable/Commands/MySqlMigration.cs +++ b/NineChronicles.DataProvider.Executable/Commands/MySqlMigration.cs @@ -1,4 +1,5 @@ using Nekoyume.Action.AdventureBoss; +using Nekoyume.Action.CustomEquipmentCraft; using Nekoyume.Model.EnumType; using NineChronicles.DataProvider.DataRendering.AdventureBoss; using NineChronicles.DataProvider.DataRendering.Crafting; @@ -55,6 +56,8 @@ public class MySqlMigration private readonly List _adventureBossRushList = new (); private readonly List _adventureBossUnlockFloorList = new (); private readonly List _adventureBossClaimRewardList = new (); + private readonly List _unlockCombinationSlotList = new (); + private List _customEquipmentCraftList = new (); private string _connectionString; private IStore _baseStore; private BlockChain _baseChain; @@ -433,6 +436,18 @@ await Task.Run(async () => Console.WriteLine($"[Grinding] {_grindList.Count} grinding"); await _mySqlStore.StoreGrindList(_grindList); }); + + await Task.Run(async () => + { + Console.WriteLine($"[CustomEquipmentCraft] {_customEquipmentCraftList} Custom Equipment Craft"); + await _mySqlStore.StoreCustomEquipmentCraftList(_customEquipmentCraftList); + }); + + await Task.Run(async () => + { + Console.WriteLine($"[UnlockCombinationSlot] {_unlockCombinationSlotList} unlock combination slot"); + await _mySqlStore.StoreUnlockCombinationSlotList(_unlockCombinationSlotList); + }); } catch (Exception e) { @@ -1063,13 +1078,13 @@ private void ProcessTasks(Task>[] taskArray, IB var start = DateTimeOffset.UtcNow; _rapidCombinationList = _rapidCombinationList.Concat( RapidCombinationData.GetRapidCombinationInfo( - inputState, - ae.InputContext.Signer, - rapidCombination.avatarAddress, - rapidCombination.slotIndexList, - rapidCombination.Id, - ae.InputContext.BlockIndex, - _blockTimeOffset) + inputState, + ae.InputContext.Signer, + rapidCombination.avatarAddress, + rapidCombination.slotIndexList, + rapidCombination.Id, + ae.InputContext.BlockIndex, + _blockTimeOffset) ).ToList(); var end = DateTimeOffset.UtcNow; Console.WriteLine("Writing RapidCombination action in block #{0}. Time Taken: {1} ms.", ae.InputContext.BlockIndex, (end - start).Milliseconds); @@ -1279,6 +1294,34 @@ private void ProcessTasks(Task>[] taskArray, IB $"[Adventure Boss] Season updated : {_adventureBossSeasonDict.Count}"); break; } + + case CustomEquipmentCraft cec: + { + var cecList = CustomEquipmentCraftData.GetCustomEquipmentCraftInfo( + inputState, + outputState, + new ReplayRandom(ae.InputContext.RandomSeed), + ae.InputContext.Signer, + Guid.NewGuid(), + cec, + ae.InputContext.BlockIndex, + _blockTimeOffset + ); + _customEquipmentCraftList = _customEquipmentCraftList.Concat(cecList).ToList(); + break; + } + + case UnlockCombinationSlot ucs: + { + _unlockCombinationSlotList.Add(UnlockCombinationSlotData.GetUnlockCombinationSlotInfo( + inputState, + ae.InputContext.Signer, + ucs, + ae.InputContext.BlockIndex, + _blockTimeOffset + )); + break; + } } } }