aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/MSSQL
diff options
context:
space:
mode:
authorSean McNamara2011-05-02 02:23:18 -0400
committerSean McNamara2011-05-02 02:23:18 -0400
commitfffd42f5cbbb9e59b6fde3247aeb0d80d990319f (patch)
tree034b3e8da351954bc1124d91ec1f28e29e6a68c6 /OpenSim/Data/MSSQL
parentFirst pass at fixing justincc's feedback v2 ( http://opensimulator.org/mantis... (diff)
parentFixed confusing OSDMap that comes as the response of QueryAccess in the case ... (diff)
downloadopensim-SC-fffd42f5cbbb9e59b6fde3247aeb0d80d990319f.zip
opensim-SC-fffd42f5cbbb9e59b6fde3247aeb0d80d990319f.tar.gz
opensim-SC-fffd42f5cbbb9e59b6fde3247aeb0d80d990319f.tar.bz2
opensim-SC-fffd42f5cbbb9e59b6fde3247aeb0d80d990319f.tar.xz
Merge git://opensimulator.org/git/opensim
Diffstat (limited to 'OpenSim/Data/MSSQL')
-rw-r--r--OpenSim/Data/MSSQL/MSSQLGenericTableHandler.cs6
-rw-r--r--OpenSim/Data/MSSQL/MSSQLMigration.cs3
-rw-r--r--OpenSim/Data/MSSQL/MSSQLSimulationData.cs25
-rw-r--r--OpenSim/Data/MSSQL/Resources/AuthStore.migrations8
-rw-r--r--OpenSim/Data/MSSQL/Resources/Avatar.migrations25
-rw-r--r--OpenSim/Data/MSSQL/Resources/FriendsStore.migrations4
-rw-r--r--OpenSim/Data/MSSQL/Resources/GridStore.migrations13
-rw-r--r--OpenSim/Data/MSSQL/Resources/InventoryStore.migrations9
-rw-r--r--OpenSim/Data/MSSQL/Resources/Presence.migrations17
-rw-r--r--OpenSim/Data/MSSQL/Resources/RegionStore.migrations119
-rw-r--r--OpenSim/Data/MSSQL/Resources/UserAccount.migrations2
11 files changed, 199 insertions, 32 deletions
diff --git a/OpenSim/Data/MSSQL/MSSQLGenericTableHandler.cs b/OpenSim/Data/MSSQL/MSSQLGenericTableHandler.cs
index 6a5d6eb..f5492b3 100644
--- a/OpenSim/Data/MSSQL/MSSQLGenericTableHandler.cs
+++ b/OpenSim/Data/MSSQL/MSSQLGenericTableHandler.cs
@@ -56,15 +56,15 @@ namespace OpenSim.Data.MSSQL
56 string realm, string storeName) 56 string realm, string storeName)
57 { 57 {
58 m_Realm = realm; 58 m_Realm = realm;
59
60 m_ConnectionString = connectionString;
59 61
60 if (storeName != String.Empty) 62 if (storeName != String.Empty)
61 { 63 {
62 Assembly assem = GetType().Assembly;
63 m_ConnectionString = connectionString;
64 using (SqlConnection conn = new SqlConnection(m_ConnectionString)) 64 using (SqlConnection conn = new SqlConnection(m_ConnectionString))
65 { 65 {
66 conn.Open(); 66 conn.Open();
67 Migration m = new Migration(conn, assem, storeName); 67 Migration m = new Migration(conn, GetType().Assembly, storeName);
68 m.Update(); 68 m.Update();
69 } 69 }
70 70
diff --git a/OpenSim/Data/MSSQL/MSSQLMigration.cs b/OpenSim/Data/MSSQL/MSSQLMigration.cs
index aea31c9..cd395b8 100644
--- a/OpenSim/Data/MSSQL/MSSQLMigration.cs
+++ b/OpenSim/Data/MSSQL/MSSQLMigration.cs
@@ -61,7 +61,8 @@ namespace OpenSim.Data.MSSQL
61 } 61 }
62 catch 62 catch
63 { 63 {
64 // Something went wrong, so we're version 0 64 // Return -1 to indicate table does not exist
65 return -1;
65 } 66 }
66 } 67 }
67 return version; 68 return version;
diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs
index 80ec65e..5155e56 100644
--- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs
+++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs
@@ -492,12 +492,11 @@ ELSE
492 using (SqlConnection conn = new SqlConnection(m_connectionString)) 492 using (SqlConnection conn = new SqlConnection(m_connectionString))
493 using (SqlCommand cmd = new SqlCommand(sql, conn)) 493 using (SqlCommand cmd = new SqlCommand(sql, conn))
494 { 494 {
495 conn.Open();
495 foreach (TaskInventoryItem taskItem in items) 496 foreach (TaskInventoryItem taskItem in items)
496 { 497 {
497 cmd.Parameters.AddRange(CreatePrimInventoryParameters(taskItem)); 498 cmd.Parameters.AddRange(CreatePrimInventoryParameters(taskItem));
498 conn.Open();
499 cmd.ExecuteNonQuery(); 499 cmd.ExecuteNonQuery();
500
501 cmd.Parameters.Clear(); 500 cmd.Parameters.Clear();
502 } 501 }
503 } 502 }
@@ -1154,9 +1153,9 @@ VALUES
1154 PrimitiveBaseShape baseShape = new PrimitiveBaseShape(); 1153 PrimitiveBaseShape baseShape = new PrimitiveBaseShape();
1155 1154
1156 baseShape.Scale = new Vector3( 1155 baseShape.Scale = new Vector3(
1157 Convert.ToSingle(shapeRow["ScaleX"]), 1156 (float)Convert.ToDouble(shapeRow["ScaleX"]),
1158 Convert.ToSingle(shapeRow["ScaleY"]), 1157 (float)Convert.ToDouble(shapeRow["ScaleY"]),
1159 Convert.ToSingle(shapeRow["ScaleZ"])); 1158 (float)Convert.ToDouble(shapeRow["ScaleZ"]));
1160 1159
1161 // paths 1160 // paths
1162 baseShape.PCode = Convert.ToByte(shapeRow["PCode"]); 1161 baseShape.PCode = Convert.ToByte(shapeRow["PCode"]);
@@ -1193,8 +1192,11 @@ VALUES
1193 { 1192 {
1194 } 1193 }
1195 1194
1196 if (!(shapeRow["Media"] is System.DBNull)) 1195 if (!(shapeRow["Media"] is System.DBNull) )
1196 {
1197 baseShape.Media = PrimitiveBaseShape.MediaList.FromXml((string)shapeRow["Media"]); 1197 baseShape.Media = PrimitiveBaseShape.MediaList.FromXml((string)shapeRow["Media"]);
1198 }
1199
1198 1200
1199 return baseShape; 1201 return baseShape;
1200 } 1202 }
@@ -1573,7 +1575,16 @@ VALUES
1573 parameters.Add(_Database.CreateParameter("Texture", s.TextureEntry)); 1575 parameters.Add(_Database.CreateParameter("Texture", s.TextureEntry));
1574 parameters.Add(_Database.CreateParameter("ExtraParams", s.ExtraParams)); 1576 parameters.Add(_Database.CreateParameter("ExtraParams", s.ExtraParams));
1575 parameters.Add(_Database.CreateParameter("State", s.State)); 1577 parameters.Add(_Database.CreateParameter("State", s.State));
1576 parameters.Add(_Database.CreateParameter("Media", null == s.Media ? null : s.Media.ToXml())); 1578
1579 if(null == s.Media )
1580 {
1581 parameters.Add(_Database.CreateParameter("Media", DBNull.Value));
1582 }
1583 else
1584 {
1585 parameters.Add(_Database.CreateParameter("Media", s.Media.ToXml()));
1586 }
1587
1577 1588
1578 return parameters.ToArray(); 1589 return parameters.ToArray();
1579 } 1590 }
diff --git a/OpenSim/Data/MSSQL/Resources/AuthStore.migrations b/OpenSim/Data/MSSQL/Resources/AuthStore.migrations
index 5b90ca3..eb91296 100644
--- a/OpenSim/Data/MSSQL/Resources/AuthStore.migrations
+++ b/OpenSim/Data/MSSQL/Resources/AuthStore.migrations
@@ -22,7 +22,11 @@ COMMIT
22 22
23BEGIN TRANSACTION 23BEGIN TRANSACTION
24 24
25INSERT INTO auth (UUID, passwordHash, passwordSalt, webLoginKey, accountType) SELECT [UUID] AS UUID, [passwordHash] AS passwordHash, [passwordSalt] AS passwordSalt, [webLoginKey] AS webLoginKey, 'UserAccount' as [accountType] FROM users; 25IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[users]') AND type in (N'U'))
26 INSERT INTO auth (UUID, passwordHash, passwordSalt, webLoginKey, accountType) SELECT [UUID] AS UUID, [passwordHash] AS passwordHash, [passwordSalt] AS passwordSalt, [webLoginKey] AS webLoginKey, 'UserAccount' as [accountType] FROM users;
27
28COMMIT
29
30
26 31
27 32
28COMMIT \ No newline at end of file
diff --git a/OpenSim/Data/MSSQL/Resources/Avatar.migrations b/OpenSim/Data/MSSQL/Resources/Avatar.migrations
index 759e939..5364153 100644
--- a/OpenSim/Data/MSSQL/Resources/Avatar.migrations
+++ b/OpenSim/Data/MSSQL/Resources/Avatar.migrations
@@ -13,5 +13,28 @@ PRIMARY KEY CLUSTERED
13) ON [PRIMARY] 13) ON [PRIMARY]
14 14
15 15
16COMMIT
17
18:VERSION 2
19
20BEGIN TRANSACTION
21
22CREATE TABLE dbo.Tmp_Avatars
23 (
24 PrincipalID uniqueidentifier NOT NULL,
25 [Name] varchar(32) NOT NULL,
26 Value text NOT NULL DEFAULT '',
27 ) ON [PRIMARY]
28 TEXTIMAGE_ON [PRIMARY]
29
30IF EXISTS(SELECT * FROM dbo.Avatars)
31 EXEC('INSERT INTO dbo.Tmp_Avatars (PrincipalID, Name, Value)
32 SELECT PrincipalID, CONVERT(text, Name), Value FROM dbo.Avatars WITH (HOLDLOCK TABLOCKX)')
33
34DROP TABLE dbo.Avatars
35
36EXECUTE sp_rename N'dbo.Tmp_Avatars', N'Avatars', 'OBJECT'
37
38COMMIT
39
16 40
17COMMIT \ No newline at end of file
diff --git a/OpenSim/Data/MSSQL/Resources/FriendsStore.migrations b/OpenSim/Data/MSSQL/Resources/FriendsStore.migrations
index f981a91..4d8ab0f 100644
--- a/OpenSim/Data/MSSQL/Resources/FriendsStore.migrations
+++ b/OpenSim/Data/MSSQL/Resources/FriendsStore.migrations
@@ -15,6 +15,8 @@ COMMIT
15 15
16BEGIN TRANSACTION 16BEGIN TRANSACTION
17 17
18INSERT INTO Friends (PrincipalID, Friend, Flags, Offered) SELECT [ownerID], [friendID], [friendPerms], 0 FROM userfriends; 18IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[userfriends]') AND type in (N'U'))
19INSERT INTO Friends (PrincipalID, Friend, Flags, Offered)
20SELECT [ownerID], [friendID], [friendPerms], 0 FROM userfriends;
19 21
20COMMIT \ No newline at end of file 22COMMIT \ No newline at end of file
diff --git a/OpenSim/Data/MSSQL/Resources/GridStore.migrations b/OpenSim/Data/MSSQL/Resources/GridStore.migrations
index d2ca27a..c6342fc 100644
--- a/OpenSim/Data/MSSQL/Resources/GridStore.migrations
+++ b/OpenSim/Data/MSSQL/Resources/GridStore.migrations
@@ -222,4 +222,17 @@ ALTER TABLE [regions] ADD [Token] varchar(255) NOT NULL DEFAULT 0;
222 222
223COMMIT 223COMMIT
224 224
225:VERSION 8
225 226
227BEGIN TRANSACTION
228ALTER TABLE regions ALTER COLUMN regionName VarChar(128)
229
230DROP INDEX IX_regions_name ON dbo.regions
231ALTER TABLE regions ALTER COLUMN regionName VarChar(128) null
232
233CREATE NONCLUSTERED INDEX IX_regions_name ON dbo.regions
234 (
235 regionName
236 ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
237
238COMMIT \ No newline at end of file
diff --git a/OpenSim/Data/MSSQL/Resources/InventoryStore.migrations b/OpenSim/Data/MSSQL/Resources/InventoryStore.migrations
index e2a8d57..4a3cb27 100644
--- a/OpenSim/Data/MSSQL/Resources/InventoryStore.migrations
+++ b/OpenSim/Data/MSSQL/Resources/InventoryStore.migrations
@@ -238,7 +238,10 @@ alter table inventoryitems
238 238
239COMMIT 239COMMIT
240 240
241 241:VERSION 8
242
243
244 242
243ALTER TABLE inventoryitems
244ADD CONSTRAINT DF_inventoryitems_creatorID
245DEFAULT '00000000-0000-0000-0000-000000000000' FOR creatorID
246
247:GO \ No newline at end of file
diff --git a/OpenSim/Data/MSSQL/Resources/Presence.migrations b/OpenSim/Data/MSSQL/Resources/Presence.migrations
index 35f78e1..bcb6328 100644
--- a/OpenSim/Data/MSSQL/Resources/Presence.migrations
+++ b/OpenSim/Data/MSSQL/Resources/Presence.migrations
@@ -7,14 +7,7 @@ CREATE TABLE [Presence] (
7[RegionID] uniqueidentifier NOT NULL, 7[RegionID] uniqueidentifier NOT NULL,
8[SessionID] uniqueidentifier NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', 8[SessionID] uniqueidentifier NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
9[SecureSessionID] uniqueidentifier NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', 9[SecureSessionID] uniqueidentifier NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
10[Online] char(5) NOT NULL DEFAULT 'false', 10
11[Login] char(16) NOT NULL DEFAULT '0',
12[Logout] char(16) NOT NULL DEFAULT '0',
13[Position] char(64) NOT NULL DEFAULT '<0,0,0>',
14[LookAt] char(64) NOT NULL DEFAULT '<0,0,0>',
15[HomeRegionID] uniqueidentifier NOT NULL,
16[HomePosition] CHAR(64) NOT NULL DEFAULT '<0,0,0>',
17[HomeLookAt] CHAR(64) NOT NULL DEFAULT '<0,0,0>',
18) 11)
19 ON [PRIMARY] 12 ON [PRIMARY]
20 13
@@ -27,4 +20,12 @@ BEGIN TRANSACTION
27CREATE UNIQUE INDEX SessionID ON Presence(SessionID); 20CREATE UNIQUE INDEX SessionID ON Presence(SessionID);
28CREATE INDEX UserID ON Presence(UserID); 21CREATE INDEX UserID ON Presence(UserID);
29 22
23COMMIT
24
25:VERSION 2
26
27BEGIN TRANSACTION
28
29ALTER TABLE Presence ADD LastSeen DateTime
30
30COMMIT \ No newline at end of file 31COMMIT \ No newline at end of file
diff --git a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations
index e2e8cbb..340b63d 100644
--- a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations
+++ b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations
@@ -1,4 +1,3 @@
1
2:VERSION 1 1:VERSION 1
3 2
4CREATE TABLE [dbo].[prims]( 3CREATE TABLE [dbo].[prims](
@@ -926,11 +925,121 @@ ALTER TABLE regionsettings ADD loaded_creation_datetime int NOT NULL default 0
926COMMIT 925COMMIT
927 926
928:VERSION 24 927:VERSION 24
929-- Added post 0.7
930 928
931BEGIN TRANSACTION 929BEGIN TRANSACTION
932 930
933ALTER TABLE prims ADD COLUMN MediaURL varchar(255) 931ALTER TABLE prims ADD MediaURL varchar(255)
934ALTER TABLE primshapes ADD COLUMN Media TEXT 932ALTER TABLE primshapes ADD Media TEXT NULL
933
934COMMIT
935
936:VERSION 25
937
938BEGIN TRANSACTION
939CREATE TABLE "regionwindlight" (
940 "region_id" varchar(36) NOT NULL DEFAULT '000000-0000-0000-0000-000000000000',
941 "water_color_r" [float] NOT NULL DEFAULT '4.000000',
942 "water_color_g" [float] NOT NULL DEFAULT '38.000000',
943 "water_color_b" [float] NOT NULL DEFAULT '64.000000',
944 "water_fog_density_exponent" [float] NOT NULL DEFAULT '4.0',
945 "underwater_fog_modifier" [float] NOT NULL DEFAULT '0.25',
946 "reflection_wavelet_scale_1" [float] NOT NULL DEFAULT '2.0',
947 "reflection_wavelet_scale_2" [float] NOT NULL DEFAULT '2.0',
948 "reflection_wavelet_scale_3" [float] NOT NULL DEFAULT '2.0',
949 "fresnel_scale" [float] NOT NULL DEFAULT '0.40',
950 "fresnel_offset" [float] NOT NULL DEFAULT '0.50',
951 "refract_scale_above" [float] NOT NULL DEFAULT '0.03',
952 "refract_scale_below" [float] NOT NULL DEFAULT '0.20',
953 "blur_multiplier" [float] NOT NULL DEFAULT '0.040',
954 "big_wave_direction_x" [float] NOT NULL DEFAULT '1.05',
955 "big_wave_direction_y" [float] NOT NULL DEFAULT '-0.42',
956 "little_wave_direction_x" [float] NOT NULL DEFAULT '1.11',
957 "little_wave_direction_y" [float] NOT NULL DEFAULT '-1.16',
958 "normal_map_texture" varchar(36) NOT NULL DEFAULT '822ded49-9a6c-f61c-cb89-6df54f42cdf4',
959 "horizon_r" [float] NOT NULL DEFAULT '0.25',
960 "horizon_g" [float] NOT NULL DEFAULT '0.25',
961 "horizon_b" [float] NOT NULL DEFAULT '0.32',
962 "horizon_i" [float] NOT NULL DEFAULT '0.32',
963 "haze_horizon" [float] NOT NULL DEFAULT '0.19',
964 "blue_density_r" [float] NOT NULL DEFAULT '0.12',
965 "blue_density_g" [float] NOT NULL DEFAULT '0.22',
966 "blue_density_b" [float] NOT NULL DEFAULT '0.38',
967 "blue_density_i" [float] NOT NULL DEFAULT '0.38',
968 "haze_density" [float] NOT NULL DEFAULT '0.70',
969 "density_multiplier" [float] NOT NULL DEFAULT '0.18',
970 "distance_multiplier" [float] NOT NULL DEFAULT '0.8',
971 "max_altitude" int NOT NULL DEFAULT '1605',
972 "sun_moon_color_r" [float] NOT NULL DEFAULT '0.24',
973 "sun_moon_color_g" [float] NOT NULL DEFAULT '0.26',
974 "sun_moon_color_b" [float] NOT NULL DEFAULT '0.30',
975 "sun_moon_color_i" [float] NOT NULL DEFAULT '0.30',
976 "sun_moon_position" [float] NOT NULL DEFAULT '0.317',
977 "ambient_r" [float] NOT NULL DEFAULT '0.35',
978 "ambient_g" [float] NOT NULL DEFAULT '0.35',
979 "ambient_b" [float] NOT NULL DEFAULT '0.35',
980 "ambient_i" [float] NOT NULL DEFAULT '0.35',
981 "east_angle" [float] NOT NULL DEFAULT '0.00',
982 "sun_glow_focus" [float] NOT NULL DEFAULT '0.10',
983 "sun_glow_size" [float] NOT NULL DEFAULT '1.75',
984 "scene_gamma" [float] NOT NULL DEFAULT '1.00',
985 "star_brightness" [float] NOT NULL DEFAULT '0.00',
986 "cloud_color_r" [float] NOT NULL DEFAULT '0.41',
987 "cloud_color_g" [float] NOT NULL DEFAULT '0.41',
988 "cloud_color_b" [float] NOT NULL DEFAULT '0.41',
989 "cloud_color_i" [float] NOT NULL DEFAULT '0.41',
990 "cloud_x" [float] NOT NULL DEFAULT '1.00',
991 "cloud_y" [float] NOT NULL DEFAULT '0.53',
992 "cloud_density" [float] NOT NULL DEFAULT '1.00',
993 "cloud_coverage" [float] NOT NULL DEFAULT '0.27',
994 "cloud_scale" [float] NOT NULL DEFAULT '0.42',
995 "cloud_detail_x" [float] NOT NULL DEFAULT '1.00',
996 "cloud_detail_y" [float] NOT NULL DEFAULT '0.53',
997 "cloud_detail_density" [float] NOT NULL DEFAULT '0.12',
998 "cloud_scroll_x" [float] NOT NULL DEFAULT '0.20',
999 "cloud_scroll_x_lock" tinyint NOT NULL DEFAULT '0',
1000 "cloud_scroll_y" [float] NOT NULL DEFAULT '0.01',
1001 "cloud_scroll_y_lock" tinyint NOT NULL DEFAULT '0',
1002 "draw_classic_clouds" tinyint NOT NULL DEFAULT '1',
1003 PRIMARY KEY ("region_id")
1004)
1005
1006COMMIT TRANSACTION
1007
1008:VERSION 26
1009
1010BEGIN TRANSACTION
1011
1012ALTER TABLE regionsettings ADD map_tile_ID CHAR(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'
1013
1014COMMIT
1015
1016:VERSION 27 #---------------------
935 1017
936COMMIT \ No newline at end of file 1018BEGIN TRANSACTION
1019ALTER TABLE land ADD MediaType VARCHAR(32) NOT NULL DEFAULT 'none/none'
1020ALTER TABLE land ADD MediaDescription VARCHAR(255) NOT NULL DEFAULT ''
1021ALTER TABLE land ADD MediaSize VARCHAR(16) NOT NULL DEFAULT '0,0'
1022ALTER TABLE land ADD MediaLoop bit NOT NULL DEFAULT 0
1023ALTER TABLE land ADD ObscureMusic bit NOT NULL DEFAULT 0
1024ALTER TABLE land ADD ObscureMedia bit NOT NULL DEFAULT 0
1025COMMIT
1026
1027:VERSION 28 #---------------------
1028
1029BEGIN TRANSACTION
1030
1031ALTER TABLE prims
1032ADD CONSTRAINT DF_prims_CreatorID
1033DEFAULT '00000000-0000-0000-0000-000000000000'
1034FOR CreatorID
1035
1036ALTER TABLE prims ALTER COLUMN CreatorID uniqueidentifier NOT NULL
1037
1038ALTER TABLE primitems
1039ADD CONSTRAINT DF_primitems_CreatorID
1040DEFAULT '00000000-0000-0000-0000-000000000000'
1041FOR CreatorID
1042
1043ALTER TABLE primitems ALTER COLUMN CreatorID uniqueidentifier NOT NULL
1044
1045COMMIT
diff --git a/OpenSim/Data/MSSQL/Resources/UserAccount.migrations b/OpenSim/Data/MSSQL/Resources/UserAccount.migrations
index 8534e23..a81704d 100644
--- a/OpenSim/Data/MSSQL/Resources/UserAccount.migrations
+++ b/OpenSim/Data/MSSQL/Resources/UserAccount.migrations
@@ -19,7 +19,7 @@ CREATE TABLE [UserAccounts] (
19:VERSION 2 19:VERSION 2
20 20
21BEGIN TRANSACTION 21BEGIN TRANSACTION
22 22IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[users]') AND type in (N'U'))
23INSERT INTO UserAccounts (PrincipalID, ScopeID, FirstName, LastName, Email, ServiceURLs, Created) SELECT [UUID] AS PrincipalID, '00000000-0000-0000-0000-000000000000' AS ScopeID, 23INSERT INTO UserAccounts (PrincipalID, ScopeID, FirstName, LastName, Email, ServiceURLs, Created) SELECT [UUID] AS PrincipalID, '00000000-0000-0000-0000-000000000000' AS ScopeID,
24username AS FirstName, 24username AS FirstName,
25lastname AS LastName, 25lastname AS LastName,