diff --git a/OpenSim/Data/Migration.cs b/OpenSim/Data/Migration.cs index d23200c61f..45b44b9fe8 100644 --- a/OpenSim/Data/Migration.cs +++ b/OpenSim/Data/Migration.cs @@ -222,6 +222,8 @@ namespace OpenSim.Data { string[] names = _assem.GetManifestResourceNames(); SortedList migrations = new SortedList(); + // because life is funny if we don't + Array.Sort(names); foreach (string s in names) { diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index f51eee2d3a..3cda5b82c2 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs @@ -125,8 +125,7 @@ namespace OpenSim.Data.MySQL new MySqlCommand( "SELECT name, description, assetType, invType, local, temporary, data FROM assets WHERE id=?id", _dbConnection.Connection); - MySqlParameter p = cmd.Parameters.Add("?id", MySqlDbType.Binary, 16); - p.Value = assetID.GetBytes(); + cmd.Parameters.AddWithValue("?id", assetID.ToString()); try { @@ -180,8 +179,7 @@ namespace OpenSim.Data.MySQL { using (cmd) { - MySqlParameter p = cmd.Parameters.Add("?id", MySqlDbType.Binary, 16); - p.Value = asset.FullID.GetBytes(); + cmd.Parameters.AddWithValue("?id", asset.FullID.ToString()); cmd.Parameters.AddWithValue("?name", asset.Name); cmd.Parameters.AddWithValue("?description", asset.Description); cmd.Parameters.AddWithValue("?assetType", asset.Type); @@ -219,8 +217,8 @@ namespace OpenSim.Data.MySQL new MySqlCommand( "SELECT id FROM assets WHERE id=?id", _dbConnection.Connection); - MySqlParameter p = cmd.Parameters.Add("?id", MySqlDbType.Binary, 16); - p.Value = uuid.GetBytes(); + + cmd.Parameters.AddWithValue("?id", uuid.ToString()); try { diff --git a/OpenSim/Data/MySQL/Resources/002_AssetStore.sql b/OpenSim/Data/MySQL/Resources/002_AssetStore.sql new file mode 100644 index 0000000000..a7d7fca8c5 --- /dev/null +++ b/OpenSim/Data/MySQL/Resources/002_AssetStore.sql @@ -0,0 +1,9 @@ +BEGIN; + +ALTER TABLE assets change id oldid binary(16); +ALTER TABLE assets add id varchar(36) not null default ''; +UPDATE assets set id = concat(substr(hex(oldid),1,8),"-",substr(hex(oldid),9,4),"-",substr(hex(oldid),13,4),"-",substr(hex(oldid),17,4),"-",substr(hex(oldid),21,12)); +ALTER TABLE assets drop oldid; +ALTER TABLE assets add constraint primary key(id); + +COMMIT; \ No newline at end of file