Ejemplo n.º 1
0
        public AssetMigrator_1()
        {
            Version       = new Version(0, 0, 1);
            MigrationName = "Asset";

            Schema = new List <SchemaDefinition>();

            AddSchema("lslgenericdata", ColDefs(
                          ColDef("Token", ColumnTypes.String50),
                          ColDef("KeySetting", ColumnTypes.String50),
                          ColDef("ValueSetting", ColumnTypes.String50)
                          ), IndexDefs(
                          IndexDef(new string[2] {
                "Token", "KeySetting"
            }, IndexType.Primary)
                          ));

            RenameColumns.Add("UUID", "id");
            RenameColumns.Add("Name", "name");
            RenameColumns.Add("Description", "description");
            RenameColumns.Add("Type", "assetType");
            RenameColumns.Add("Local", "local");
            RenameColumns.Add("Temporary", "temporary");
            RenameColumns.Add("CreatorID", "creatorID");
            RenameColumns.Add("Data", "data");

            AddSchema("assets", ColDefs(
                          ColDef("id", ColumnTypes.Char36),
                          ColDef("name", ColumnTypes.String64),
                          ColDef("description", ColumnTypes.String64),
                          ColDef("assetType", ColumnTypes.TinyInt4),
                          ColDef("local", ColumnTypes.TinyInt1),
                          ColDef("temporary", ColumnTypes.TinyInt1),
                          ColDef("asset_flags", ColumnTypes.String45),
                          ColDef("creatorID", ColumnTypes.String36),
                          ColDef("data", ColumnTypes.LongBlob),
                          ColDef("create_time", ColumnTypes.Integer11),
                          ColDef("access_time", ColumnTypes.Integer11)
                          ), IndexDefs(
                          IndexDef(new string[1] {
                "id"
            }, IndexType.Primary)
                          ));

            RemoveSchema("assetblob");
            RemoveSchema("assettext");
            RemoveSchema("assetmesh");
        }
Ejemplo n.º 2
0
        public CurrencyMigrator_6()
        {
            Version       = new Version(0, 0, 6);
            MigrationName = "SimpleCurrency";

            Schema = new List <SchemaDefinition> ();

            //
            // Change summary: 19 May 2018
            //   Change 2 columns in the group_currency table to fix
            //   a bug with the group currency not being stored correctly
            // Updated 13 Nov 2018
            //   Change all integer fields to Integer11 rather than the strange Integer30
            //

            AddSchema("user_currency", ColDefs(
                          ColDef("PrincipalID", ColumnTypes.UUID),
                          ColDef("Amount", ColumnTypes.Integer11),
                          ColDef("LandInUse", ColumnTypes.Integer11),
                          ColDef("Tier", ColumnTypes.Integer11),
                          ColDef("IsGroup", ColumnTypes.TinyInt1),   // this will be deprecated
                          new ColumnDefinition {
                Name = "StipendsBalance",
                Type = new ColumnTypeDef {
                    Type         = ColumnType.Integer,
                    Size         = 11,
                    defaultValue = "0"
                }
            }
                          ),
                      IndexDefs(
                          IndexDef(new string[1] {
                "PrincipalID"
            }, IndexType.Primary)
                          ));

            // Currency Transaction Logs
            AddSchema("user_currency_history", ColDefs(
                          ColDef("TransactionID", ColumnTypes.UUID),
                          ColDef("Description", ColumnTypes.String128),
                          ColDef("FromPrincipalID", ColumnTypes.UUID),
                          ColDef("FromName", ColumnTypes.String128),
                          ColDef("ToPrincipalID", ColumnTypes.UUID),
                          ColDef("ToName", ColumnTypes.String128),
                          ColDef("Amount", ColumnTypes.Integer11),
                          ColDef("TransType", ColumnTypes.Integer11),
                          ColDef("Created", ColumnTypes.Integer11),
                          ColDef("ToBalance", ColumnTypes.Integer11),
                          ColDef("FromBalance", ColumnTypes.Integer11),
                          ColDef("FromObjectName", ColumnTypes.String50),
                          ColDef("ToObjectName", ColumnTypes.String50),
                          ColDef("RegionID", ColumnTypes.UUID)),
                      IndexDefs(
                          IndexDef(new string[1] {
                "TransactionID"
            }, IndexType.Primary)
                          ));

            // user purchases
            AddSchema("user_purchased", ColDefs(
                          ColDef("PurchaseID", ColumnTypes.UUID),
                          ColDef("PrincipalID", ColumnTypes.UUID),
                          ColDef("IP", ColumnTypes.String64),
                          ColDef("Amount", ColumnTypes.Integer11),
                          ColDef("RealAmount", ColumnTypes.Integer11),
                          ColDef("Created", ColumnTypes.Integer11),
                          ColDef("Updated", ColumnTypes.Integer11)),
                      IndexDefs(
                          IndexDef(new string[1] {
                "PurchaseID"
            }, IndexType.Primary)
                          ));

            // Group currency
            RenameColumns.Add("TierCredits", "TotalTierCredits");
            RenameColumns.Add("TierDebits", "TotalTierDebits");

            AddSchema("group_currency", ColDefs(
                          ColDef("GroupID", ColumnTypes.UUID),
                          ColDef("Balance", ColumnTypes.Integer11),
                          ColDef("GroupFee", ColumnTypes.Integer11),
                          ColDef("LandFee", ColumnTypes.Integer11),
                          ColDef("ObjectFee", ColumnTypes.Integer11),
                          ColDef("ParcelDirectoryFee", ColumnTypes.Integer11),
                          ColDef("TotalTierCredits", ColumnTypes.Integer11), // Changed from TierCredits
                          ColDef("TotalTierDebits", ColumnTypes.Integer11)), // Changed from TierDebits
                      IndexDefs(
                          IndexDef(new string[1] {
                "GroupID"
            }, IndexType.Primary)
                          ));

            // Currency Transaction Logs
            AddSchema("group_currency_history", ColDefs(
                          ColDef("TransactionID", ColumnTypes.UUID),
                          ColDef("Description", ColumnTypes.String128),
                          ColDef("GroupID", ColumnTypes.UUID),
                          ColDef("GroupName", ColumnTypes.String128),
                          ColDef("AgentID", ColumnTypes.UUID),
                          ColDef("AgentName", ColumnTypes.String128),
                          ColDef("Amount", ColumnTypes.Integer11),
                          ColDef("TransType", ColumnTypes.Integer11),
                          ColDef("Created", ColumnTypes.Integer11),
                          ColDef("GroupBalance", ColumnTypes.Integer11),
                          ColDef("AgentBalance", ColumnTypes.Integer11),
                          ColDef("FromObjectName", ColumnTypes.String50),
                          ColDef("ToObjectName", ColumnTypes.String50),
                          ColDef("RegionID", ColumnTypes.UUID)),
                      IndexDefs(
                          IndexDef(new string[1] {
                "TransactionID"
            }, IndexType.Primary)
                          ));
        }