Deleting Purchase Orders and Baskets from the Database in Ucommerce
One thing you might want to do before putting a new Ucommerce solution into a production environment is to remove any test baskets and orders you might have placed during development. The schema gets a little complicated with the rich functionality found in the Ucommerce Transaction Foundation requiring the objects to be removed in a certain order.
Here’s how you go about deleting them.
*** WARNING! HERE BE DRAGONS! ***
Please be aware that running the following script will remove any baskets and orders found in the system with no way to get them back unless you have a database backup handy.
--DELETE PURCHASE ORDERS AND ASSOCIATED DATA
BEGIN TRAN
-- Delete reviews
DELETE FROM Ucommerce_ProductReviewComment
DELETE FROM Ucommerce_ProductReview
-- Delete discounts
DELETE FROM Ucommerce_OrderLineDiscountRelation
DELETE FROM Ucommerce_Discount
-- Remove shipment <-> order line link
UPDATE Ucommerce_OrderLine SET ShipmentId = NULL
UPDATE Ucommerce_PurchaseOrder SET BillingAddressId = NULL
DELETE FROM Ucommerce_Shipment
DELETE FROM Ucommerce_OrderAddress
DELETE FROM Ucommerce_OrderProperty
DELETE FROM Ucommerce_OrderLine
DELETE FROM Ucommerce_PaymentProperty
DELETE FROM Ucommerce_Payment
DELETE FROM Ucommerce_OrderStatusAudit
DELETE FROM Ucommerce_PurchaseOrder
DELETE FROM Ucommerce_Address
DELETE FROM Ucommerce_Customer
--COMMIT
ROLLBACK
As an added precaution I uncommented the commit statement in case you were wondering why the data isn’t being deleted :)