PageRenderTime 21ms CodeModel.GetById 16ms app.highlight 2ms RepoModel.GetById 0ms app.codeStats 0ms

/Aurora/DataManager/Migration/Migrators/UserInfo/UserInfosMigrator_4.cs

https://bitbucket.org/VirtualReality/software-testing
C# | 90 lines | 51 code | 8 blank | 31 comment | 0 complexity | 69e1550860507b2928831af000e39e2e MD5 | raw file
 1/*
 2 * Copyright (c) Contributors, http://aurora-sim.org/
 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
 4 *
 5 * Redistribution and use in source and binary forms, with or without
 6 * modification, are permitted provided that the following conditions are met:
 7 *     * Redistributions of source code must retain the above copyright
 8 *       notice, this list of conditions and the following disclaimer.
 9 *     * Redistributions in binary form must reproduce the above copyright
10 *       notice, this list of conditions and the following disclaimer in the
11 *       documentation and/or other materials provided with the distribution.
12 *     * Neither the name of the Aurora-Sim Project nor the
13 *       names of its contributors may be used to endorse or promote products
14 *       derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections.Generic;
30using Aurora.Framework;
31using Aurora.Framework.Utilities;
32
33namespace Aurora.DataManager.Migration.Migrators
34{
35    public class UserInfoMigrator_4 : Migrator
36    {
37        public UserInfoMigrator_4()
38        {
39            Version = new Version(0, 0, 4);
40            MigrationName = "UserInfo";
41
42            schema = new List<SchemaDefinition>();
43
44            //
45            // Change summery:
46            //
47            //   Add the new UserInfo table that replaces the GridUser and Presence tables
48            //
49            RemoveSchema("userinfo");
50            AddSchema("userinfo", ColDefs(
51                ColDef("UserID", ColumnTypes.String50),
52                ColDef("RegionID", ColumnTypes.String50),
53                ColDef("LastSeen", ColumnTypes.Integer30),
54                ColDef("IsOnline", ColumnTypes.String36),
55                ColDef("LastLogin", ColumnTypes.String50),
56                ColDef("LastLogout", ColumnTypes.String50),
57                ColDef("Info", ColumnTypes.String512),
58                ColDef("CurrentRegionID", ColumnTypes.Char36),
59                ColDef("CurrentPosition", ColumnTypes.String36),
60                ColDef("CurrentLookat", ColumnTypes.String36),
61                ColDef("HomeRegionID", ColumnTypes.Char36),
62                ColDef("HomePosition", ColumnTypes.String36),
63                ColDef("HomeLookat", ColumnTypes.String36),
64                ColDef("CurrentRegionURI", ColumnTypes.String255)
65                                      ), IndexDefs(
66                                          IndexDef(new string[1] {"UserID"}, IndexType.Primary)
67                                             ));
68        }
69
70        protected override void DoCreateDefaults(IDataConnector genericData)
71        {
72            EnsureAllTablesInSchemaExist(genericData);
73        }
74
75        protected override bool DoValidate(IDataConnector genericData)
76        {
77            return TestThatAllTablesValidate(genericData);
78        }
79
80        protected override void DoMigrate(IDataConnector genericData)
81        {
82            DoCreateDefaults(genericData);
83        }
84
85        protected override void DoPrepareRestorePoint(IDataConnector genericData)
86        {
87            CopyAllTablesToTempVersions(genericData);
88        }
89    }
90}