diff --git a/CHANGELOG.md b/CHANGELOG.md
index b0498f1e4..8d1866d8a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,17 @@
+2.1.2
+=============
+* Added support for migration for the following versions:
+
+ * Magento CE version 1.9.3.0, 2.1.2
+ * Magento EE version 1.14.3.0, 2.1.2
+
+* Fixed bugs:
+ * CMS pages with custom layout were not fully functional after migration
+ * Some pages in the Admin Panel could not be displayed due to incorrect redirects
+ * [Issue #96](https://github.com/magento/data-migration-tool/issues/96): Incorrect UTF-8 character conversion (?
appeared instead of symbols)
+ * Issues [#115](https://github.com/magento/data-migration-tool/issues/115), [#159](https://github.com/magento/data-migration-tool/issues/159), [#134](https://github.com/magento/data-migration-tool/issues/134): EAV attributes can now be fully ignored by specifying their entity types
+ * [Issue #161](https://github.com/magento/data-migration-tool/issues/161): The advanced/modules_disable_output
keys are now ignored by using wildcards (instead of specifying their full names) in the configuration file
+
2.1.1
=============
* Improvements in migration of Magento 1 CE stores upgraded to 1.6 and later versions from versions earlier than 1.6 version
@@ -58,4 +72,3 @@
* [Issue#46](https://github.com/magento/data-migration-tool-ce/issues/46) Improved URL rewrite validation
* [Issue#33](https://github.com/magento/data-migration-tool-ce/issues/33) Resolved issue that resulted in the `inet_ntop(): Invalid in_addr value` error
* [Issue#12](https://github.com/magento/data-migration-tool-ce/issues/12) Duplicate entries in the `catalogsearch_query` table are no longer migrated
-
diff --git a/composer.json b/composer.json
index 90b7287c1..3955e1397 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,7 @@
{
"name": "magento/data-migration-tool",
"description": "Migration Tool",
- "version": "2.1.1",
+ "version": "2.1.2",
"require": {
"symfony/console": "~2.3",
"magento/framework": "~100.1",
diff --git a/etc/ce-to-ce/1.6.0.0/config.xml.dist b/etc/ce-to-ce/1.6.0.0/config.xml.dist
index 21bab6e2b..3d2f3d5bf 100644
--- a/etc/ce-to-ce/1.6.0.0/config.xml.dist
+++ b/etc/ce-to-ce/1.6.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.6.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.6.0.0/map.xml.dist b/etc/ce-to-ce/1.6.0.0/map.xml.dist
index c8a3632f4..6b67f6936 100644
--- a/etc/ce-to-ce/1.6.0.0/map.xml.dist
+++ b/etc/ce-to-ce/1.6.0.0/map.xml.dist
@@ -851,6 +851,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.6.1.0/config.xml.dist b/etc/ce-to-ce/1.6.1.0/config.xml.dist
index 24c3b2b23..ee4d38eb4 100644
--- a/etc/ce-to-ce/1.6.1.0/config.xml.dist
+++ b/etc/ce-to-ce/1.6.1.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.6.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.6.1.0/map.xml.dist b/etc/ce-to-ce/1.6.1.0/map.xml.dist
index e83dbcab8..3fa9075a9 100644
--- a/etc/ce-to-ce/1.6.1.0/map.xml.dist
+++ b/etc/ce-to-ce/1.6.1.0/map.xml.dist
@@ -848,6 +848,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.6.2.0/config.xml.dist b/etc/ce-to-ce/1.6.2.0/config.xml.dist
index ab17d7f8c..91428b4d7 100644
--- a/etc/ce-to-ce/1.6.2.0/config.xml.dist
+++ b/etc/ce-to-ce/1.6.2.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.6.2.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.6.2.0/map.xml.dist b/etc/ce-to-ce/1.6.2.0/map.xml.dist
index 7f5a4963d..8e20d2366 100644
--- a/etc/ce-to-ce/1.6.2.0/map.xml.dist
+++ b/etc/ce-to-ce/1.6.2.0/map.xml.dist
@@ -848,6 +848,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.7.0.0/config.xml.dist b/etc/ce-to-ce/1.7.0.0/config.xml.dist
index 2a6f0e10b..a7cfdd53e 100644
--- a/etc/ce-to-ce/1.7.0.0/config.xml.dist
+++ b/etc/ce-to-ce/1.7.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.7.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.7.0.0/map.xml.dist b/etc/ce-to-ce/1.7.0.0/map.xml.dist
index 18e1c9686..4a05e902d 100644
--- a/etc/ce-to-ce/1.7.0.0/map.xml.dist
+++ b/etc/ce-to-ce/1.7.0.0/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.7.0.1/config.xml.dist b/etc/ce-to-ce/1.7.0.1/config.xml.dist
index ac531b1c6..7839c774c 100644
--- a/etc/ce-to-ce/1.7.0.1/config.xml.dist
+++ b/etc/ce-to-ce/1.7.0.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.7.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.7.0.1/map.xml.dist b/etc/ce-to-ce/1.7.0.1/map.xml.dist
index 18e1c9686..4a05e902d 100644
--- a/etc/ce-to-ce/1.7.0.1/map.xml.dist
+++ b/etc/ce-to-ce/1.7.0.1/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.7.0.2/config.xml.dist b/etc/ce-to-ce/1.7.0.2/config.xml.dist
index 8d95e8307..62e2add2a 100644
--- a/etc/ce-to-ce/1.7.0.2/config.xml.dist
+++ b/etc/ce-to-ce/1.7.0.2/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.7.0.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.7.0.2/map.xml.dist b/etc/ce-to-ce/1.7.0.2/map.xml.dist
index 18e1c9686..4a05e902d 100644
--- a/etc/ce-to-ce/1.7.0.2/map.xml.dist
+++ b/etc/ce-to-ce/1.7.0.2/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.8.0.0/config.xml.dist b/etc/ce-to-ce/1.8.0.0/config.xml.dist
index 694d58a56..5c6fa804a 100644
--- a/etc/ce-to-ce/1.8.0.0/config.xml.dist
+++ b/etc/ce-to-ce/1.8.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.8.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.8.0.0/map.xml.dist b/etc/ce-to-ce/1.8.0.0/map.xml.dist
index 36653bc24..5b6ac5c0b 100644
--- a/etc/ce-to-ce/1.8.0.0/map.xml.dist
+++ b/etc/ce-to-ce/1.8.0.0/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.8.1.0/config.xml.dist b/etc/ce-to-ce/1.8.1.0/config.xml.dist
index df29cdb91..3f2f3fee2 100644
--- a/etc/ce-to-ce/1.8.1.0/config.xml.dist
+++ b/etc/ce-to-ce/1.8.1.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.8.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.8.1.0/map.xml.dist b/etc/ce-to-ce/1.8.1.0/map.xml.dist
index 98a1215bd..48df85507 100644
--- a/etc/ce-to-ce/1.8.1.0/map.xml.dist
+++ b/etc/ce-to-ce/1.8.1.0/map.xml.dist
@@ -854,6 +854,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.0.0/config.xml.dist b/etc/ce-to-ce/1.9.0.0/config.xml.dist
index f53b6e174..8da0df626 100644
--- a/etc/ce-to-ce/1.9.0.0/config.xml.dist
+++ b/etc/ce-to-ce/1.9.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.0.0/map.xml.dist b/etc/ce-to-ce/1.9.0.0/map.xml.dist
index 698435e41..056808f85 100644
--- a/etc/ce-to-ce/1.9.0.0/map.xml.dist
+++ b/etc/ce-to-ce/1.9.0.0/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.0.1/config.xml.dist b/etc/ce-to-ce/1.9.0.1/config.xml.dist
index 1efdee28b..6c5e93de5 100644
--- a/etc/ce-to-ce/1.9.0.1/config.xml.dist
+++ b/etc/ce-to-ce/1.9.0.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.0.1/map.xml.dist b/etc/ce-to-ce/1.9.0.1/map.xml.dist
index 698435e41..056808f85 100644
--- a/etc/ce-to-ce/1.9.0.1/map.xml.dist
+++ b/etc/ce-to-ce/1.9.0.1/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.1.0/config.xml.dist b/etc/ce-to-ce/1.9.1.0/config.xml.dist
index b60568927..5b40fbed8 100644
--- a/etc/ce-to-ce/1.9.1.0/config.xml.dist
+++ b/etc/ce-to-ce/1.9.1.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.1.0/map.xml.dist b/etc/ce-to-ce/1.9.1.0/map.xml.dist
index 10e86ba6a..3448e4874 100644
--- a/etc/ce-to-ce/1.9.1.0/map.xml.dist
+++ b/etc/ce-to-ce/1.9.1.0/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.1.1/config.xml.dist b/etc/ce-to-ce/1.9.1.1/config.xml.dist
index c64716f39..5632e2a75 100644
--- a/etc/ce-to-ce/1.9.1.1/config.xml.dist
+++ b/etc/ce-to-ce/1.9.1.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.1.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.1.1/map.xml.dist b/etc/ce-to-ce/1.9.1.1/map.xml.dist
index 10e86ba6a..3448e4874 100644
--- a/etc/ce-to-ce/1.9.1.1/map.xml.dist
+++ b/etc/ce-to-ce/1.9.1.1/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.2.0/config.xml.dist b/etc/ce-to-ce/1.9.2.0/config.xml.dist
index c8ab8f242..dce744c9a 100644
--- a/etc/ce-to-ce/1.9.2.0/config.xml.dist
+++ b/etc/ce-to-ce/1.9.2.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.2.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.2.0/map.xml.dist b/etc/ce-to-ce/1.9.2.0/map.xml.dist
index 9f7e5a9fb..f7250a7fc 100644
--- a/etc/ce-to-ce/1.9.2.0/map.xml.dist
+++ b/etc/ce-to-ce/1.9.2.0/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.2.1/config.xml.dist b/etc/ce-to-ce/1.9.2.1/config.xml.dist
index 5283b4bf0..99212eab7 100644
--- a/etc/ce-to-ce/1.9.2.1/config.xml.dist
+++ b/etc/ce-to-ce/1.9.2.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.2.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.2.1/map.xml.dist b/etc/ce-to-ce/1.9.2.1/map.xml.dist
index 9f7e5a9fb..f7250a7fc 100644
--- a/etc/ce-to-ce/1.9.2.1/map.xml.dist
+++ b/etc/ce-to-ce/1.9.2.1/map.xml.dist
@@ -857,6 +857,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.2.2/config.xml.dist b/etc/ce-to-ce/1.9.2.2/config.xml.dist
index daf13850d..8381d96d3 100644
--- a/etc/ce-to-ce/1.9.2.2/config.xml.dist
+++ b/etc/ce-to-ce/1.9.2.2/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.2.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.2.2/map.xml.dist b/etc/ce-to-ce/1.9.2.2/map.xml.dist
index a25cf9955..a537a785f 100644
--- a/etc/ce-to-ce/1.9.2.2/map.xml.dist
+++ b/etc/ce-to-ce/1.9.2.2/map.xml.dist
@@ -863,6 +863,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.2.3/config.xml.dist b/etc/ce-to-ce/1.9.2.3/config.xml.dist
index 50d9b4ae7..7656a6ba0 100644
--- a/etc/ce-to-ce/1.9.2.3/config.xml.dist
+++ b/etc/ce-to-ce/1.9.2.3/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.2.3
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.2.3/map.xml.dist b/etc/ce-to-ce/1.9.2.3/map.xml.dist
index a25cf9955..a537a785f 100644
--- a/etc/ce-to-ce/1.9.2.3/map.xml.dist
+++ b/etc/ce-to-ce/1.9.2.3/map.xml.dist
@@ -863,6 +863,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.2.4/config.xml.dist b/etc/ce-to-ce/1.9.2.4/config.xml.dist
index edb01b9e4..bb09cc065 100644
--- a/etc/ce-to-ce/1.9.2.4/config.xml.dist
+++ b/etc/ce-to-ce/1.9.2.4/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ce
1.9.2.4
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ce/1.9.2.4/map.xml.dist b/etc/ce-to-ce/1.9.2.4/map.xml.dist
index a25cf9955..a537a785f 100644
--- a/etc/ce-to-ce/1.9.2.4/map.xml.dist
+++ b/etc/ce-to-ce/1.9.2.4/map.xml.dist
@@ -863,6 +863,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ce/1.9.3.0/config.xml.dist b/etc/ce-to-ce/1.9.3.0/config.xml.dist
new file mode 100644
index 000000000..7d2e54e51
--- /dev/null
+++ b/etc/ce-to-ce/1.9.3.0/config.xml.dist
@@ -0,0 +1,140 @@
+
+
+
+
+
+ Migration\Step\Settings\Integrity
+ Migration\Step\Settings\Data
+
+
+ Migration\Step\Stores\Integrity
+ Migration\Step\Stores\Data
+ Migration\Step\Stores\Volume
+
+
+
+
+ Migration\Step\Eav\Integrity
+ Migration\Step\Eav\Data
+ Migration\Step\Eav\Volume
+
+
+ Migration\Step\Customer\Integrity
+ Migration\Step\Customer\Data
+ Migration\Step\Customer\Volume
+
+
+ Migration\Step\Map\Integrity
+ Migration\Step\Map\Data
+ Migration\Step\Map\Volume
+
+
+ Migration\Step\UrlRewrite\Version191to2000
+ Migration\Step\UrlRewrite\Version191to2000
+ Migration\Step\UrlRewrite\Version191to2000
+
+
+ Migration\Step\Log\Integrity
+ Migration\Step\Log\Data
+ Migration\Step\Log\Volume
+
+
+ Migration\Step\Ratings\Integrity
+ Migration\Step\Ratings\Data
+ Migration\Step\Ratings\Volume
+
+
+ Migration\Step\ConfigurablePrices\Integrity
+ Migration\Step\ConfigurablePrices\Data
+ Migration\Step\ConfigurablePrices\Volume
+
+
+ Migration\Step\OrderGrids\Integrity
+ Migration\Step\OrderGrids\Data
+ Migration\Step\OrderGrids\Volume
+
+
+ Migration\Step\TierPrice\Integrity
+ Migration\Step\TierPrice\Data
+ Migration\Step\TierPrice\Volume
+
+
+ Migration\Step\SalesIncrement\Integrity
+ Migration\Step\SalesIncrement\Data
+ Migration\Step\SalesIncrement\Volume
+
+
+ Migration\Step\PostProcessing\Data
+
+
+
+
+ Migration\Step\Customer\Delta
+ Migration\Step\Customer\Volume
+
+
+ Migration\Step\Map\Delta
+ Migration\Step\Map\Volume
+
+
+ Migration\Step\Log\Delta
+ Migration\Step\Log\Volume
+
+
+ Migration\Step\OrderGrids\Delta
+ Migration\Step\OrderGrids\Volume
+
+
+ Migration\Step\SalesIncrement\Delta
+ Migration\Step\SalesIncrement\Volume
+
+
+
+
+
+
+
+
+
+ etc/ce-to-ce/1.9.3.0/map.xml.dist
+ etc/ce-to-ce/map-eav.xml.dist
+ etc/ce-to-ce/eav-document-groups.xml.dist
+ etc/ce-to-ce/eav-attribute-groups.xml.dist
+ etc/ce-to-ce/map-log.xml.dist
+ etc/ce-to-ce/log-document-groups.xml.dist
+ etc/ce-to-ce/settings.xml.dist
+ etc/ce-to-ce/map-customer.xml.dist
+ etc/ce-to-ce/customer-document-groups.xml.dist
+ etc/ce-to-ce/customer-attribute-groups.xml.dist
+ etc/ce-to-ce/deltalog.xml.dist
+ etc/ce-to-ce/order-grids-document-groups.xml.dist
+ etc/ce-to-ce/map-document-groups.xml.dist
+ etc/ce-to-ce/class-map.xml.dist
+
+ 0
+
+ 0
+
+
+ 0
+ migration.log
+ %percent%% [%bar%] Remaining Time: %remaining%
+ 1
+ ce-to-ce
+ 1.9.3.0
+ SET NAMES utf8;
+ SET NAMES utf8;
+
+
+
diff --git a/etc/ce-to-ce/1.9.3.0/map.xml.dist b/etc/ce-to-ce/1.9.3.0/map.xml.dist
new file mode 100644
index 000000000..980205978
--- /dev/null
+++ b/etc/ce-to-ce/1.9.3.0/map.xml.dist
@@ -0,0 +1,1706 @@
+
+
+
diff --git a/etc/ce-to-ce/eav-attribute-groups.xml.dist b/etc/ce-to-ce/eav-attribute-groups.xml.dist
index d7787c2ef..e86504015 100644
--- a/etc/ce-to-ce/eav-attribute-groups.xml.dist
+++ b/etc/ce-to-ce/eav-attribute-groups.xml.dist
@@ -7,7 +7,7 @@
-->
- msrp_enabled
- group_price
+ msrp_enabled
+ group_price
diff --git a/etc/ce-to-ce/eav-document-groups.xml.dist b/etc/ce-to-ce/eav-document-groups.xml.dist
index 9acd4c8f1..008a39b8d 100644
--- a/etc/ce-to-ce/eav-document-groups.xml.dist
+++ b/etc/ce-to-ce/eav-document-groups.xml.dist
@@ -19,4 +19,38 @@
catalog_eav_attribute
customer_eav_attribute
+
+ catalog_category_entity_datetime
+ catalog_category_entity_decimal
+ catalog_category_entity_int
+ catalog_category_entity_text
+ catalog_category_entity_varchar
+ catalog_eav_attribute
+ catalog_product_entity_datetime
+ catalog_product_entity_decimal
+ catalog_product_entity_gallery
+ catalog_product_entity_int
+ catalog_product_entity_media_gallery
+ catalog_product_entity_text
+ catalog_product_entity_varchar
+ customer_address_entity_datetime
+ customer_address_entity_decimal
+ customer_address_entity_int
+ customer_address_entity_text
+ customer_address_entity_varchar
+ customer_eav_attribute
+ customer_eav_attribute_website
+ customer_entity_datetime
+ customer_entity_decimal
+ customer_entity_int
+ customer_entity_text
+ customer_entity_varchar
+ customer_form_attribute
+ eav_attribute_label
+ eav_attribute_option
+ eav_entity_attribute
+ eav_form_element
+ salesrule_product_attribute
+ weee_tax
+
diff --git a/etc/ce-to-ce/settings.xml.dist b/etc/ce-to-ce/settings.xml.dist
index c38eb8887..070770155 100644
--- a/etc/ce-to-ce/settings.xml.dist
+++ b/etc/ce-to-ce/settings.xml.dist
@@ -8,148 +8,7 @@
- advanced/modules_disable_output/Mage_Connect
-
-
- advanced/modules_disable_output/Mage_Contacts
-
-
- advanced/modules_disable_output/Mage_Core
-
-
- advanced/modules_disable_output/Mage_Cron
-
-
- advanced/modules_disable_output/Mage_CurrencySymbol
-
-
- advanced/modules_disable_output/Mage_Customer
-
-
- advanced/modules_disable_output/Mage_Dataflow
-
-
- advanced/modules_disable_output/Mage_Directory
-
-
- advanced/modules_disable_output/Mage_Downloadable
-
-
- advanced/modules_disable_output/Mage_Eav
-
-
- advanced/modules_disable_output/Mage_GiftMessage
-
-
- advanced/modules_disable_output/Mage_GoogleAnalytics
-
-
- advanced/modules_disable_output/Mage_GoogleCheckout
-
-
- advanced/modules_disable_output/Mage_ImportExport
-
-
- advanced/modules_disable_output/Mage_Index
-
-
- advanced/modules_disable_output/Mage_Install
-
-
- advanced/modules_disable_output/Mage_Log
-
-
- advanced/modules_disable_output/Mage_Media
-
-
- advanced/modules_disable_output/Mage_Newsletter
-
-
- advanced/modules_disable_output/Mage_Oauth
-
-
- advanced/modules_disable_output/Mage_Ogone
-
-
- advanced/modules_disable_output/Mage_Page
-
-
- advanced/modules_disable_output/Mage_Paygate
-
-
- advanced/modules_disable_output/Mage_Payment
-
-
- advanced/modules_disable_output/Mage_Paypal
-
-
- advanced/modules_disable_output/Mage_PaypalUk
-
-
- advanced/modules_disable_output/Mage_Persistent
-
-
- advanced/modules_disable_output/Mage_Poll
-
-
- advanced/modules_disable_output/Mage_ProductAlert
-
-
- advanced/modules_disable_output/Mage_Rating
-
-
- advanced/modules_disable_output/Mage_Reports
-
-
- advanced/modules_disable_output/Mage_Review
-
-
- advanced/modules_disable_output/Mage_Rss
-
-
- advanced/modules_disable_output/Mage_Rule
-
-
- advanced/modules_disable_output/Mage_Sales
-
-
- advanced/modules_disable_output/Mage_SalesRule
-
-
- advanced/modules_disable_output/Mage_Sendfriend
-
-
- advanced/modules_disable_output/Mage_Shipping
-
-
- advanced/modules_disable_output/Mage_Sitemap
-
-
- advanced/modules_disable_output/Mage_Tag
-
-
- advanced/modules_disable_output/Mage_Tax
-
-
- advanced/modules_disable_output/Mage_Usa
-
-
- advanced/modules_disable_output/Mage_Weee
-
-
- advanced/modules_disable_output/Mage_Widget
-
-
- advanced/modules_disable_output/Mage_Wishlist
-
-
- advanced/modules_disable_output/Mage_XmlConnect
-
-
- advanced/modules_disable_output/OnTap_Merchandiser
-
-
- advanced/modules_disable_output/Phoenix_Moneybookers
+ advanced/modules_disable_output/*
api/config/compliance_wsi
@@ -1012,6 +871,9 @@
web/secure/base_url
+
+ web/secure/base_link_url
+
web/unsecure/base_js_url
@@ -1024,6 +886,9 @@
web/unsecure/base_url
+
+ web/unsecure/base_link_url
+
catalog/search/solr_server_password
diff --git a/etc/ce-to-ee/1.6.0.0/config.xml.dist b/etc/ce-to-ee/1.6.0.0/config.xml.dist
index 5ac28e4f8..87da7b622 100644
--- a/etc/ce-to-ee/1.6.0.0/config.xml.dist
+++ b/etc/ce-to-ee/1.6.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.6.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.6.0.0/map.xml.dist b/etc/ce-to-ee/1.6.0.0/map.xml.dist
index 1e37b9941..f8dd83596 100644
--- a/etc/ce-to-ee/1.6.0.0/map.xml.dist
+++ b/etc/ce-to-ee/1.6.0.0/map.xml.dist
@@ -939,6 +939,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.6.1.0/config.xml.dist b/etc/ce-to-ee/1.6.1.0/config.xml.dist
index c7c8c507e..6d78be58c 100644
--- a/etc/ce-to-ee/1.6.1.0/config.xml.dist
+++ b/etc/ce-to-ee/1.6.1.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.6.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.6.1.0/map.xml.dist b/etc/ce-to-ee/1.6.1.0/map.xml.dist
index 971fd594f..39cae41c8 100644
--- a/etc/ce-to-ee/1.6.1.0/map.xml.dist
+++ b/etc/ce-to-ee/1.6.1.0/map.xml.dist
@@ -936,6 +936,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.6.2.0/config.xml.dist b/etc/ce-to-ee/1.6.2.0/config.xml.dist
index 2bb4d903e..652ab4816 100644
--- a/etc/ce-to-ee/1.6.2.0/config.xml.dist
+++ b/etc/ce-to-ee/1.6.2.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.6.2.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.6.2.0/map.xml.dist b/etc/ce-to-ee/1.6.2.0/map.xml.dist
index be31ca8a1..f9fb6c9bc 100644
--- a/etc/ce-to-ee/1.6.2.0/map.xml.dist
+++ b/etc/ce-to-ee/1.6.2.0/map.xml.dist
@@ -936,6 +936,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.7.0.0/config.xml.dist b/etc/ce-to-ee/1.7.0.0/config.xml.dist
index 398343a74..db52c19f8 100644
--- a/etc/ce-to-ee/1.7.0.0/config.xml.dist
+++ b/etc/ce-to-ee/1.7.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.7.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.7.0.0/map.xml.dist b/etc/ce-to-ee/1.7.0.0/map.xml.dist
index 13e9ae1b4..f5e97c8bd 100644
--- a/etc/ce-to-ee/1.7.0.0/map.xml.dist
+++ b/etc/ce-to-ee/1.7.0.0/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.7.0.1/config.xml.dist b/etc/ce-to-ee/1.7.0.1/config.xml.dist
index b2e2335ff..2b15fd640 100644
--- a/etc/ce-to-ee/1.7.0.1/config.xml.dist
+++ b/etc/ce-to-ee/1.7.0.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.7.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.7.0.1/map.xml.dist b/etc/ce-to-ee/1.7.0.1/map.xml.dist
index 13e9ae1b4..f5e97c8bd 100644
--- a/etc/ce-to-ee/1.7.0.1/map.xml.dist
+++ b/etc/ce-to-ee/1.7.0.1/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.7.0.2/config.xml.dist b/etc/ce-to-ee/1.7.0.2/config.xml.dist
index 72d39a3c9..17185a3e2 100644
--- a/etc/ce-to-ee/1.7.0.2/config.xml.dist
+++ b/etc/ce-to-ee/1.7.0.2/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.7.0.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.7.0.2/map.xml.dist b/etc/ce-to-ee/1.7.0.2/map.xml.dist
index 13e9ae1b4..f5e97c8bd 100644
--- a/etc/ce-to-ee/1.7.0.2/map.xml.dist
+++ b/etc/ce-to-ee/1.7.0.2/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.8.0.0/config.xml.dist b/etc/ce-to-ee/1.8.0.0/config.xml.dist
index d1e004d9b..86b118cd0 100644
--- a/etc/ce-to-ee/1.8.0.0/config.xml.dist
+++ b/etc/ce-to-ee/1.8.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.8.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.8.0.0/map.xml.dist b/etc/ce-to-ee/1.8.0.0/map.xml.dist
index 66c5148b1..b243f24ac 100644
--- a/etc/ce-to-ee/1.8.0.0/map.xml.dist
+++ b/etc/ce-to-ee/1.8.0.0/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.8.1.0/config.xml.dist b/etc/ce-to-ee/1.8.1.0/config.xml.dist
index 539884d64..665136b03 100644
--- a/etc/ce-to-ee/1.8.1.0/config.xml.dist
+++ b/etc/ce-to-ee/1.8.1.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.8.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.8.1.0/map.xml.dist b/etc/ce-to-ee/1.8.1.0/map.xml.dist
index 402c84e85..1c8b4bb0c 100644
--- a/etc/ce-to-ee/1.8.1.0/map.xml.dist
+++ b/etc/ce-to-ee/1.8.1.0/map.xml.dist
@@ -930,6 +930,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.0.0/config.xml.dist b/etc/ce-to-ee/1.9.0.0/config.xml.dist
index 851461d0b..c76fa1e96 100644
--- a/etc/ce-to-ee/1.9.0.0/config.xml.dist
+++ b/etc/ce-to-ee/1.9.0.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.0.0/map.xml.dist b/etc/ce-to-ee/1.9.0.0/map.xml.dist
index 709fe7a4e..45618d0f7 100644
--- a/etc/ce-to-ee/1.9.0.0/map.xml.dist
+++ b/etc/ce-to-ee/1.9.0.0/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.0.1/config.xml.dist b/etc/ce-to-ee/1.9.0.1/config.xml.dist
index 976d2f1b6..39dd2f9ca 100644
--- a/etc/ce-to-ee/1.9.0.1/config.xml.dist
+++ b/etc/ce-to-ee/1.9.0.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.0.1/map.xml.dist b/etc/ce-to-ee/1.9.0.1/map.xml.dist
index 66c5148b1..b243f24ac 100644
--- a/etc/ce-to-ee/1.9.0.1/map.xml.dist
+++ b/etc/ce-to-ee/1.9.0.1/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.1.0/config.xml.dist b/etc/ce-to-ee/1.9.1.0/config.xml.dist
index 155f97e4b..8876d9158 100644
--- a/etc/ce-to-ee/1.9.1.0/config.xml.dist
+++ b/etc/ce-to-ee/1.9.1.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.1.0/map.xml.dist b/etc/ce-to-ee/1.9.1.0/map.xml.dist
index 230f5e9a3..f15625cc6 100644
--- a/etc/ce-to-ee/1.9.1.0/map.xml.dist
+++ b/etc/ce-to-ee/1.9.1.0/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.1.1/config.xml.dist b/etc/ce-to-ee/1.9.1.1/config.xml.dist
index fe273b8ad..07cab5f2e 100644
--- a/etc/ce-to-ee/1.9.1.1/config.xml.dist
+++ b/etc/ce-to-ee/1.9.1.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.1.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.1.1/map.xml.dist b/etc/ce-to-ee/1.9.1.1/map.xml.dist
index 230f5e9a3..f15625cc6 100644
--- a/etc/ce-to-ee/1.9.1.1/map.xml.dist
+++ b/etc/ce-to-ee/1.9.1.1/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.2.0/config.xml.dist b/etc/ce-to-ee/1.9.2.0/config.xml.dist
index 15125cffc..18742bdb4 100644
--- a/etc/ce-to-ee/1.9.2.0/config.xml.dist
+++ b/etc/ce-to-ee/1.9.2.0/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.2.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.2.0/map.xml.dist b/etc/ce-to-ee/1.9.2.0/map.xml.dist
index e248f49ea..5aa30aa00 100644
--- a/etc/ce-to-ee/1.9.2.0/map.xml.dist
+++ b/etc/ce-to-ee/1.9.2.0/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.2.1/config.xml.dist b/etc/ce-to-ee/1.9.2.1/config.xml.dist
index bd9dbc6cc..a3bede623 100644
--- a/etc/ce-to-ee/1.9.2.1/config.xml.dist
+++ b/etc/ce-to-ee/1.9.2.1/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.2.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.2.1/map.xml.dist b/etc/ce-to-ee/1.9.2.1/map.xml.dist
index e248f49ea..5aa30aa00 100644
--- a/etc/ce-to-ee/1.9.2.1/map.xml.dist
+++ b/etc/ce-to-ee/1.9.2.1/map.xml.dist
@@ -933,6 +933,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.2.2/config.xml.dist b/etc/ce-to-ee/1.9.2.2/config.xml.dist
index aeef908da..e7604f697 100644
--- a/etc/ce-to-ee/1.9.2.2/config.xml.dist
+++ b/etc/ce-to-ee/1.9.2.2/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.2.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.2.2/map.xml.dist b/etc/ce-to-ee/1.9.2.2/map.xml.dist
index d359e49ac..05330825c 100644
--- a/etc/ce-to-ee/1.9.2.2/map.xml.dist
+++ b/etc/ce-to-ee/1.9.2.2/map.xml.dist
@@ -939,6 +939,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.2.3/config.xml.dist b/etc/ce-to-ee/1.9.2.3/config.xml.dist
index 3ae0a1ae5..5447c7a37 100644
--- a/etc/ce-to-ee/1.9.2.3/config.xml.dist
+++ b/etc/ce-to-ee/1.9.2.3/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.2.3
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.2.3/map.xml.dist b/etc/ce-to-ee/1.9.2.3/map.xml.dist
index d359e49ac..05330825c 100644
--- a/etc/ce-to-ee/1.9.2.3/map.xml.dist
+++ b/etc/ce-to-ee/1.9.2.3/map.xml.dist
@@ -939,6 +939,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.2.4/config.xml.dist b/etc/ce-to-ee/1.9.2.4/config.xml.dist
index 8795c46cd..b7778fc24 100644
--- a/etc/ce-to-ee/1.9.2.4/config.xml.dist
+++ b/etc/ce-to-ee/1.9.2.4/config.xml.dist
@@ -69,7 +69,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -134,6 +133,8 @@
1
ce-to-ee
1.9.2.4
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ce-to-ee/1.9.2.4/map.xml.dist b/etc/ce-to-ee/1.9.2.4/map.xml.dist
index d359e49ac..05330825c 100644
--- a/etc/ce-to-ee/1.9.2.4/map.xml.dist
+++ b/etc/ce-to-ee/1.9.2.4/map.xml.dist
@@ -939,6 +939,7 @@
cms_page.root_template
+
diff --git a/etc/ce-to-ee/1.9.3.0/config.xml.dist b/etc/ce-to-ee/1.9.3.0/config.xml.dist
new file mode 100644
index 000000000..9f46ebb55
--- /dev/null
+++ b/etc/ce-to-ee/1.9.3.0/config.xml.dist
@@ -0,0 +1,140 @@
+
+
+
+
+
+ Migration\Step\Settings\Integrity
+ Migration\Step\Settings\Data
+
+
+ Migration\Step\Stores\Integrity
+ Migration\Step\Stores\Data
+ Migration\Step\Stores\Volume
+
+
+
+
+ Migration\Step\Eav\Integrity
+ Migration\Step\Eav\Data
+ Migration\Step\Eav\Volume
+
+
+ Migration\Step\Customer\Integrity
+ Migration\Step\Customer\Data
+ Migration\Step\Customer\Volume
+
+
+ Migration\Step\Map\Integrity
+ Migration\Step\Map\Data
+ Migration\Step\Map\Volume
+
+
+ Migration\Step\UrlRewrite\Version191to2000
+ Migration\Step\UrlRewrite\Version191to2000
+ Migration\Step\UrlRewrite\Version191to2000
+
+
+ Migration\Step\Log\Integrity
+ Migration\Step\Log\Data
+ Migration\Step\Log\Volume
+
+
+ Migration\Step\Ratings\Integrity
+ Migration\Step\Ratings\Data
+ Migration\Step\Ratings\Volume
+
+
+ Migration\Step\ConfigurablePrices\Integrity
+ Migration\Step\ConfigurablePrices\Data
+ Migration\Step\ConfigurablePrices\Volume
+
+
+ Migration\Step\OrderGrids\Integrity
+ Migration\Step\OrderGrids\Data
+ Migration\Step\OrderGrids\Volume
+
+
+ Migration\Step\TierPrice\Integrity
+ Migration\Step\TierPrice\Data
+ Migration\Step\TierPrice\Volume
+
+
+ Migration\Step\SalesIncrement\Integrity
+ Migration\Step\SalesIncrement\Data
+ Migration\Step\SalesIncrement\Volume
+
+
+ Migration\Step\PostProcessing\Data
+
+
+
+
+ Migration\Step\Customer\Delta
+ Migration\Step\Customer\Volume
+
+
+ Migration\Step\Map\Delta
+ Migration\Step\Map\Volume
+
+
+ Migration\Step\Log\Delta
+ Migration\Step\Log\Volume
+
+
+ Migration\Step\OrderGrids\Delta
+ Migration\Step\OrderGrids\Volume
+
+
+ Migration\Step\SalesIncrement\Delta
+ Migration\Step\SalesIncrement\Volume
+
+
+
+
+
+
+
+
+
+ etc/ce-to-ee/1.9.3.0/map.xml.dist
+ etc/ce-to-ee/map-eav.xml.dist
+ etc/ce-to-ee/eav-document-groups.xml.dist
+ etc/ce-to-ee/eav-attribute-groups.xml.dist
+ etc/ce-to-ee/map-log.xml.dist
+ etc/ce-to-ee/log-document-groups.xml.dist
+ etc/ce-to-ee/settings.xml.dist
+ etc/ce-to-ee/map-customer.xml.dist
+ etc/ce-to-ee/customer-document-groups.xml.dist
+ etc/ce-to-ee/customer-attribute-groups.xml.dist
+ etc/ce-to-ee/deltalog.xml.dist
+ etc/ce-to-ee/order-grids-document-groups.xml.dist
+ etc/ce-to-ee/map-document-groups.xml.dist
+ etc/ce-to-ee/class-map.xml.dist
+
+ 0
+
+ 0
+
+
+ 0
+ migration.log
+ %percent%% [%bar%] Remaining Time: %remaining%
+ 1
+ ce-to-ee
+ 1.9.3.0
+ SET NAMES utf8;
+ SET NAMES utf8;
+
+
+
diff --git a/etc/ce-to-ee/1.9.3.0/map.xml.dist b/etc/ce-to-ee/1.9.3.0/map.xml.dist
new file mode 100644
index 000000000..5cebb8411
--- /dev/null
+++ b/etc/ce-to-ee/1.9.3.0/map.xml.dist
@@ -0,0 +1,2859 @@
+
+
+
diff --git a/etc/ce-to-ee/eav-attribute-groups.xml.dist b/etc/ce-to-ee/eav-attribute-groups.xml.dist
index d7787c2ef..e86504015 100644
--- a/etc/ce-to-ee/eav-attribute-groups.xml.dist
+++ b/etc/ce-to-ee/eav-attribute-groups.xml.dist
@@ -7,7 +7,7 @@
-->
- msrp_enabled
- group_price
+ msrp_enabled
+ group_price
diff --git a/etc/ce-to-ee/eav-document-groups.xml.dist b/etc/ce-to-ee/eav-document-groups.xml.dist
index 9acd4c8f1..2ffd6bc9e 100644
--- a/etc/ce-to-ee/eav-document-groups.xml.dist
+++ b/etc/ce-to-ee/eav-document-groups.xml.dist
@@ -19,4 +19,49 @@
catalog_eav_attribute
customer_eav_attribute
+
+ catalog_category_entity_datetime
+ catalog_category_entity_decimal
+ catalog_category_entity_int
+ catalog_category_entity_text
+ catalog_category_entity_varchar
+ catalog_eav_attribute
+ catalog_product_entity_datetime
+ catalog_product_entity_decimal
+ catalog_product_entity_gallery
+ catalog_product_entity_int
+ catalog_product_entity_media_gallery
+ catalog_product_entity_text
+ catalog_product_entity_varchar
+ customer_address_entity_datetime
+ customer_address_entity_decimal
+ customer_address_entity_int
+ customer_address_entity_text
+ customer_address_entity_varchar
+ customer_eav_attribute
+ customer_eav_attribute_website
+ customer_entity_datetime
+ customer_entity_decimal
+ customer_entity_int
+ customer_entity_text
+ customer_entity_varchar
+ customer_form_attribute
+ eav_attribute_label
+ eav_attribute_option
+ eav_entity_attribute
+ eav_form_element
+ salesrule_product_attribute
+ weee_tax
+
+
+ magento_giftcard_amount
+ magento_rma_item_eav_attribute
+ magento_rma_item_eav_attribute_website
+ magento_rma_item_entity_datetime
+ magento_rma_item_entity_decimal
+ magento_rma_item_entity_int
+ magento_rma_item_entity_text
+ magento_rma_item_entity_varchar
+ magento_rma_item_form_attribute
+
diff --git a/etc/ce-to-ee/settings.xml.dist b/etc/ce-to-ee/settings.xml.dist
index c38eb8887..070770155 100644
--- a/etc/ce-to-ee/settings.xml.dist
+++ b/etc/ce-to-ee/settings.xml.dist
@@ -8,148 +8,7 @@
- advanced/modules_disable_output/Mage_Connect
-
-
- advanced/modules_disable_output/Mage_Contacts
-
-
- advanced/modules_disable_output/Mage_Core
-
-
- advanced/modules_disable_output/Mage_Cron
-
-
- advanced/modules_disable_output/Mage_CurrencySymbol
-
-
- advanced/modules_disable_output/Mage_Customer
-
-
- advanced/modules_disable_output/Mage_Dataflow
-
-
- advanced/modules_disable_output/Mage_Directory
-
-
- advanced/modules_disable_output/Mage_Downloadable
-
-
- advanced/modules_disable_output/Mage_Eav
-
-
- advanced/modules_disable_output/Mage_GiftMessage
-
-
- advanced/modules_disable_output/Mage_GoogleAnalytics
-
-
- advanced/modules_disable_output/Mage_GoogleCheckout
-
-
- advanced/modules_disable_output/Mage_ImportExport
-
-
- advanced/modules_disable_output/Mage_Index
-
-
- advanced/modules_disable_output/Mage_Install
-
-
- advanced/modules_disable_output/Mage_Log
-
-
- advanced/modules_disable_output/Mage_Media
-
-
- advanced/modules_disable_output/Mage_Newsletter
-
-
- advanced/modules_disable_output/Mage_Oauth
-
-
- advanced/modules_disable_output/Mage_Ogone
-
-
- advanced/modules_disable_output/Mage_Page
-
-
- advanced/modules_disable_output/Mage_Paygate
-
-
- advanced/modules_disable_output/Mage_Payment
-
-
- advanced/modules_disable_output/Mage_Paypal
-
-
- advanced/modules_disable_output/Mage_PaypalUk
-
-
- advanced/modules_disable_output/Mage_Persistent
-
-
- advanced/modules_disable_output/Mage_Poll
-
-
- advanced/modules_disable_output/Mage_ProductAlert
-
-
- advanced/modules_disable_output/Mage_Rating
-
-
- advanced/modules_disable_output/Mage_Reports
-
-
- advanced/modules_disable_output/Mage_Review
-
-
- advanced/modules_disable_output/Mage_Rss
-
-
- advanced/modules_disable_output/Mage_Rule
-
-
- advanced/modules_disable_output/Mage_Sales
-
-
- advanced/modules_disable_output/Mage_SalesRule
-
-
- advanced/modules_disable_output/Mage_Sendfriend
-
-
- advanced/modules_disable_output/Mage_Shipping
-
-
- advanced/modules_disable_output/Mage_Sitemap
-
-
- advanced/modules_disable_output/Mage_Tag
-
-
- advanced/modules_disable_output/Mage_Tax
-
-
- advanced/modules_disable_output/Mage_Usa
-
-
- advanced/modules_disable_output/Mage_Weee
-
-
- advanced/modules_disable_output/Mage_Widget
-
-
- advanced/modules_disable_output/Mage_Wishlist
-
-
- advanced/modules_disable_output/Mage_XmlConnect
-
-
- advanced/modules_disable_output/OnTap_Merchandiser
-
-
- advanced/modules_disable_output/Phoenix_Moneybookers
+ advanced/modules_disable_output/*
api/config/compliance_wsi
@@ -1012,6 +871,9 @@
web/secure/base_url
+
+ web/secure/base_link_url
+
web/unsecure/base_js_url
@@ -1024,6 +886,9 @@
web/unsecure/base_url
+
+ web/unsecure/base_link_url
+
catalog/search/solr_server_password
diff --git a/etc/config.xsd b/etc/config.xsd
index 6b2032148..4dcd11bd6 100644
--- a/etc/config.xsd
+++ b/etc/config.xsd
@@ -100,6 +100,8 @@
+
+
diff --git a/etc/ee-to-ee/1.11.0.0/config.xml.dist b/etc/ee-to-ee/1.11.0.0/config.xml.dist
index c05dc15f3..2aa38422e 100644
--- a/etc/ee-to-ee/1.11.0.0/config.xml.dist
+++ b/etc/ee-to-ee/1.11.0.0/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.11.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.11.0.0/map.xml.dist b/etc/ee-to-ee/1.11.0.0/map.xml.dist
index a5917986f..86c54baf9 100644
--- a/etc/ee-to-ee/1.11.0.0/map.xml.dist
+++ b/etc/ee-to-ee/1.11.0.0/map.xml.dist
@@ -1301,6 +1301,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.11.0.1/config.xml.dist b/etc/ee-to-ee/1.11.0.1/config.xml.dist
index 3e420a3ca..32232d553 100644
--- a/etc/ee-to-ee/1.11.0.1/config.xml.dist
+++ b/etc/ee-to-ee/1.11.0.1/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.11.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.11.0.1/map.xml.dist b/etc/ee-to-ee/1.11.0.1/map.xml.dist
index 099c2e938..3ae87d770 100644
--- a/etc/ee-to-ee/1.11.0.1/map.xml.dist
+++ b/etc/ee-to-ee/1.11.0.1/map.xml.dist
@@ -1301,6 +1301,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.11.0.2/config.xml.dist b/etc/ee-to-ee/1.11.0.2/config.xml.dist
index bb05d10bf..36406a939 100644
--- a/etc/ee-to-ee/1.11.0.2/config.xml.dist
+++ b/etc/ee-to-ee/1.11.0.2/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.11.0.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.11.0.2/map.xml.dist b/etc/ee-to-ee/1.11.0.2/map.xml.dist
index 099c2e938..3ae87d770 100644
--- a/etc/ee-to-ee/1.11.0.2/map.xml.dist
+++ b/etc/ee-to-ee/1.11.0.2/map.xml.dist
@@ -1301,6 +1301,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.11.1.0/config.xml.dist b/etc/ee-to-ee/1.11.1.0/config.xml.dist
index 53c30b276..441bd9c94 100644
--- a/etc/ee-to-ee/1.11.1.0/config.xml.dist
+++ b/etc/ee-to-ee/1.11.1.0/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.11.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.11.1.0/map.xml.dist b/etc/ee-to-ee/1.11.1.0/map.xml.dist
index d05211cca..e8e14f84b 100644
--- a/etc/ee-to-ee/1.11.1.0/map.xml.dist
+++ b/etc/ee-to-ee/1.11.1.0/map.xml.dist
@@ -1301,6 +1301,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.11.2.0/config.xml.dist b/etc/ee-to-ee/1.11.2.0/config.xml.dist
index d2dbba3d4..16d9c5cf4 100644
--- a/etc/ee-to-ee/1.11.2.0/config.xml.dist
+++ b/etc/ee-to-ee/1.11.2.0/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.11.2.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.11.2.0/map.xml.dist b/etc/ee-to-ee/1.11.2.0/map.xml.dist
index 36493d30f..b23caba74 100644
--- a/etc/ee-to-ee/1.11.2.0/map.xml.dist
+++ b/etc/ee-to-ee/1.11.2.0/map.xml.dist
@@ -1301,6 +1301,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.12.0.0/config.xml.dist b/etc/ee-to-ee/1.12.0.0/config.xml.dist
index 6b0a275e3..87745b74c 100644
--- a/etc/ee-to-ee/1.12.0.0/config.xml.dist
+++ b/etc/ee-to-ee/1.12.0.0/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.12.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.12.0.0/map.xml.dist b/etc/ee-to-ee/1.12.0.0/map.xml.dist
index 7c108a156..374e09055 100644
--- a/etc/ee-to-ee/1.12.0.0/map.xml.dist
+++ b/etc/ee-to-ee/1.12.0.0/map.xml.dist
@@ -1299,6 +1299,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.12.0.1/config.xml.dist b/etc/ee-to-ee/1.12.0.1/config.xml.dist
index 8e47cafe8..f4f21274f 100644
--- a/etc/ee-to-ee/1.12.0.1/config.xml.dist
+++ b/etc/ee-to-ee/1.12.0.1/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.12.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.12.0.1/map.xml.dist b/etc/ee-to-ee/1.12.0.1/map.xml.dist
index 166e33eec..6fb20847c 100644
--- a/etc/ee-to-ee/1.12.0.1/map.xml.dist
+++ b/etc/ee-to-ee/1.12.0.1/map.xml.dist
@@ -1299,6 +1299,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.12.0.2/config.xml.dist b/etc/ee-to-ee/1.12.0.2/config.xml.dist
index 6fe3e0198..093fe885d 100644
--- a/etc/ee-to-ee/1.12.0.2/config.xml.dist
+++ b/etc/ee-to-ee/1.12.0.2/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.12.0.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.12.0.2/map.xml.dist b/etc/ee-to-ee/1.12.0.2/map.xml.dist
index 166e33eec..6fb20847c 100644
--- a/etc/ee-to-ee/1.12.0.2/map.xml.dist
+++ b/etc/ee-to-ee/1.12.0.2/map.xml.dist
@@ -1299,6 +1299,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.13.0.0/config.xml.dist b/etc/ee-to-ee/1.13.0.0/config.xml.dist
index c58f75a1b..2b2eb1b4d 100644
--- a/etc/ee-to-ee/1.13.0.0/config.xml.dist
+++ b/etc/ee-to-ee/1.13.0.0/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.13.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.13.0.0/map.xml.dist b/etc/ee-to-ee/1.13.0.0/map.xml.dist
index a519498dc..bf8656a5a 100644
--- a/etc/ee-to-ee/1.13.0.0/map.xml.dist
+++ b/etc/ee-to-ee/1.13.0.0/map.xml.dist
@@ -1283,6 +1283,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.13.0.1/config.xml.dist b/etc/ee-to-ee/1.13.0.1/config.xml.dist
index d36c1d677..d1bc48d95 100644
--- a/etc/ee-to-ee/1.13.0.1/config.xml.dist
+++ b/etc/ee-to-ee/1.13.0.1/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.13.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.13.0.1/map.xml.dist b/etc/ee-to-ee/1.13.0.1/map.xml.dist
index 3599e5cc3..daf0a4f3e 100644
--- a/etc/ee-to-ee/1.13.0.1/map.xml.dist
+++ b/etc/ee-to-ee/1.13.0.1/map.xml.dist
@@ -1283,6 +1283,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.13.0.2/config.xml.dist b/etc/ee-to-ee/1.13.0.2/config.xml.dist
index 199713b72..e7b1c9054 100644
--- a/etc/ee-to-ee/1.13.0.2/config.xml.dist
+++ b/etc/ee-to-ee/1.13.0.2/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.13.0.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.13.0.2/map.xml.dist b/etc/ee-to-ee/1.13.0.2/map.xml.dist
index 3599e5cc3..daf0a4f3e 100644
--- a/etc/ee-to-ee/1.13.0.2/map.xml.dist
+++ b/etc/ee-to-ee/1.13.0.2/map.xml.dist
@@ -1283,6 +1283,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.13.1.0/config.xml.dist b/etc/ee-to-ee/1.13.1.0/config.xml.dist
index c18bed58a..7ec5bdde9 100644
--- a/etc/ee-to-ee/1.13.1.0/config.xml.dist
+++ b/etc/ee-to-ee/1.13.1.0/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.13.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.13.1.0/map.xml.dist b/etc/ee-to-ee/1.13.1.0/map.xml.dist
index 4b1dd9471..526507424 100644
--- a/etc/ee-to-ee/1.13.1.0/map.xml.dist
+++ b/etc/ee-to-ee/1.13.1.0/map.xml.dist
@@ -1289,6 +1289,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.0.0/config.xml.dist b/etc/ee-to-ee/1.14.0.0/config.xml.dist
index 7ef4e90ee..07092b1e6 100644
--- a/etc/ee-to-ee/1.14.0.0/config.xml.dist
+++ b/etc/ee-to-ee/1.14.0.0/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.14.0.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.0.0/map.xml.dist b/etc/ee-to-ee/1.14.0.0/map.xml.dist
index 0e57e49e1..80b039431 100644
--- a/etc/ee-to-ee/1.14.0.0/map.xml.dist
+++ b/etc/ee-to-ee/1.14.0.0/map.xml.dist
@@ -1289,6 +1289,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.0.1/config.xml.dist b/etc/ee-to-ee/1.14.0.1/config.xml.dist
index df54d7d82..5bcfb4329 100644
--- a/etc/ee-to-ee/1.14.0.1/config.xml.dist
+++ b/etc/ee-to-ee/1.14.0.1/config.xml.dist
@@ -79,7 +79,6 @@
Migration\Step\SalesIncrement\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -154,6 +153,8 @@
1
ee-to-ee
1.14.0.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.0.1/map.xml.dist b/etc/ee-to-ee/1.14.0.1/map.xml.dist
index 0e57e49e1..80b039431 100644
--- a/etc/ee-to-ee/1.14.0.1/map.xml.dist
+++ b/etc/ee-to-ee/1.14.0.1/map.xml.dist
@@ -1289,6 +1289,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.1.0/config.xml.dist b/etc/ee-to-ee/1.14.1.0/config.xml.dist
index 97bd1f795..98b6d6aa6 100644
--- a/etc/ee-to-ee/1.14.1.0/config.xml.dist
+++ b/etc/ee-to-ee/1.14.1.0/config.xml.dist
@@ -84,7 +84,6 @@
Migration\Step\VisualMerchandiser\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -162,6 +161,8 @@
1
ee-to-ee
1.14.1.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.1.0/map.xml.dist b/etc/ee-to-ee/1.14.1.0/map.xml.dist
index ef6438233..14392d971 100644
--- a/etc/ee-to-ee/1.14.1.0/map.xml.dist
+++ b/etc/ee-to-ee/1.14.1.0/map.xml.dist
@@ -1297,6 +1297,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.2.0/config.xml.dist b/etc/ee-to-ee/1.14.2.0/config.xml.dist
index 02bc572b5..6b4074a28 100644
--- a/etc/ee-to-ee/1.14.2.0/config.xml.dist
+++ b/etc/ee-to-ee/1.14.2.0/config.xml.dist
@@ -84,7 +84,6 @@
Migration\Step\VisualMerchandiser\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -162,6 +161,8 @@
1
ee-to-ee
1.14.2.0
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.2.0/map.xml.dist b/etc/ee-to-ee/1.14.2.0/map.xml.dist
index 1c854697b..db6c9610a 100644
--- a/etc/ee-to-ee/1.14.2.0/map.xml.dist
+++ b/etc/ee-to-ee/1.14.2.0/map.xml.dist
@@ -1297,6 +1297,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.2.1/config.xml.dist b/etc/ee-to-ee/1.14.2.1/config.xml.dist
index 2f60d68ed..c5c52a61d 100644
--- a/etc/ee-to-ee/1.14.2.1/config.xml.dist
+++ b/etc/ee-to-ee/1.14.2.1/config.xml.dist
@@ -84,7 +84,6 @@
Migration\Step\VisualMerchandiser\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -162,6 +161,8 @@
1
ee-to-ee
1.14.2.1
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.2.1/map.xml.dist b/etc/ee-to-ee/1.14.2.1/map.xml.dist
index 37ce90936..ea24fd7f9 100644
--- a/etc/ee-to-ee/1.14.2.1/map.xml.dist
+++ b/etc/ee-to-ee/1.14.2.1/map.xml.dist
@@ -1297,6 +1297,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.2.2/config.xml.dist b/etc/ee-to-ee/1.14.2.2/config.xml.dist
index d1ebef8c8..16a1bfaaf 100644
--- a/etc/ee-to-ee/1.14.2.2/config.xml.dist
+++ b/etc/ee-to-ee/1.14.2.2/config.xml.dist
@@ -84,7 +84,6 @@
Migration\Step\VisualMerchandiser\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -162,6 +161,8 @@
1
ee-to-ee
1.14.2.2
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.2.2/map.xml.dist b/etc/ee-to-ee/1.14.2.2/map.xml.dist
index 13e376496..0843a2010 100644
--- a/etc/ee-to-ee/1.14.2.2/map.xml.dist
+++ b/etc/ee-to-ee/1.14.2.2/map.xml.dist
@@ -1303,6 +1303,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.2.3/config.xml.dist b/etc/ee-to-ee/1.14.2.3/config.xml.dist
index 75acde157..e6b4e1559 100644
--- a/etc/ee-to-ee/1.14.2.3/config.xml.dist
+++ b/etc/ee-to-ee/1.14.2.3/config.xml.dist
@@ -84,7 +84,6 @@
Migration\Step\VisualMerchandiser\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -162,6 +161,8 @@
1
ee-to-ee
1.14.2.3
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.2.3/map.xml.dist b/etc/ee-to-ee/1.14.2.3/map.xml.dist
index 957ed70ad..cbb191d65 100644
--- a/etc/ee-to-ee/1.14.2.3/map.xml.dist
+++ b/etc/ee-to-ee/1.14.2.3/map.xml.dist
@@ -1303,6 +1303,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.2.4/config.xml.dist b/etc/ee-to-ee/1.14.2.4/config.xml.dist
index 365fc5ee0..7b03433fc 100644
--- a/etc/ee-to-ee/1.14.2.4/config.xml.dist
+++ b/etc/ee-to-ee/1.14.2.4/config.xml.dist
@@ -84,7 +84,6 @@
Migration\Step\VisualMerchandiser\Volume
- Migration\Step\PostProcessing\Integrity
Migration\Step\PostProcessing\Data
@@ -162,6 +161,8 @@
1
ee-to-ee
1.14.2.4
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/etc/ee-to-ee/1.14.2.4/map.xml.dist b/etc/ee-to-ee/1.14.2.4/map.xml.dist
index 957ed70ad..cbb191d65 100644
--- a/etc/ee-to-ee/1.14.2.4/map.xml.dist
+++ b/etc/ee-to-ee/1.14.2.4/map.xml.dist
@@ -1303,6 +1303,7 @@
cms_page.root_template
+
diff --git a/etc/ee-to-ee/1.14.3.0/config.xml.dist b/etc/ee-to-ee/1.14.3.0/config.xml.dist
new file mode 100644
index 000000000..99b461802
--- /dev/null
+++ b/etc/ee-to-ee/1.14.3.0/config.xml.dist
@@ -0,0 +1,168 @@
+
+
+
+
+
+ Migration\Step\Settings\Integrity
+ Migration\Step\Settings\Data
+
+
+ Migration\Step\Stores\Integrity
+ Migration\Step\Stores\Data
+ Migration\Step\Stores\Volume
+
+
+
+
+ Migration\Step\Eav\Integrity
+ Migration\Step\Eav\Data
+ Migration\Step\Eav\Volume
+
+
+ Migration\Step\CustomCustomerAttributes\Integrity
+ Migration\Step\CustomCustomerAttributes\Data
+ Migration\Step\CustomCustomerAttributes\Volume
+
+
+ Migration\Step\Customer\Integrity
+ Migration\Step\Customer\Data
+ Migration\Step\Customer\Volume
+
+
+ Migration\Step\Map\Integrity
+ Migration\Step\Map\Data
+ Migration\Step\Map\Volume
+
+
+ Migration\Step\UrlRewrite\Version11410to2000
+ Migration\Step\UrlRewrite\Version11410to2000
+ Migration\Step\UrlRewrite\Version11410to2000
+
+
+ Migration\Step\Log\Integrity
+ Migration\Step\Log\Data
+ Migration\Step\Log\Volume
+
+
+ Migration\Step\Ratings\Integrity
+ Migration\Step\Ratings\Data
+ Migration\Step\Ratings\Volume
+
+
+ Migration\Step\SalesOrder\Integrity
+ Migration\Step\SalesOrder\Data
+ Migration\Step\SalesOrder\Volume
+
+
+ Migration\Step\ConfigurablePrices\Integrity
+ Migration\Step\ConfigurablePrices\Data
+ Migration\Step\ConfigurablePrices\Volume
+
+
+ Migration\Step\OrderGridsEE\Integrity
+ Migration\Step\OrderGridsEE\Data
+ Migration\Step\OrderGridsEE\Volume
+
+
+ Migration\Step\TierPrice\Integrity
+ Migration\Step\TierPrice\Data
+ Migration\Step\TierPrice\Volume
+
+
+ Migration\Step\SalesIncrement\Integrity
+ Migration\Step\SalesIncrement\Data
+ Migration\Step\SalesIncrement\Volume
+
+
+ Migration\Step\VisualMerchandiser\Integrity
+ Migration\Step\VisualMerchandiser\Data
+ Migration\Step\VisualMerchandiser\Volume
+
+
+ Migration\Step\PostProcessing\Data
+
+
+
+
+ Migration\Step\CustomCustomerAttributes\Delta
+ Migration\Step\CustomCustomerAttributes\Volume
+
+
+ Migration\Step\Customer\Delta
+ Migration\Step\Customer\Volume
+
+
+ Migration\Step\Map\Delta
+
+
+ Migration\Step\Log\Delta
+ Migration\Step\Log\Volume
+
+
+ Migration\Step\SalesOrder\Delta
+ Migration\Step\SalesOrder\Volume
+
+
+ Migration\Step\OrderGridsEE\Delta
+ Migration\Step\OrderGridsEE\Volume
+
+
+ Migration\Step\SalesIncrement\Delta
+ Migration\Step\SalesIncrement\Volume
+
+
+
+
+
+
+
+
+
+ etc/ee-to-ee/1.14.3.0/map.xml.dist
+ etc/ee-to-ee/map-eav.xml.dist
+ etc/ee-to-ee/eav-document-groups.xml.dist
+ etc/ee-to-ee/eav-attribute-groups.xml.dist
+ etc/ee-to-ee/map-log.xml.dist
+ etc/ee-to-ee/log-document-groups.xml.dist
+ etc/ee-to-ee/settings.xml.dist
+ etc/ee-to-ee/map-customer.xml.dist
+ etc/ee-to-ee/customer-document-groups.xml.dist
+ etc/ee-to-ee/customer-attribute-groups.xml.dist
+ etc/ee-to-ee/map-sales.xml.dist
+ etc/ee-to-ee/deltalog.xml.dist
+ etc/ee-to-ee/customer-attr-map.xml.dist
+ etc/ee-to-ee/customer-attr-document-groups.xml.dist
+ etc/ee-to-ee/order-grids-document-groups.xml.dist
+ etc/ee-to-ee/class-map.xml.dist
+ etc/ee-to-ee/visual_merchandiser_map.xml.dist
+ etc/ee-to-ee/visual_merchandiser_document_groups.xml.dist
+ etc/ee-to-ee/visual_merchandiser_attribute_groups.xml.dist
+ etc/ee-to-ee/map-document-groups.xml.dist
+
+ 0
+
+ 0
+
+
+ 0
+ migration.log
+ %percent%% [%bar%] Remaining Time: %remaining%
+ 1
+ ee-to-ee
+ 1.14.3.0
+ SET NAMES utf8;
+ SET NAMES utf8;
+
+
+
diff --git a/etc/ee-to-ee/1.14.3.0/map.xml.dist b/etc/ee-to-ee/1.14.3.0/map.xml.dist
new file mode 100644
index 000000000..a357fb017
--- /dev/null
+++ b/etc/ee-to-ee/1.14.3.0/map.xml.dist
@@ -0,0 +1,2550 @@
+
+
+
diff --git a/etc/ee-to-ee/eav-attribute-groups.xml.dist b/etc/ee-to-ee/eav-attribute-groups.xml.dist
index d7787c2ef..e86504015 100644
--- a/etc/ee-to-ee/eav-attribute-groups.xml.dist
+++ b/etc/ee-to-ee/eav-attribute-groups.xml.dist
@@ -7,7 +7,7 @@
-->
- msrp_enabled
- group_price
+ msrp_enabled
+ group_price
diff --git a/etc/ee-to-ee/eav-document-groups.xml.dist b/etc/ee-to-ee/eav-document-groups.xml.dist
index 5a59057a5..a3222f44b 100644
--- a/etc/ee-to-ee/eav-document-groups.xml.dist
+++ b/etc/ee-to-ee/eav-document-groups.xml.dist
@@ -21,4 +21,49 @@
customer_eav_attribute
enterprise_rma_item_eav_attribute
+
+ catalog_category_entity_datetime
+ catalog_category_entity_decimal
+ catalog_category_entity_int
+ catalog_category_entity_text
+ catalog_category_entity_varchar
+ catalog_eav_attribute
+ catalog_product_entity_datetime
+ catalog_product_entity_decimal
+ catalog_product_entity_gallery
+ catalog_product_entity_int
+ catalog_product_entity_media_gallery
+ catalog_product_entity_text
+ catalog_product_entity_varchar
+ customer_address_entity_datetime
+ customer_address_entity_decimal
+ customer_address_entity_int
+ customer_address_entity_text
+ customer_address_entity_varchar
+ customer_eav_attribute
+ customer_eav_attribute_website
+ customer_entity_datetime
+ customer_entity_decimal
+ customer_entity_int
+ customer_entity_text
+ customer_entity_varchar
+ customer_form_attribute
+ eav_attribute_label
+ eav_attribute_option
+ eav_entity_attribute
+ eav_form_element
+ salesrule_product_attribute
+ weee_tax
+
+
+ magento_giftcard_amount
+ magento_rma_item_eav_attribute
+ magento_rma_item_eav_attribute_website
+ magento_rma_item_entity_datetime
+ magento_rma_item_entity_decimal
+ magento_rma_item_entity_int
+ magento_rma_item_entity_text
+ magento_rma_item_entity_varchar
+ magento_rma_item_form_attribute
+
diff --git a/etc/ee-to-ee/settings.xml.dist b/etc/ee-to-ee/settings.xml.dist
index 26f35e411..db93d6583 100644
--- a/etc/ee-to-ee/settings.xml.dist
+++ b/etc/ee-to-ee/settings.xml.dist
@@ -8,148 +8,7 @@
- advanced/modules_disable_output/Mage_Connect
-
-
- advanced/modules_disable_output/Mage_Contacts
-
-
- advanced/modules_disable_output/Mage_Core
-
-
- advanced/modules_disable_output/Mage_Cron
-
-
- advanced/modules_disable_output/Mage_CurrencySymbol
-
-
- advanced/modules_disable_output/Mage_Customer
-
-
- advanced/modules_disable_output/Mage_Dataflow
-
-
- advanced/modules_disable_output/Mage_Directory
-
-
- advanced/modules_disable_output/Mage_Downloadable
-
-
- advanced/modules_disable_output/Mage_Eav
-
-
- advanced/modules_disable_output/Mage_GiftMessage
-
-
- advanced/modules_disable_output/Mage_GoogleAnalytics
-
-
- advanced/modules_disable_output/Mage_GoogleCheckout
-
-
- advanced/modules_disable_output/Mage_ImportExport
-
-
- advanced/modules_disable_output/Mage_Index
-
-
- advanced/modules_disable_output/Mage_Install
-
-
- advanced/modules_disable_output/Mage_Log
-
-
- advanced/modules_disable_output/Mage_Media
-
-
- advanced/modules_disable_output/Mage_Newsletter
-
-
- advanced/modules_disable_output/Mage_Oauth
-
-
- advanced/modules_disable_output/Mage_Ogone
-
-
- advanced/modules_disable_output/Mage_Page
-
-
- advanced/modules_disable_output/Mage_Paygate
-
-
- advanced/modules_disable_output/Mage_Payment
-
-
- advanced/modules_disable_output/Mage_Paypal
-
-
- advanced/modules_disable_output/Mage_PaypalUk
-
-
- advanced/modules_disable_output/Mage_Persistent
-
-
- advanced/modules_disable_output/Mage_Poll
-
-
- advanced/modules_disable_output/Mage_ProductAlert
-
-
- advanced/modules_disable_output/Mage_Rating
-
-
- advanced/modules_disable_output/Mage_Reports
-
-
- advanced/modules_disable_output/Mage_Review
-
-
- advanced/modules_disable_output/Mage_Rss
-
-
- advanced/modules_disable_output/Mage_Rule
-
-
- advanced/modules_disable_output/Mage_Sales
-
-
- advanced/modules_disable_output/Mage_SalesRule
-
-
- advanced/modules_disable_output/Mage_Sendfriend
-
-
- advanced/modules_disable_output/Mage_Shipping
-
-
- advanced/modules_disable_output/Mage_Sitemap
-
-
- advanced/modules_disable_output/Mage_Tag
-
-
- advanced/modules_disable_output/Mage_Tax
-
-
- advanced/modules_disable_output/Mage_Usa
-
-
- advanced/modules_disable_output/Mage_Weee
-
-
- advanced/modules_disable_output/Mage_Widget
-
-
- advanced/modules_disable_output/Mage_Wishlist
-
-
- advanced/modules_disable_output/Mage_XmlConnect
-
-
- advanced/modules_disable_output/OnTap_Merchandiser
-
-
- advanced/modules_disable_output/Phoenix_Moneybookers
+ advanced/modules_disable_output/*
api/config/compliance_wsi
@@ -1036,6 +895,9 @@
web/secure/base_url
+
+ web/secure/base_link_url
+
web/unsecure/base_js_url
@@ -1048,6 +910,9 @@
web/unsecure/base_url
+
+ web/unsecure/base_link_url
+
catalog/search/solr_server_password
diff --git a/etc/groups.xsd b/etc/groups.xsd
index 83f4c8241..84e5e137f 100644
--- a/etc/groups.xsd
+++ b/etc/groups.xsd
@@ -39,6 +39,7 @@
+
diff --git a/src/Migration/Handler/Convert.php b/src/Migration/Handler/Convert.php
index ecdb8121e..ea9362161 100644
--- a/src/Migration/Handler/Convert.php
+++ b/src/Migration/Handler/Convert.php
@@ -18,16 +18,22 @@ class Convert extends AbstractHandler implements HandlerInterface
*/
protected $map = [];
+ /**
+ * @var string|null
+ */
+ protected $defaultValue;
+
/**
* @param string $map
+ * @param string|null $defaultValue
* @throws Exception
*/
- public function __construct($map)
+ public function __construct($map, $defaultValue = null)
{
$map = rtrim($map, ']');
$map = ltrim($map, '[');
$map = explode(';', $map);
- $resultMap =[];
+ $resultMap = [];
foreach ($map as $mapRecord) {
$explodedRecord = explode(':', trim($mapRecord));
if (count($explodedRecord) != 2) {
@@ -37,6 +43,9 @@ public function __construct($map)
$resultMap[$key] = $value;
}
$this->map = $resultMap;
+ if ($defaultValue) {
+ $this->defaultValue = $defaultValue;
+ }
}
/**
@@ -48,6 +57,8 @@ public function handle(Record $recordToHandle, Record $oppositeRecord)
$value = $recordToHandle->getValue($this->field);
if (isset($this->map[$value])) {
$value = $this->map[$value];
+ } elseif (null != $this->defaultValue) {
+ $value = $this->defaultValue;
}
$recordToHandle->setValue($this->field, $value);
}
diff --git a/src/Migration/Reader/Groups.php b/src/Migration/Reader/Groups.php
index bbd1be124..a13a7b0ae 100644
--- a/src/Migration/Reader/Groups.php
+++ b/src/Migration/Reader/Groups.php
@@ -91,7 +91,13 @@ public function getGroup($name)
/** @var \DOMElement $item */
foreach ($node->childNodes as $item) {
if ($item->nodeType == XML_ELEMENT_NODE) {
- $result[$item->nodeValue] = $item->getAttribute('key');
+ if ($item->hasAttribute('key')) {
+ $result[$item->nodeValue] = $item->getAttribute('key');
+ } else if ($item->hasAttribute('type')) {
+ $result[$item->nodeValue][] = $item->getAttribute('type');
+ } else {
+ $result[$item->nodeValue] = '';
+ }
}
}
}
diff --git a/src/Migration/ResourceModel/Destination.php b/src/Migration/ResourceModel/Destination.php
index 564420edc..71f176cd8 100644
--- a/src/Migration/ResourceModel/Destination.php
+++ b/src/Migration/ResourceModel/Destination.php
@@ -67,6 +67,10 @@ protected function getResourceConfig()
$config['database']['password'] = !empty($destination[$destinationType]['password'])
? $destination[$destinationType]['password']
: '';
+ $initStatements = $this->configReader->getOption('init_statements_destination');
+ if (!empty($initStatements)) {
+ $config['database']['initStatements'] = $initStatements;
+ }
$editionMigrate = $this->configReader->getOption('edition_migrate');
if (in_array($editionMigrate, [Config::EDITION_MIGRATE_CE_TO_EE, Config::EDITION_MIGRATE_EE_TO_EE])) {
$config['init_select_parts'] = ['disable_staging_preview' => true];
diff --git a/src/Migration/ResourceModel/Source.php b/src/Migration/ResourceModel/Source.php
index 13ff5dae3..5dd5756a2 100644
--- a/src/Migration/ResourceModel/Source.php
+++ b/src/Migration/ResourceModel/Source.php
@@ -43,6 +43,10 @@ protected function getResourceConfig()
$config['database']['password'] = !empty($source[$sourceType]['password'])
? $source[$sourceType]['password']
: '';
+ $initStatements = $this->configReader->getOption('init_statements_source');
+ if (!empty($initStatements)) {
+ $config['database']['initStatements'] = $initStatements;
+ }
$editionMigrate = $this->configReader->getOption('edition_migrate');
if (in_array($editionMigrate, [Config::EDITION_MIGRATE_CE_TO_EE, Config::EDITION_MIGRATE_EE_TO_EE])) {
$config['init_select_parts'] = ['disable_staging_preview' => true];
diff --git a/src/Migration/Step/Eav/Helper.php b/src/Migration/Step/Eav/Helper.php
index 81c83bb34..9aa95b84c 100644
--- a/src/Migration/Step/Eav/Helper.php
+++ b/src/Migration/Step/Eav/Helper.php
@@ -246,15 +246,33 @@ public function getDesignAttributeAndGroupsData()
*/
public function clearIgnoredAttributes($sourceRecords)
{
- $ignoredAttributes = array_keys($this->readerAttributes->getGroup('ignore'));
+ $entityTypesCodeToId = $this->getEntityTypesCodeToId();
+ $ignoredAttributes = $this->readerAttributes->getGroup('ignore');
+ foreach ($ignoredAttributes as $attributeCode => $attributeTypes) {
+ $ignoredAttributes[$attributeCode] = [];
+ foreach ($attributeTypes as $attributeType) {
+ $ignoredAttributes[$attributeCode][] = $entityTypesCodeToId[$attributeType];
+ }
+ }
foreach ($sourceRecords as $attrNum => $sourceAttribute) {
- if (
- isset($sourceAttribute['attribute_code'])
- && (in_array($sourceAttribute['attribute_code'], $ignoredAttributes))
+ if (in_array($sourceAttribute['attribute_code'], array_keys($ignoredAttributes))
+ && in_array($sourceAttribute['entity_type_id'], $ignoredAttributes[$sourceAttribute['attribute_code']])
) {
unset($sourceRecords[$attrNum]);
}
}
return $sourceRecords;
}
+
+ /**
+ * @return array
+ */
+ private function getEntityTypesCodeToId()
+ {
+ /** @var \Magento\Framework\DB\Select $select */
+ $select = $this->source->getAdapter()->getSelect();
+ $select->from($this->source->addDocumentPrefix('eav_entity_type'), ['entity_type_code', 'entity_type_id']);
+ $entityTypeIds = $select->getAdapter()->fetchPairs($select);
+ return $entityTypeIds;
+ }
}
diff --git a/src/Migration/Step/PostProcessing/Data.php b/src/Migration/Step/PostProcessing/Data.php
index a8d75ddf0..8f6966767 100644
--- a/src/Migration/Step/PostProcessing/Data.php
+++ b/src/Migration/Step/PostProcessing/Data.php
@@ -6,76 +6,35 @@
namespace Migration\Step\PostProcessing;
use Migration\App\Step\StageInterface;
-use Migration\Handler;
-use Migration\ResourceModel;
-use Migration\ResourceModel\Record;
use Migration\App\ProgressBar;
-use Migration\App\Progress;
use Migration\Logger\Manager as LogManager;
-use Migration\Logger\Logger;
+use Migration\Step\PostProcessing\Data\EavLeftoverDataCleaner;
/**
* Class Data
*/
class Data implements StageInterface
{
- /**
- * @var ResourceModel\Source
- */
- protected $source;
-
- /**
- * @var ResourceModel\Destination
- */
- protected $destination;
-
/**
* @var ProgressBar\LogLevelProcessor
*/
- protected $progressBar;
-
- /**
- * @var Progress
- */
- protected $progress;
+ private $progressBar;
/**
- * @var Logger
+ * @var EavLeftoverDataCleaner
*/
- protected $logger;
-
- /**
- * @var Helper
- */
- protected $helper;
-
- /**
- * @var array
- */
- protected $deletedDocumentRowsCount;
+ private $eavLeftoverDataCleaner;
/**
* @param ProgressBar\LogLevelProcessor $progressBar
- * @param ResourceModel\Source $source
- * @param ResourceModel\Destination $destination
- * @param Helper $helper
- * @param Logger $logger
- * @param Progress $progress
+ * @param EavLeftoverDataCleaner $eavLeftoverDataCleaner
*/
public function __construct(
ProgressBar\LogLevelProcessor $progressBar,
- ResourceModel\Source $source,
- ResourceModel\Destination $destination,
- Logger $logger,
- Helper $helper,
- Progress $progress
+ EavLeftoverDataCleaner $eavLeftoverDataCleaner
) {
- $this->source = $source;
- $this->destination = $destination;
$this->progressBar = $progressBar;
- $this->logger = $logger;
- $this->helper = $helper;
- $this->progress = $progress;
+ $this->eavLeftoverDataCleaner = $eavLeftoverDataCleaner;
}
/**
@@ -84,71 +43,16 @@ public function __construct(
public function perform()
{
$this->progressBar->start($this->getIterationsCount(), LogManager::LOG_LEVEL_INFO);
- $this->deleteMissingProductAttributeValues();
+ $this->eavLeftoverDataCleaner->clean();
$this->progressBar->finish(LogManager::LOG_LEVEL_INFO);
return true;
}
- /**
- * Deletes product attributes in eav value tables for non existing attributes
- *
- * @return void
- */
- protected function deleteMissingProductAttributeValues()
- {
- $attributeIds = $this->getMissingProductAttributeIds();
- if (!$attributeIds) {
- return ;
- }
- foreach (array_keys($this->helper->getProductDestinationDocumentFields()) as $document) {
- $this->progressBar->advance(LogManager::LOG_LEVEL_INFO);
-
- $rowsCountBefore = $this->destination->getRecordsCount($document);
- $this->destination->deleteRecords($document, 'attribute_id', $attributeIds);
- $deletedCount = $rowsCountBefore - $this->destination->getRecordsCount($document);
- if (!empty($deletedCount)) {
- $this->deletedDocumentRowsCount[$document] = $deletedCount;
- }
- }
- $this->progress->saveProcessedEntities(
- 'PostProcessing',
- 'deletedDocumentRowsCount',
- $this->deletedDocumentRowsCount
- );
- }
-
- /**
- * @return array
- */
- protected function getMissingProductAttributeIds()
- {
- /** @var \Migration\ResourceModel\Adapter\Mysql $adapter */
- $adapter = $this->destination->getAdapter();
-
- $selects = [];
- foreach (array_keys($this->helper->getProductDestinationDocumentFields()) as $document) {
- $selects[] = $adapter->getSelect()->from(
- ['ea' => $this->helper->getEavAttributeDocument()],
- []
- )->joinRight(
- ['j' => $document],
- 'j.attribute_id = ea.attribute_id',
- ['attribute_id']
- )->where(
- 'ea.attribute_id IS NULL'
- )->group(
- 'j.attribute_id'
- );
- }
- $query = $adapter->getSelect()->union($selects, \Zend_Db_Select::SQL_UNION);
- return $query->getAdapter()->fetchCol($query);
- }
-
/**
* @return int
*/
- protected function getIterationsCount()
+ private function getIterationsCount()
{
- return count(array_keys($this->helper->getProductDestinationDocumentFields()));
+ return $this->eavLeftoverDataCleaner->getIterationsCount();
}
}
diff --git a/src/Migration/Step/PostProcessing/Data/EavLeftoverDataCleaner.php b/src/Migration/Step/PostProcessing/Data/EavLeftoverDataCleaner.php
new file mode 100644
index 000000000..82db81a3b
--- /dev/null
+++ b/src/Migration/Step/PostProcessing/Data/EavLeftoverDataCleaner.php
@@ -0,0 +1,91 @@
+destination = $destination;
+ $this->progressBar = $progressBar;
+ $this->progress = $progress;
+ $this->eavLeftoverDataModel = $eavLeftoverDataModel;
+ }
+
+ /**
+ * Deletes records from tables which refer to non existing attributes
+ *
+ * @return void
+ */
+ public function clean()
+ {
+ $attributeIds = $this->eavLeftoverDataModel->getLeftoverAttributeIds();
+ if (!$attributeIds) {
+ return ;
+ }
+ foreach ($this->eavLeftoverDataModel->getDocumentsToCheck() as $document) {
+ $this->progressBar->advance(LogManager::LOG_LEVEL_INFO);
+ $rowsCountBefore = $this->destination->getRecordsCount($document);
+ $this->destination->deleteRecords($document, 'attribute_id', $attributeIds);
+ $deletedCount = $rowsCountBefore - $this->destination->getRecordsCount($document);
+ if (!empty($deletedCount)) {
+ $this->deletedDocumentRowsCount[$document] = $deletedCount;
+ }
+ }
+ $this->progress->saveProcessedEntities(
+ 'PostProcessing',
+ 'deletedDocumentRowsCount',
+ $this->deletedDocumentRowsCount
+ );
+ }
+
+ /**
+ * @return int
+ */
+ public function getIterationsCount()
+ {
+ return count($this->eavLeftoverDataModel->getDocumentsToCheck());
+ }
+}
diff --git a/src/Migration/Step/PostProcessing/Helper.php b/src/Migration/Step/PostProcessing/Helper.php
deleted file mode 100644
index 158a4f58a..000000000
--- a/src/Migration/Step/PostProcessing/Helper.php
+++ /dev/null
@@ -1,112 +0,0 @@
-editionMigrate = $config->getOption('edition_migrate');
- $this->destination = $destination;
- $this->map = $mapFactory->create('map_file');
- }
-
- /**
- * @return array
- */
- public function getProductDestinationDocumentFields()
- {
- $entityIdName = (empty($this->editionMigrate) || $this->editionMigrate == Config::EDITION_MIGRATE_CE_TO_CE)
- ? 'entity_id'
- : 'row_id';
- return [
- $this->getDestinationDocumentName('catalog_product_entity_datetime') => [
- 'value_id',
- 'attribute_id',
- 'store_id',
- $entityIdName,
- 'value',
- ],
- $this->getDestinationDocumentName('catalog_product_entity_decimal') => [
- 'value_id',
- 'attribute_id',
- 'store_id',
- $entityIdName,
- 'value',
- ],
- $this->getDestinationDocumentName('catalog_product_entity_int') => [
- 'value_id',
- 'attribute_id',
- 'store_id',
- $entityIdName,
- 'value',
- ],
- $this->getDestinationDocumentName('catalog_product_entity_text') => [
- 'value_id',
- 'attribute_id',
- 'store_id',
- $entityIdName,
- 'value',
- ],
- $this->getDestinationDocumentName('catalog_product_entity_varchar') => [
- 'value_id',
- 'attribute_id',
- 'store_id',
- $entityIdName,
- 'value',
- ],
- ];
- }
-
- /**
- * @return string
- */
- public function getEavAttributeDocument()
- {
- return $this->getDestinationDocumentName('eav_attribute');
- }
-
- /**
- * @param string $document
- * @return string
- */
- public function getDestinationDocumentName($document)
- {
- return $this->destination->addDocumentPrefix($document);
- }
-}
diff --git a/src/Migration/Step/PostProcessing/Integrity.php b/src/Migration/Step/PostProcessing/Integrity.php
deleted file mode 100644
index 8845c9135..000000000
--- a/src/Migration/Step/PostProcessing/Integrity.php
+++ /dev/null
@@ -1,115 +0,0 @@
-helper = $helper;
- $this->logger = $logger;
- $this->progress = $progress;
- $this->source = $source;
- $this->destination = $destination;
- }
-
- /**
- * {@inheritdoc}
- */
- public function perform()
- {
- $this->progress->start($this->getIterationsCount());
- $this->checkFields($this->helper->getProductDestinationDocumentFields(), MapInterface::TYPE_DEST);
- $this->progress->finish();
- return $this->checkForErrors();
- }
-
- /**
- * @param array $tableFields
- * @param string $sourceType
- * @return void
- */
- protected function checkFields($tableFields, $sourceType)
- {
- foreach ($tableFields as $documentName => $fieldsData) {
- $resource = $this->getResourceModel($sourceType);
- $document = $resource->getDocument($documentName);
- $structure = array_keys($document->getStructure()->getFields());
-
- $fieldsDiff = array_diff($fieldsData, $structure);
- if (!empty($fieldsDiff)) {
- $this->missingDocumentFields[$sourceType][$documentName] = $fieldsDiff;
- }
- $this->progress->advance();
- }
- }
-
- /**
- * @param string $sourceType
- * @return ResourceModel\Destination|ResourceModel\Source
- */
- protected function getResourceModel($sourceType)
- {
- $map = [
- MapInterface::TYPE_SOURCE => $this->source,
- MapInterface::TYPE_DEST => $this->destination,
- ];
- return $map[$sourceType];
- }
-
- /**
- * @return int
- */
- protected function getIterationsCount()
- {
- return count(array_keys($this->helper->getProductDestinationDocumentFields()));
- }
-}
diff --git a/src/Migration/Step/PostProcessing/Model/EavLeftoverData.php b/src/Migration/Step/PostProcessing/Model/EavLeftoverData.php
new file mode 100644
index 000000000..415f4e421
--- /dev/null
+++ b/src/Migration/Step/PostProcessing/Model/EavLeftoverData.php
@@ -0,0 +1,95 @@
+destination = $destination;
+ $this->readerDocument = $groupsFactory->create('eav_document_groups_file');
+ $this->editionMigrate = $config->getOption('edition_migrate');
+ }
+
+ /**
+ * Return attribute ids which do not exist in 'eav_attribute' table but exist in reference tables
+ *
+ * @return array
+ */
+ public function getLeftoverAttributeIds()
+ {
+ /** @var \Migration\ResourceModel\Adapter\Mysql $adapter */
+ $adapter = $this->destination->getAdapter();
+ $selects = [];
+ foreach ($this->getDocumentsToCheck() as $document) {
+ $selects[] = $adapter->getSelect()->from(
+ ['ea' => $this->destination->addDocumentPrefix($this->eavAttributeDocument)],
+ []
+ )->joinRight(
+ ['j' => $document],
+ 'j.attribute_id = ea.attribute_id',
+ ['attribute_id']
+ )->where(
+ 'ea.attribute_id IS NULL'
+ )->group(
+ 'j.attribute_id'
+ );
+ }
+ $query = $adapter->getSelect()->union($selects, \Zend_Db_Select::SQL_UNION);
+ return $query->getAdapter()->fetchCol($query);
+ }
+
+ /**
+ * @return array
+ */
+ public function getDocumentsToCheck()
+ {
+ $documents = array_keys($this->readerDocument->getGroup('documents_leftover_values'));
+ if (!empty($this->editionMigrate) && $this->editionMigrate != Config::EDITION_MIGRATE_CE_TO_CE) {
+ $documents = array_merge(
+ $documents,
+ array_keys($this->readerDocument->getGroup('documents_leftover_values_ee'))
+ );
+ }
+ $documents = array_map([$this->destination, 'addDocumentPrefix'], $documents);
+ return $documents;
+ }
+}
diff --git a/tests/integration/resource/post_processing/dest.sql b/tests/integration/resource/post_processing/dest.sql
new file mode 100644
index 000000000..168e81898
--- /dev/null
+++ b/tests/integration/resource/post_processing/dest.sql
@@ -0,0 +1,907 @@
+/**
+ * Copyright © 2016 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET NAMES utf8 */;
+/*!50503 SET NAMES utf8mb4 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+
+DROP TABLE IF EXISTS `eav_entity_type`;
+CREATE TABLE `eav_entity_type` (
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Entity Type Id',
+ `entity_type_code` VARCHAR(50) NOT NULL COMMENT 'Entity Type Code',
+ `entity_model` VARCHAR(255) NOT NULL COMMENT 'Entity Model',
+ `attribute_model` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Attribute Model',
+ `entity_table` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Entity Table',
+ `value_table_prefix` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Value Table Prefix',
+ `entity_id_field` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Entity Id Field',
+ `is_data_sharing` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Defines Is Data Sharing',
+ `data_sharing_key` VARCHAR(100) NULL DEFAULT 'default' COMMENT 'Data Sharing Key',
+ `default_attribute_set_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Default Attribute Set Id',
+ `increment_model` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Increment Model',
+ `increment_per_store` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Increment Per Store',
+ `increment_pad_length` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '8' COMMENT 'Increment Pad Length',
+ `increment_pad_char` VARCHAR(1) NOT NULL DEFAULT '0' COMMENT 'Increment Pad Char',
+ `additional_attribute_table` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Additional Attribute Table',
+ `entity_attribute_collection` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Entity Attribute Collection',
+ PRIMARY KEY (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_TYPE_ENTITY_TYPE_CODE` (`entity_type_code`)
+)
+COMMENT='Eav Entity Type'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+INSERT INTO `eav_entity_type` (`entity_type_id`, `entity_type_code`, `entity_model`, `attribute_model`, `entity_table`, `value_table_prefix`, `entity_id_field`, `is_data_sharing`, `data_sharing_key`, `default_attribute_set_id`, `increment_model`, `increment_per_store`, `increment_pad_length`, `increment_pad_char`, `additional_attribute_table`, `entity_attribute_collection`) VALUES (4, 'catalog_product', 'Magento\\Catalog\\Model\\ResourceModel\\Product', 'Magento\\Catalog\\Model\\ResourceModel\\Eav\\Attribute', 'catalog_product_entity', NULL, NULL, 1, 'default', 4, NULL, 0, 8, '0', 'catalog_eav_attribute', 'Magento\\Catalog\\Model\\ResourceModel\\Product\\Attribute\\Collection');
+INSERT INTO `eav_entity_type` (`entity_type_id`, `entity_type_code`, `entity_model`, `attribute_model`, `entity_table`, `value_table_prefix`, `entity_id_field`, `is_data_sharing`, `data_sharing_key`, `default_attribute_set_id`, `increment_model`, `increment_per_store`, `increment_pad_length`, `increment_pad_char`, `additional_attribute_table`, `entity_attribute_collection`) VALUES (1, 'customer', 'Magento\\Customer\\Model\\ResourceModel\\Customer', 'Magento\\Customer\\Model\\Attribute', 'customer_entity', NULL, NULL, 1, 'default', 1, 'Magento\\Eav\\Model\\Entity\\Increment\\Numeric', 0, 8, '0', 'customer_eav_attribute', 'Magento\\Customer\\Model\\ResourceModel\\Attribute\\Collection');
+
+DROP TABLE IF EXISTS `eav_attribute`;
+CREATE TABLE `eav_attribute` (
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Attribute Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Entity Type Id',
+ `attribute_code` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Attribute Code',
+ `attribute_model` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Attribute Model',
+ `backend_model` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Backend Model',
+ `backend_type` VARCHAR(8) NOT NULL DEFAULT 'static' COMMENT 'Backend Type',
+ `backend_table` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Backend Table',
+ `frontend_model` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Frontend Model',
+ `frontend_input` VARCHAR(50) NULL DEFAULT NULL COMMENT 'Frontend Input',
+ `frontend_label` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Frontend Label',
+ `frontend_class` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Frontend Class',
+ `source_model` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Source Model',
+ `is_required` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Defines Is Required',
+ `is_user_defined` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Defines Is User Defined',
+ `default_value` TEXT NULL COMMENT 'Default Value',
+ `is_unique` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Defines Is Unique',
+ `note` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Note',
+ PRIMARY KEY (`attribute_id`),
+ UNIQUE INDEX `UNQ_EAV_ATTRIBUTE_ENTITY_TYPE_ID_ATTRIBUTE_CODE` (`entity_type_id`, `attribute_code`),
+ CONSTRAINT `FK_EAV_ATTRIBUTE_ENTITY_TYPE_ID_EAV_ENTITY_TYPE_ENTITY_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+COMMENT='Eav Attribute'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+INSERT INTO `eav_attribute` (`attribute_id`, `entity_type_id`, `attribute_code`, `attribute_model`, `backend_model`, `backend_type`, `backend_table`, `frontend_model`, `frontend_input`, `frontend_label`, `frontend_class`, `source_model`, `is_required`, `is_user_defined`, `default_value`, `is_unique`, `note`) VALUES (70, 4, 'sku', NULL, 'Magento\\Catalog\\Model\\Product\\Attribute\\Backend\\Sku', 'static', NULL, NULL, 'text', 'SKU', 'validate-length maximum-length-64', NULL, 1, 0, NULL, 1, NULL);
+INSERT INTO `eav_attribute` (`attribute_id`, `entity_type_id`, `attribute_code`, `attribute_model`, `backend_model`, `backend_type`, `backend_table`, `frontend_model`, `frontend_input`, `frontend_label`, `frontend_class`, `source_model`, `is_required`, `is_user_defined`, `default_value`, `is_unique`, `note`) VALUES (1, 1, 'website_id', NULL, 'Magento\\Customer\\Model\\Customer\\Attribute\\Backend\\Website', 'static', NULL, NULL, 'select', 'Associate to Website', NULL, 'Magento\\Customer\\Model\\Customer\\Attribute\\Source\\Website', 1, 0, NULL, 0, NULL);
+INSERT INTO `eav_attribute` (`attribute_id`, `entity_type_id`, `attribute_code`, `attribute_model`, `backend_model`, `backend_type`, `backend_table`, `frontend_model`, `frontend_input`, `frontend_label`, `frontend_class`, `source_model`, `is_required`, `is_user_defined`, `default_value`, `is_unique`, `note`) VALUES (115, 4, 'quantity_and_stock_status', NULL, 'Magento\\Catalog\\Model\\Product\\Attribute\\Backend\\Stock', 'int', NULL, NULL, 'select', 'Quantity', NULL, 'Magento\\CatalogInventory\\Model\\Source\\Stock', 0, 0, '1', 0, NULL);
+
+DROP TABLE IF EXISTS `catalog_eav_attribute`;
+CREATE TABLE `catalog_eav_attribute` (
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Attribute ID',
+ `frontend_input_renderer` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Frontend Input Renderer',
+ `is_global` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Is Global',
+ `is_visible` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Is Visible',
+ `is_searchable` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Searchable',
+ `is_filterable` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Filterable',
+ `is_comparable` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Comparable',
+ `is_visible_on_front` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Visible On Front',
+ `is_html_allowed_on_front` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is HTML Allowed On Front',
+ `is_used_for_price_rules` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Used For Price Rules',
+ `is_filterable_in_search` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Filterable In Search',
+ `used_in_product_listing` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Used In Product Listing',
+ `used_for_sort_by` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Used For Sorting',
+ `apply_to` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Apply To',
+ `is_visible_in_advanced_search` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Visible In Advanced Search',
+ `position` INT(11) NOT NULL DEFAULT '0' COMMENT 'Position',
+ `is_wysiwyg_enabled` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is WYSIWYG Enabled',
+ `is_used_for_promo_rules` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Used For Promo Rules',
+ `is_required_in_admin_store` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Required In Admin Store',
+ `search_weight` FLOAT NOT NULL DEFAULT '3' COMMENT 'Search Weight',
+ PRIMARY KEY (`attribute_id`),
+ INDEX `IDX_CATALOG_EAV_ATTRIBUTE_USED_FOR_SORT_BY` (`used_for_sort_by`),
+ INDEX `IDX_CATALOG_EAV_ATTRIBUTE_USED_IN_PRODUCT_LISTING` (`used_in_product_listing`),
+ CONSTRAINT `FK_CATALOG_EAV_ATTRIBUTE_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+COMMENT='Catalog EAV Attribute Table'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+INSERT INTO `catalog_eav_attribute` (`attribute_id`, `frontend_input_renderer`, `is_global`, `is_visible`, `is_searchable`, `is_filterable`, `is_comparable`, `is_visible_on_front`, `is_html_allowed_on_front`, `is_used_for_price_rules`, `is_filterable_in_search`, `used_in_product_listing`, `used_for_sort_by`, `apply_to`, `is_visible_in_advanced_search`, `position`, `is_wysiwyg_enabled`, `is_used_for_promo_rules`, `is_required_in_admin_store`, `search_weight`) VALUES (70, NULL, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, 3);
+INSERT INTO `catalog_eav_attribute` (`attribute_id`, `frontend_input_renderer`, `is_global`, `is_visible`, `is_searchable`, `is_filterable`, `is_comparable`, `is_visible_on_front`, `is_html_allowed_on_front`, `is_used_for_price_rules`, `is_filterable_in_search`, `used_in_product_listing`, `used_for_sort_by`, `apply_to`, `is_visible_in_advanced_search`, `position`, `is_wysiwyg_enabled`, `is_used_for_promo_rules`, `is_required_in_admin_store`, `search_weight`) VALUES (1111, NULL, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, 3);
+
+DROP TABLE IF EXISTS `eav_attribute_set`;
+CREATE TABLE `eav_attribute_set` (
+ `attribute_set_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Attribute Set Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Entity Type Id',
+ `attribute_set_name` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Attribute Set Name',
+ `sort_order` SMALLINT(6) NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ PRIMARY KEY (`attribute_set_id`),
+ UNIQUE INDEX `UNQ_EAV_ATTRIBUTE_SET_ENTITY_TYPE_ID_ATTRIBUTE_SET_NAME` (`entity_type_id`, `attribute_set_name`),
+ INDEX `IDX_EAV_ATTRIBUTE_SET_ENTITY_TYPE_ID_SORT_ORDER` (`entity_type_id`, `sort_order`),
+ CONSTRAINT `FK_EAV_ATTR_SET_ENTT_TYPE_ID_EAV_ENTT_TYPE_ENTT_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+COMMENT='Eav Attribute Set'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+INSERT INTO `eav_attribute_set` (`attribute_set_id`, `entity_type_id`, `attribute_set_name`, `sort_order`) VALUES (4, 4, 'Default', 1);
+INSERT INTO `eav_attribute_set` (`attribute_set_id`, `entity_type_id`, `attribute_set_name`, `sort_order`) VALUES (1, 1, 'Default', 2);
+
+DROP TABLE IF EXISTS `eav_attribute_group`;
+CREATE TABLE `eav_attribute_group` (
+ `attribute_group_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Attribute Group Id',
+ `attribute_set_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Set Id',
+ `attribute_group_name` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Attribute Group Name',
+ `sort_order` SMALLINT(6) NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ `default_id` SMALLINT(5) UNSIGNED NULL DEFAULT '0' COMMENT 'Default Id',
+ `attribute_group_code` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Attribute Group Code',
+ `tab_group_code` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Tab Group Code',
+ PRIMARY KEY (`attribute_group_id`),
+ UNIQUE INDEX `UNQ_EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_NAME` (`attribute_set_id`, `attribute_group_name`),
+ INDEX `IDX_EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_SORT_ORDER` (`attribute_set_id`, `sort_order`),
+ CONSTRAINT `FK_EAV_ATTR_GROUP_ATTR_SET_ID_EAV_ATTR_SET_ATTR_SET_ID` FOREIGN KEY (`attribute_set_id`) REFERENCES `eav_attribute_set` (`attribute_set_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+COMMENT='Eav Attribute Group'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+INSERT INTO `eav_attribute_group` (`attribute_group_id`, `attribute_set_id`, `attribute_group_name`, `sort_order`, `default_id`, `attribute_group_code`, `tab_group_code`) VALUES (7, 4, 'Product Details', 10, 1, 'product-details', 'basic');
+INSERT INTO `eav_attribute_group` (`attribute_group_id`, `attribute_set_id`, `attribute_group_name`, `sort_order`, `default_id`, `attribute_group_code`, `tab_group_code`) VALUES (1, 1, 'General', 1, 1, NULL, NULL);
+INSERT INTO `eav_attribute_group` (`attribute_group_id`, `attribute_set_id`, `attribute_group_name`, `sort_order`, `default_id`, `attribute_group_code`, `tab_group_code`) VALUES (8, 4, 'Design', 11, 1, 'design', 'advanced');
+
+CREATE TABLE `eav_entity_attribute` (
+ `entity_attribute_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Entity Attribute Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Entity Type Id',
+ `attribute_set_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Set Id',
+ `attribute_group_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Group Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `sort_order` SMALLINT(6) NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ PRIMARY KEY (`entity_attribute_id`),
+ UNIQUE INDEX `UNQ_EAV_ENTITY_ATTRIBUTE_ATTRIBUTE_SET_ID_ATTRIBUTE_ID` (`attribute_set_id`, `attribute_id`),
+ UNIQUE INDEX `UNQ_EAV_ENTITY_ATTRIBUTE_ATTRIBUTE_GROUP_ID_ATTRIBUTE_ID` (`attribute_group_id`, `attribute_id`),
+ INDEX `IDX_EAV_ENTITY_ATTRIBUTE_ATTRIBUTE_SET_ID_SORT_ORDER` (`attribute_set_id`, `sort_order`),
+ INDEX `IDX_EAV_ENTITY_ATTRIBUTE_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `FK_EAV_ENTITY_ATTRIBUTE_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTT_ATTR_ATTR_GROUP_ID_EAV_ATTR_GROUP_ATTR_GROUP_ID` FOREIGN KEY (`attribute_group_id`) REFERENCES `eav_attribute_group` (`attribute_group_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity Attributes'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+INSERT INTO `eav_entity_attribute` (`entity_attribute_id`, `entity_type_id`, `attribute_set_id`, `attribute_group_id`, `attribute_id`, `sort_order`) VALUES (70, 4, 4, 7, 70, 20);
+INSERT INTO `eav_entity_attribute` (`entity_attribute_id`, `entity_type_id`, `attribute_set_id`, `attribute_group_id`, `attribute_id`, `sort_order`) VALUES (113, 4, 4, 7, 115, 3);
+INSERT INTO `eav_entity_attribute` (`entity_attribute_id`, `entity_type_id`, `attribute_set_id`, `attribute_group_id`, `attribute_id`, `sort_order`) VALUES (114, 4, 4, 7, 1111, 4);
+
+CREATE TABLE `customer_eav_attribute` (
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Attribute Id',
+ `is_visible` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Is Visible',
+ `input_filter` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Input Filter',
+ `multiline_count` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Multiline Count',
+ `validate_rules` TEXT NULL COMMENT 'Validate Rules',
+ `is_system` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is System',
+ `sort_order` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ `data_model` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Data Model',
+ `is_used_for_customer_segment` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Customer Segment',
+ PRIMARY KEY (`attribute_id`),
+ CONSTRAINT `FK_CSTR_EAV_ATTR_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Customer Eav Attribute'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+INSERT INTO `customer_eav_attribute` (`attribute_id`, `is_visible`, `input_filter`, `multiline_count`, `validate_rules`, `is_system`, `sort_order`, `data_model`, `is_used_for_customer_segment`) VALUES (1, 1, NULL, 0, NULL, 1, 10, NULL, 0);
+
+CREATE TABLE `store_website` (
+ `website_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Website Id',
+ `code` VARCHAR(32) NULL DEFAULT NULL COMMENT 'Code',
+ `name` VARCHAR(64) NULL DEFAULT NULL COMMENT 'Website Name',
+ `sort_order` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ `default_group_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Default Group Id',
+ `is_default` SMALLINT(5) UNSIGNED NULL DEFAULT '0' COMMENT 'Defines Is Website Default',
+ PRIMARY KEY (`website_id`),
+ UNIQUE INDEX `UNQ_STORE_WEBSITE_CODE` (`code`),
+ INDEX `IDX_STORE_WEBSITE_SORT_ORDER` (`sort_order`),
+ INDEX `IDX_STORE_WEBSITE_DEFAULT_GROUP_ID` (`default_group_id`)
+)
+COMMENT='Websites'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+INSERT INTO `store_website` (`website_id`, `code`, `name`, `sort_order`, `default_group_id`, `is_default`) VALUES (0, 'admin', 'Admin', 0, 0, 0);
+INSERT INTO `store_website` (`website_id`, `code`, `name`, `sort_order`, `default_group_id`, `is_default`) VALUES (1, 'base', 'Main Website', 0, 1, 1);
+/*!40101 SET SQL_MODE=IFNULL(@OLD_INSERT_SQL_MODE,'') */;
+
+
+CREATE TABLE `customer_eav_attribute_website` (
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Attribute Id',
+ `website_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Website Id',
+ `is_visible` SMALLINT(5) UNSIGNED NULL DEFAULT NULL COMMENT 'Is Visible',
+ `is_required` SMALLINT(5) UNSIGNED NULL DEFAULT NULL COMMENT 'Is Required',
+ `default_value` TEXT NULL COMMENT 'Default Value',
+ `multiline_count` SMALLINT(5) UNSIGNED NULL DEFAULT NULL COMMENT 'Multiline Count',
+ PRIMARY KEY (`attribute_id`, `website_id`),
+ INDEX `IDX_CUSTOMER_EAV_ATTRIBUTE_WEBSITE_WEBSITE_ID` (`website_id`),
+ CONSTRAINT `FK_CSTR_EAV_ATTR_WS_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_CSTR_EAV_ATTR_WS_WS_ID_STORE_WS_WS_ID` FOREIGN KEY (`website_id`) REFERENCES `store_website` (`website_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+COMMENT='Customer Eav Attribute Website'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+
+CREATE TABLE `store_group` (
+ `group_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Group Id',
+ `website_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Website Id',
+ `name` VARCHAR(255) NOT NULL COMMENT 'Store Group Name',
+ `root_category_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Root Category Id',
+ `default_store_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Default Store Id',
+ PRIMARY KEY (`group_id`),
+ INDEX `IDX_STORE_GROUP_WEBSITE_ID` (`website_id`),
+ INDEX `IDX_STORE_GROUP_DEFAULT_STORE_ID` (`default_store_id`),
+ CONSTRAINT `FK_STORE_GROUP_WEBSITE_ID_STORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `store_website` (`website_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+COMMENT='Store Groups'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+INSERT INTO `store_group` (`group_id`, `website_id`, `name`, `root_category_id`, `default_store_id`) VALUES (0, 0, 'Default', 0, 0);
+INSERT INTO `store_group` (`group_id`, `website_id`, `name`, `root_category_id`, `default_store_id`) VALUES (1, 1, 'Main Website Store', 2, 1);
+/*!40101 SET SQL_MODE=IFNULL(@OLD_INSERT_SQL_MODE,'') */;
+
+CREATE TABLE `store` (
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Store Id',
+ `code` VARCHAR(32) NULL DEFAULT NULL COMMENT 'Code',
+ `website_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Website Id',
+ `group_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Group Id',
+ `name` VARCHAR(255) NOT NULL COMMENT 'Store Name',
+ `sort_order` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Store Sort Order',
+ `is_active` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Store Activity',
+ PRIMARY KEY (`store_id`),
+ UNIQUE INDEX `UNQ_STORE_CODE` (`code`),
+ INDEX `IDX_STORE_WEBSITE_ID` (`website_id`),
+ INDEX `IDX_STORE_IS_ACTIVE_SORT_ORDER` (`is_active`, `sort_order`),
+ INDEX `IDX_STORE_GROUP_ID` (`group_id`),
+ CONSTRAINT `FK_STORE_GROUP_ID_STORE_GROUP_GROUP_ID` FOREIGN KEY (`group_id`) REFERENCES `store_group` (`group_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_STORE_WEBSITE_ID_STORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `store_website` (`website_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+COMMENT='Stores'
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+INSERT INTO `store` (`store_id`, `code`, `website_id`, `group_id`, `name`, `sort_order`, `is_active`) VALUES (0, 'admin', 0, 0, 'Admin', 0, 1);
+INSERT INTO `store` (`store_id`, `code`, `website_id`, `group_id`, `name`, `sort_order`, `is_active`) VALUES (1, 'default', 1, 1, 'Default Store View', 0, 1);
+/*!40101 SET SQL_MODE=IFNULL(@OLD_INSERT_SQL_MODE,'') */;
+
+CREATE TABLE `eav_attribute_label` (
+ `attribute_label_id` INT(10) UNSIGNED NOT NULL COMMENT 'Attribute Label Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Store Id',
+ `value` VARCHAR(255) NOT NULL COMMENT 'Value',
+ PRIMARY KEY (`attribute_label_id`),
+ INDEX `IDX_EAV_ATTRIBUTE_LABEL_ATTRIBUTE_ID` (`attribute_id`),
+ INDEX `IDX_EAV_ATTRIBUTE_LABEL_STORE_ID` (`store_id`),
+ INDEX `IDX_EAV_ATTRIBUTE_LABEL_ATTRIBUTE_ID_STORE_ID` (`attribute_id`, `store_id`),
+ CONSTRAINT `FK_EAV_ATTRIBUTE_LABEL_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ATTRIBUTE_LABEL_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Attribute Label'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_attribute_option` (
+ `option_id` INT(10) UNSIGNED NOT NULL COMMENT 'Option Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `sort_order` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ PRIMARY KEY (`option_id`),
+ INDEX `IDX_EAV_ATTRIBUTE_OPTION_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `FK_EAV_ATTRIBUTE_OPTION_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Attribute Option'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_attribute_option_value` (
+ `value_id` INT(10) UNSIGNED NOT NULL COMMENT 'Value Id',
+ `option_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Option Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Store Id',
+ `value` VARCHAR(255) NOT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ INDEX `IDX_EAV_ATTRIBUTE_OPTION_VALUE_OPTION_ID` (`option_id`),
+ INDEX `IDX_EAV_ATTRIBUTE_OPTION_VALUE_STORE_ID` (`store_id`),
+ CONSTRAINT `FK_EAV_ATTRIBUTE_OPTION_VALUE_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ATTR_OPT_VAL_OPT_ID_EAV_ATTR_OPT_OPT_ID` FOREIGN KEY (`option_id`) REFERENCES `eav_attribute_option` (`option_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Attribute Option Value'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_entity` (
+ `entity_id` INT(10) UNSIGNED NOT NULL COMMENT 'Entity Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Entity Type Id',
+ `attribute_set_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Set Id',
+ `increment_id` VARCHAR(50) NOT NULL COMMENT 'Increment Id',
+ `parent_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Parent Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Store Id',
+ `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Created At',
+ `updated_at` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Updated At',
+ `is_active` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Defines Is Entity Active',
+ PRIMARY KEY (`entity_id`),
+ INDEX `IDX_EAV_ENTITY_ENTITY_TYPE_ID` (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_STORE_ID` (`store_id`),
+ CONSTRAINT `FK_EAV_ENTITY_ENTITY_TYPE_ID_EAV_ENTITY_TYPE_ENTITY_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_entity_datetime` (
+ `value_id` INT(11) NOT NULL COMMENT 'Value Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Entity Type Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Attribute Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Store Id',
+ `entity_id` INT(10) UNSIGNED NOT NULL COMMENT 'Entity Id',
+ `value` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Attribute Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE INDEX `UNQ_EAV_ENTITY_DATETIME_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`entity_id`, `attribute_id`, `store_id`),
+ INDEX `IDX_EAV_ENTITY_DATETIME_ENTITY_TYPE_ID` (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_DATETIME_ATTRIBUTE_ID` (`attribute_id`),
+ INDEX `IDX_EAV_ENTITY_DATETIME_STORE_ID` (`store_id`),
+ INDEX `IDX_EAV_ENTITY_DATETIME_ENTITY_ID` (`entity_id`),
+ INDEX `IDX_EAV_ENTITY_DATETIME_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
+ INDEX `IDX_EAV_ENTITY_DATETIME_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),
+ CONSTRAINT `FK_EAV_ENTITY_DATETIME_ENTITY_ID_EAV_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `eav_entity` (`entity_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_DATETIME_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTT_DTIME_ENTT_TYPE_ID_EAV_ENTT_TYPE_ENTT_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity Value Prefix'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_entity_decimal` (
+ `value_id` INT(11) NOT NULL COMMENT 'Value Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Entity Type Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Attribute Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Store Id',
+ `entity_id` INT(10) UNSIGNED NOT NULL COMMENT 'Entity Id',
+ `value` DECIMAL(12,4) NOT NULL DEFAULT '0.0000' COMMENT 'Attribute Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE INDEX `UNQ_EAV_ENTITY_DECIMAL_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`entity_id`, `attribute_id`, `store_id`),
+ INDEX `IDX_EAV_ENTITY_DECIMAL_ENTITY_TYPE_ID` (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_DECIMAL_ATTRIBUTE_ID` (`attribute_id`),
+ INDEX `IDX_EAV_ENTITY_DECIMAL_STORE_ID` (`store_id`),
+ INDEX `IDX_EAV_ENTITY_DECIMAL_ENTITY_ID` (`entity_id`),
+ INDEX `IDX_EAV_ENTITY_DECIMAL_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
+ INDEX `IDX_EAV_ENTITY_DECIMAL_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),
+ CONSTRAINT `FK_EAV_ENTITY_DECIMAL_ENTITY_ID_EAV_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `eav_entity` (`entity_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_DECIMAL_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTT_DEC_ENTT_TYPE_ID_EAV_ENTT_TYPE_ENTT_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity Value Prefix'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_entity_int` (
+ `value_id` INT(11) NOT NULL COMMENT 'Value Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Entity Type Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Attribute Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Store Id',
+ `entity_id` INT(10) UNSIGNED NOT NULL COMMENT 'Entity Id',
+ `value` INT(11) NOT NULL COMMENT 'Attribute Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE INDEX `UNQ_EAV_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`entity_id`, `attribute_id`, `store_id`),
+ INDEX `IDX_EAV_ENTITY_INT_ENTITY_TYPE_ID` (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_INT_ATTRIBUTE_ID` (`attribute_id`),
+ INDEX `IDX_EAV_ENTITY_INT_STORE_ID` (`store_id`),
+ INDEX `IDX_EAV_ENTITY_INT_ENTITY_ID` (`entity_id`),
+ INDEX `IDX_EAV_ENTITY_INT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
+ INDEX `IDX_EAV_ENTITY_INT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),
+ CONSTRAINT `FK_EAV_ENTITY_INT_ENTITY_ID_EAV_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `eav_entity` (`entity_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_INT_ENTITY_TYPE_ID_EAV_ENTITY_TYPE_ENTITY_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_INT_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity Value Prefix'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_entity_store` (
+ `entity_store_id` INT(10) UNSIGNED NOT NULL COMMENT 'Entity Store Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Entity Type Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Store Id',
+ `increment_prefix` VARCHAR(20) NULL DEFAULT NULL COMMENT 'Increment Prefix',
+ `increment_last_id` VARCHAR(50) NULL DEFAULT NULL COMMENT 'Last Incremented Id',
+ PRIMARY KEY (`entity_store_id`),
+ INDEX `IDX_EAV_ENTITY_STORE_ENTITY_TYPE_ID` (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_STORE_STORE_ID` (`store_id`),
+ CONSTRAINT `FK_EAV_ENTITY_STORE_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTT_STORE_ENTT_TYPE_ID_EAV_ENTT_TYPE_ENTT_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity Store'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_entity_text` (
+ `value_id` INT(11) NOT NULL COMMENT 'Value Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Entity Type Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Attribute Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Store Id',
+ `entity_id` INT(10) UNSIGNED NOT NULL COMMENT 'Entity Id',
+ `value` TEXT NOT NULL COMMENT 'Attribute Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE INDEX `UNQ_EAV_ENTITY_TEXT_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`entity_id`, `attribute_id`, `store_id`),
+ INDEX `IDX_EAV_ENTITY_TEXT_ENTITY_TYPE_ID` (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_TEXT_ATTRIBUTE_ID` (`attribute_id`),
+ INDEX `IDX_EAV_ENTITY_TEXT_STORE_ID` (`store_id`),
+ INDEX `IDX_EAV_ENTITY_TEXT_ENTITY_ID` (`entity_id`),
+ CONSTRAINT `FK_EAV_ENTITY_TEXT_ENTITY_ID_EAV_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `eav_entity` (`entity_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_TEXT_ENTITY_TYPE_ID_EAV_ENTITY_TYPE_ENTITY_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_TEXT_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity Value Prefix'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_entity_varchar` (
+ `value_id` INT(11) NOT NULL COMMENT 'Value Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Entity Type Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Attribute Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Store Id',
+ `entity_id` INT(10) UNSIGNED NOT NULL COMMENT 'Entity Id',
+ `value` VARCHAR(255) NOT NULL COMMENT 'Attribute Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE INDEX `UNQ_EAV_ENTITY_VARCHAR_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`entity_id`, `attribute_id`, `store_id`),
+ INDEX `IDX_EAV_ENTITY_VARCHAR_ENTITY_TYPE_ID` (`entity_type_id`),
+ INDEX `IDX_EAV_ENTITY_VARCHAR_ATTRIBUTE_ID` (`attribute_id`),
+ INDEX `IDX_EAV_ENTITY_VARCHAR_STORE_ID` (`store_id`),
+ INDEX `IDX_EAV_ENTITY_VARCHAR_ENTITY_ID` (`entity_id`),
+ INDEX `IDX_EAV_ENTITY_VARCHAR_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
+ INDEX `IDX_EAV_ENTITY_VARCHAR_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),
+ CONSTRAINT `FK_EAV_ENTITY_VARCHAR_ENTITY_ID_EAV_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `eav_entity` (`entity_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTITY_VARCHAR_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_ENTT_VCHR_ENTT_TYPE_ID_EAV_ENTT_TYPE_ENTT_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Entity Value Prefix'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_form_type` (
+ `type_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Type Id',
+ `code` VARCHAR(64) NOT NULL COMMENT 'Code',
+ `label` VARCHAR(255) NOT NULL COMMENT 'Label',
+ `is_system` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is System',
+ `theme` VARCHAR(64) NULL DEFAULT NULL COMMENT 'Theme',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Store Id',
+ PRIMARY KEY (`type_id`),
+ UNIQUE INDEX `UNQ_EAV_FORM_TYPE_CODE_THEME_STORE_ID` (`code`, `theme`, `store_id`),
+ INDEX `IDX_EAV_FORM_TYPE_STORE_ID` (`store_id`),
+ CONSTRAINT `FK_EAV_FORM_TYPE_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Form Type'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_form_fieldset` (
+ `fieldset_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Fieldset Id',
+ `type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Type Id',
+ `code` VARCHAR(64) NOT NULL COMMENT 'Code',
+ `sort_order` INT(11) NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ PRIMARY KEY (`fieldset_id`),
+ UNIQUE INDEX `UNQ_EAV_FORM_FIELDSET_TYPE_ID_CODE` (`type_id`, `code`),
+ INDEX `IDX_EAV_FORM_FIELDSET_TYPE_ID` (`type_id`),
+ CONSTRAINT `FK_EAV_FORM_FIELDSET_TYPE_ID_EAV_FORM_TYPE_TYPE_ID` FOREIGN KEY (`type_id`) REFERENCES `eav_form_type` (`type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Form Fieldset'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_form_element` (
+ `element_id` INT(10) UNSIGNED NOT NULL COMMENT 'Element Id',
+ `type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Type Id',
+ `fieldset_id` SMALLINT(5) UNSIGNED NULL DEFAULT NULL COMMENT 'Fieldset Id',
+ `attribute_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `sort_order` INT(11) NOT NULL DEFAULT '0' COMMENT 'Sort Order',
+ PRIMARY KEY (`element_id`),
+ UNIQUE INDEX `UNQ_EAV_FORM_ELEMENT_TYPE_ID_ATTRIBUTE_ID` (`type_id`, `attribute_id`),
+ INDEX `IDX_EAV_FORM_ELEMENT_TYPE_ID` (`type_id`),
+ INDEX `IDX_EAV_FORM_ELEMENT_FIELDSET_ID` (`fieldset_id`),
+ INDEX `IDX_EAV_FORM_ELEMENT_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `FK_EAV_FORM_ELEMENT_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_FORM_ELEMENT_FIELDSET_ID_EAV_FORM_FIELDSET_FIELDSET_ID` FOREIGN KEY (`fieldset_id`) REFERENCES `eav_form_fieldset` (`fieldset_id`) ON UPDATE CASCADE ON DELETE SET NULL,
+ CONSTRAINT `FK_EAV_FORM_ELEMENT_TYPE_ID_EAV_FORM_TYPE_TYPE_ID` FOREIGN KEY (`type_id`) REFERENCES `eav_form_type` (`type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Form Element'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_form_fieldset_label` (
+ `fieldset_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Fieldset Id',
+ `store_id` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Store Id',
+ `label` VARCHAR(255) NOT NULL COMMENT 'Label',
+ PRIMARY KEY (`fieldset_id`, `store_id`),
+ INDEX `IDX_EAV_FORM_FIELDSET_LABEL_STORE_ID` (`store_id`),
+ CONSTRAINT `FK_EAV_FORM_FIELDSET_LABEL_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_FORM_FSET_LBL_FSET_ID_EAV_FORM_FSET_FSET_ID` FOREIGN KEY (`fieldset_id`) REFERENCES `eav_form_fieldset` (`fieldset_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Form Fieldset Label'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `eav_form_type_entity` (
+ `type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Type Id',
+ `entity_type_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Entity Type Id',
+ PRIMARY KEY (`type_id`, `entity_type_id`),
+ INDEX `IDX_EAV_FORM_TYPE_ENTITY_ENTITY_TYPE_ID` (`entity_type_id`),
+ CONSTRAINT `FK_EAV_FORM_TYPE_ENTITY_TYPE_ID_EAV_FORM_TYPE_TYPE_ID` FOREIGN KEY (`type_id`) REFERENCES `eav_form_type` (`type_id`) ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT `FK_EAV_FORM_TYPE_ENTT_ENTT_TYPE_ID_EAV_ENTT_TYPE_ENTT_TYPE_ID` FOREIGN KEY (`entity_type_id`) REFERENCES `eav_entity_type` (`entity_type_id`) ON UPDATE CASCADE ON DELETE CASCADE
+)
+ COMMENT='Eav Form Type Entity'
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB
+;
+
+CREATE TABLE `catalog_category_entity_datetime` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` datetime DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_CATEGORY_ENTITY_DATETIME_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_DATETIME_ENTITY_ID` (`row_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_DATETIME_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_DATETIME_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_CATEGORY_ENTITY_DATETIME_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_DTIME_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_DTIME_ROW_ID_CAT_CTGR_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_category_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Category Datetime Attribute Backend Table';
+
+CREATE TABLE `catalog_category_entity_decimal` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` decimal(12,4) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_CATEGORY_ENTITY_DECIMAL_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_DECIMAL_ENTITY_ID` (`row_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_DECIMAL_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_DECIMAL_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_CATEGORY_ENTITY_DECIMAL_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_DEC_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_DEC_ROW_ID_CAT_CTGR_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_category_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Category Decimal Attribute Backend Table';
+
+CREATE TABLE `catalog_category_entity_int` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` int(11) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_CATEGORY_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_INT_ENTITY_ID` (`row_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_INT_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_INT_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_CATEGORY_ENTITY_INT_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_INT_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_INT_ROW_ID_CAT_CTGR_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_category_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='Catalog Category Integer Attribute Backend Table';
+
+CREATE TABLE `catalog_category_entity_text` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` text COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_CATEGORY_ENTITY_TEXT_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_TEXT_ENTITY_ID` (`row_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_TEXT_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_TEXT_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_CATEGORY_ENTITY_TEXT_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_TEXT_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_TEXT_ROW_ID_CAT_CTGR_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_category_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Category Text Attribute Backend Table';
+
+CREATE TABLE `catalog_category_entity_varchar` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` varchar(255) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_CATEGORY_ENTITY_VARCHAR_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_VARCHAR_ENTITY_ID` (`row_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_VARCHAR_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_CATEGORY_ENTITY_VARCHAR_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_CATEGORY_ENTITY_VARCHAR_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_VCHR_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_CTGR_ENTT_VCHR_ROW_ID_CAT_CTGR_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_category_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='Catalog Category Varchar Attribute Backend Table';
+
+CREATE TABLE `catalog_product_entity_datetime` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` datetime DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_PRODUCT_ENTITY_DATETIME_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_DATETIME_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_DATETIME_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_DATETIME_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_DTIME_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_DTIME_ROW_ID_CAT_PRD_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_product_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Datetime Attribute Backend Table';
+
+CREATE TABLE `catalog_product_entity_decimal` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` decimal(12,4) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_PRODUCT_ENTITY_DECIMAL_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_DECIMAL_STORE_ID` (`store_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_DECIMAL_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_DECIMAL_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_DEC_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_DEC_ROW_ID_CAT_PRD_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_product_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Decimal Attribute Backend Table';
+
+CREATE TABLE `catalog_product_entity_gallery` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `position` int(11) NOT NULL DEFAULT '0' COMMENT 'Position',
+ `value` varchar(255) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_PRODUCT_ENTITY_GALLERY_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_GALLERY_ENTITY_ID` (`row_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_GALLERY_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_GALLERY_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_GALLERY_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_GLR_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_GLR_ROW_ID_CAT_PRD_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_product_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Gallery Attribute Backend Table';
+
+CREATE TABLE `catalog_product_entity_int` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` int(11) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_PRODUCT_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_INT_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_INT_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_INT_ROW_ID_CATALOG_PRODUCT_ENTITY_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_product_entity` (`row_id`) ON DELETE CASCADE,
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_INT_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_INT_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Integer Attribute Backend Table';
+
+CREATE TABLE `catalog_product_entity_media_gallery` (
+ `value_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `value` varchar(255) DEFAULT NULL COMMENT 'Value',
+ `media_type` varchar(32) NOT NULL DEFAULT 'image' COMMENT 'Media entry type',
+ `disabled` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Visibility status',
+ PRIMARY KEY (`value_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_MEDIA_GALLERY_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `CAT_PRD_ENTT_MDA_GLR_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Media Gallery Attribute Backend Table';
+
+CREATE TABLE `catalog_product_entity_text` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` text COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_PRODUCT_ENTITY_TEXT_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_TEXT_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_TEXT_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_TEXT_ROW_ID_CATALOG_PRODUCT_ENTITY_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_product_entity` (`row_id`) ON DELETE CASCADE,
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_TEXT_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_TEXT_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Text Attribute Backend Table';
+
+CREATE TABLE `catalog_product_entity_varchar` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute ID',
+ `store_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store ID',
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `value` varchar(255) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CATALOG_PRODUCT_ENTITY_VARCHAR_ENTITY_ID_ATTRIBUTE_ID_STORE_ID` (`row_id`,`attribute_id`,`store_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_VARCHAR_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CATALOG_PRODUCT_ENTITY_VARCHAR_STORE_ID` (`store_id`),
+ CONSTRAINT `CATALOG_PRODUCT_ENTITY_VARCHAR_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_VCHR_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CAT_PRD_ENTT_VCHR_ROW_ID_CAT_PRD_ENTT_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `catalog_product_entity` (`row_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Varchar Attribute Backend Table';
+
+CREATE TABLE `customer_address_entity_datetime` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` datetime DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ADDRESS_ENTITY_DATETIME_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_DATETIME_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_DATETIME_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CSTR_ADDR_ENTT_DTIME_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CSTR_ADDR_ENTT_DTIME_ENTT_ID_CSTR_ADDR_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_address_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Address Entity Datetime';
+
+CREATE TABLE `customer_address_entity_decimal` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` decimal(12,4) NOT NULL DEFAULT '0.0000' COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ADDRESS_ENTITY_DECIMAL_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_DECIMAL_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_DECIMAL_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CSTR_ADDR_ENTT_DEC_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CSTR_ADDR_ENTT_DEC_ENTT_ID_CSTR_ADDR_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_address_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Address Entity Decimal';
+
+CREATE TABLE `customer_address_entity_int` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` int(11) NOT NULL DEFAULT '0' COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ADDRESS_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_INT_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CSTR_ADDR_ENTT_INT_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CSTR_ADDR_ENTT_INT_ENTT_ID_CSTR_ADDR_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_address_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Address Entity Int';
+
+CREATE TABLE `customer_address_entity_text` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` text NOT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ADDRESS_ENTITY_TEXT_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_TEXT_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `CSTR_ADDR_ENTT_TEXT_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CSTR_ADDR_ENTT_TEXT_ENTT_ID_CSTR_ADDR_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_address_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Address Entity Text';
+
+CREATE TABLE `customer_address_entity_varchar` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` varchar(255) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ADDRESS_ENTITY_VARCHAR_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_VARCHAR_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ADDRESS_ENTITY_VARCHAR_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CSTR_ADDR_ENTT_VCHR_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CSTR_ADDR_ENTT_VCHR_ENTT_ID_CSTR_ADDR_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_address_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Address Entity Varchar';
+
+CREATE TABLE `customer_entity_datetime` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` datetime DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ENTITY_DATETIME_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ENTITY_DATETIME_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ENTITY_DATETIME_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CUSTOMER_ENTITY_DATETIME_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CUSTOMER_ENTITY_DATETIME_ENTITY_ID_CUSTOMER_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Entity Datetime';
+
+CREATE TABLE `customer_entity_decimal` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` decimal(12,4) NOT NULL DEFAULT '0.0000' COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ENTITY_DECIMAL_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ENTITY_DECIMAL_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ENTITY_DECIMAL_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CUSTOMER_ENTITY_DECIMAL_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CUSTOMER_ENTITY_DECIMAL_ENTITY_ID_CUSTOMER_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Entity Decimal';
+
+CREATE TABLE `customer_entity_int` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` int(11) NOT NULL DEFAULT '0' COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ENTITY_INT_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CUSTOMER_ENTITY_INT_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CUSTOMER_ENTITY_INT_ENTITY_ID_CUSTOMER_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Entity Int';
+
+CREATE TABLE `customer_entity_text` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` text NOT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ENTITY_TEXT_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ENTITY_TEXT_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `CUSTOMER_ENTITY_TEXT_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CUSTOMER_ENTITY_TEXT_ENTITY_ID_CUSTOMER_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Entity Text';
+
+CREATE TABLE `customer_entity_varchar` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `value` varchar(255) DEFAULT NULL COMMENT 'Value',
+ PRIMARY KEY (`value_id`),
+ UNIQUE KEY `CUSTOMER_ENTITY_VARCHAR_ENTITY_ID_ATTRIBUTE_ID` (`entity_id`,`attribute_id`),
+ KEY `CUSTOMER_ENTITY_VARCHAR_ATTRIBUTE_ID` (`attribute_id`),
+ KEY `CUSTOMER_ENTITY_VARCHAR_ENTITY_ID_ATTRIBUTE_ID_VALUE` (`entity_id`,`attribute_id`,`value`),
+ CONSTRAINT `CUSTOMER_ENTITY_VARCHAR_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `CUSTOMER_ENTITY_VARCHAR_ENTITY_ID_CUSTOMER_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `customer_entity` (`entity_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Entity Varchar';
+
+CREATE TABLE `customer_form_attribute` (
+ `form_code` varchar(32) NOT NULL COMMENT 'Form Code',
+ `attribute_id` smallint(5) unsigned NOT NULL COMMENT 'Attribute Id',
+ PRIMARY KEY (`form_code`,`attribute_id`),
+ KEY `CUSTOMER_FORM_ATTRIBUTE_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `CUSTOMER_FORM_ATTRIBUTE_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Customer Form Attribute';
+
+CREATE TABLE `salesrule_product_attribute` (
+ `row_id` int(10) unsigned NOT NULL COMMENT 'Version Id',
+ `website_id` smallint(5) unsigned NOT NULL COMMENT 'Website Id',
+ `customer_group_id` smallint(5) unsigned NOT NULL COMMENT 'Customer Group Id',
+ `attribute_id` smallint(5) unsigned NOT NULL COMMENT 'Attribute Id',
+ PRIMARY KEY (`row_id`,`website_id`,`customer_group_id`,`attribute_id`),
+ KEY `SALESRULE_PRODUCT_ATTRIBUTE_WEBSITE_ID` (`website_id`),
+ KEY `SALESRULE_PRODUCT_ATTRIBUTE_CUSTOMER_GROUP_ID` (`customer_group_id`),
+ KEY `SALESRULE_PRODUCT_ATTRIBUTE_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `SALESRULE_PRD_ATTR_ATTR_ID_EAV_ATTR_ATTR_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `SALESRULE_PRD_ATTR_CSTR_GROUP_ID_CSTR_GROUP_CSTR_GROUP_ID` FOREIGN KEY (`customer_group_id`) REFERENCES `customer_group` (`customer_group_id`) ON DELETE CASCADE,
+ CONSTRAINT `SALESRULE_PRODUCT_ATTRIBUTE_ROW_ID_SALESRULE_ROW_ID` FOREIGN KEY (`row_id`) REFERENCES `salesrule` (`row_id`) ON DELETE CASCADE,
+ CONSTRAINT `SALESRULE_PRODUCT_ATTRIBUTE_WEBSITE_ID_STORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `store_website` (`website_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Salesrule Product Attribute';
+
+CREATE TABLE `weee_tax` (
+ `value_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Value Id',
+ `website_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Website Id',
+ `entity_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Id',
+ `country` varchar(2) DEFAULT NULL COMMENT 'Country',
+ `value` decimal(12,4) NOT NULL DEFAULT '0.0000' COMMENT 'Value',
+ `state` int(11) NOT NULL DEFAULT '0' COMMENT 'State',
+ `attribute_id` smallint(5) unsigned NOT NULL COMMENT 'Attribute Id',
+ PRIMARY KEY (`value_id`),
+ KEY `WEEE_TAX_WEBSITE_ID` (`website_id`),
+ KEY `WEEE_TAX_ENTITY_ID` (`entity_id`),
+ KEY `WEEE_TAX_COUNTRY` (`country`),
+ KEY `WEEE_TAX_ATTRIBUTE_ID` (`attribute_id`),
+ CONSTRAINT `WEEE_TAX_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE,
+ CONSTRAINT `WEEE_TAX_COUNTRY_DIRECTORY_COUNTRY_COUNTRY_ID` FOREIGN KEY (`country`) REFERENCES `directory_country` (`country_id`) ON DELETE CASCADE,
+ CONSTRAINT `WEEE_TAX_ENTITY_ID_SEQUENCE_PRODUCT_SEQUENCE_VALUE` FOREIGN KEY (`entity_id`) REFERENCES `sequence_product` (`sequence_value`) ON DELETE CASCADE,
+ CONSTRAINT `WEEE_TAX_WEBSITE_ID_STORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `store_website` (`website_id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Weee Tax';
+
+/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
+/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
diff --git a/tests/integration/resource/post_processing/source.sql b/tests/integration/resource/post_processing/source.sql
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/integration/testsuite/Migration/Step/PostProcessing/Model/EavLeftoverDataTest.php b/tests/integration/testsuite/Migration/Step/PostProcessing/Model/EavLeftoverDataTest.php
new file mode 100644
index 000000000..0c5f49e71
--- /dev/null
+++ b/tests/integration/testsuite/Migration/Step/PostProcessing/Model/EavLeftoverDataTest.php
@@ -0,0 +1,72 @@
+getObjectManager();
+ $objectManager->get('\Migration\Config')
+ ->init(dirname(__DIR__) . '/../../_files/' . $helper->getFixturePrefix() . 'config.xml');
+ $destination = $objectManager->create('\Migration\ResourceModel\Destination');
+ $groupsFactory = $objectManager->create('\Migration\Reader\GroupsFactory');
+ $config = $objectManager->get('\Migration\Config');
+ /** @var \Migration\Step\PostProcessing\Model\EavLeftoverData $eavLeftoverDataModel */
+ $eavLeftoverDataModel = $objectManager->create(
+ '\Migration\Step\PostProcessing\Model\EavLeftoverData',
+ [
+ 'destination' => $destination,
+ 'groupsFactory' => $groupsFactory,
+ 'config' => $config
+ ]
+ );
+ $this->assertEquals([1111], $eavLeftoverDataModel->getLeftoverAttributeIds());
+ $this->assertEquals($documentsToCheck, $eavLeftoverDataModel->getDocumentsToCheck());
+ }
+}
diff --git a/tests/integration/testsuite/Migration/_files/config.xml b/tests/integration/testsuite/Migration/_files/config.xml
index 0e6d9bd34..30bd80488 100644
--- a/tests/integration/testsuite/Migration/_files/config.xml
+++ b/tests/integration/testsuite/Migration/_files/config.xml
@@ -80,5 +80,7 @@
1
ce-to-ce
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/tests/integration/testsuite/Migration/_files/eav-attribute-groups.xml b/tests/integration/testsuite/Migration/_files/eav-attribute-groups.xml
index 0d430eac5..d7f47521b 100644
--- a/tests/integration/testsuite/Migration/_files/eav-attribute-groups.xml
+++ b/tests/integration/testsuite/Migration/_files/eav-attribute-groups.xml
@@ -7,7 +7,7 @@
-->
- msrp_enabled
- group_price
+ msrp_enabled
+ group_price
diff --git a/tests/integration/testsuite/Migration/_files/eav-document-groups.xml b/tests/integration/testsuite/Migration/_files/eav-document-groups.xml
index 833f7b5cb..f920e44ff 100644
--- a/tests/integration/testsuite/Migration/_files/eav-document-groups.xml
+++ b/tests/integration/testsuite/Migration/_files/eav-document-groups.xml
@@ -20,4 +20,38 @@
customer_eav_attribute
eav_entity_type
+
+ catalog_category_entity_datetime
+ catalog_category_entity_decimal
+ catalog_category_entity_int
+ catalog_category_entity_text
+ catalog_category_entity_varchar
+ catalog_eav_attribute
+ catalog_product_entity_datetime
+ catalog_product_entity_decimal
+ catalog_product_entity_gallery
+ catalog_product_entity_int
+ catalog_product_entity_media_gallery
+ catalog_product_entity_text
+ catalog_product_entity_varchar
+ customer_address_entity_datetime
+ customer_address_entity_decimal
+ customer_address_entity_int
+ customer_address_entity_text
+ customer_address_entity_varchar
+ customer_eav_attribute
+ customer_eav_attribute_website
+ customer_entity_datetime
+ customer_entity_decimal
+ customer_entity_int
+ customer_entity_text
+ customer_entity_varchar
+ customer_form_attribute
+ eav_attribute_label
+ eav_attribute_option
+ eav_entity_attribute
+ eav_form_element
+ salesrule_product_attribute
+ weee_tax
+
diff --git a/tests/integration/testsuite/Migration/_files/ee.config.xml b/tests/integration/testsuite/Migration/_files/ee.config.xml
index 06c57130a..b604558c1 100644
--- a/tests/integration/testsuite/Migration/_files/ee.config.xml
+++ b/tests/integration/testsuite/Migration/_files/ee.config.xml
@@ -92,5 +92,7 @@
1
ee-to-ee
+ SET NAMES utf8;
+ SET NAMES utf8;
diff --git a/tests/unit/testsuite/Migration/Reader/GroupsTest.php b/tests/unit/testsuite/Migration/Reader/GroupsTest.php
new file mode 100644
index 000000000..c507dd92d
--- /dev/null
+++ b/tests/unit/testsuite/Migration/Reader/GroupsTest.php
@@ -0,0 +1,86 @@
+validationState = $this->getMockBuilder('Magento\Framework\App\Arguments\ValidationState')
+ ->disableOriginalConstructor()
+ ->setMethods(['isValidationRequired'])
+ ->getMock();
+ $this->validationState->expects($this->any())->method('isValidationRequired')->willReturn(true);
+ }
+
+ /**
+ * @return void
+ */
+ public function testGetGroupAttributes()
+ {
+ $groupsFile = 'tests/unit/testsuite/Migration/_files/eav-attribute-groups.xml';
+ $attributes = [
+ 'url_key' => ['catalog_product', 'catalog_category'],
+ 'msrp_enabled' => ['catalog_product']
+ ];
+ $groups = new Groups($this->validationState, $groupsFile);
+ $this->assertEquals($attributes, $groups->getGroup('ignore'));
+ }
+
+ /**
+ * @return void
+ */
+ public function testGetGroupDocuments()
+ {
+ $groupsFile = 'tests/unit/testsuite/Migration/_files/eav-document-groups.xml';
+ $documents = [
+ 'catalog_eav_attribute' => 'attribute_id',
+ 'customer_eav_attribute' => 'attribute_id',
+ 'eav_entity_type' => 'entity_type_id'
+ ];
+ $groups = new Groups($this->validationState, $groupsFile);
+ $this->assertEquals($documents, $groups->getGroup('mapped_documents'));
+ }
+
+ /**
+ * @return void
+ */
+ public function testGetGroups()
+ {
+ $groupsFile = 'tests/unit/testsuite/Migration/_files/eav-document-groups.xml';
+ $documents = [
+ 'documents' => [
+ 'eav_attribute_group' => '', 'eav_attribute_set' => ''
+ ],
+ 'mapped_documents' => [
+ 'catalog_eav_attribute' => 'attribute_id',
+ 'customer_eav_attribute' => 'attribute_id',
+ 'eav_entity_type' => 'entity_type_id'
+ ],
+ 'documents_leftover_values' => [
+ 'catalog_category_entity_datetime' => ''
+ ],
+ ];
+ $groups = new Groups($this->validationState, $groupsFile);
+ $this->assertEquals($documents, $groups->getGroups());
+ }
+}
diff --git a/tests/unit/testsuite/Migration/ResourceModel/AbstractResourceTest.php b/tests/unit/testsuite/Migration/ResourceModel/AbstractResourceTest.php
index a9f595fd6..453497edb 100644
--- a/tests/unit/testsuite/Migration/ResourceModel/AbstractResourceTest.php
+++ b/tests/unit/testsuite/Migration/ResourceModel/AbstractResourceTest.php
@@ -248,7 +248,7 @@ public function testGetRecords()
*/
public function testGetAdapter()
{
- $this->config->expects($this->once())->method('getOption')->with('edition_migrate')->willReturn('ce-to-ee');
+ $this->config->expects($this->any())->method('getOption')->willReturnMap([['edition_migrate', 'ce-to-ee']]);
$this->assertSame($this->adapter, $this->resourceDestination->getAdapter());
}
}
diff --git a/tests/unit/testsuite/Migration/ResourceModel/DestinationTest.php b/tests/unit/testsuite/Migration/ResourceModel/DestinationTest.php
index 3d0e8e3ad..92cd74d7c 100644
--- a/tests/unit/testsuite/Migration/ResourceModel/DestinationTest.php
+++ b/tests/unit/testsuite/Migration/ResourceModel/DestinationTest.php
@@ -66,7 +66,8 @@ protected function setUp()
'host' => 'localhost',
'dbname' => 'dbname',
'username' => 'uname',
- 'password' => 'upass'
+ 'password' => 'upass',
+ 'initStatements' => 'SET NAMES utf8;',
],
'init_select_parts' => [
'disable_staging_preview' => true
@@ -113,7 +114,8 @@ public function testSaveRecords($prefix)
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
['bulk_size', 3],
- ['dest_prefix', $prefix]
+ ['dest_prefix', $prefix],
+ ['init_statements_destination', 'SET NAMES utf8;']
]);
$this->adapter->expects($this->at(0))
->method('insertRecords')
@@ -170,7 +172,8 @@ public function testClearDocument()
$this->adapter->expects($this->once())->method('deleteAllRecords')->with('pfx_' . $docName);
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
- ['dest_prefix', 'pfx_']
+ ['dest_prefix', 'pfx_'],
+ ['init_statements_destination', 'SET NAMES utf8;']
]);
$this->resourceDestination->clearDocument($docName);
}
@@ -184,7 +187,8 @@ public function testBackupDocument()
$this->adapter->expects($this->once())->method('backupDocument')->with('pfx_' . $docName);
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
- ['dest_prefix', 'pfx_']
+ ['dest_prefix', 'pfx_'],
+ ['init_statements_destination', 'SET NAMES utf8;']
]);
$this->resourceDestination->backupDocument($docName);
}
@@ -198,7 +202,8 @@ public function testRollbackDocument()
$this->adapter->expects($this->once())->method('rollbackDocument')->with('pfx_' . $docName);
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
- ['dest_prefix', 'pfx_']
+ ['dest_prefix', 'pfx_'],
+ ['init_statements_destination', 'SET NAMES utf8;']
]);
$this->resourceDestination->rollbackDocument($docName);
}
@@ -212,7 +217,8 @@ public function testDeleteDocumentBackup()
$this->adapter->expects($this->once())->method('deleteBackup')->with('pfx_' . $docName);
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
- ['dest_prefix', 'pfx_']
+ ['dest_prefix', 'pfx_'],
+ ['init_statements_destination', 'SET NAMES utf8;']
]);
$this->resourceDestination->deleteDocumentBackup($docName);
}
diff --git a/tests/unit/testsuite/Migration/ResourceModel/SourceTest.php b/tests/unit/testsuite/Migration/ResourceModel/SourceTest.php
index 995bd1f7c..8950fcb12 100644
--- a/tests/unit/testsuite/Migration/ResourceModel/SourceTest.php
+++ b/tests/unit/testsuite/Migration/ResourceModel/SourceTest.php
@@ -61,7 +61,8 @@ protected function setUp()
'host' => 'localhost',
'password' => 'upass',
'dbname' => 'dbname',
- 'username' => 'uname'
+ 'username' => 'uname',
+ 'initStatements' => 'SET NAMES utf8;',
],
'init_select_parts' => [
'disable_staging_preview' => true
@@ -112,7 +113,8 @@ public function testLoadPage()
{
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
- ['bulk_size', $this->bulkSize]
+ ['bulk_size', $this->bulkSize],
+ ['init_statements_source', 'SET NAMES utf8;']
]);
$this->adapter->expects($this->any())->method('loadPage')->with('table', 2)->willReturn(['1', '2']);
$this->assertEquals(['1', '2'], $this->resourceSource->loadPage('table', 2));
@@ -127,7 +129,8 @@ public function testCreateDelta()
->with('spfx_document', 'spfx_m2_cl_document', 'key_field');
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
- [Source::CONFIG_DOCUMENT_PREFIX, 'spfx_']
+ [Source::CONFIG_DOCUMENT_PREFIX, 'spfx_'],
+ ['init_statements_source', 'SET NAMES utf8;']
]);
$this->resourceSource->createDelta('document', 'key_field');
}
@@ -142,7 +145,8 @@ public function testGetChangedRecords()
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
['source_prefix', ''],
- ['bulk_size', 100]
+ ['bulk_size', 100],
+ ['init_statements_source', 'SET NAMES utf8;']
]);
$this->resourceSource->getChangedRecords('document', 'key_field');
}
@@ -157,7 +161,8 @@ public function testGetDeletedRecords()
$this->config->expects($this->any())->method('getOption')->willReturnMap([
['edition_migrate', 'ce-to-ee'],
['source_prefix', ''],
- ['bulk_size', 100]
+ ['bulk_size', 100],
+ ['init_statements_source', 'SET NAMES utf8;']
]);
$this->resourceSource->getDeletedRecords('document', 'key_field');
}
diff --git a/tests/unit/testsuite/Migration/Step/Eav/HelperTest.php b/tests/unit/testsuite/Migration/Step/Eav/HelperTest.php
index 3e6c3040e..a18099a96 100644
--- a/tests/unit/testsuite/Migration/Step/Eav/HelperTest.php
+++ b/tests/unit/testsuite/Migration/Step/Eav/HelperTest.php
@@ -51,6 +51,21 @@ class HelperTest extends \PHPUnit_Framework_TestCase
*/
protected $readerAttributes;
+ /**
+ * @var \Migration\ResourceModel\Adapter\Mysql|\PHPUnit_Framework_MockObject_MockObject
+ */
+ protected $adapter;
+
+ /**
+ * @var \Magento\Framework\DB\Adapter\Pdo\Mysql|\PHPUnit_Framework_MockObject_MockObject
+ */
+ protected $pdoMysql;
+
+ /**
+ * @var \Magento\Framework\DB\Select|\PHPUnit_Framework_MockObject_MockObject
+ */
+ protected $select;
+
/**
* @return void
*/
@@ -65,7 +80,7 @@ public function setUp()
$mapFactory->expects($this->any())->method('create')->with('eav_map_file')->willReturn($this->map);
$this->source = $this->getMockBuilder('Migration\ResourceModel\Source')->disableOriginalConstructor()
- ->setMethods(['getRecordsCount', 'getRecords'])
+ ->setMethods(['getRecordsCount', 'getRecords', 'getAdapter', 'addDocumentPrefix'])
->getMock();
$this->destination = $this->getMockBuilder('Migration\ResourceModel\Destination')->disableOriginalConstructor()
->setMethods(['getRecordsCount', 'getRecords', 'deleteDocumentBackup'])
@@ -94,6 +109,21 @@ public function setUp()
['eav_attribute_groups_file', $this->readerAttributes]
]
);
+ $this->adapter = $this->getMock(
+ 'Migration\ResourceModel\Adapter\Mysql',
+ ['getSelect'],
+ [],
+ '',
+ false
+ );
+ $this->pdoMysql = $this->getMock(
+ 'Magento\Framework\DB\Adapter\Pdo\Mysql',
+ ['fetchPairs'],
+ [],
+ '',
+ false
+ );
+ $this->select = $this->getMock('Magento\Framework\DB\Select', ['from', 'getAdapter'], [], '', false);
$this->helper = new Helper($mapFactory, $this->source, $this->destination, $this->factory, $groupsFactory);
}
@@ -234,25 +264,57 @@ public function testClearIgnoredAttributes()
{
$allSourceRecords = [
0 => [
- 'attribute_code' => 'ignored_attribute'
+ 'attribute_code' => 'ignored_attribute',
+ 'entity_type_id' => 111,
],
1 => [
- 'attribute_code' => 'attribute_1'
+ 'attribute_code' => 'attribute_1',
+ 'entity_type_id' => 1,
],
2 => [
- 'attribute_code' => 'attribute_2'
+ 'attribute_code' => 'attribute_2',
+ 'entity_type_id' => 2,
]
];
$clearedSourceRecords = [
1 => [
- 'attribute_code' => 'attribute_1'
+ 'attribute_code' => 'attribute_1',
+ 'entity_type_id' => 1,
],
2 => [
- 'attribute_code' => 'attribute_2'
+ 'attribute_code' => 'attribute_2',
+ 'entity_type_id' => 2,
]
];
+ $entityTypesCodeToId = [
+ 'ignored_attribute_type' => 111,
+ 'attribute_type_1' => 1,
+ 'attribute_type_2' => 2,
+ ];
+ $eavEntityTypeTable = 'eav_entity_type';
$this->readerAttributes->expects($this->once())->method('getGroup')->with('ignore')
- ->willReturn(['ignored_attribute' => 0]);
+ ->willReturn(['ignored_attribute' => ['ignored_attribute_type']]);
+ $this->source->expects($this->once())->method('getAdapter')->willReturn($this->adapter);
+ $this->source
+ ->expects($this->once())
+ ->method('addDocumentPrefix')
+ ->with($eavEntityTypeTable)
+ ->willReturn($eavEntityTypeTable);
+ $this->adapter->expects($this->once())->method('getSelect')->willReturn($this->select);
+ $this->select
+ ->expects($this->once())
+ ->method('from')
+ ->with($eavEntityTypeTable, ['entity_type_code', 'entity_type_id'])
+ ->will($this->returnSelf());
+ $this->select
+ ->expects($this->once())
+ ->method('getAdapter')
+ ->will($this->returnValue($this->pdoMysql));
+ $this->pdoMysql
+ ->expects($this->once())
+ ->method('fetchPairs')
+ ->with($this->select)
+ ->will($this->returnValue($entityTypesCodeToId));
$this->assertEquals($clearedSourceRecords, $this->helper->clearIgnoredAttributes($allSourceRecords));
}
}
diff --git a/tests/unit/testsuite/Migration/Step/PostProcessing/Data/EavLeftoverDataCleanerTest.php b/tests/unit/testsuite/Migration/Step/PostProcessing/Data/EavLeftoverDataCleanerTest.php
new file mode 100644
index 000000000..a8b512eec
--- /dev/null
+++ b/tests/unit/testsuite/Migration/Step/PostProcessing/Data/EavLeftoverDataCleanerTest.php
@@ -0,0 +1,161 @@
+destination = $this->getMock(
+ 'Migration\ResourceModel\Destination',
+ ['deleteRecords', 'getRecordsCount'],
+ [],
+ '',
+ false
+ );
+ $this->progressBar = $this->getMock(
+ 'Migration\App\ProgressBar\LogLevelProcessor',
+ ['advance'],
+ [],
+ '',
+ false
+ );
+ $this->progress = $this->getMock(
+ 'Migration\App\Progress',
+ ['saveProcessedEntities'],
+ [],
+ '',
+ false
+ );
+ $this->eavLeftoverDataModel = $this->getMock(
+ 'Migration\Step\PostProcessing\Model\EavLeftoverData',
+ ['getDocumentsToCheck', 'getLeftoverAttributeIds'],
+ [],
+ '',
+ false
+ );
+ }
+
+ /**
+ * @return void
+ */
+ public function testClean()
+ {
+ $leftoverAttributeIds = [1, 2, 3];
+ $documentsToCheck = ['doc1', 'doc2'];
+ $deletedDocumentRowsCount = ['doc1' => 2, 'doc2' => 3];
+ $this->eavLeftoverDataCleaner = new EavLeftoverDataCleaner(
+ $this->progressBar,
+ $this->destination,
+ $this->progress,
+ $this->eavLeftoverDataModel
+ );
+ $this->eavLeftoverDataModel
+ ->expects($this->once())
+ ->method('getLeftoverAttributeIds')
+ ->willReturn($leftoverAttributeIds);
+ $this->eavLeftoverDataModel
+ ->expects($this->once())
+ ->method('getDocumentsToCheck')
+ ->willReturn($documentsToCheck);
+ $this->progressBar
+ ->expects($this->exactly(2))
+ ->method('advance')
+ ->with('info');
+ $this->destination
+ ->expects($this->at(0))
+ ->method('getRecordsCount')
+ ->with('doc1')
+ ->willReturn(5);
+ $this->destination
+ ->expects($this->at(1))
+ ->method('deleteRecords')
+ ->with('doc1', 'attribute_id', $leftoverAttributeIds);
+ $this->destination->expects($this->at(2))->method('getRecordsCount')->with('doc1')->willReturn(3);
+ $this->destination->expects($this->at(3))->method('getRecordsCount')->with('doc2')->willReturn(4);
+ $this->destination
+ ->expects($this->at(4))
+ ->method('deleteRecords')
+ ->with('doc2', 'attribute_id', $leftoverAttributeIds);
+ $this->destination->expects($this->at(5))->method('getRecordsCount')->with('doc2')->willReturn(1);
+ $this->progress
+ ->expects($this->once())
+ ->method('saveProcessedEntities')
+ ->with('PostProcessing', 'deletedDocumentRowsCount', $deletedDocumentRowsCount);
+ $this->eavLeftoverDataCleaner->clean();
+ }
+
+ /**
+ * @return void
+ */
+ public function testCleanEmptyAttributeIds()
+ {
+ $leftoverAttributeIds = [];
+ $this->eavLeftoverDataCleaner = new EavLeftoverDataCleaner(
+ $this->progressBar,
+ $this->destination,
+ $this->progress,
+ $this->eavLeftoverDataModel
+ );
+ $this->eavLeftoverDataModel
+ ->expects($this->once())
+ ->method('getLeftoverAttributeIds')
+ ->willReturn($leftoverAttributeIds);
+ $this->eavLeftoverDataModel->expects($this->never())->method('getDocumentsToCheck');
+ $this->progressBar->expects($this->never())->method('advance')->with('info');
+ $this->destination->expects($this->never())->method('getRecordsCount');
+ $this->destination->expects($this->never())->method('deleteRecords');
+ $this->progress->expects($this->never())->method('saveProcessedEntities');
+ $this->eavLeftoverDataCleaner->clean();
+ }
+
+ /**
+ * @return void
+ */
+ public function testGetIterationsCount()
+ {
+ $documentsToCheck = ['doc1', 'doc2'];
+ $this->eavLeftoverDataCleaner = new EavLeftoverDataCleaner(
+ $this->progressBar,
+ $this->destination,
+ $this->progress,
+ $this->eavLeftoverDataModel
+ );
+ $this->eavLeftoverDataModel
+ ->expects($this->once())
+ ->method('getDocumentsToCheck')
+ ->willReturn($documentsToCheck);
+ $this->assertEquals(2, $this->eavLeftoverDataCleaner->getIterationsCount());
+ }
+}
diff --git a/tests/unit/testsuite/Migration/Step/PostProcessing/DataTest.php b/tests/unit/testsuite/Migration/Step/PostProcessing/DataTest.php
new file mode 100644
index 000000000..d4d8aedfb
--- /dev/null
+++ b/tests/unit/testsuite/Migration/Step/PostProcessing/DataTest.php
@@ -0,0 +1,62 @@
+eavLeftoverDataCleaner = $this->getMock(
+ 'Migration\Step\PostProcessing\Data\EavLeftoverDataCleaner',
+ ['clean', 'getIterationsCount'],
+ [],
+ '',
+ false
+ );
+ $this->progress = $this->getMock(
+ 'Migration\App\ProgressBar\LogLevelProcessor',
+ ['start', 'finish'],
+ [],
+ '',
+ false
+ );
+ }
+
+ /**
+ * @return void
+ */
+ public function testPerform()
+ {
+ $iterationsCount = 1;
+ $this->data = new Data($this->progress, $this->eavLeftoverDataCleaner);
+ $this->progress->expects($this->once())->method('start')->with($iterationsCount);
+ $this->progress->expects($this->once())->method('finish');
+ $this->eavLeftoverDataCleaner->expects($this->once())->method('clean');
+ $this->eavLeftoverDataCleaner
+ ->expects($this->once())
+ ->method('getIterationsCount')
+ ->willReturn($iterationsCount);
+ $this->data->perform();
+ }
+}
diff --git a/tests/unit/testsuite/Migration/_files/eav-attribute-groups.xml b/tests/unit/testsuite/Migration/_files/eav-attribute-groups.xml
new file mode 100644
index 000000000..1e233f7b8
--- /dev/null
+++ b/tests/unit/testsuite/Migration/_files/eav-attribute-groups.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ msrp_enabled
+ url_key
+ url_key
+
+
diff --git a/tests/unit/testsuite/Migration/_files/eav-document-groups.xml b/tests/unit/testsuite/Migration/_files/eav-document-groups.xml
new file mode 100644
index 000000000..78042424e
--- /dev/null
+++ b/tests/unit/testsuite/Migration/_files/eav-document-groups.xml
@@ -0,0 +1,21 @@
+
+
+
+
+ eav_attribute_group
+ eav_attribute_set
+
+
+ catalog_eav_attribute
+ customer_eav_attribute
+ eav_entity_type
+
+
+ catalog_category_entity_datetime
+
+