static void Main() { Console.WriteLine("THIS WILL DELETE ALL DATA IN THE SQL DATABASE. TO CONTINUE, TYPE 'YES'."); if ((Console.ReadLine() ?? "").ToLower() != "yes") { Console.WriteLine("Aborted."); return; } var cmd = new Command("TRUNCATE rohbot.chathistory; TRUNCATE rohbot.accounts; TRUNCATE rohbot.roomsettings;"); cmd.ExecuteNonQuery(); TransferAccounts(); TransferRoomOptions(); TransferChatHistory(); }
private static void TransferAccounts() { Console.Write("Transferring Accounts: "); foreach (var account in MgoDatabase.Accounts.FindAll()) { var cmd = new Command("INSERT INTO rohbot.accounts (name,address,password,salt,defaultroom,enabledstyle) VALUES(:name,:address,:pass,:salt,:room,:style);"); cmd["name"] = account.Name; cmd["address"] = account.Address ?? "127.0.0.1"; cmd["pass"] = Convert.ToBase64String(account.Password); cmd["salt"] = Convert.ToBase64String(account.Salt); cmd["room"] = account.DefaultRoom; cmd["style"] = account.EnabledStyle; cmd.ExecuteNonQuery(); } Console.WriteLine("Done!"); }
private static void TransferRoomOptions() { Console.Write("Transferring RoomSettings: "); foreach (var options in MgoDatabase.RoomBans.FindAll()) { var cmd = new Command("INSERT INTO rohbot.roomsettings (room,bans,mods) VALUES(:room,:bans,:mods);"); cmd["room"] = options.Room; cmd["bans"] = options.Bans.ToArray(); cmd["mods"] = options.Mods.ToArray(); cmd.ExecuteNonQuery(); } Console.WriteLine("Done!"); }