From 202a4bec13a37d8a2f702f879a5e2b0d2e74085a Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Thu, 12 Jun 2008 18:44:58 +0000 Subject: Fix mysql migrations. This is tested with an existing up to date schema, and no schema. It should also work with a non up to date schema as well. Btw, meetings in which I can get code done are the right kind of meetings. --- OpenSim/Data/MySQL/MySQLDataStore.cs | 1 + OpenSim/Data/MySQL/MySQLInventoryData.cs | 2 +- OpenSim/Data/MySQL/MySQLUserData.cs | 2 +- OpenSim/Data/MySQL/Resources/001_AssetStore.sql | 6 +++++- OpenSim/Data/MySQL/Resources/001_InventoryStore.sql | 9 +++++++-- OpenSim/Data/MySQL/Resources/001_RegionStore.sql | 16 ++++++++++------ OpenSim/Data/MySQL/Resources/001_UserStore.sql | 13 +++++++------ 7 files changed, 32 insertions(+), 17 deletions(-) (limited to 'OpenSim/Data') diff --git a/OpenSim/Data/MySQL/MySQLDataStore.cs b/OpenSim/Data/MySQL/MySQLDataStore.cs index e9bc365..01cd605 100644 --- a/OpenSim/Data/MySQL/MySQLDataStore.cs +++ b/OpenSim/Data/MySQL/MySQLDataStore.cs @@ -90,6 +90,7 @@ namespace OpenSim.Data.MySQL m_log.Info("[REGION DB]: MySql - connecting: " + connectionstring); m_connection = new MySqlConnection(connectionstring); + m_connection.Open(); // This actually does the roll forward assembly stuff Assembly assem = GetType().Assembly; diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs index 1b86abf..780b96f 100644 --- a/OpenSim/Data/MySQL/MySQLInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs @@ -72,7 +72,7 @@ namespace OpenSim.Data.MySQL // This actually does the roll forward assembly stuff Assembly assem = GetType().Assembly; - Migration m = new Migration(database.Connection, assem, "AssetStore"); + Migration m = new Migration(database.Connection, assem, "InventoryStore"); // TODO: After rev 6000, remove this. People should have // been rolled onto the new migration code by then. diff --git a/OpenSim/Data/MySQL/MySQLUserData.cs b/OpenSim/Data/MySQL/MySQLUserData.cs index 7d2da3a..279ff71 100644 --- a/OpenSim/Data/MySQL/MySQLUserData.cs +++ b/OpenSim/Data/MySQL/MySQLUserData.cs @@ -107,7 +107,7 @@ namespace OpenSim.Data.MySQL // This actually does the roll forward assembly stuff Assembly assem = GetType().Assembly; - Migration m = new Migration(database.Connection, assem, "AssetStore"); + Migration m = new Migration(database.Connection, assem, "UserStore"); // TODO: After rev 6000, remove this. People should have // been rolled onto the new migration code by then. diff --git a/OpenSim/Data/MySQL/Resources/001_AssetStore.sql b/OpenSim/Data/MySQL/Resources/001_AssetStore.sql index 2c750fe..6a9a127 100644 --- a/OpenSim/Data/MySQL/Resources/001_AssetStore.sql +++ b/OpenSim/Data/MySQL/Resources/001_AssetStore.sql @@ -1,3 +1,5 @@ +BEGIN; + CREATE TABLE `assets` ( `id` binary(16) NOT NULL, `name` varchar(64) NOT NULL, @@ -8,4 +10,6 @@ CREATE TABLE `assets` ( `temporary` tinyint(1) NOT NULL, `data` longblob NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 1'; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 1'; + +COMMIT; \ No newline at end of file diff --git a/OpenSim/Data/MySQL/Resources/001_InventoryStore.sql b/OpenSim/Data/MySQL/Resources/001_InventoryStore.sql index 84701db..40dc91c 100644 --- a/OpenSim/Data/MySQL/Resources/001_InventoryStore.sql +++ b/OpenSim/Data/MySQL/Resources/001_InventoryStore.sql @@ -1,3 +1,5 @@ +BEGIN; + CREATE TABLE `inventoryfolders` ( `folderID` varchar(36) NOT NULL default '', `agentID` varchar(36) default NULL, @@ -8,7 +10,8 @@ CREATE TABLE `inventoryfolders` ( PRIMARY KEY (`folderID`), KEY `owner` (`agentID`), KEY `parent` (`parentFolderID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 2'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + CREATE TABLE `inventoryitems` ( `inventoryID` varchar(36) NOT NULL default '', `assetID` varchar(36) default NULL, @@ -32,4 +35,6 @@ CREATE TABLE `inventoryitems` ( PRIMARY KEY (`inventoryID`), KEY `owner` (`avatarID`), KEY `folder` (`parentFolderID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 3'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +COMMIT; \ No newline at end of file diff --git a/OpenSim/Data/MySQL/Resources/001_RegionStore.sql b/OpenSim/Data/MySQL/Resources/001_RegionStore.sql index 6604c3b..31164b3 100644 --- a/OpenSim/Data/MySQL/Resources/001_RegionStore.sql +++ b/OpenSim/Data/MySQL/Resources/001_RegionStore.sql @@ -1,3 +1,5 @@ +BEGIN; + CREATE TABLE `prims` ( `UUID` varchar(255) NOT NULL, `RegionUUID` varchar(255) default NULL, @@ -46,7 +48,7 @@ CREATE TABLE `prims` ( `SitTargetOrientY` float default NULL, `SitTargetOrientZ` float default NULL, PRIMARY KEY (`UUID`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 +) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `primshapes` ( `UUID` varchar(255) NOT NULL, @@ -77,7 +79,7 @@ CREATE TABLE `primshapes` ( `Texture` longblob, `ExtraParams` longblob, PRIMARY KEY (`UUID`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 +) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `primitems` ( `itemID` varchar(255) NOT NULL, @@ -99,13 +101,13 @@ CREATE TABLE `primitems` ( `everyonePermissions` int(11) default NULL, `groupPermissions` int(11) default NULL, PRIMARY KEY (`itemID`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 +) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `terrain` ( `RegionUUID` varchar(255) default NULL, `Revision` int(11) default NULL, `Heightfield` longblob -) ENGINE=MyISAM DEFAULT CHARSET=latin1 +) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `land` ( `UUID` varchar(255) NOT NULL, @@ -141,10 +143,12 @@ CREATE TABLE `land` ( `UserLookAtZ` float default NULL, `AuthbuyerID` varchar(36) NOT NULL default '00000000-0000-0000-0000-000000000000', PRIMARY KEY (`UUID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 2' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `landaccesslist` ( `LandUUID` varchar(255) default NULL, `AccessUUID` varchar(255) default NULL, `Flags` int(11) default NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 \ No newline at end of file +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +COMMIT; \ No newline at end of file diff --git a/OpenSim/Data/MySQL/Resources/001_UserStore.sql b/OpenSim/Data/MySQL/Resources/001_UserStore.sql index 7ab628f..29ebc7d 100644 --- a/OpenSim/Data/MySQL/Resources/001_UserStore.sql +++ b/OpenSim/Data/MySQL/Resources/001_UserStore.sql @@ -1,3 +1,5 @@ +BEGIN; + SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for agents @@ -17,7 +19,7 @@ CREATE TABLE `agents` ( PRIMARY KEY (`UUID`), UNIQUE KEY `session` (`sessionID`), UNIQUE KEY `ssession` (`secureSessionID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 1'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Create schema avatar_appearance -- @@ -54,10 +56,8 @@ CREATE TABLE `avatarappearance` ( Underpants_Asset char(36) NOT NULL, Skirt_Item char(36) NOT NULL, Skirt_Asset char(36) NOT NULL, - - PRIMARY KEY (`Owner`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev.2'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- @@ -69,7 +69,7 @@ CREATE TABLE `userfriends` ( `friendPerms` INT NOT NULL, `datetimestamp` INT NOT NULL, UNIQUE KEY (`ownerID`, `friendID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev.1';SET FOREIGN_KEY_CHECKS=0; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for users -- ---------------------------- @@ -99,8 +99,9 @@ CREATE TABLE `users` ( `webLoginKey` varchar(36) default NULL, PRIMARY KEY (`UUID`), UNIQUE KEY `usernames` (`username`,`lastname`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Rev. 2'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records -- ---------------------------- +COMMIT; \ No newline at end of file -- cgit v1.1