the beginning of the great id format migration. This makes
asset uuids no longer binary. I've tested this migration a few times, and it seems working in all the scenarios I've found but it wouldn't hurt to backup your asset db before running this as it does touch a very sensitive part of our content system.0.6.0-stable
parent
11d68ce0f5
commit
ec78a2871b
|
@ -222,6 +222,8 @@ namespace OpenSim.Data
|
|||
{
|
||||
string[] names = _assem.GetManifestResourceNames();
|
||||
SortedList<int, string> migrations = new SortedList<int, string>();
|
||||
// because life is funny if we don't
|
||||
Array.Sort(names);
|
||||
|
||||
foreach (string s in names)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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;
|
Loading…
Reference in New Issue