mirror of
https://github.com/islehorse/HISP.git
synced 2025-06-09 04:21:27 +12:00
Add DataFixerUpper
This commit is contained in:
parent
3105689753
commit
e42b0bf782
7 changed files with 1031 additions and 877 deletions
63
HorseIsleServer/LibHISP/Server/DataFixerUpper.cs
Normal file
63
HorseIsleServer/LibHISP/Server/DataFixerUpper.cs
Normal file
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
|
||||
namespace HISP.Server
|
||||
{
|
||||
static class DataFixerUpper
|
||||
{
|
||||
private static void fixupVersion1_0()
|
||||
{
|
||||
// Add total logins column to UserExt
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE UserExt ADD COLUMN TotalLogins INT;");
|
||||
Database.TryExecuteSqlQuery("UPDATE UserExt SET TotalLogins=0;");
|
||||
|
||||
// Add New column to OnlineUsers.
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE OnlineUsers ADD COLUMN New TEXT(3);");
|
||||
Database.TryExecuteSqlQuery("UPDATE OnlineUsers SET New=\"NO\";");
|
||||
|
||||
// Alter sizes
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE UserExt CHANGE COLUMN ProfilePage ProfilePage TEXT(4000);");
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE UserExt CHANGE COLUMN PrivateNotes PrivateNotes TEXT(65535);");
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE MailBox CHANGE COLUMN Subject Subject TEXT(100);");
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE MailBox CHANGE COLUMN Message Message TEXT(65535);");
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE Horses CHANGE COLUMN description description TEXT(4000);");
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE WildHorse CHANGE COLUMN description description TEXT(4000);");
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE Ranches CHANGE COLUMN title title TEXT(50);");
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE Ranches CHANGE COLUMN description description TEXT(250);");
|
||||
}
|
||||
|
||||
private static void fixupVersion1_1()
|
||||
{
|
||||
// Add data column to shop to ShopInventory
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE ShopInventory ADD COLUMN Data INT;");
|
||||
Database.TryExecuteSqlQuery("UPDATE ShopInventory SET Data=0;");
|
||||
}
|
||||
|
||||
private static void fixupVersion1_7_20()
|
||||
{
|
||||
// Add LastLoadedInVersion column to World.
|
||||
Database.TryExecuteSqlQuery("ALTER TABLE World ADD COLUMN LastLoadedInVersion TEXT(64)");
|
||||
Database.TryExecuteSqlQuery("UPDATE World SET LastLoadedInVersion=\"v1.7.20\";");
|
||||
}
|
||||
|
||||
|
||||
public static void FixUpDb()
|
||||
{
|
||||
string lastVersionStr = Database.GetLastLoadedVersion();
|
||||
string currentVersionStr = ServerVersion.GetVersionString();
|
||||
|
||||
int lastVersion = Convert.ToInt32(Int32.Parse(lastVersionStr.ToLower().Replace("v", "").Replace(".", "")));
|
||||
int currentVersion = Convert.ToInt32(Int32.Parse(currentVersionStr.ToLower().Replace("v", "").Replace(".", "")));
|
||||
|
||||
if(currentVersion > lastVersion)
|
||||
{
|
||||
Logger.WarnPrint("Migrating Database from " + lastVersionStr + " to " + currentVersionStr);
|
||||
|
||||
if (lastVersion <= 10) fixupVersion1_0();
|
||||
if (lastVersion <= 11) fixupVersion1_1();
|
||||
if (lastVersion <= 1720) fixupVersion1_7_20();
|
||||
|
||||
Database.SetLastLoadedVersion(ServerVersion.GetVersionString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue