From d28a5a4de78f79d2730d09d20a8284caef5339bf Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Thu, 19 Jun 2008 15:42:57 +0000 Subject: [PATCH] add migrations support for mysql log store. This should complete all the mysql bits for migration. --- OpenSim/Data/MySQL/MySQLLogData.cs | 30 +++++++++++++++++++ OpenSim/Data/MySQL/Resources/001_LogStore.sql | 10 +++++++ .../Data/MySQL/Resources/CreateLogsTable.sql | 2 +- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 OpenSim/Data/MySQL/Resources/001_LogStore.sql diff --git a/OpenSim/Data/MySQL/MySQLLogData.cs b/OpenSim/Data/MySQL/MySQLLogData.cs index 2bd246ad41..2e6de7c5c2 100644 --- a/OpenSim/Data/MySQL/MySQLLogData.cs +++ b/OpenSim/Data/MySQL/MySQLLogData.cs @@ -65,6 +65,36 @@ namespace OpenSim.Data.MySQL database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort); } + + // This actually does the roll forward assembly stuff + Assembly assem = GetType().Assembly; + Migration m = new Migration(database.Connection, assem, "LogStore"); + + // TODO: After rev 6000, remove this. People should have + // been rolled onto the new migration code by then. + TestTables(m); + + m.Update(); + + } + + private void TestTables(Migration m) + { + // under migrations, bail + if (m.Version > 0) + return; + + Dictionary tableList = new Dictionary(); + tableList["logs"] = null; + database.GetTableVersion(tableList); + + // migrations will handle it + if (tableList["logs"] == null) + return; + + // we have the table, so pretend like we did the first migration in the past + if (m.Version == 0) + m.Version = 1; } /// diff --git a/OpenSim/Data/MySQL/Resources/001_LogStore.sql b/OpenSim/Data/MySQL/Resources/001_LogStore.sql new file mode 100644 index 0000000000..b4c29fbef5 --- /dev/null +++ b/OpenSim/Data/MySQL/Resources/001_LogStore.sql @@ -0,0 +1,10 @@ +CREATE TABLE `logs` ( + `logID` int(10) unsigned NOT NULL auto_increment, + `target` varchar(36) default NULL, + `server` varchar(64) default NULL, + `method` varchar(64) default NULL, + `arguments` varchar(255) default NULL, + `priority` int(11) default NULL, + `message` text, + PRIMARY KEY (`logID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/OpenSim/Data/MySQL/Resources/CreateLogsTable.sql b/OpenSim/Data/MySQL/Resources/CreateLogsTable.sql index 64b3a8029a..53dcd31aa1 100644 --- a/OpenSim/Data/MySQL/Resources/CreateLogsTable.sql +++ b/OpenSim/Data/MySQL/Resources/CreateLogsTable.sql @@ -7,4 +7,4 @@ CREATE TABLE `logs` ( `priority` int(11) default NULL, `message` text, PRIMARY KEY (`logID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 1'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8