diff --git a/Modules/Sources/Storage/Model/MIGRATIONS.md b/Modules/Sources/Storage/Model/MIGRATIONS.md
index 30662cfe9f2..2d2414d8427 100644
--- a/Modules/Sources/Storage/Model/MIGRATIONS.md
+++ b/Modules/Sources/Storage/Model/MIGRATIONS.md
@@ -238,23 +238,23 @@ This file documents changes in the WCiOS Storage data model. Please explain any
- @rachelmcr 2022-12-15
- Added `SiteSummaryStats` entity.
-## Model 79 (Release 11.7.0.0)
+## Model 79 (Release 11.7.0.0) - Deleted
- @rachelmcr 2022-12-12
- Added `views` attribute to `SiteVisitStatsItem` entity.
-## Model 78 (Release 11.4.0.0)
+## Model 78 (Release 11.4.0.0) - Deleted
- @rachelmcr 2022-11-18
- Added `averageOrderValue` attribute to `OrderStatsV4Totals` entity.
-## Model 77 (Release 11.2.0.0)
+## Model 77 (Release 11.2.0.0) - Deleted
- @ealeksandrov 2022-11-07
- Added `frameNonce` attribute to `Site` entity.
-## Model 76 (Release 11.0.0.0)
+## Model 76 (Release 11.0.0.0) - Deleted
- @ealeksandrov 2022-10-26
- Added `loginURL` attribute to `Site` entity.
-## Model 75 (Release 10.9.0.0)
+## Model 75 (Release 10.9.0.0) - Deleted
- @iamgabrielma 2022-10-17
- Added `siteID` attribute to `Customer` entity.
- Added `siteID` attribute to `CustomerSearchResult` entity.
@@ -262,72 +262,72 @@ This file documents changes in the WCiOS Storage data model. Please explain any
- Removed `customerID` attribute from `CustomerSearchResult` entity.
- Added `WooCommerceModelV74toV75` mapping model.
-## Model 74 (Release 10.8.0.0)
+## Model 74 (Release 10.8.0.0) - Deleted
- @iamgabrielma 2022-10-12
- Added `Customer` entity.
- Added `CustomerSearchResult` entity.
-## Model 73 (Release 10.6.0.0)
+## Model 73 (Release 10.6.0.0) - Deleted
- @jaclync 2022-09-14
- Added `filterKey` attribute to `ProductSearchResults` entity.
-## Model 72 (Release 9.6.0.0)
+## Model 72 (Release 9.6.0.0) - Deleted
- @joshheald 2022-08-19
- Added `instructions` attribute to `PaymentGateway` entity.
-## Model 71 (Release 9.6.0.0)
+## Model 71 (Release 9.6.0.0) - Deleted
- @rachelmcr 2022-07-07
- Added `OrderMetaData` entity.
- Added `customFields` to-many relationship from `Order` to `OrderMetaData`.
-## Model 70 (Release 9.5.0.0)
+## Model 70 (Release 9.5.0.0) - Deleted
- @toupper 2022-06-22
- Update `OrderItemRefund` entity to include the `refundedItemID` property.
-## Model 69 (Release 9.4.0.0)
+## Model 69 (Release 9.4.0.0) - Deleted
- @ecarrion 2022-06-08
- Update `Order` entity to include the `needsProcessing`, `needsPayment`, and `isEditable` properties.
-## Model 68 (Release 9.2.0.0)
+## Model 68 (Release 9.2.0.0) - Deleted
- @pmusolino 2022-05-05
- Update `Coupon` entity and make `usageLimit`, `usageLimitPerUser` and `limitUsageToXItems` properties as optional with default value equal to `null`.
-## Model 67 (Release 8.9.0.0)
+## Model 67 (Release 8.9.0.0) - Deleted
- @ecarrion 2022-04-06
- Update `Order` entity to include the `paymentURL` property.
-## Model 66 (Release 8.8.0.0)
+## Model 66 (Release 8.8.0.0) - Deleted
- @pmusolino 2022-03-09
- Update `Order`'s `items` relationship to be ordered.
-## Model 65 (Release 8.6.0.0)
+## Model 65 (Release 8.6.0.0) - Deleted
- @joshheald 2022-02-14
- Added `WCPayCharge` entity.
- Added `WCPayCardPresentPaymentDetails` entity.
- Added `WCPayCardPaymentDetails` entity.
- Added `WCPayCardPresentReceiptDetails` entity.
-## Model 64 (Release 8.6.0.0)
+## Model 64 (Release 8.6.0.0) - Deleted
- @pmusolino 2022-02-09
- Added `InboxNote` entity.
- Added `InboxAction` entity.
- Added `actions` relationship from `InboxNote` to `[InboxAction]`.
-## Model 63 (Release 8.5.0.0)
+## Model 63 (Release 8.5.0.0) - Deleted
- @joshheald 2022-01-31
- Added `chargeID` attribute to `Order` entity.
-## Model 62 (Release 8.5.0.0)
+## Model 62 (Release 8.5.0.0) - Deleted
- @itsmeichigo 2022-01-25
- Added `CouponSearchResult` entity.
- Added `searchResults` relationship from `Coupon` to `CouponSearchResult`.
-## Model 61 (Release 8.4.0.0)
+## Model 61 (Release 8.4.0.0) - Deleted
- @selanthiraiyan 2022-01-13
- Added `OrderTaxLine` entity.
- Added `taxes` relationship from `Order` to `OrderTaxLine`.
-## Model 60 (Release 8.3.0.0)
+## Model 60 (Release 8.3.0.0) - Deleted
- @ecarrion 2021-12-22
- Added `OrderKey` attribute to `Order` entity.
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 60.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 60.xcdatamodel/contents
deleted file mode 100644
index 91ca9b1d8f6..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 60.xcdatamodel/contents
+++ /dev/null
@@ -1,771 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 61.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 61.xcdatamodel/contents
deleted file mode 100644
index 36d13b05304..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 61.xcdatamodel/contents
+++ /dev/null
@@ -1,786 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 62.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 62.xcdatamodel/contents
deleted file mode 100644
index c84ca9eaeda..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 62.xcdatamodel/contents
+++ /dev/null
@@ -1,792 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 63.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 63.xcdatamodel/contents
deleted file mode 100644
index 49824068176..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 63.xcdatamodel/contents
+++ /dev/null
@@ -1,793 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 64.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 64.xcdatamodel/contents
deleted file mode 100644
index 6a24e3fe075..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 64.xcdatamodel/contents
+++ /dev/null
@@ -1,816 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 65.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 65.xcdatamodel/contents
deleted file mode 100644
index 4c9b85b7823..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 65.xcdatamodel/contents
+++ /dev/null
@@ -1,858 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 66.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 66.xcdatamodel/contents
deleted file mode 100644
index 0ffa22bf7c6..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 66.xcdatamodel/contents
+++ /dev/null
@@ -1,858 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 67.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 67.xcdatamodel/contents
deleted file mode 100644
index 2b8fe36d728..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 67.xcdatamodel/contents
+++ /dev/null
@@ -1,859 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 68.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 68.xcdatamodel/contents
deleted file mode 100644
index 30bda1f0601..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 68.xcdatamodel/contents
+++ /dev/null
@@ -1,859 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 69.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 69.xcdatamodel/contents
deleted file mode 100644
index 2f5ccae0481..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 69.xcdatamodel/contents
+++ /dev/null
@@ -1,862 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 70.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 70.xcdatamodel/contents
deleted file mode 100644
index 5dd974e7fb4..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 70.xcdatamodel/contents
+++ /dev/null
@@ -1,863 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 71.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 71.xcdatamodel/contents
deleted file mode 100644
index 5f563b152f3..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 71.xcdatamodel/contents
+++ /dev/null
@@ -1,871 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 72.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 72.xcdatamodel/contents
deleted file mode 100644
index 3930de40933..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 72.xcdatamodel/contents
+++ /dev/null
@@ -1,872 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 73.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 73.xcdatamodel/contents
deleted file mode 100644
index fb2687e4fc1..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 73.xcdatamodel/contents
+++ /dev/null
@@ -1,873 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 74.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 74.xcdatamodel/contents
deleted file mode 100644
index ffbf1a49d7f..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 74.xcdatamodel/contents
+++ /dev/null
@@ -1,834 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 75.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 75.xcdatamodel/contents
deleted file mode 100644
index e08abba7d8d..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 75.xcdatamodel/contents
+++ /dev/null
@@ -1,836 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 76.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 76.xcdatamodel/contents
deleted file mode 100644
index f28dca16101..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 76.xcdatamodel/contents
+++ /dev/null
@@ -1,837 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 77.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 77.xcdatamodel/contents
deleted file mode 100644
index 7ac40febf92..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 77.xcdatamodel/contents
+++ /dev/null
@@ -1,838 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 78.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 78.xcdatamodel/contents
deleted file mode 100644
index d335334d426..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 78.xcdatamodel/contents
+++ /dev/null
@@ -1,839 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 79.xcdatamodel/contents b/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 79.xcdatamodel/contents
deleted file mode 100644
index 15d22f67521..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerce.xcdatamodeld/Model 79.xcdatamodel/contents
+++ /dev/null
@@ -1,840 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Sources/Storage/Resources/WooCommerceModelV74toV75.xcmappingmodel/xcmapping.xml b/Modules/Sources/Storage/Resources/WooCommerceModelV74toV75.xcmappingmodel/xcmapping.xml
deleted file mode 100644
index ec83afad140..00000000000
--- a/Modules/Sources/Storage/Resources/WooCommerceModelV74toV75.xcmappingmodel/xcmapping.xml
+++ /dev/null
@@ -1,3648 +0,0 @@
-
-
-
-
-
- 134481920
- FEF35F46-EBA2-49D2-ABF7-3BC4359773E6
- 863
-
-
-
- NSPersistenceFrameworkVersion
- 1152
- NSStoreModelVersionHashes
-
- XDDevAttributeMapping
-
- 0plcXXRN7XHKl5CcF+fwriFmUpON3ZtcI/AfK748aWc=
-
- XDDevEntityMapping
-
- qeN1Ym3TkWN1G6dU9RfX6Kd2ccEvcDVWHpd3LpLgboI=
-
- XDDevMappingModel
-
- EqtMzvRnVZWkXwBHu4VeVGy8UyoOe+bi67KC79kphlQ=
-
- XDDevPropertyMapping
-
- XN33V44TTGY4JETlMoOB5yyTKxB+u4slvDIinv0rtGA=
-
- XDDevRelationshipMapping
-
- akYY9LhehVA/mCb4ATLWuI9XGLcjpm14wWL1oEBtIcs=
-
-
- NSStoreModelVersionHashesDigest
- +Hmc2uYZK6og+Pvx5GUJ7oW75UG4V/ksQanTjfTKUnxyGWJRMtB5tIRgVwGsrd7lz/QR57++wbvWsr6nxwyS0A==
- NSStoreModelVersionHashesVersion
- 3
- NSStoreModelVersionIdentifiers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigrator+MigrationStepTests.swift b/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigrator+MigrationStepTests.swift
index 98166edc858..dda21f0fed1 100644
--- a/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigrator+MigrationStepTests.swift
+++ b/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigrator+MigrationStepTests.swift
@@ -24,52 +24,52 @@ final class CoreDataIterativeMigrator_MigrationStepTests: XCTestCase {
func test_steps_returns_MigrationSteps_from_source_to_the_target_model() throws {
// Given
- let modelVersion63 = ModelVersion(name: "Model 63")
- let modelVersion71 = ModelVersion(name: "Model 71")
- let sourceModel = try XCTUnwrap(modelsInventory.model(for: modelVersion63))
- let targetModel = try XCTUnwrap(modelsInventory.model(for: modelVersion71))
+ let modelVersion83 = ModelVersion(name: "Model 83")
+ let modelVersion91 = ModelVersion(name: "Model 91")
+ let sourceModel = try XCTUnwrap(modelsInventory.model(for: modelVersion83))
+ let targetModel = try XCTUnwrap(modelsInventory.model(for: modelVersion91))
// When
let steps = try MigrationStep.steps(using: modelsInventory, source: sourceModel, target: targetModel)
// Then
// There should be 8 steps:
- // - 63 to 64
- // - 64 to 65
- // - 65 to 66
- // - 66 to 67
- // - 67 to 68
- // - 68 to 69
- // - 69 to 70
- // - 70 to 71
+ // - 83 to 84
+ // - 84 to 85
+ // - 85 to 86
+ // - 86 to 87
+ // - 87 to 88
+ // - 88 to 89
+ // - 89 to 90
+ // - 90 to 91
XCTAssertEqual(steps.count, 8)
// Assert the values of first and last steps.
- let modelVersion64 = ModelVersion(name: "Model 64")
+ let modelVersion84 = ModelVersion(name: "Model 84")
- let expectedFirstStep = MigrationStep(sourceVersion: modelVersion63,
- sourceModel: try XCTUnwrap(modelsInventory.model(for: modelVersion63)),
- targetVersion: modelVersion64,
- targetModel: try XCTUnwrap(modelsInventory.model(for: modelVersion64)))
+ let expectedFirstStep = MigrationStep(sourceVersion: modelVersion83,
+ sourceModel: try XCTUnwrap(modelsInventory.model(for: modelVersion83)),
+ targetVersion: modelVersion84,
+ targetModel: try XCTUnwrap(modelsInventory.model(for: modelVersion84)))
let actualFirstStep = try XCTUnwrap(steps.first)
XCTAssertEqual(actualFirstStep, expectedFirstStep)
- let modelVersion70 = ModelVersion(name: "Model 70")
+ let modelVersion90 = ModelVersion(name: "Model 90")
- let expectedLastStep = MigrationStep(sourceVersion: modelVersion70,
- sourceModel: try XCTUnwrap(modelsInventory.model(for: modelVersion70)),
- targetVersion: modelVersion71,
- targetModel: try XCTUnwrap(modelsInventory.model(for: modelVersion71)))
+ let expectedLastStep = MigrationStep(sourceVersion: modelVersion90,
+ sourceModel: try XCTUnwrap(modelsInventory.model(for: modelVersion90)),
+ targetVersion: modelVersion91,
+ targetModel: try XCTUnwrap(modelsInventory.model(for: modelVersion91)))
let actualLastStep = try XCTUnwrap(steps.last)
XCTAssertEqual(actualLastStep, expectedLastStep)
}
func test_steps_returns_one_MigrationStep_if_the_source_and_target_are_next_to_each_other() throws {
// Given
- let sourceVersion = ModelVersion(name: "Model 67")
+ let sourceVersion = ModelVersion(name: "Model 87")
let sourceModel = try XCTUnwrap(modelsInventory.model(for: sourceVersion))
- let targetVersion = ModelVersion(name: "Model 68")
+ let targetVersion = ModelVersion(name: "Model 88")
let targetModel = try XCTUnwrap(modelsInventory.model(for: targetVersion))
// When
@@ -140,23 +140,23 @@ final class CoreDataIterativeMigrator_MigrationStepTests: XCTestCase {
/// reach this condition because of the precondition checks in `CoreDataIterativeMigrator`.
func test_steps_returns_source_to_latest_version_MigrationSteps_if_the_source_and_target_are_the_same() throws {
// Given
- let sourceModelName = "Model 67"
+ let sourceModelName = "Model 87"
let modelVersion37 = ModelVersion(name: sourceModelName)
let sourceModel = try XCTUnwrap(modelsInventory.model(for: modelVersion37))
- // Find the index of Model 67 in the current inventory
- // which only contains Models 60-124 as per latest update on https://github.com/woocommerce/woocommerce-ios/pull/15987
+ // Find the index of Model 87 in the current inventory
+ // which only contains Models 80-127 as per latest update on [https://github.com/woocommerce/woocommerce-ios/pull/16181]
let sourceModelIndex = try XCTUnwrap(modelsInventory.versions.firstIndex { $0.name == sourceModelName },
- "Model 67 should exist in the inventory")
+ "Model 87 should exist in the inventory")
// When
let steps = try MigrationStep.steps(using: modelsInventory, source: sourceModel, target: sourceModel)
// Then
// Expected behavior (bug): When source == target, it returns steps from that model to the latest version
- // This means: Model 67 → Model 68 → ... → Model 124
+ // This means: Model 87 → Model 88 → ... → Model 127
// Calculation: total versions - source index - 1 (since we don't include the source model itself)
let expectedStepCount = modelsInventory.versions.count - sourceModelIndex - 1
XCTAssertEqual(steps.count, expectedStepCount,
- "Should return steps from Model 67 to the latest model (Model 124)")
+ "Should return steps from Model 87 to the latest model (Model 127)")
}
}
diff --git a/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigratorTests.swift b/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigratorTests.swift
index 8584ddb9fa3..c41dc43696b 100644
--- a/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigratorTests.swift
+++ b/Modules/Tests/StorageTests/CoreData/CoreDataIterativeMigratorTests.swift
@@ -106,7 +106,7 @@ final class CoreDataIterativeMigratorTests: XCTestCase {
func test_it_will_not_migrate_if_the_database_file_does_not_exist() throws {
// Given
- let targetModel = try managedObjectModel(for: "Model 68")
+ let targetModel = try managedObjectModel(for: "Model 88")
let databaseURL = documentsDirectory.appendingPathComponent("database-file-that-does-not-exist")
let fileManager = MockFileManager()
@@ -139,14 +139,14 @@ final class CoreDataIterativeMigratorTests: XCTestCase {
/// files using the wrong `NSManagedObjectModel`.
func test_opening_a_store_with_a_different_model_fails() throws {
// Given
- let model60 = try managedObjectModel(for: "Model 60")
- let model70 = try managedObjectModel(for: "Model 70")
+ let model80 = try managedObjectModel(for: "Model 80")
+ let model90 = try managedObjectModel(for: "Model 90")
let storeURL = try urlForStore(withName: "Woo Test 30.sqlite", deleteIfExists: true)
let options = [NSInferMappingModelAutomaticallyOption: false, NSMigratePersistentStoresAutomaticallyOption: false]
// When
- var psc = NSPersistentStoreCoordinator(managedObjectModel: model60)
+ var psc = NSPersistentStoreCoordinator(managedObjectModel: model80)
var ps = try? psc.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeURL, options: options)
XCTAssertNotNil(ps)
@@ -154,21 +154,21 @@ final class CoreDataIterativeMigratorTests: XCTestCase {
try psc.remove(ps!)
// Load using a different model
- psc = NSPersistentStoreCoordinator(managedObjectModel: model70)
+ psc = NSPersistentStoreCoordinator(managedObjectModel: model90)
ps = try? psc.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeURL, options: options)
// When
XCTAssertNil(ps)
}
- /// Test the IterativeMigrator can migrate iteratively between model 30 to 40.
- func test_iterativeMigrate_can_iteratively_migrate_from_model_60_to_model_70() throws {
+ /// Test the IterativeMigrator can migrate iteratively between model 80 to 90.
+ func test_iterativeMigrate_can_iteratively_migrate_from_model_80_to_model_90() throws {
// Given
let storeType = NSSQLiteStoreType
- let sourceModel = try managedObjectModel(for: "Model 60")
- let targetModel = try managedObjectModel(for: "Model 70")
+ let sourceModel = try managedObjectModel(for: "Model 80")
+ let targetModel = try managedObjectModel(for: "Model 90")
- let storeURL = try urlForStore(withName: "Woo Test 60.sqlite", deleteIfExists: true)
+ let storeURL = try urlForStore(withName: "Woo Test 80.sqlite", deleteIfExists: true)
let container = try startPersistentContainer(storeURL: storeURL, storeType: storeType, model: sourceModel)
@@ -206,8 +206,8 @@ final class CoreDataIterativeMigratorTests: XCTestCase {
func test_iterativeMigrate_replaces_the_original_SQLite_files() throws {
// Given
let storeType = NSSQLiteStoreType
- let sourceModel = try managedObjectModel(for: "Model 61")
- let targetModel = try managedObjectModel(for: "Model 62")
+ let sourceModel = try managedObjectModel(for: "Model 81")
+ let targetModel = try managedObjectModel(for: "Model 82")
let storeFileName = "Woo_Migration_Replacement_Unit_Test.sqlite"
let storeURL = try urlForStore(withName: storeFileName, deleteIfExists: true)
@@ -215,8 +215,8 @@ final class CoreDataIterativeMigratorTests: XCTestCase {
// Start a container so the SQLite files will be created.
let container = try startPersistentContainer(storeURL: storeURL, storeType: storeType, model: sourceModel)
- // Precondition: `CouponSearchResult` should not exist in `Model 61` yet.
- assertThat(container: container, hasNoEntity: "CouponSearchResult")
+ // Precondition: `ProductCompositeComponent` should not exist in `Model 81` yet.
+ assertThat(container: container, hasNoEntity: "ProductCompositeComponent")
let spyCoordinator = SpyPersistentStoreCoordinator(container.persistentStoreCoordinator)
@@ -239,14 +239,14 @@ final class CoreDataIterativeMigratorTests: XCTestCase {
XCTAssertEqual(replacement.sourceURL.deletingLastPathComponent(),
URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true))
- // Assert that the same `storeURL` is using the new `Model 42`, which has the `OrderFeeLine` entity.
+ // Assert that the same `storeURL` is using the new `Model 82`, which has the `ProductCompositeComponent` entity.
let migratedContainer = try startPersistentContainer(storeURL: storeURL, storeType: storeType, model: targetModel)
- assertThat(container: migratedContainer, hasEntity: "OrderFeeLine")
+ assertThat(container: migratedContainer, hasEntity: "ProductCompositeComponent")
}
func test_iterativeMigrate_will_not_migrate_if_the_database_and_the_model_are_compatible() throws {
// Given
- let model = try managedObjectModel(for: "Model 68")
+ let model = try managedObjectModel(for: "Model 88")
// Start a container to create an existing database file.
let storeURL = try urlForStore(withName: "Woo_Compatibility_Test.sqlite", deleteIfExists: true)
@@ -275,14 +275,14 @@ final class CoreDataIterativeMigratorTests: XCTestCase {
func test_findSourceVersion_when_exists_then_returns_correct_version_for_existing_model() throws {
// Given
- let targetVersion = ManagedObjectModelsInventory.ModelVersion(name: "Model 60")
+ let targetVersion = ManagedObjectModelsInventory.ModelVersion(name: "Model 80")
let targetModel = try XCTUnwrap(modelsInventory.model(for: targetVersion))
// When
let foundVersion = CoreDataMigratorUtils.findSourceVersion(for: targetModel, in: modelsInventory)
// Then
- XCTAssertEqual(foundVersion?.name, "Model 60")
+ XCTAssertEqual(foundVersion?.name, "Model 80")
}
func test_findSourceVersion_when_unknown_model_then_returns_nil() throws {
diff --git a/Modules/Tests/StorageTests/CoreData/CoreDataManagerTests.swift b/Modules/Tests/StorageTests/CoreData/CoreDataManagerTests.swift
index eb0824cdfbc..cc11f0f1812 100644
--- a/Modules/Tests/StorageTests/CoreData/CoreDataManagerTests.swift
+++ b/Modules/Tests/StorageTests/CoreData/CoreDataManagerTests.swift
@@ -193,8 +193,8 @@ final class CoreDataManagerTests: XCTestCase {
// recreate the database.
let invalidModelsInventory = ManagedObjectModelsInventory(
packageURL: modelsInventory.packageURL,
- currentModel: try XCTUnwrap(modelsInventory.model(for: .init(name: "Model 60"))),
- versions: [.init(name: "Model 60")]
+ currentModel: try XCTUnwrap(modelsInventory.model(for: .init(name: "Model 80"))),
+ versions: [.init(name: "Model 80")]
)
manager = try makeManager(using: invalidModelsInventory, deletingExistingStoreFiles: false)
@@ -211,19 +211,19 @@ final class CoreDataManagerTests: XCTestCase {
insertAccount(to: manager.viewStorage)
XCTAssertEqual(manager.viewStorage.countObjects(ofType: Account.self), 2)
- // The CouponSearchResult entity does not exist in Model 60, was introduced in Model 62
- // This proves that the store was reset to Model 60.
- XCTAssertNil(NSEntityDescription.entity(forEntityName: CouponSearchResult.entityName,
+ // The ProductCompositeComponent entity does not exist in Model 80, was introduced in Model 82
+ // This proves that the store was reset to Model 80.
+ XCTAssertNil(NSEntityDescription.entity(forEntityName: ProductCompositeComponent.entityName,
in: manager.viewStorage as! NSManagedObjectContext))
}
func test_accessing_persistentContainer_will_automatically_migrate_the_database() throws {
// Given
let modelsInventory = try makeModelsInventory()
- // Create an inventory with up to Model 33 only. This is what we'll load first.
+ // Create an inventory with up to Model 83 only. This is what we'll load first.
let olderModelsInventory: ManagedObjectModelsInventory = try {
- let model63Index = try XCTUnwrap(modelsInventory.versions.firstIndex(of: .init(name: "Model 63")))
- let versions = Array(modelsInventory.versions.prefix(through: model63Index))
+ let model83Index = try XCTUnwrap(modelsInventory.versions.firstIndex(of: .init(name: "Model 83")))
+ let versions = Array(modelsInventory.versions.prefix(through: model83Index))
return ManagedObjectModelsInventory(
packageURL: modelsInventory.packageURL,
@@ -243,8 +243,8 @@ final class CoreDataManagerTests: XCTestCase {
}
XCTAssertEqual(manager.viewStorage.countObjects(ofType: Account.self), 1)
- // The InboxNote entity does not exist in Model 63.
- XCTAssertNil(NSEntityDescription.entity(forEntityName: InboxNote.entityName,
+ // The OrderItemProductAddOn entity does not exist in Model 83.
+ XCTAssertNil(NSEntityDescription.entity(forEntityName: OrderItemProductAddOn.entityName,
in: manager.viewStorage as! NSManagedObjectContext))
try assertThat(manager, isCompatibleWith: olderModelsInventory.currentModel)
diff --git a/Modules/Tests/StorageTests/CoreData/ManagedObjectModelsInventoryTests.swift b/Modules/Tests/StorageTests/CoreData/ManagedObjectModelsInventoryTests.swift
index dd66dda02be..2dd87327f9d 100644
--- a/Modules/Tests/StorageTests/CoreData/ManagedObjectModelsInventoryTests.swift
+++ b/Modules/Tests/StorageTests/CoreData/ManagedObjectModelsInventoryTests.swift
@@ -29,26 +29,6 @@ final class ManagedObjectModelsInventoryTests: XCTestCase {
func test_it_can_load_the_expected_model_versions() throws {
// Given
let expectedVersionNames = [
- "Model 60",
- "Model 61",
- "Model 62",
- "Model 63",
- "Model 64",
- "Model 65",
- "Model 66",
- "Model 67",
- "Model 68",
- "Model 69",
- "Model 70",
- "Model 71",
- "Model 72",
- "Model 73",
- "Model 74",
- "Model 75",
- "Model 76",
- "Model 77",
- "Model 78",
- "Model 79",
"Model 80",
"Model 81",
"Model 82",
diff --git a/Modules/Tests/StorageTests/CoreData/MigrationTests.swift b/Modules/Tests/StorageTests/CoreData/MigrationTests.swift
index 56754b9c05c..0255e5e891e 100644
--- a/Modules/Tests/StorageTests/CoreData/MigrationTests.swift
+++ b/Modules/Tests/StorageTests/CoreData/MigrationTests.swift
@@ -48,690 +48,6 @@ final class MigrationTests: XCTestCase {
try super.tearDownWithError()
}
- func test_migrating_from_60_to_61_adds_tax_lines_as_a_property_to_order() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 60")
- let sourceContext = sourceContainer.viewContext
-
- let order = insertOrder(to: sourceContext)
- try sourceContext.save()
-
- // `taxes` should not be present before migration
- XCTAssertNil(order.entity.relationshipsByName["taxes"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 61")
-
- // Then
- let targetContext = targetContainer.viewContext
- // Confidence-check
- XCTAssertEqual(try targetContext.count(entityName: "Order"), 1)
- XCTAssertEqual(try targetContext.count(entityName: "OrderTaxLine"), 0)
-
- let migratedOrder = try XCTUnwrap(targetContext.first(entityName: "Order"))
-
- // `taxes` should be present in `migratedOrder`
- XCTAssertNotNil(migratedOrder.entity.relationshipsByName["taxes"])
-
- // Test adding tax to a migrated `Order`.
- let tax = insertOrderTaxLine(to: targetContext)
- migratedOrder.mutableSetValue(forKey: "taxes").add(tax)
-
- XCTAssertNoThrow(try targetContext.save())
-
- // Confidence-check
- XCTAssertEqual(try targetContext.count(entityName: "OrderTaxLine"), 1)
-
- // The relationship between Order and OrderTaxLine should be updated.
- XCTAssertEqual(migratedOrder.value(forKey: "taxes") as? Set, [tax])
-
- // The OrderTaxLine.order inverse relationship should be updated.
- XCTAssertEqual(tax.value(forKey: "order") as? NSManagedObject, migratedOrder)
- }
-
- func test_migrating_from_61_to_62_adds_new_attribute_searchResults_to_coupon() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 61")
- let sourceContext = sourceContainer.viewContext
-
- // `searchResults` should not be present before the migration
- let coupon = insertCoupon(to: sourceContext)
- XCTAssertNil(coupon.entity.relationshipsByName["searchResults"])
- XCTAssertNoThrow(try sourceContext.save())
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 62")
-
- // Then
- let targetContext = targetContainer.viewContext
- let migratedCoupon = try XCTUnwrap(targetContext.first(entityName: "Coupon"))
- XCTAssertNotNil(migratedCoupon.entity.relationshipsByName["searchResults"])
-
- // Creates a `CouponSearchResult`
- let searchResult = insertCouponSearchResult(to: targetContext)
- migratedCoupon.mutableSetValue(forKey: "searchResults").add(searchResult)
-
- XCTAssertNoThrow(try targetContext.save())
- XCTAssertEqual(try XCTUnwrap(targetContext.firstObject(ofType: CouponSearchResult.self)), searchResult)
-
- // The relationship between Coupon and CouponSearchResult should be updated.
- XCTAssertEqual(migratedCoupon.value(forKey: "searchResults") as? Set, [searchResult])
-
- // The CouponSearchResult.coupons inverse relationship should be updated.
- XCTAssertEqual(searchResult.value(forKey: "coupons") as? Set, [migratedCoupon])
- }
-
- func test_migrating_from_62_to_63_adds_new_attribute_chargeID_to_order() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 62")
- let sourceContext = sourceContainer.viewContext
-
- let site = insertOrder(to: sourceContainer.viewContext)
- try sourceContext.save()
-
- XCTAssertNil(site.entity.attributesByName["chargeID"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 63")
- let targetContext = targetContainer.viewContext
-
- let migratedOrder = try XCTUnwrap(targetContext.first(entityName: "Order"))
- let defaultChargeID = migratedOrder.value(forKey: "chargeID")
-
- let orderValue = "ch_3KMtak2EdyGr1FMV02G9Qqq1"
- migratedOrder.setValue(orderValue, forKey: "chargeID")
-
- // Then
- // Default value is nil
- XCTAssertNil(defaultChargeID)
-
- let newOrderKey = try XCTUnwrap(migratedOrder.value(forKey: "chargeID") as? String)
- XCTAssertEqual(newOrderKey, orderValue)
- }
-
- func test_migrating_from_63_to_64_enables_creating_new_InboxNote() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 63")
- let sourceContext = sourceContainer.viewContext
-
- try sourceContext.save()
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 64")
-
- // Then
- let targetContext = targetContainer.viewContext
- XCTAssertEqual(try targetContext.count(entityName: "InboxNote"), 0)
-
- // Creates a `InboxNote`
- let inboxNote = insertInboxNote(to: targetContext)
-
- // Creates an `InboxAction` and adds it to `InboxNote`.
- let inboxAction = insertInboxAction(to: targetContext)
- inboxNote.setValue(NSSet(array: [inboxAction]), forKey: "actions")
- try targetContext.save()
-
- XCTAssertNotNil(inboxNote.entity.relationshipsByName["actions"])
- XCTAssertEqual(try targetContext.count(entityName: "InboxNote"), 1)
- XCTAssertEqual(try XCTUnwrap(targetContext.firstObject(ofType: InboxNote.self)), inboxNote)
- }
-
- func test_migrating_from_64_to_65_enables_creating_new_WCPayCharge_withCardPaymentDetails() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 64")
- let sourceContext = sourceContainer.viewContext
-
- try sourceContext.save()
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 65")
-
- // Then
- let targetContext = targetContainer.viewContext
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCardPaymentDetails"), 0)
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCharge"), 0)
-
- // Creates nested cardPresent objects
- let payment = insertWCPayCardPaymentDetails(to: targetContext)
-
- // Creates an `WCPayCharge`
- let wcPayCharge = insertWCPayCharge(to: targetContext)
- wcPayCharge.setValue(payment, forKey: "cardDetails")
-
-
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCardPaymentDetails"), 1)
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCharge"), 1)
- XCTAssertEqual(try XCTUnwrap(targetContext.firstObject(ofType: WCPayCharge.self)), wcPayCharge)
- XCTAssertEqual(wcPayCharge.value(forKey: "cardDetails") as? WCPayCardPaymentDetails, payment)
- }
-
- func test_migrating_from_64_to_65_enables_creating_new_WCPayCharge_withCardPresentPaymentDetails() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 64")
- let sourceContext = sourceContainer.viewContext
-
- try sourceContext.save()
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 65")
-
- // Then
- let targetContext = targetContainer.viewContext
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCardPresentReceiptDetails"), 0)
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCardPresentPaymentDetails"), 0)
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCharge"), 0)
-
- // Creates nested cardPresent objects
- let receipt = insertWCPayCardPresentReceiptDetails(to: targetContext)
- let payment = insertWCPayCardPresentPaymentDetails(to: targetContext)
-
- payment.setValue(receipt, forKey: "receipt")
-
- // Creates an `WCPayCharge`
- let wcPayCharge = insertWCPayCharge(to: targetContext)
- wcPayCharge.setValue(payment, forKey: "cardPresentDetails")
-
-
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCardPresentReceiptDetails"), 1)
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCardPresentPaymentDetails"), 1)
- XCTAssertEqual(try targetContext.count(entityName: "WCPayCharge"), 1)
- XCTAssertEqual(try XCTUnwrap(targetContext.firstObject(ofType: WCPayCharge.self)), wcPayCharge)
- XCTAssertEqual(wcPayCharge.value(forKey: "cardPresentDetails") as? WCPayCardPresentPaymentDetails, payment)
- XCTAssertEqual(payment.value(forKey: "receipt") as? WCPayCardPresentReceiptDetails, receipt)
- }
-
- func test_migrating_from_65_to_66_makes_items_ordered_in_order() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 65")
- let sourceContext = sourceContainer.viewContext
-
- let _ = insertOrder(to: sourceContext)
-
- try sourceContext.save()
-
- XCTAssertEqual(try sourceContext.count(entityName: "Order"), 1)
- XCTAssertEqual(try sourceContext.count(entityName: "OrderItem"), 0)
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 66")
-
- // Then
- let targetContext = targetContainer.viewContext
-
- XCTAssertEqual(try targetContext.count(entityName: "Order"), 1)
- XCTAssertEqual(try targetContext.count(entityName: "OrderItem"), 0)
- XCTAssertEqual(try targetContext.count(entityName: "OrderItemAttribute"), 0)
-
- let migratedOrder = try XCTUnwrap(targetContext.first(entityName: "Order"))
-
- // Creates an `OrderItem` and adds it to `Order`.
- let orderItem1 = insertOrderItem(itemID: 1, to: targetContext)
- let orderItem2 = insertOrderItem(itemID: 2, to: targetContext)
- let orderItem3 = insertOrderItem(itemID: 3, to: targetContext)
- migratedOrder.setValue(NSOrderedSet(array: [orderItem1, orderItem3, orderItem2]), forKey: "items")
- try targetContext.save()
-
- XCTAssertEqual(try targetContext.count(entityName: "OrderItem"), 3)
- XCTAssertEqual(migratedOrder.value(forKey: "items") as? NSOrderedSet, NSOrderedSet(array: [orderItem1, orderItem3, orderItem2]))
- }
-
- func test_migrating_from_66_to_67_adds_paymentURL_field() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 66")
- let sourceContext = sourceContainer.viewContext
-
- let _ = insertOrder(to: sourceContext)
-
- try sourceContext.save()
-
- XCTAssertEqual(try sourceContext.count(entityName: "Order"), 1)
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 67")
-
- // Then
- let targetContext = targetContainer.viewContext
-
- XCTAssertEqual(try targetContext.count(entityName: "Order"), 1)
- let migratedOrder = try XCTUnwrap(targetContext.first(entityName: "Order"))
-
- // Checks for nil URL value.
- XCTAssertNil(migratedOrder.value(forKey: "paymentURL"))
-
- // Set a random URL
- let url = NSURL(string: "www.automattic.com") ?? NSURL()
- migratedOrder.setValue(url, forKey: "paymentURL")
-
- // Check URL is correctly set.
- XCTAssertEqual(migratedOrder.value(forKey: "paymentURL") as? NSURL, url)
- }
-
- func test_migrating_from_67_to_68_enables_creating_new_Coupon_with_some_fields_optional() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 67")
- let sourceContext = sourceContainer.viewContext
-
- try sourceContext.save()
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 68")
-
- // Then
- let targetContext = targetContainer.viewContext
- XCTAssertEqual(try targetContext.count(entityName: "Coupon"), 0)
-
- // Creates an `Coupon`
- let coupon = insertCoupon(to: targetContext,
- limitUsageToXItems: nil,
- usageLimitPerUser: nil,
- usageLimit: nil)
-
- XCTAssertEqual(try targetContext.count(entityName: "Coupon"), 1)
-
- let couponFetched = try XCTUnwrap(targetContext.firstObject(ofType: Coupon.self))
- XCTAssertNil(couponFetched.value(forKey: "limitUsageToXItems"))
- XCTAssertNil(couponFetched.value(forKey: "usageLimitPerUser"))
- XCTAssertNil(couponFetched.value(forKey: "usageLimit"))
- XCTAssertEqual(try XCTUnwrap(targetContext.firstObject(ofType: Coupon.self)), coupon)
- }
-
- func test_migrating_from_68_to_69_adds_new_order_properties() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 68")
- let sourceContext = sourceContainer.viewContext
-
- let _ = insertOrder(to: sourceContext)
-
- try sourceContext.save()
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 69")
- let targetContext = targetContainer.viewContext
-
- // Then
- XCTAssertEqual(try targetContext.count(entityName: "Order"), 1)
- let migratedOrder = try XCTUnwrap(targetContext.first(entityName: "Order"))
-
- // Checks for default values.
- XCTAssertEqual(migratedOrder.value(forKey: "isEditable") as? Bool, false)
- XCTAssertEqual(migratedOrder.value(forKey: "needsPayment") as? Bool, false)
- XCTAssertEqual(migratedOrder.value(forKey: "needsProcessing") as? Bool, false)
- }
-
- func test_migrating_from_69_to_70_adds_refundedItemID_property_to_OrderItemRefund() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 69")
- let sourceContext = sourceContainer.viewContext
-
- let orderItemRefund = insertOrderItemRefund(to: sourceContext)
-
- // Confidence check:
- // The `itemID` property already exists on Model 69, but the `refundedItemID` does not
- XCTAssertNotNil(orderItemRefund.entity.attributesByName["itemID"])
- XCTAssertNil(orderItemRefund.entity.attributesByName["refundedItemID"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 70")
- let targetContext = targetContainer.viewContext
- let migratedOrderItemRefund = insertOrderItemRefund(to: targetContext)
-
- // Confirms the `refundedItemID` property now exists on Model 70
- XCTAssertNotNil(migratedOrderItemRefund.entity.attributesByName["refundedItemID"])
- }
-
- func test_migrating_from_70_to_71_adds_custom_fields_property_to_order() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 70")
- let sourceContext = sourceContainer.viewContext
-
- let order = insertOrder(to: sourceContext)
- try sourceContext.save()
-
- // `customFields` should not be present before migration
- XCTAssertNil(order.entity.relationshipsByName["customFields"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 71")
- let targetContext = targetContainer.viewContext
-
- // Confidence check
- XCTAssertEqual(try targetContext.count(entityName: "Order"), 1)
- XCTAssertEqual(try targetContext.count(entityName: "OrderMetaData"), 0)
-
- let migratedOrder = try XCTUnwrap(targetContext.first(entityName: "Order"))
-
- // `customFields` should be present in `migratedOrder`
- XCTAssertNotNil(migratedOrder.entity.relationshipsByName["customFields"])
-
- // Test adding custom fields to a migrated `Order`.
- let customField = insertOrderMetaData(to: targetContext)
- migratedOrder.mutableSetValue(forKey: "customFields").add(customField)
-
- XCTAssertNoThrow(try targetContext.save())
-
- // Confidence check
- XCTAssertEqual(try targetContext.count(entityName: "OrderMetaData"), 1)
-
- // The relationship between Order and OrderMetaData should be updated.
- XCTAssertEqual(migratedOrder.value(forKey: "customFields") as? Set, [customField])
-
- // The OrderMetaData.order inverse relationship should be updated.
- XCTAssertEqual(customField.value(forKey: "order") as? NSManagedObject, migratedOrder)
- }
-
- func test_migrating_from_71_to_72_adds_instructions_attribute_to_PaymentGateway() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 71")
- let sourceContext = sourceContainer.viewContext
-
- let paymentGateway = insertPaymentGateway(to: sourceContext)
- try sourceContext.save()
-
- // `instructions` should not be present before migration
- XCTAssertNil(paymentGateway.entity.relationshipsByName["instructions"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 72")
- let targetContext = targetContainer.viewContext
-
- // Confidence check
- XCTAssertEqual(try targetContext.count(entityName: "PaymentGateway"), 1)
-
- let migratedPaymentGateway = try XCTUnwrap(targetContext.first(entityName: "PaymentGateway"))
-
- // The instructions should be nil after migration: it's an optional field.
- XCTAssertNil(migratedPaymentGateway.value(forKey: "instructions"))
-
- // Set a test instructions
- migratedPaymentGateway.setValue("payment gateway instructions", forKey: "instructions")
-
- // Check instructions are correctly set.
- assertEqual("payment gateway instructions", migratedPaymentGateway.value(forKey: "instructions") as? String)
- }
-
- func test_migrating_from_72_to_73_adds_filterKey_attribute_to_ProductSearchResults() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 72")
- let sourceContext = sourceContainer.viewContext
-
- let productSearchResults = insertProductSearchResults(to: sourceContext)
- try sourceContext.save()
-
- // `filterKey` should not be present before migration.
- XCTAssertNil(productSearchResults.entity.attributesByName["filterKey"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 73")
- let targetContext = targetContainer.viewContext
-
- XCTAssertEqual(try targetContext.count(entityName: "ProductSearchResults"), 1)
- let migratedProductSearchResults = try XCTUnwrap(targetContext.first(entityName: "ProductSearchResults"))
-
- // Checks for nil URL value.
- XCTAssertNil(migratedProductSearchResults.value(forKey: "filterKey"))
-
- // Sets a random `filterKey`.
- migratedProductSearchResults.setValue("sku", forKey: "filterKey")
- try targetContext.save()
-
- // Check `filterKey` is correctly set.
- XCTAssertEqual(migratedProductSearchResults.value(forKey: "filterKey") as? String, "sku")
- }
-
- func test_migrating_from_73_to_74_adds_Customer_and_CustomerSearchResult_entities() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 73")
- let sourceContext = sourceContainer.viewContext
-
- try sourceContext.save()
-
- // Confidence Check. These entities should not exist in Model 73
- XCTAssertNil(NSEntityDescription.entity(forEntityName: "Customer", in: sourceContext))
- XCTAssertNil(NSEntityDescription.entity(forEntityName: "CustomerSearchResult", in: sourceContext))
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 74")
-
- // Then
- let targetContext = targetContainer.viewContext
-
- // These entities should exist in Model 74
- XCTAssertNotNil(NSEntityDescription.entity(forEntityName: "Customer", in: targetContext))
- XCTAssertNotNil(NSEntityDescription.entity(forEntityName: "CustomerSearchResult", in: targetContext))
- XCTAssertEqual(try targetContext.count(entityName: "Customer"), 0)
- XCTAssertEqual(try targetContext.count(entityName: "CustomerSearchResult"), 0)
-
- // Insert a new Customer
- let customer = insertCustomer(to: targetContext, forModel: 74)
- XCTAssertEqual(try targetContext.count(entityName: "Customer"), 1)
- XCTAssertEqual(customer.value(forKey: "customerID") as? Int64, 1)
-
- // Insert a new CustomerSearchResult
- let customerSearchResult = targetContext.insert(
- entityName: "CustomerSearchResult",
- properties: ["customerID": 1]
- )
- XCTAssertEqual(try targetContext.count(entityName: "CustomerSearchResult"), 1)
- XCTAssertEqual(customer.value(forKey: "customerID") as? Int64, 1)
-
- // Check all attributes
- XCTAssertEqual(customerSearchResult.value(forKey: "customerID") as? Int64, 1)
- XCTAssertNotNil(customer.entity.attributesByName["email"])
- XCTAssertNotNil(customer.entity.attributesByName["firstName"])
- XCTAssertNotNil(customer.entity.attributesByName["lastName"])
- XCTAssertNotNil(customer.entity.attributesByName["billingAddress1"])
- XCTAssertNotNil(customer.entity.attributesByName["billingAddress2"])
- XCTAssertNotNil(customer.entity.attributesByName["billingCity"])
- XCTAssertNotNil(customer.entity.attributesByName["billingCompany"])
- XCTAssertNotNil(customer.entity.attributesByName["billingCountry"])
- XCTAssertNotNil(customer.entity.attributesByName["billingEmail"])
- XCTAssertNotNil(customer.entity.attributesByName["billingFirstName"])
- XCTAssertNotNil(customer.entity.attributesByName["billingLastName"])
- XCTAssertNotNil(customer.entity.attributesByName["billingPhone"])
- XCTAssertNotNil(customer.entity.attributesByName["billingPostcode"])
- XCTAssertNotNil(customer.entity.attributesByName["billingState"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingAddress1"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingAddress2"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingCity"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingCompany"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingCountry"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingEmail"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingFirstName"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingLastName"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingPhone"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingPostcode"])
- XCTAssertNotNil(customer.entity.attributesByName["shippingState"])
- }
-
- func test_migrating_from_74_to_75_adds_siteID_and_keyword_attributes_to_Customer_and_CustomerSearchResult() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 74")
- let sourceContext = sourceContainer.viewContext
-
- let customer = insertCustomer(to: sourceContext, forModel: 74)
- let customerSearchResult = sourceContext.insert(
- entityName: "CustomerSearchResult",
- properties: ["customerID": 1]
- )
- try sourceContext.save()
-
- // Confidence Check: siteID or keyword attributes should not exist in Model 74 for those entities
- XCTAssertNil(customer.entity.attributesByName["siteID"])
- XCTAssertNil(customerSearchResult.entity.attributesByName["siteID"])
- XCTAssertNil(customerSearchResult.entity.attributesByName["keyword"])
- // Confidence Check: These entities should exist in Model 74:
- XCTAssertEqual(try sourceContext.count(entityName: "Customer"), 1)
- XCTAssertEqual(try sourceContext.count(entityName: "CustomerSearchResult"), 1)
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 75")
- let targetContext = targetContainer.viewContext
-
- // Then
- // After migration, we're deleting the entities and regenerating them due to heavyweight migration
- // in WooCommerceModelV74toV75, as the new ones have siteID
- XCTAssertEqual(try targetContext.count(entityName: "Customer"), 0)
- XCTAssertEqual(try targetContext.count(entityName: "CustomerSearchResult"), 0)
- // Inserting new objects after the migration to confirm the new attributes are correct
- let newCustomer = insertCustomer(to: targetContext, forModel: 75)
- let newCustomerSearchResult = targetContext.insert(
- entityName: "CustomerSearchResult",
- properties: [
- "siteID": 1,
- "keyword": ""
- ]
- )
- try targetContext.save()
-
- // Check for Customer and CustomerSearchResult attributes after migration
- XCTAssertNotNil(newCustomer.entity.attributesByName["siteID"])
- XCTAssertNotNil(newCustomer.entity.attributesByName["customerID"])
- XCTAssertEqual(newCustomer.value(forKey: "siteID") as? Int64, 1)
- XCTAssertEqual(newCustomer.value(forKey: "customerID") as? Int64, 1)
-
- // Check for CustomerSearchResult attributes after migration
- XCTAssertNotNil(newCustomerSearchResult.entity.attributesByName["siteID"])
- XCTAssertNotNil(newCustomerSearchResult.entity.attributesByName["keyword"])
- XCTAssertEqual(newCustomerSearchResult.value(forKey: "siteID") as? Int64, 1)
- XCTAssertEqual(newCustomerSearchResult.value(forKey: "keyword") as? String, "")
- }
-
- func test_migrating_from_75_to_76_adds_loginURL_attribute() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 75")
- let sourceContext = sourceContainer.viewContext
-
- let site = insertSite(to: sourceContainer.viewContext)
- try sourceContext.save()
-
- XCTAssertNil(site.entity.attributesByName["loginURL"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 76")
- let targetContext = targetContainer.viewContext
-
- let migratedSite = try XCTUnwrap(targetContext.first(entityName: "Site"))
- let defaultLoginURL = migratedSite.value(forKey: "loginURL")
-
- let loginURL = "https://test.blog/wp-login.php"
- migratedSite.setValue(loginURL, forKey: "loginURL")
-
- // Then
- // Default value is nil.
- XCTAssertNil(defaultLoginURL)
-
- let newLoginURL = try XCTUnwrap(migratedSite.value(forKey: "loginURL") as? String)
- XCTAssertEqual(newLoginURL, loginURL)
- }
-
- func test_migrating_from_76_to_77_adds_frameNonce_attribute() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 76")
- let sourceContext = sourceContainer.viewContext
-
- let site = insertSite(to: sourceContainer.viewContext)
- try sourceContext.save()
-
- XCTAssertNil(site.entity.attributesByName["frameNonce"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 77")
- let targetContext = targetContainer.viewContext
-
- let migratedSite = try XCTUnwrap(targetContext.first(entityName: "Site"))
- let defaultFrameNonce = migratedSite.value(forKey: "frameNonce")
-
- let frameNonce = "e7bfd785f0"
- migratedSite.setValue(frameNonce, forKey: "frameNonce")
-
- // Then
- // Default value is nil.
- XCTAssertNil(defaultFrameNonce)
-
- let newFrameNonce = try XCTUnwrap(migratedSite.value(forKey: "frameNonce") as? String)
- XCTAssertEqual(newFrameNonce, frameNonce)
- }
-
- func test_migrating_from_77_to_78_adds_averageOrderValue_attribute() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 77")
- let sourceContext = sourceContainer.viewContext
-
- let orderStatsV4Totals = insertOrderStatsTotals(to: sourceContainer.viewContext)
- try sourceContext.save()
-
- XCTAssertNil(orderStatsV4Totals.entity.attributesByName["averageOrderValue"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 78")
- let targetContext = targetContainer.viewContext
-
- let migratedOrderStatsV4Totals = try XCTUnwrap(targetContext.first(entityName: "OrderStatsV4Totals"))
- let defaultAverageOrderValue = try XCTUnwrap(migratedOrderStatsV4Totals.value(forKey: "averageOrderValue") as? Double)
-
- let averageOrderValue = 123.45
- migratedOrderStatsV4Totals.setValue(averageOrderValue, forKey: "averageOrderValue")
-
- // Then
- // Default value is 0.
- XCTAssertEqual(defaultAverageOrderValue, 0)
-
- let newAverageOrderValue = try XCTUnwrap(migratedOrderStatsV4Totals.value(forKey: "averageOrderValue") as? Double)
- XCTAssertEqual(newAverageOrderValue, averageOrderValue)
- }
-
- func test_migrating_from_78_to_79_adds_views_attribute() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 78")
- let sourceContext = sourceContainer.viewContext
-
- let siteVisitStatsItem = insertSiteVisitStatsItem(to: sourceContainer.viewContext)
- try sourceContext.save()
-
- XCTAssertNil(siteVisitStatsItem.entity.attributesByName["views"])
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 79")
- let targetContext = targetContainer.viewContext
-
- let migratedSiteVisitStatsItem = try XCTUnwrap(targetContext.first(entityName: "SiteVisitStatsItem"))
- let defaultViewsCount = try XCTUnwrap(migratedSiteVisitStatsItem.value(forKey: "views") as? Int)
-
- let viewsCount = 12
- migratedSiteVisitStatsItem.setValue(viewsCount, forKey: "views")
-
- // Then
- // Default value is 0.
- XCTAssertEqual(defaultViewsCount, 0)
-
- let newViewsCount = try XCTUnwrap(migratedSiteVisitStatsItem.value(forKey: "views") as? Int)
- XCTAssertEqual(newViewsCount, viewsCount)
- }
-
- func test_migrating_from_79_to_80_enables_creating_new_SiteSummaryStats_entity() throws {
- // Given
- let sourceContainer = try startPersistentContainer("Model 79")
- let sourceContext = sourceContainer.viewContext
-
- try sourceContext.save()
-
- // Confidence Check. This entity should not exist in Model 79
- XCTAssertNil(NSEntityDescription.entity(forEntityName: "SiteSummaryStats", in: sourceContext))
-
- // When
- let targetContainer = try migrate(sourceContainer, to: "Model 80")
- let targetContext = targetContainer.viewContext
-
- // Then
- XCTAssertEqual(try targetContext.count(entityName: "SiteSummaryStats"), 0)
-
- let summaryStats = insertSiteSummaryStats(to: targetContext)
- let insertedStats = try XCTUnwrap(targetContext.firstObject(ofType: SiteSummaryStats.self))
-
- XCTAssertEqual(try targetContext.count(entityName: "SiteSummaryStats"), 1)
- XCTAssertEqual(insertedStats, summaryStats)
- }
-
func test_migrating_from_80_to_81_adds_new_product_bundle_attributes_and_ProductBundleItem_entity() throws {
// Given
let sourceContainer = try startPersistentContainer("Model 80")