예제 #1
0
        public void Upgrade(IDotEntityTransaction transaction)
        {
            Db.AddColumn <MenuItem, string>(nameof(MenuItem.Description), "", transaction);
            Db.AddColumn <MenuItem, string>(nameof(MenuItem.ExtraData), "", transaction);
            //execute the following only if it's not a fresh install
            if (transaction.CurrentlyRanVersions.All(x => x.GetType() != typeof(Version1)))
            {
                var parentMenuItemIdCol = DotEntityDb.Provider.SafeEnclose("ParentMenuItemId");
                var parentIdCol         = DotEntityDb.Provider.SafeEnclose(nameof(MenuItem.ParentId));
                var menuItemTable       = DotEntityDb.GetTableNameForType <MenuItem>();
                Db.AddColumn <MenuItem, int>(nameof(MenuItem.ParentId), 0, transaction);
                Db.Query($"UPDATE {menuItemTable} SET {parentIdCol}={parentMenuItemIdCol}", null, transaction);
                Db.DropColumn <MenuItem>("ParentMenuItemId", transaction);
            }

            var cartTable  = DotEntityDb.Provider.SafeEnclose(DotEntityDb.GetTableNameForType <Cart>());
            var orderTable = DotEntityDb.Provider.SafeEnclose(DotEntityDb.GetTableNameForType <Order>());
            var selectedShippingOptionCol = DotEntityDb.Provider.SafeEnclose(nameof(Cart.SelectedShippingOption));
            var query =
                $"UPDATE {cartTable} SET {selectedShippingOptionCol}='[{{\"name\":\"' + {selectedShippingOptionCol} + '\"}}]'";

            Db.Query(query, null, transaction);
            query =
                $"UPDATE {orderTable} SET {selectedShippingOptionCol}='[{{\"name\":\"' + {selectedShippingOptionCol} + '\"}}]'";
            Db.Query(query, null, transaction);
        }
예제 #2
0
        public void Downgrade(IDotEntityTransaction transaction)
        {
            Db.DropConstraint(Relation.Create <User, ConnectedAccount>("Id", "UserId"), transaction);
            Db.DropTable <ConnectedAccount>(transaction);

            Db.DropColumn <Product>(nameof(Product.RestrictedToRoles), transaction);
            Db.DropTable <EntityRole>(transaction);
        }
예제 #3
0
        public void Downgrade(IDotEntityTransaction transaction)
        {
            Db.DropColumn <MenuItem>(nameof(MenuItem.Description), transaction);
            Db.DropColumn <MenuItem>(nameof(MenuItem.ExtraData), transaction);

            var parentMenuItemIdCol = DotEntityDb.Provider.SafeEnclose("ParentMenuItemId");
            var parentIdCol         = DotEntityDb.Provider.SafeEnclose(nameof(MenuItem.ParentId));
            var menuItemTable       = DotEntityDb.GetTableNameForType <MenuItem>();

            Db.AddColumn <MenuItem, int>("ParentMenuItemId", 0, transaction);
            Db.Query($"UPDATE {menuItemTable} SET {parentMenuItemIdCol}={parentIdCol}", null, transaction);
            Db.DropColumn <MenuItem>(nameof(MenuItem.ParentId), transaction);
        }
예제 #4
0
        public void Downgrade(IDotEntityTransaction transaction)
        {
            Db.DropColumn <OrderFulfillment>(nameof(OrderFulfillment.Locked), transaction);

            Db.DropConstraint(Relation.Create <Store, EntityStore>("Id", "StoreId"), transaction);
            Db.DropConstraint(Relation.Create <Product, ProductCatalog>("Id", "ProductId"), transaction);
            Db.DropConstraint(Relation.Create <Catalog, ProductCatalog>("Id", "CatalogId"), transaction);

            Db.DropTable <Store>(transaction);
            Db.DropTable <Catalog>(transaction);
            Db.DropTable <EntityStore>(transaction);
            Db.DropTable <ProductCatalog>(transaction);
            Db.DropTable <CatalogCountry>(transaction);
        }
예제 #5
0
        public void Downgrade(IDotEntityTransaction transaction)
        {
            Db.DropConstraint(Relation.Create <User, StoreCredit>("Id", "UserId"), transaction);
            Db.DropTable <StoreCredit>(transaction);

            Db.DropColumn <User>(nameof(User.FirstActivationDate), transaction);
            Db.DropColumn <User>(nameof(User.IsAffiliate), transaction);
            Db.DropColumn <User>(nameof(User.AffiliateActive), transaction);
            Db.DropColumn <User>(nameof(User.AffiliateFirstActivationDate), transaction);
            Db.DropColumn <Order>(nameof(Order.UsedStoreCredits), transaction);
            Db.DropColumn <Order>(nameof(Order.StoreCredits), transaction);
            Db.DropColumn <Order>(nameof(Order.StoreCreditAmount), transaction);
            Db.DropColumn <Cart>(nameof(Cart.UseStoreCredits), transaction);
        }
예제 #6
0
        public void Downgrade(IDotEntityTransaction transaction)
        {
            Db.DropTable <EntityTag>(transaction);
            Db.DropColumn <MenuItem>(nameof(MenuItem.OpenInNewWindow), transaction);

            var parentCategoryIdCol = DotEntityDb.Provider.SafeEnclose(nameof(Category.ParentCategoryId));
            var parentIdCol         = DotEntityDb.Provider.SafeEnclose(nameof(Category.ParentId));
            var categoryTable       = DotEntityDb.GetTableNameForType <Category>();

            Db.AddColumn <Category, int>(nameof(Category.ParentCategoryId), 0, transaction);
            Db.Query($"UPDATE {categoryTable} SET {parentCategoryIdCol}={parentIdCol}", null, transaction);
            Db.DropColumn <Category>(nameof(Category.ParentId), transaction);

            Db.DropColumn <ContentPage>(nameof(ContentPage.ParentId), transaction);
        }
예제 #7
0
        public void Upgrade(IDotEntityTransaction transaction)
        {
            Db.CreateTable <EntityTag>(transaction);

            //execute the following only if it's not a fresh install
            if (transaction.CurrentlyRanVersions.All(x => x.GetType() != typeof(Version1)))
            {
                Db.AddColumn <MenuItem, bool>(nameof(MenuItem.OpenInNewWindow), false, transaction);
                var parentCategoryIdCol = DotEntityDb.Provider.SafeEnclose(nameof(Category.ParentCategoryId));
                var parentIdCol         = DotEntityDb.Provider.SafeEnclose(nameof(Category.ParentId));
                var categoryTable       = DotEntityDb.GetTableNameForType <Category>();
                Db.AddColumn <Category, int>(nameof(Category.ParentId), 0, transaction);
                Db.Query($"UPDATE {categoryTable} SET {parentIdCol}={parentCategoryIdCol}", null, transaction);
                Db.DropColumn <Category>(nameof(Category.ParentCategoryId), transaction);
                Db.AddColumn <ContentPage, int>(nameof(ContentPage.ParentId), 0, transaction);
            }
        }
예제 #8
0
 public void Downgrade(IDotEntityTransaction transaction)
 {
     Db.DropColumn <Shipment>(nameof(Shipment.ShippingLabelUrl), transaction);
     Db.DropColumn <Shipment>(nameof(Shipment.TrackingUrl), transaction);
 }
예제 #9
0
 public void Downgrade(IDotEntityTransaction transaction)
 {
     Db.DropColumn <OrderFulfillment>(nameof(OrderFulfillment.Locked), transaction);
 }