From c9302b44c3d3e6b91b987515c69183abea4aee3c Mon Sep 17 00:00:00 2001 From: Mykhailo Kozii Date: Thu, 27 Sep 2018 16:54:11 +0200 Subject: [PATCH 01/91] SUITE-704 Updated modules to the latest versions --- composer.json | 63 +- composer.lock | 5178 +++++++++++------ data/import/cms_page.csv | 4 +- data/import/customer.csv | 16 +- data/import/glossary.csv | 210 +- .../icecat_biz_data/product_abstract.csv | 3 +- .../product_abstract_store.csv | 9 +- .../icecat_biz_data/product_concrete.csv | 616 +- data/import/icecat_biz_data/product_image.csv | 2 + data/import/navigation_node.csv | 2 +- data/import/product_price.csv | 31 +- data/import/product_stock.csv | 15 +- .../Persistence/SpyPriceProductDefault.php | 24 + .../SpyPriceProductDefaultQuery.php | 24 + .../SpyProductAbstractPackagingStorage.php | 24 + ...pyProductAbstractPackagingStorageQuery.php | 24 + .../Client/Cart/CartDependencyProvider.php | 6 + .../Catalog/CatalogDependencyProvider.php | 5 + .../PersistentCartDependencyProvider.php | 33 + .../ProductStorageDependencyProvider.php | 5 +- src/Pyz/Shared/Quote/QuoteConfig.php | 21 + .../CustomerReorderWidgetFactory.php | 5 +- .../Model/CartFiller.php | 4 +- .../ProductWidgetDependencyProvider.php | 28 + .../ApplicationDependencyProvider.php | 12 +- .../CategoryPageSearchConfig.php | 22 + .../CategoryStorage/CategoryStorageConfig.php | 30 + .../Zed/Console/ConsoleDependencyProvider.php | 24 +- .../Business/DataImportBusinessFactory.php | 22 +- .../CategoryTemplateWriterStep.php | 4 +- .../Repository/CategoryRepository.php | 8 +- .../Model/CmsBlock/CmsBlockWriterStep.php | 24 +- .../CmsBlockCategoryWriterStep.php | 8 +- .../CmsBlockCategoryPositionWriterStep.php | 2 +- .../CmsBlockStore/CmsBlockStoreWriterStep.php | 6 +- .../Model/CmsPage/CmsPageWriterStep.php | 30 +- .../CmsPage/PlaceholderExtractorStep.php | 2 +- .../CmsTemplate/CmsTemplateWriterStep.php | 4 +- .../Model/Currency/CurrencyWriterStep.php | 6 +- .../Model/Customer/CustomerWriterStep.php | 2 +- .../Model/Discount/DiscountWriterStep.php | 30 +- .../DiscountAmountWriterStep.php | 10 +- .../DiscountStore/DiscountStoreWriterStep.php | 6 +- .../DiscountVoucherWriterStep.php | 18 +- .../Model/Glossary/GlossaryWriterStep.php | 10 +- .../Business/Model/Locale/AddLocalesStep.php | 2 +- .../Model/Locale/LocaleNameToIdLocaleStep.php | 4 +- .../NavigationKeyToIdNavigationStep.php | 4 +- .../Model/Navigation/NavigationWriterStep.php | 6 +- .../NavigationNodeWriterStep.php | 46 +- .../OrderSource/OrderSourceWriterStep.php | 2 +- .../Model/Product/AttributesExtractorStep.php | 2 +- ...roductLocalizedAttributesExtractorStep.php | 2 +- .../Product/Repository/ProductRepository.php | 6 +- .../ProductAbstract/AddCategoryKeysStep.php | 2 +- .../AddProductAbstractSkusStep.php | 11 +- .../ProductAbstractWriterStep.php | 40 +- .../ProductAbstractStoreWriterStep.php | 6 +- .../AddProductAttributeKeysStep.php | 2 +- .../ProductAttributeKeyWriter.php | 4 +- .../ProductConcrete/ProductConcreteWriter.php | 57 +- .../Model/ProductGroup/ProductGroupWriter.php | 8 +- .../ProductImage/ProductImageWriterStep.php | 16 +- .../ProductLabelAfterImportPublishHook.php | 2 +- .../ProductLabel/ProductLabelWriterStep.php | 20 +- .../ProductManagementAttributeWriter.php | 2 +- ...gementLocalizedAttributesExtractorStep.php | 2 +- .../ProductOption/ProductOptionWriterStep.php | 22 +- .../ProductOptionPriceWriterStep.php | 12 +- .../ProductRelation/ProductRelationWriter.php | 8 +- .../Hook/ProductSearchAfterImportHook.php | 2 +- .../ProductSearchAttributeWriter.php | 4 +- .../ProductSearchAttributeMapWriter.php | 6 +- .../ProductSetImageExtractorStep.php | 8 +- .../Model/ProductSet/ProductSetWriterStep.php | 30 +- .../ProductStock/ProductStockWriterStep.php | 12 +- .../Model/Shipment/ShipmentWriterStep.php | 10 +- .../ShipmentPrice/ShipmentPriceWriterStep.php | 13 +- .../Business/Model/Stock/StockWriterStep.php | 2 +- .../Business/Model/Store/StoreReader.php | 6 +- .../Model/Tax/TaxSetNameToIdTaxSetStep.php | 11 +- .../Business/Model/Tax/TaxWriterStep.php | 10 +- src/Pyz/Zed/DataImport/DataImportConfig.php | 78 +- .../DataImportDependencyProvider.php | 15 +- .../ProductPageSearchDependencyProvider.php | 54 +- .../Synchronization/SynchronizationConfig.php | 14 + .../SynchronizationDependencyProvider.php | 96 + .../_support/PageObject/Homepage.php | 2 +- .../AvailabilityPresentationTester.php | 6 +- .../Cart/_support/PageObject/CartListPage.php | 8 +- .../Controller/CheckoutControllerTest.php | 62 +- .../Process/Steps/PlaceOrderStepTest.php | 22 +- .../Customer/_support/PageObject/Customer.php | 4 +- .../PageObject/CustomerAddressPage.php | 34 +- .../PageObject/CustomerAddressesPage.php | 8 +- .../_support/PageObject/CustomerLoginPage.php | 16 +- .../PageObject/CustomerLogoutPage.php | 2 +- .../PageObject/CustomerNewsletterPage.php | 14 +- .../PageObject/CustomerOrdersPage.php | 2 +- .../PageObject/CustomerOverviewPage.php | 26 +- .../CustomerPasswordForgottenPage.php | 10 +- .../PageObject/CustomerProfilePage.php | 36 +- .../PageObject/CustomerRegistrationPage.php | 22 +- .../NewsletterSubscriptionHomePage.php | 12 +- .../_support/PageObject/ProductDetailPage.php | 2 +- .../PageObject/AvailabilityViewPage.php | 4 +- .../Presentation/CmsGuiPageListCest.php | 2 - .../PageObject/CmsCreateGlossaryPage.php | 2 +- .../_support/PageObject/CmsCreatePage.php | 4 +- .../_support/PageObject/CmsEditPage.php | 6 +- .../_support/PageObject/CmsListPage.php | 4 +- .../_data/cli_sandbox/config/spryk/spryk.yml | 7 + .../config/spryk/spryks/dummySpryk.yml | 18 + .../Console/_support/Helper/ConsoleHelper.php | 4 +- .../Presentation/NavigationTreeCest.php | 1 - .../NavigationGuiPresentationTester.php | 31 +- .../PageObject/NavigationCreatePage.php | 4 +- .../PageObject/NavigationDeletePage.php | 4 +- .../PageObject/NavigationNodeCreatePage.php | 4 +- .../PageObject/NavigationNodeDeletePage.php | 2 +- .../PageObject/NavigationNodeUpdatePage.php | 2 +- .../_support/PageObject/NavigationPage.php | 6 +- .../PageObject/NavigationStatusTogglePage.php | 4 +- .../PageObject/NavigationUpdatePage.php | 4 +- .../Product/Business/ProductTestAbstract.php | 24 +- .../ProductOptionFacadeAggregatorTest.php | 4 +- .../PageObject/ProductRelationCreatePage.php | 4 +- .../PropelOrmTransactionHandlerTest.php | 4 +- .../_support/PageObject/OrderDetailPage.php | 6 +- .../_support/PageObject/OrderListPage.php | 2 +- .../_support/PageObject/TaxRateCreatePage.php | 38 +- .../_support/PageObject/TaxRateListPage.php | 12 +- .../Tax/_support/TaxPresentationTester.php | 16 +- 133 files changed, 5141 insertions(+), 2661 deletions(-) create mode 100644 src/Orm/Zed/PriceProduct/Persistence/SpyPriceProductDefault.php create mode 100644 src/Orm/Zed/PriceProduct/Persistence/SpyPriceProductDefaultQuery.php create mode 100644 src/Orm/Zed/ProductPackagingUnitStorage/Persistence/SpyProductAbstractPackagingStorage.php create mode 100644 src/Orm/Zed/ProductPackagingUnitStorage/Persistence/SpyProductAbstractPackagingStorageQuery.php create mode 100644 src/Pyz/Client/PersistentCart/PersistentCartDependencyProvider.php create mode 100644 src/Pyz/Shared/Quote/QuoteConfig.php create mode 100644 src/Pyz/Zed/CategoryPageSearch/CategoryPageSearchConfig.php create mode 100644 src/Pyz/Zed/CategoryStorage/CategoryStorageConfig.php create mode 100644 src/Pyz/Zed/Synchronization/SynchronizationConfig.php create mode 100644 src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php create mode 100644 tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryk.yml create mode 100644 tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryks/dummySpryk.yml diff --git a/composer.json b/composer.json index 647f689258..7eb6160aa1 100644 --- a/composer.json +++ b/composer.json @@ -15,6 +15,8 @@ "ext-readline": "*", "ext-redis": "*", "spryker-eco/loggly": "dev-master as 1.0.0", + "spryker-shop/agent-page": "^1.0.0", + "spryker-shop/agent-widget": "^1.0.0", "spryker-shop/availability-widget": "^1.0.0", "spryker-shop/calculation-page": "^1.0.0", "spryker-shop/cart-note-widget": "^1.0.0", @@ -69,6 +71,8 @@ "spryker-shop/wishlist-page": "^1.0.0", "spryker-shop/wishlist-widget": "^1.0.0", "spryker/acl": "^3.0.0", + "spryker/agent": "^1.0.0", + "spryker/agent-gui": "^1.0.0", "spryker/api": "^0.1.0", "spryker/api-query-builder": "^0.1.0", "spryker/application": "^3.0.0", @@ -83,12 +87,11 @@ "spryker/availability-storage": "^1.0.0", "spryker/barcode": "^1.0.0", "spryker/barcode-extension": "^1.0.0", - "spryker/braintree": "^0.5.0", "spryker/cache": "^3.0.0", "spryker/calculation": "^4.0.0", "spryker/cart": "^5.0.0", "spryker/cart-currency-connector": "^1.0.0", - "spryker/cart-extension": "^1.0.0", + "spryker/cart-extension": "^2.0.0", "spryker/cart-note": "^0.1.0", "spryker/cart-note-extension": "^1.0.0", "spryker/cart-note-product-bundle-connector": "^0.1.0", @@ -129,9 +132,10 @@ "spryker/config": "^3.0.0", "spryker/console": "^4.0.0", "spryker/country": "^3.0.0", + "spryker/csv": "^3.0.0", "spryker/currency": "^3.0.0", "spryker/currency-extension": "^1.0.0", - "spryker/customer": "^7.9", + "spryker/customer": "^7.0.0", "spryker/customer-api": "^0.1.0", "spryker/customer-extension": "^1.0.0", "spryker/customer-group": "^2.0.0", @@ -143,6 +147,7 @@ "spryker/data-import": "^1.0.0", "spryker/discount": "^6.0.0", "spryker/discount-calculation-connector": "^5.0.0", + "spryker/discount-extension": "^1.0.0", "spryker/discount-promotion": "^1.0.0", "spryker/dummy-payment": "^2.0.0", "spryker/egulias": "^1.0.0", @@ -166,7 +171,7 @@ "spryker/gui": "^3.0.0", "spryker/guzzle": "^2.0.0", "spryker/heartbeat": "^3.0.0", - "spryker/install": "^0.4.0", + "spryker/install": "^0.5.0", "spryker/installer": "^4.0.0", "spryker/invoice": "^2.0.0", "spryker/kernel": "^3.0.0", @@ -197,13 +202,16 @@ "spryker/oms-discount-connector": "^3.0.0", "spryker/payment": "^4.0.0", "spryker/payment-cart-connector": "^1.0.0", + "spryker/persistent-cart": "^1.0.0", + "spryker/persistent-cart-extension": "^1.0.0", "spryker/pimple": "^2.0.0", "spryker/price": "^5.3.0", "spryker/price-cart-connector": "^4.0.0", "spryker/price-data-feed": "^0.2.0", "spryker/price-extension": "^1.0.0", - "spryker/price-product": "^1.0.0", - "spryker/price-product-storage": "^1.0.0", + "spryker/price-product": "^2.0.0", + "spryker/price-product-data-import": "^0.1.0", + "spryker/price-product-storage": "^2.0.0", "spryker/product": "^6.0.0", "spryker/product-abstract-data-feed": "^0.2.0", "spryker/product-api": "^0.1.0", @@ -232,13 +240,21 @@ "spryker/product-label-gui": "^2.0.0", "spryker/product-label-search": "^1.0.0", "spryker/product-label-storage": "^1.0.0", - "spryker/product-management": "^0.13.0", + "spryker/product-management": "^0.14.0", + "spryker/product-measurement-unit": "^2.0.0", + "spryker/product-measurement-unit-data-import": "^1.0.0", + "spryker/product-measurement-unit-storage": "^1.0.0", "spryker/product-new": "^1.0.0", "spryker/product-option": "^6.0.0", "spryker/product-option-cart-connector": "^5.0.0", "spryker/product-option-storage": "^1.0.0", - "spryker/product-page-search": "^1.0.0", + "spryker/product-packaging-unit": "^1.0.0", + "spryker/product-packaging-unit-data-import": "^1.0.0", + "spryker/product-packaging-unit-gui": "^0.1.0", + "spryker/product-packaging-unit-storage": "^1.0.0", + "spryker/product-page-search": "^2.2", "spryker/product-quantity": "^1.0.0", + "spryker/product-quantity-data-import": "^1.0.0", "spryker/product-quantity-storage": "^1.0.0", "spryker/product-relation": "^2.0.0", "spryker/product-relation-collector": "^2.0.0", @@ -256,6 +272,7 @@ "spryker/product-set-page-search": "^1.0.0", "spryker/product-set-storage": "^1.0.0", "spryker/product-storage": "^1.0.0", + "spryker/product-storage-extension": "^1.0.0", "spryker/product-validity": "^1.0.0", "spryker/propel": "^3.0.0", "spryker/propel-orm": "^1.0.0", @@ -289,8 +306,9 @@ "spryker/storage": "^3.0.0", "spryker/store": "^1.0.0", "spryker/symfony": "^3.0.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^1.0.0", "spryker/synchronization-behavior": "^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/tax": "^5.0.0", "spryker/tax-product-connector": "^4.0.0", "spryker/touch": "^4.0.0", @@ -300,7 +318,11 @@ "spryker/url-collector": "^1.0.0", "spryker/url-storage": "^1.0.0", "spryker/user": "^3.0.0", + "spryker/user-extension": "^1.0.0", + "spryker/util-csv": "^1.0.0", + "spryker/util-uuid-generator": "^1.0.0", "spryker/util-validate": "^1.0.0", + "spryker/uuid-behavior": " ^1.0.0", "spryker/wishlist": "^6.0.0", "spryker/zed-navigation": "^1.0.0", "spryker/zed-request": "^3.0.0", @@ -315,15 +337,10 @@ "jakoch/phantomjs-installer": "^2.1.0", "nette/php-generator": "^2.6.1", "pdepend/pdepend": "^2.2.4", - "php-mock/php-mock": "^1.0", - "phpdocumentor/reflection-docblock": "^2.0", - "phpmd/phpmd": "~2.4.3", - "phpstan/phpstan": "^0.9.0", + "phpstan/phpstan": "^0.10.2", "phpunit/php-code-coverage": "^5.2.2", "phpunit/php-timer": "^1.0.9", - "phpunit/php-token-stream": "^1.4.11", "phpunit/phpunit": "^6.0.0", - "phpunit/phpunit-mock-objects": "^4.0.4", "sebastian/comparator": "^2.1.3", "sebastian/diff": "^2.0.1", "sebastian/environment": "^3.1.0", @@ -337,13 +354,13 @@ "sllh/composer-versions-check": "^2.0.2", "spryker/architecture-sniffer": "^0.4.0", "spryker/code-generator": "^0.3.0", - "spryker/code-sniffer": "^0.11.0", + "spryker/code-sniffer": "^0.12.0", "spryker/development": "^3.0.0", "spryker/testify": "^3.0.0", - "squizlabs/php_codesniffer": "~3.1.0", + "squizlabs/php_codesniffer": "~3.3.0", "stecman/symfony-console-completion": "^0.7.0", "symfony/var-dumper": "*", - "symfony/web-profiler-bundle": "*" + "symfony/web-profilNavigationGuiPresentationTesterer-bundle": "*" }, "autoload": { "psr-4": { @@ -374,7 +391,9 @@ }, "use-include-path": true, "sort-packages": true, - "github-protocols": ["https"], + "github-protocols": [ + "https" + ], "process-timeout": 900 }, "scripts": { @@ -387,8 +406,10 @@ "PhantomInstaller\\Installer::installPhantomJS" ], "post-update-cmd": [ - "PhantomInstaller\\Installer::installPhantomJS", - "Install\\ComposerAdjuster::assertDemoshopGitUrls" + "PhantomInstaller\\Installer::installPhantomJS" + ], + "phpstan": [ + "php -d memory_limit=1024M vendor/bin/phpstan analyze -c phpstan.neon src/ -l 4" ], "phpstan-setup": "vendor/bin/console dev:ide:generate-auto-completion" } diff --git a/composer.lock b/composer.lock index 7680c04266..e5b13c6d7b 100644 --- a/composer.lock +++ b/composer.lock @@ -1,23 +1,23 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c0deb7afd5b7af14f6fbf1ac122c995c", + "content-hash": "dedc5f13f6b84315765c90055146f1f6", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.61.8", + "version": "3.67.20", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "7df3b62d06da6512c752b2fd224a65fc0d8c0cbe" + "reference": "6c8bc0f42ba73bab85da67c3af9131e455c3f14c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/7df3b62d06da6512c752b2fd224a65fc0d8c0cbe", - "reference": "7df3b62d06da6512c752b2fd224a65fc0d8c0cbe", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6c8bc0f42ba73bab85da67c3af9131e455c3f14c", + "reference": "6c8bc0f42ba73bab85da67c3af9131e455c3f14c", "shasum": "" }, "require": { @@ -84,54 +84,7 @@ "s3", "sdk" ], - "time": "2018-06-15T21:48:00+00:00" - }, - { - "name": "braintree/braintree_php", - "version": "3.15.0", - "source": { - "type": "git", - "url": "https://github.com/braintree/braintree_php.git", - "reference": "1026b6cca5f2dd5dfdd5447843b920cc74d2b8ca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/braintree/braintree_php/zipball/1026b6cca5f2dd5dfdd5447843b920cc74d2b8ca", - "reference": "1026b6cca5f2dd5dfdd5447843b920cc74d2b8ca", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-dom": "*", - "ext-hash": "*", - "ext-openssl": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "Braintree": "lib/" - }, - "psr-4": { - "Braintree\\": "lib/Braintree" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Braintree", - "homepage": "http://www.braintreepayments.com" - } - ], - "description": "Braintree PHP Client Library", - "time": "2016-07-18T21:55:50+00:00" + "time": "2018-09-26T20:06:30+00:00" }, { "name": "codeitnowin/barcode", @@ -268,16 +221,16 @@ }, { "name": "egulias/email-validator", - "version": "2.1.4", + "version": "2.1.6", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "8790f594151ca6a2010c6218e09d96df67173ad3" + "reference": "0578b32b30b22de3e8664f797cf846fc9246f786" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3", - "reference": "8790f594151ca6a2010c6218e09d96df67173ad3", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0578b32b30b22de3e8664f797cf846fc9246f786", + "reference": "0578b32b30b22de3e8664f797cf846fc9246f786", "shasum": "" }, "require": { @@ -321,7 +274,7 @@ "validation", "validator" ], - "time": "2018-04-10T10:11:19+00:00" + "time": "2018-09-25T20:47:26+00:00" }, { "name": "elasticsearch/elasticsearch", @@ -550,16 +503,16 @@ }, { "name": "filp/whoops", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a" + "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/181c4502d8f34db7aed7bfe88d4f87875b8e947a", - "reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a", + "url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311", + "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311", "shasum": "" }, "require": { @@ -578,7 +531,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" } }, "autoload": { @@ -607,20 +560,20 @@ "throwable", "whoops" ], - "time": "2018-03-03T17:56:25+00:00" + "time": "2018-06-30T13:14:06+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.7.1", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d" + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", - "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", "shasum": "" }, "require": { @@ -628,7 +581,7 @@ }, "require-dev": { "ext-intl": "*", - "phpunit/phpunit": "^4.0 || ^5.0", + "phpunit/phpunit": "^4.8.35 || ^5.7", "squizlabs/php_codesniffer": "^1.5" }, "type": "library", @@ -657,7 +610,7 @@ "faker", "fixtures" ], - "time": "2017-08-15T16:48:10+00:00" + "time": "2018-07-12T10:23:15+00:00" }, { "name": "guzzlehttp/guzzle", @@ -842,16 +795,16 @@ }, { "name": "guzzlehttp/ringphp", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/guzzle/RingPHP.git", - "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b" + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", - "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", + "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/5e2a174052995663dd68e6b5ad838afd47dd615b", + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b", "shasum": "" }, "require": { @@ -889,7 +842,7 @@ } ], "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", - "time": "2015-05-20T03:37:09+00:00" + "time": "2018-07-31T13:22:33+00:00" }, { "name": "guzzlehttp/streams", @@ -941,30 +894,97 @@ ], "time": "2014-10-12T19:18:40+00:00" }, + { + "name": "league/csv", + "version": "9.1.4", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/csv.git", + "reference": "9c8ad06fb5d747c149875beb6133566c00eaa481" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/9c8ad06fb5d747c149875beb6133566c00eaa481", + "reference": "9c8ad06fb5d747c149875beb6133566c00eaa481", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=7.0.10" + }, + "require-dev": { + "ext-curl": "*", + "friendsofphp/php-cs-fixer": "^2.0", + "phpstan/phpstan": "^0.9.2", + "phpstan/phpstan-phpunit": "^0.9.4", + "phpstan/phpstan-strict-rules": "^0.9.0", + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Csv\\": "src" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://github.com/nyamsprod/", + "role": "Developer" + } + ], + "description": "Csv data manipulation made easy in PHP", + "homepage": "http://csv.thephpleague.com", + "keywords": [ + "csv", + "export", + "filter", + "import", + "read", + "write" + ], + "time": "2018-05-01T18:32:48+00:00" + }, { "name": "league/flysystem", - "version": "1.0.45", + "version": "1.0.47", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6" + "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6", - "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a11e4a75f256bdacf99d20780ce42d3b8272975c", + "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c", "shasum": "" }, "require": { + "ext-fileinfo": "*", "php": ">=5.5.9" }, "conflict": { "league/flysystem-sftp": "<1.0.6" }, "require-dev": { - "ext-fileinfo": "*", "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7" + "phpunit/phpunit": "^5.7.10" }, "suggest": { "ext-fileinfo": "Required for MimeType", @@ -1023,20 +1043,20 @@ "sftp", "storage" ], - "time": "2018-05-07T08:44:23+00:00" + "time": "2018-09-14T15:30:29+00:00" }, { "name": "league/flysystem-aws-s3-v3", - "version": "1.0.19", + "version": "1.0.20", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "f135691ef6761542af301b7c9880f140fb12dc74" + "reference": "398c56027e49653712a8fba1eb12600d2a83f3b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/f135691ef6761542af301b7c9880f140fb12dc74", - "reference": "f135691ef6761542af301b7c9880f140fb12dc74", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/398c56027e49653712a8fba1eb12600d2a83f3b7", + "reference": "398c56027e49653712a8fba1eb12600d2a83f3b7", "shasum": "" }, "require": { @@ -1070,7 +1090,7 @@ } ], "description": "Flysystem adapter for the AWS S3 SDK v3.x", - "time": "2018-03-27T20:33:59+00:00" + "time": "2018-09-25T12:02:44+00:00" }, { "name": "mandrill/mandrill", @@ -1330,33 +1350,29 @@ }, { "name": "paragonie/random_compat", - "version": "v2.0.15", + "version": "v9.99.99", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "10bcb46e8f3d365170f6de9d05245aa066b81f09" + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/10bcb46e8f3d365170f6de9d05245aa066b81f09", - "reference": "10bcb46e8f3d365170f6de9d05245aa066b81f09", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", "shasum": "" }, "require": { - "php": ">=5.2.0" + "php": "^7" }, "require-dev": { - "phpunit/phpunit": "4.*|5.*" + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" }, "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -1375,7 +1391,7 @@ "pseudorandom", "random" ], - "time": "2018-06-08T15:26:40+00:00" + "time": "2018-07-02T15:55:56+00:00" }, { "name": "php-amqplib/php-amqplib", @@ -1795,6 +1811,88 @@ ], "time": "2016-10-10T12:19:37+00:00" }, + { + "name": "ramsey/uuid", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.0|^2.0|9.99.99", + "php": "^5.4 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "codeception/aspect-mock": "^1.0 | ~2.0.0", + "doctrine/annotations": "~1.2.0", + "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.9", + "moontoast/math": "^1.1", + "php-mock/php-mock-phpunit": "^0.3|^1.1", + "phpunit/phpunit": "^4.7|^5.0|^6.5", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "ext-ctype": "Provides support for PHP Ctype functions", + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marijn Huizendveld", + "email": "marijn.huizendveld@gmail.com" + }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "time": "2018-07-19T23:38:55+00:00" + }, { "name": "react/promise", "version": "v2.7.0", @@ -1974,6 +2072,7 @@ "keywords": [ "microframework" ], + "abandoned": "symfony/flex", "time": "2017-04-30T16:26:54+00:00" }, { @@ -1982,12 +2081,12 @@ "source": { "type": "git", "url": "https://github.com/spryker-eco/loggly.git", - "reference": "4e0bce8d31a810efcd50de81ee7c5de81e12fdc6" + "reference": "7eba12eea3cc9b81d434a6de3ec52ea3cbff2e5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-eco/loggly/zipball/4e0bce8d31a810efcd50de81ee7c5de81e12fdc6", - "reference": "4e0bce8d31a810efcd50de81ee7c5de81e12fdc6", + "url": "https://api.github.com/repos/spryker-eco/loggly/zipball/7eba12eea3cc9b81d434a6de3ec52ea3cbff2e5b", + "reference": "7eba12eea3cc9b81d434a6de3ec52ea3cbff2e5b", "shasum": "" }, "require": { @@ -1996,8 +2095,7 @@ "require-dev": { "spryker/code-sniffer": "*", "spryker/monolog": "*", - "spryker/queue": "*", - "spryker/testify": "*" + "spryker/queue": "*" }, "suggest": { "spryker/monolog": "Needed to send messages to loggly via Curl helper", @@ -2019,7 +2117,112 @@ "proprietary" ], "description": "Loggly module", - "time": "2018-04-24T10:34:44+00:00" + "time": "2018-09-04T14:37:05+00:00" + }, + { + "name": "spryker-shop/agent-page", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/agent-page.git", + "reference": "4ca8c1ba0f614aa639af29b359bdbd8991a30ce9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/agent-page/zipball/4ca8c1ba0f614aa639af29b359bdbd8991a30ce9", + "reference": "4ca8c1ba0f614aa639af29b359bdbd8991a30ce9", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker-shop/customer-page": "^1.4.0", + "spryker-shop/customer-page-extension": "^1.2.0", + "spryker-shop/shop-application": "^1.1.0", + "spryker-shop/shop-ui": "^1.3.0", + "spryker/agent": "^1.0.0", + "spryker/application": "^3.9.0", + "spryker/customer": "^7.10.0", + "spryker/kernel": "^3.23.0", + "spryker/messenger": "^3.1.0", + "spryker/quote": "^2.0.0", + "spryker/symfony": "^3.1.0" + }, + "require-dev": { + "spryker-shop/home-page": "*", + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/home-page": "Widget plugins are available for this module.", + "spryker/silex": "Use this module when using plugins that need Silex dependencies." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "AgentPage module", + "time": "2018-09-05T09:32:42+00:00" + }, + { + "name": "spryker-shop/agent-widget", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/agent-widget.git", + "reference": "58071b25dcb8d4f95bf04c9c2ecdbbb78708d4d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/agent-widget/zipball/58071b25dcb8d4f95bf04c9c2ecdbbb78708d4d7", + "reference": "58071b25dcb8d4f95bf04c9c2ecdbbb78708d4d7", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker-shop/shop-application": "^1.0.0", + "spryker-shop/shop-ui": "^1.3.0", + "spryker/agent": "^1.0.0", + "spryker/customer": "^7.0.0", + "spryker/kernel": "^3.23.0", + "spryker/symfony": "^3.1.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/silex": "Use this module when using plugins that need Silex dependencies." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "AgentWidget module", + "time": "2018-09-05T09:32:42+00:00" }, { "name": "spryker-shop/availability-widget", @@ -2066,16 +2269,16 @@ }, { "name": "spryker-shop/calculation-page", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/calculation-page.git", - "reference": "c729c812d8db30d97a0625f004da2991b2a10d3f" + "reference": "afd4474da2eb06c9e9c16821729296699ea203c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/calculation-page/zipball/c729c812d8db30d97a0625f004da2991b2a10d3f", - "reference": "c729c812d8db30d97a0625f004da2991b2a10d3f", + "url": "https://api.github.com/repos/spryker-shop/calculation-page/zipball/afd4474da2eb06c9e9c16821729296699ea203c1", + "reference": "afd4474da2eb06c9e9c16821729296699ea203c1", "shasum": "" }, "require": { @@ -2111,20 +2314,20 @@ "proprietary" ], "description": "CalculationPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-07-30T11:08:18+00:00" }, { "name": "spryker-shop/cart-note-widget", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-note-widget.git", - "reference": "b847c15d8939d4adedb5036bce699d1778944291" + "reference": "c7467483d14763a746a4e7c8cbd6ea42a2694e1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-note-widget/zipball/b847c15d8939d4adedb5036bce699d1778944291", - "reference": "b847c15d8939d4adedb5036bce699d1778944291", + "url": "https://api.github.com/repos/spryker-shop/cart-note-widget/zipball/c7467483d14763a746a4e7c8cbd6ea42a2694e1b", + "reference": "c7467483d14763a746a4e7c8cbd6ea42a2694e1b", "shasum": "" }, "require": { @@ -2146,7 +2349,6 @@ "spryker/testify": "*" }, "suggest": { - "spryker-shop/cart-page": "Widget plugins are available for this module.", "spryker-shop/checkout-page": "Widget plugins are available for this module.", "spryker-shop/customer-page": "Widget plugins are available for this module.", "spryker-shop/shop-application": "Use this module when using plugins that need ShopApplication dependencies.", @@ -2168,20 +2370,20 @@ "proprietary" ], "description": "CartNoteWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-10T11:26:24+00:00" }, { "name": "spryker-shop/cart-page", - "version": "1.0.0", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-page.git", - "reference": "eb49d98c55095b4e8daaf3ed44ba377ea729bc37" + "reference": "1087508ad66a889107921a99b874182032a0bc68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/eb49d98c55095b4e8daaf3ed44ba377ea729bc37", - "reference": "eb49d98c55095b4e8daaf3ed44ba377ea729bc37", + "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/1087508ad66a889107921a99b874182032a0bc68", + "reference": "1087508ad66a889107921a99b874182032a0bc68", "shasum": "" }, "require": { @@ -2194,13 +2396,14 @@ "spryker/cart-variant": "^1.0.0", "spryker/kernel": "^3.19.0", "spryker/permission-extension": "^1.0.0", - "spryker/product-storage": "^1.0.0", + "spryker/product-storage": "^1.1.0", "spryker/symfony": "^3.1.0", "spryker/zed-request": "^3.4.0" }, "require-dev": { - "spryker/permission": "^1.0.0", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/permission": "If you want to use permissions plugins", @@ -2222,20 +2425,20 @@ "proprietary" ], "description": "CartPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-20T16:44:27+00:00" }, { "name": "spryker-shop/catalog-page", - "version": "1.0.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/catalog-page.git", - "reference": "2a21db61482da78555d4d15063a4956964a63469" + "reference": "7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/2a21db61482da78555d4d15063a4956964a63469", - "reference": "2a21db61482da78555d4d15063a4956964a63469", + "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988", + "reference": "7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988", "shasum": "" }, "require": { @@ -2277,30 +2480,32 @@ "proprietary" ], "description": "CatalogPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-10T12:28:49+00:00" }, { "name": "spryker-shop/category-widget", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/category-widget.git", - "reference": "3e25483ab04b01bf9954b281df4fae1a8b592892" + "reference": "6f06443db33906d795404275391cf37e7104a4ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/category-widget/zipball/3e25483ab04b01bf9954b281df4fae1a8b592892", - "reference": "3e25483ab04b01bf9954b281df4fae1a8b592892", + "url": "https://api.github.com/repos/spryker-shop/category-widget/zipball/6f06443db33906d795404275391cf37e7104a4ff", + "reference": "6f06443db33906d795404275391cf37e7104a4ff", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/category-storage": "^1.0.0", + "spryker/category-storage": "^1.1.0", "spryker/kernel": "^3.16.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -2321,20 +2526,20 @@ "proprietary" ], "description": "CategoryWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-20T09:04:40+00:00" }, { "name": "spryker-shop/checkout-page", - "version": "1.0.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-page.git", - "reference": "ac322fa6980638736bf3fde7fa2838663ec93508" + "reference": "38a516ffc9ac235c0cac015c25a300add82616a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/ac322fa6980638736bf3fde7fa2838663ec93508", - "reference": "ac322fa6980638736bf3fde7fa2838663ec93508", + "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/38a516ffc9ac235c0cac015c25a300add82616a3", + "reference": "38a516ffc9ac235c0cac015c25a300add82616a3", "shasum": "" }, "require": { @@ -2350,6 +2555,7 @@ "spryker/checkout": "^4.0.0", "spryker/customer": "^7.4.0", "spryker/glossary": "^3.3.0", + "spryker/glossary-storage": "^1.0.0", "spryker/kernel": "^3.16.0", "spryker/messenger": "^3.1.0", "spryker/money": "^2.4.0", @@ -2363,10 +2569,13 @@ "spryker/util-validate": "^1.0.0" }, "require-dev": { - "spryker/silex": "*" + "spryker-shop/checkout-widget": "*", + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { - "spryker/money": "Use this module when using plugins that need Money dependencies.", + "spryker-shop/checkout-widget": "ADD SUGGEST DESCRIPTION", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", @@ -2385,7 +2594,7 @@ "proprietary" ], "description": "CheckoutPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-29T10:37:32+00:00" }, { "name": "spryker-shop/checkout-widget", @@ -2433,16 +2642,16 @@ }, { "name": "spryker-shop/cms-block-widget", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-block-widget.git", - "reference": "e93bcec2a8c53c99f4dff4500446b30af686f22c" + "reference": "46700adfb3151383c88e73f95258c69355954626" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-block-widget/zipball/e93bcec2a8c53c99f4dff4500446b30af686f22c", - "reference": "e93bcec2a8c53c99f4dff4500446b30af686f22c", + "url": "https://api.github.com/repos/spryker-shop/cms-block-widget/zipball/46700adfb3151383c88e73f95258c69355954626", + "reference": "46700adfb3151383c88e73f95258c69355954626", "shasum": "" }, "require": { @@ -2481,20 +2690,20 @@ "proprietary" ], "description": "CmsBlockWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-01T14:21:08+00:00" }, { "name": "spryker-shop/cms-content-widget-product-connector", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-content-widget-product-connector.git", - "reference": "531be471bf59d1517588bd9189482c06fb1f0f00" + "reference": "6b7c13c766dd05ebde1aeac4d5ccbdf1a7365e7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-connector/zipball/531be471bf59d1517588bd9189482c06fb1f0f00", - "reference": "531be471bf59d1517588bd9189482c06fb1f0f00", + "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-connector/zipball/6b7c13c766dd05ebde1aeac4d5ccbdf1a7365e7f", + "reference": "6b7c13c766dd05ebde1aeac4d5ccbdf1a7365e7f", "shasum": "" }, "require": { @@ -2502,7 +2711,7 @@ "spryker/cms-content-widget": "^1.2.0", "spryker/kernel": "^3.16.0", "spryker/product": "^5.5.0 || ^6.0.0", - "spryker/product-storage": "^1.0.0", + "spryker/product-storage": "^1.1.0", "spryker/propel-orm": "^1.5.0" }, "require-dev": { @@ -2527,20 +2736,20 @@ "proprietary" ], "description": "CmsContentWidgetProductConnector module", - "time": "2018-06-14T10:22:07+00:00" + "time": "2018-08-02T06:30:34+00:00" }, { "name": "spryker-shop/cms-content-widget-product-set-connector", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-content-widget-product-set-connector.git", - "reference": "61b4e651e85d620f8953e386e8c2d24ab49fc584" + "reference": "2bf91fa77764b20dea90df843925a1b771cff6a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-set-connector/zipball/61b4e651e85d620f8953e386e8c2d24ab49fc584", - "reference": "61b4e651e85d620f8953e386e8c2d24ab49fc584", + "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-set-connector/zipball/2bf91fa77764b20dea90df843925a1b771cff6a8", + "reference": "2bf91fa77764b20dea90df843925a1b771cff6a8", "shasum": "" }, "require": { @@ -2550,7 +2759,7 @@ "spryker/product": "^5.5.0 || ^6.0.0", "spryker/product-set": "^1.3.0", "spryker/product-set-storage": "^1.0.0", - "spryker/product-storage": "^1.0.0", + "spryker/product-storage": "^1.1.0", "spryker/propel-orm": "^1.5.0" }, "require-dev": { @@ -2577,7 +2786,7 @@ "proprietary" ], "description": "CmsContentWidgetProductSetConnector module", - "time": "2018-06-13T13:42:55+00:00" + "time": "2018-08-02T06:30:34+00:00" }, { "name": "spryker-shop/cms-page", @@ -2680,28 +2889,28 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.0.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "8a4895c22bbd4f29c3cd70b649aafbf794e39312" + "reference": "22148774ef68c2abbcd714aaa5d666d3560fc350" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/8a4895c22bbd4f29c3cd70b649aafbf794e39312", - "reference": "8a4895c22bbd4f29c3cd70b649aafbf794e39312", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/22148774ef68c2abbcd714aaa5d666d3560fc350", + "reference": "22148774ef68c2abbcd714aaa5d666d3560fc350", "shasum": "" }, "require": { "php": ">=7.1", - "spryker-shop/checkout-page": "^1.0.0", - "spryker-shop/customer-page-extension": "^1.0.0", + "spryker-shop/customer-page-extension": "^1.2.0", "spryker-shop/shop-application": "^1.0.0", "spryker-shop/shop-ui": "^1.0.0", "spryker/application": "^3.8.0", "spryker/customer": "^7.4.0", "spryker/kernel": "^3.16.0", "spryker/product-bundle": "^4.1.0", + "spryker/quote": "^1.0.0 || ^2.1.0", "spryker/sales": "^8.5.0", "spryker/step-engine": "^3.1.0", "spryker/symfony": "^3.1.0", @@ -2709,9 +2918,11 @@ }, "require-dev": { "spryker-shop/home-page": "*", + "spryker/code-sniffer": "*", "spryker/config": "*", "spryker/messenger": "*", "spryker/silex": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { @@ -2737,27 +2948,28 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-25T12:39:40+00:00" }, { "name": "spryker-shop/customer-page-extension", - "version": "1.0.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page-extension.git", - "reference": "14bde5b616035fc8b7e33202d73b42824ab1a4a4" + "reference": "0d632b27a8a0860c1a5313dbc5cbc0a492b178a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page-extension/zipball/14bde5b616035fc8b7e33202d73b42824ab1a4a4", - "reference": "14bde5b616035fc8b7e33202d73b42824ab1a4a4", + "url": "https://api.github.com/repos/spryker-shop/customer-page-extension/zipball/0d632b27a8a0860c1a5313dbc5cbc0a492b178a2", + "reference": "0d632b27a8a0860c1a5313dbc5cbc0a492b178a2", "shasum": "" }, "require": { "php": ">=7.1" }, "require-dev": { - "spryker/symfony": "*" + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "type": "library", "extra": { @@ -2775,20 +2987,20 @@ "proprietary" ], "description": "CustomerPageExtension module", - "time": "2018-05-24T15:48:52+00:00" + "time": "2018-09-04T14:35:04+00:00" }, { "name": "spryker-shop/customer-reorder-widget", - "version": "3.0.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-reorder-widget.git", - "reference": "f9b3de8eb6e66426f5b5e0863e1c40f60d741490" + "reference": "ef29cacb3736db6bff0ef0fab126c572703ff5c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-reorder-widget/zipball/f9b3de8eb6e66426f5b5e0863e1c40f60d741490", - "reference": "f9b3de8eb6e66426f5b5e0863e1c40f60d741490", + "url": "https://api.github.com/repos/spryker-shop/customer-reorder-widget/zipball/ef29cacb3736db6bff0ef0fab126c572703ff5c3", + "reference": "ef29cacb3736db6bff0ef0fab126c572703ff5c3", "shasum": "" }, "require": { @@ -2831,27 +3043,27 @@ "proprietary" ], "description": "CustomerReorderWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-06T12:19:41+00:00" }, { "name": "spryker-shop/discount-promotion-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/discount-promotion-widget.git", - "reference": "1ec766efe474c0866d60ddc613832335ca67b73e" + "reference": "fbe1ff4590ea1ee803b7d63eda8c32e22cd52669" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/discount-promotion-widget/zipball/1ec766efe474c0866d60ddc613832335ca67b73e", - "reference": "1ec766efe474c0866d60ddc613832335ca67b73e", + "url": "https://api.github.com/repos/spryker-shop/discount-promotion-widget/zipball/fbe1ff4590ea1ee803b7d63eda8c32e22cd52669", + "reference": "fbe1ff4590ea1ee803b7d63eda8c32e22cd52669", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", "spryker/kernel": "^3.16.0", - "spryker/product-storage": "^1.0.0" + "spryker/product-storage": "^1.1.0" }, "require-dev": { "spryker-shop/cart-page": "*", @@ -2877,7 +3089,7 @@ "proprietary" ], "description": "DiscountPromotionWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-02T06:30:34+00:00" }, { "name": "spryker-shop/discount-widget", @@ -3116,16 +3328,16 @@ }, { "name": "spryker-shop/money-widget", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/money-widget.git", - "reference": "f6fa24e71cff030635fd49856750849c37ca7df4" + "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/f6fa24e71cff030635fd49856750849c37ca7df4", - "reference": "f6fa24e71cff030635fd49856750849c37ca7df4", + "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/a8e74d309802c11dd4b0d69014e2d59b5b6f616f", + "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f", "shasum": "" }, "require": { @@ -3159,7 +3371,7 @@ "proprietary" ], "description": "MoneyWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-13T10:09:34+00:00" }, { "name": "spryker-shop/navigation-widget", @@ -3201,16 +3413,16 @@ }, { "name": "spryker-shop/newsletter-page", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/newsletter-page.git", - "reference": "3e6d109195e3ee02fe0df28e884c31519b0b2551" + "reference": "9a460beb55bc14b153b94448ca20b04443a3d0a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/newsletter-page/zipball/3e6d109195e3ee02fe0df28e884c31519b0b2551", - "reference": "3e6d109195e3ee02fe0df28e884c31519b0b2551", + "url": "https://api.github.com/repos/spryker-shop/newsletter-page/zipball/9a460beb55bc14b153b94448ca20b04443a3d0a0", + "reference": "9a460beb55bc14b153b94448ca20b04443a3d0a0", "shasum": "" }, "require": { @@ -3224,9 +3436,13 @@ "spryker/symfony": "^3.1.0" }, "require-dev": { - "spryker/silex": "*" + "spryker-shop/customer-page": "*", + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { + "spryker-shop/customer-page": "ADD SUGGEST DESCRIPTION", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", @@ -3245,20 +3461,20 @@ "proprietary" ], "description": "NewsletterPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-29T10:37:32+00:00" }, { "name": "spryker-shop/newsletter-widget", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/newsletter-widget.git", - "reference": "d81c98028beaf9294ef87fcd72e507fc1971fa67" + "reference": "2ba33d8813a14b819f62f889f98cb3a7b1f0f84d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/d81c98028beaf9294ef87fcd72e507fc1971fa67", - "reference": "d81c98028beaf9294ef87fcd72e507fc1971fa67", + "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/2ba33d8813a14b819f62f889f98cb3a7b1f0f84d", + "reference": "2ba33d8813a14b819f62f889f98cb3a7b1f0f84d", "shasum": "" }, "require": { @@ -3294,7 +3510,7 @@ "proprietary" ], "description": "NewsletterWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-28T18:39:24+00:00" }, { "name": "spryker-shop/price-widget", @@ -3394,16 +3610,16 @@ }, { "name": "spryker-shop/product-bundle-widget", - "version": "1.0.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-bundle-widget.git", - "reference": "32a0ff4aee0cf693e737cd524f4fde7b56cf1743" + "reference": "3b368f4e4ec51e3cf6e4d4710e97eb830aa345a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-bundle-widget/zipball/32a0ff4aee0cf693e737cd524f4fde7b56cf1743", - "reference": "32a0ff4aee0cf693e737cd524f4fde7b56cf1743", + "url": "https://api.github.com/repos/spryker-shop/product-bundle-widget/zipball/3b368f4e4ec51e3cf6e4d4710e97eb830aa345a5", + "reference": "3b368f4e4ec51e3cf6e4d4710e97eb830aa345a5", "shasum": "" }, "require": { @@ -3414,10 +3630,14 @@ }, "require-dev": { "spryker-shop/cart-page": "*", - "spryker-shop/multi-cart-widget": "*" + "spryker-shop/multi-cart-page": "*", + "spryker-shop/multi-cart-widget": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/cart-page": "Widget plugins are available for this module.", + "spryker-shop/multi-cart-page": "If you want to use ProductBundleItemCounterWidgetPlugin: ^1.0.0", "spryker-shop/multi-cart-widget": "Add to use bundle product widgets" }, "type": "library", @@ -3436,7 +3656,7 @@ "proprietary" ], "description": "ProductBundleWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-24T12:05:17+00:00" }, { "name": "spryker-shop/product-category-widget", @@ -3484,16 +3704,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.0.0", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "032fc0804f81c52b863818fd70ab1b67e9ff193c" + "reference": "a4594d0e66a526bbba8a99510dc7c74e8c50a024" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/032fc0804f81c52b863818fd70ab1b67e9ff193c", - "reference": "032fc0804f81c52b863818fd70ab1b67e9ff193c", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/a4594d0e66a526bbba8a99510dc7c74e8c50a024", + "reference": "a4594d0e66a526bbba8a99510dc7c74e8c50a024", "shasum": "" }, "require": { @@ -3502,10 +3722,14 @@ "spryker-shop/shop-router-extension": "^1.0.0", "spryker-shop/shop-ui": "^1.0.0", "spryker/kernel": "^3.16.0", - "spryker/product-storage": "^1.0.0", + "spryker/product-storage": "^1.1.0", "spryker/storage": "^3.4.0", "spryker/symfony": "^3.1.0" }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -3522,20 +3746,20 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-27T09:00:11+00:00" }, { "name": "spryker-shop/product-group-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-group-widget.git", - "reference": "20e332b321e60d8ac6f81f4723ec456bba4790af" + "reference": "78c29ae0157b5d237fb57de6bdd95f1b39114fb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-group-widget/zipball/20e332b321e60d8ac6f81f4723ec456bba4790af", - "reference": "20e332b321e60d8ac6f81f4723ec456bba4790af", + "url": "https://api.github.com/repos/spryker-shop/product-group-widget/zipball/78c29ae0157b5d237fb57de6bdd95f1b39114fb0", + "reference": "78c29ae0157b5d237fb57de6bdd95f1b39114fb0", "shasum": "" }, "require": { @@ -3543,7 +3767,7 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/kernel": "^3.16.0", "spryker/product-group-storage": "^1.0.0", - "spryker/product-storage": "^1.0.0" + "spryker/product-storage": "^1.1.0" }, "type": "library", "extra": { @@ -3561,7 +3785,7 @@ "proprietary" ], "description": "ProductGroupWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-02T06:30:34+00:00" }, { "name": "spryker-shop/product-image-widget", @@ -3654,16 +3878,16 @@ }, { "name": "spryker-shop/product-new-page", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-new-page.git", - "reference": "84c48aae229b7e4a9be923a6426b7461a6ee1261" + "reference": "a1103176b883de86a001d118eebf3c79b6f80953" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-new-page/zipball/84c48aae229b7e4a9be923a6426b7461a6ee1261", - "reference": "84c48aae229b7e4a9be923a6426b7461a6ee1261", + "url": "https://api.github.com/repos/spryker-shop/product-new-page/zipball/a1103176b883de86a001d118eebf3c79b6f80953", + "reference": "a1103176b883de86a001d118eebf3c79b6f80953", "shasum": "" }, "require": { @@ -3676,10 +3900,14 @@ "spryker/url-storage": "^1.0.0" }, "require-dev": { + "spryker-shop/catalog-page": "*", "spryker-shop/shop-application": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { + "spryker-shop/catalog-page": "ADD SUGGEST DESCRIPTION", "spryker-shop/shop-application": "Use this module when using plugins that need ShopApplication dependencies.", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, @@ -3699,20 +3927,20 @@ "proprietary" ], "description": "ProductNewPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-29T10:37:32+00:00" }, { "name": "spryker-shop/product-option-widget", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-option-widget.git", - "reference": "3e09abffdd2a9bfd17b3e1a7aa77b32ee9e0e1e8" + "reference": "62bbfdc23c0f3e4b6bf214660915b9e7c37b617b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-option-widget/zipball/3e09abffdd2a9bfd17b3e1a7aa77b32ee9e0e1e8", - "reference": "3e09abffdd2a9bfd17b3e1a7aa77b32ee9e0e1e8", + "url": "https://api.github.com/repos/spryker-shop/product-option-widget/zipball/62bbfdc23c0f3e4b6bf214660915b9e7c37b617b", + "reference": "62bbfdc23c0f3e4b6bf214660915b9e7c37b617b", "shasum": "" }, "require": { @@ -3723,7 +3951,9 @@ }, "require-dev": { "spryker-shop/cart-page": "*", - "spryker-shop/product-detail-page": "*" + "spryker-shop/product-detail-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/cart-page": "Widget plugins are available for this module.", @@ -3745,7 +3975,7 @@ "proprietary" ], "description": "ProductOptionWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-20T08:42:29+00:00" }, { "name": "spryker-shop/product-relation-widget", @@ -3795,16 +4025,16 @@ }, { "name": "spryker-shop/product-review-widget", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-review-widget.git", - "reference": "5053a80a976c1f1371ec898856cce9e57ee4c248" + "reference": "0d900b63e2dec6316d3cfa78f6cf5621159a13e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-review-widget/zipball/5053a80a976c1f1371ec898856cce9e57ee4c248", - "reference": "5053a80a976c1f1371ec898856cce9e57ee4c248", + "url": "https://api.github.com/repos/spryker-shop/product-review-widget/zipball/0d900b63e2dec6316d3cfa78f6cf5621159a13e7", + "reference": "0d900b63e2dec6316d3cfa78f6cf5621159a13e7", "shasum": "" }, "require": { @@ -3823,7 +4053,9 @@ "spryker-shop/catalog-page": "*", "spryker-shop/product-detail-page": "*", "spryker-shop/product-widget": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/catalog-page": "Widget plugins are available for this module.", @@ -3847,20 +4079,20 @@ "proprietary" ], "description": "ProductReviewWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-18T09:51:56+00:00" }, { "name": "spryker-shop/product-set-detail-page", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-detail-page.git", - "reference": "bb86050f95a2684fb1b265cbf66294af20ce2f32" + "reference": "5e3675ae36202c72b24ae7fe2c74249d52a988be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-detail-page/zipball/bb86050f95a2684fb1b265cbf66294af20ce2f32", - "reference": "bb86050f95a2684fb1b265cbf66294af20ce2f32", + "url": "https://api.github.com/repos/spryker-shop/product-set-detail-page/zipball/5e3675ae36202c72b24ae7fe2c74249d52a988be", + "reference": "5e3675ae36202c72b24ae7fe2c74249d52a988be", "shasum": "" }, "require": { @@ -3870,10 +4102,12 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/kernel": "^3.16.0", "spryker/product-set-storage": "^1.0.0", - "spryker/product-storage": "^1.0.0" + "spryker/product-storage": "^1.1.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -3894,7 +4128,7 @@ "proprietary" ], "description": "ProductSetDetailPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-10T08:35:57+00:00" }, { "name": "spryker-shop/product-set-list-page", @@ -3945,16 +4179,16 @@ }, { "name": "spryker-shop/product-set-widget", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-widget.git", - "reference": "8bc55d6e05b4d483b3e3b4435a10fc261ed3984b" + "reference": "3f5fac3b9e6bb84a542b9c288f88662e059c2fe6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/8bc55d6e05b4d483b3e3b4435a10fc261ed3984b", - "reference": "8bc55d6e05b4d483b3e3b4435a10fc261ed3984b", + "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/3f5fac3b9e6bb84a542b9c288f88662e059c2fe6", + "reference": "3f5fac3b9e6bb84a542b9c288f88662e059c2fe6", "shasum": "" }, "require": { @@ -3963,10 +4197,14 @@ "spryker/kernel": "^3.16.0" }, "require-dev": { + "spryker-shop/product-detail-page": "*", "spryker-shop/product-set-detail-page": "*", - "spryker/cms-content-widget-product-set-connector": "*" + "spryker/cms-content-widget-product-set-connector": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { + "spryker-shop/product-detail-page": "ADD SUGGEST DESCRIPTION", "spryker-shop/product-set-detail-page": "Widget plugins are available for this module.", "spryker/cms-content-widget-product-set-connector": "Use this module when using plugins that need CmsContentWidgetProductSetConnector dependencies." }, @@ -3986,20 +4224,20 @@ "proprietary" ], "description": "ProductSetWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-03T16:02:20+00:00" }, { "name": "spryker-shop/product-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-widget.git", - "reference": "82506834277ea2f9d2a716090e396b1158a04f77" + "reference": "6ec1abe5c40092a80705c85ac8b1ce80f8ae7050" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-widget/zipball/82506834277ea2f9d2a716090e396b1158a04f77", - "reference": "82506834277ea2f9d2a716090e396b1158a04f77", + "url": "https://api.github.com/repos/spryker-shop/product-widget/zipball/6ec1abe5c40092a80705c85ac8b1ce80f8ae7050", + "reference": "6ec1abe5c40092a80705c85ac8b1ce80f8ae7050", "shasum": "" }, "require": { @@ -4009,12 +4247,16 @@ }, "require-dev": { "spryker-shop/catalog-page": "*", + "spryker-shop/product-alternative-widget": "*", "spryker-shop/product-relation-widget": "*", + "spryker-shop/product-replacement-for-widget": "*", "spryker/cms-content-widget-product-connector": "*" }, "suggest": { "spryker-shop/catalog-page": "Widget plugins are available for this module.", + "spryker-shop/product-alternative-widget": "if you want to use ProductWidgetPlugin: ^1.0.0", "spryker-shop/product-relation-widget": "Widget plugins are available for this module.", + "spryker-shop/product-replacement-for-widget": "if you want to use ProductWidgetPlugin: ^1.0.0", "spryker/cms-content-widget-product-connector": "Use this module when using plugins that need CmsContentWidgetProductConnector dependencies." }, "type": "library", @@ -4033,7 +4275,7 @@ "proprietary" ], "description": "ProductWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-07-25T07:49:28+00:00" }, { "name": "spryker-shop/redirect-page", @@ -4082,38 +4324,39 @@ }, { "name": "spryker-shop/shop-application", - "version": "1.0.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-application.git", - "reference": "34effa4be300cc2325c8d339994e603871939535" + "reference": "c61294a161eca82620bf989a879523fa88428d02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-application/zipball/34effa4be300cc2325c8d339994e603871939535", - "reference": "34effa4be300cc2325c8d339994e603871939535", + "url": "https://api.github.com/repos/spryker-shop/shop-application/zipball/c61294a161eca82620bf989a879523fa88428d02", + "reference": "c61294a161eca82620bf989a879523fa88428d02", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-application-extension": "^1.0.0", "spryker/application": "^3.8.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/silex": "^2.0.0", "spryker/storage": "^3.4.0", + "spryker/twig": "^3.3.0", "spryker/util-text": "^1.2.0" }, "require-dev": { + "spryker/code-sniffer": "*", "spryker/config": "*", "spryker/log": "*", "spryker/symfony": "*", - "spryker/twig": "*" + "spryker/testify": "*" }, "suggest": { "spryker/config": "Use this module when using plugins that need Config dependencies.", "spryker/log": "Use this module when using plugins that need Log dependencies.", - "spryker/symfony": "Use this module when using plugins that need Symfony dependencies.", - "spryker/twig": "Use this module when using plugins that need Twig dependencies." + "spryker/symfony": "Use this module when using plugins that need Symfony dependencies." }, "type": "library", "extra": { @@ -4131,7 +4374,7 @@ "proprietary" ], "description": "ShopApplication module", - "time": "2018-06-13T13:42:55+00:00" + "time": "2018-09-24T06:42:14+00:00" }, { "name": "spryker-shop/shop-application-extension", @@ -4303,16 +4546,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.0.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "78b7f1130157f9df53c57dfa31874d7f52d3b06e" + "reference": "bc663f25d1369e65fe7612612f2c9400202ca31a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/78b7f1130157f9df53c57dfa31874d7f52d3b06e", - "reference": "78b7f1130157f9df53c57dfa31874d7f52d3b06e", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/bc663f25d1369e65fe7612612f2c9400202ca31a", + "reference": "bc663f25d1369e65fe7612612f2c9400202ca31a", "shasum": "" }, "require": { @@ -4321,7 +4564,9 @@ "spryker/twig": "^3.3.1" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -4342,7 +4587,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-06-13T22:30:27+00:00" + "time": "2018-09-19T11:59:46+00:00" }, { "name": "spryker-shop/shop-ui-extension", @@ -4427,16 +4672,16 @@ }, { "name": "spryker-shop/wishlist-page", - "version": "1.0.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/wishlist-page.git", - "reference": "685651296f8f29e47675fedaf2bd7fc116c4effa" + "reference": "24a9f4f24c7544bacf91be71d8b4043a67b36d31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/685651296f8f29e47675fedaf2bd7fc116c4effa", - "reference": "685651296f8f29e47675fedaf2bd7fc116c4effa", + "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/24a9f4f24c7544bacf91be71d8b4043a67b36d31", + "reference": "24a9f4f24c7544bacf91be71d8b4043a67b36d31", "shasum": "" }, "require": { @@ -4447,7 +4692,7 @@ "spryker/application": "^3.8.0", "spryker/customer": "^7.4.0", "spryker/kernel": "^3.16.0", - "spryker/product-storage": "^1.0.0", + "spryker/product-storage": "^1.1.0", "spryker/symfony": "^3.1.0", "spryker/wishlist": "^5.1.0 || ^6.0.0" }, @@ -4473,20 +4718,20 @@ "proprietary" ], "description": "WishlistPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-08-02T06:30:34+00:00" }, { "name": "spryker-shop/wishlist-widget", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/wishlist-widget.git", - "reference": "b46ef263198b6a36326a578997cbee26f589aa3b" + "reference": "39dacd30d822571f1a4ed1a6bb892c9e9ef85c5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/wishlist-widget/zipball/b46ef263198b6a36326a578997cbee26f589aa3b", - "reference": "b46ef263198b6a36326a578997cbee26f589aa3b", + "url": "https://api.github.com/repos/spryker-shop/wishlist-widget/zipball/39dacd30d822571f1a4ed1a6bb892c9e9ef85c5e", + "reference": "39dacd30d822571f1a4ed1a6bb892c9e9ef85c5e", "shasum": "" }, "require": { @@ -4497,7 +4742,9 @@ }, "require-dev": { "spryker-shop/customer-page": "*", - "spryker-shop/product-detail-page": "*" + "spryker-shop/product-detail-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/customer-page": "To have customer account pages", @@ -4519,20 +4766,20 @@ "proprietary" ], "description": "WishlistWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-09-04T14:35:04+00:00" }, { "name": "spryker/acl", - "version": "3.0.8", + "version": "3.0.9", "source": { "type": "git", "url": "https://github.com/spryker/acl.git", - "reference": "bfc3dffb201f8cc88a71020b2eb282a03354a8b1" + "reference": "aa7081f682a4d1d80f15bc579d4f82d3f4de5a53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/acl/zipball/bfc3dffb201f8cc88a71020b2eb282a03354a8b1", - "reference": "bfc3dffb201f8cc88a71020b2eb282a03354a8b1", + "url": "https://api.github.com/repos/spryker/acl/zipball/aa7081f682a4d1d80f15bc579d4f82d3f4de5a53", + "reference": "aa7081f682a4d1d80f15bc579d4f82d3f4de5a53", "shasum": "" }, "require": { @@ -4547,11 +4794,12 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/installer": "*", "spryker/propel": "*", "spryker/silex": "*", - "spryker/testify": "*" + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/installer": "If you want to use Installer plugins.", @@ -4573,7 +4821,97 @@ "proprietary" ], "description": "Acl module", - "time": "2018-04-05T08:50:03+00:00" + "time": "2018-09-17T12:59:43+00:00" + }, + { + "name": "spryker/agent", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/agent.git", + "reference": "db3f0903aa024d18a0d68e487675c73941ca0a22" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/agent/zipball/db3f0903aa024d18a0d68e487675c73941ca0a22", + "reference": "db3f0903aa024d18a0d68e487675c73941ca0a22", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/customer": "^7.10.0", + "spryker/kernel": "^3.23.0", + "spryker/session": "^3.2.0", + "spryker/user": "^3.2.0", + "spryker/zed-request": "^3.4.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Shared\\Agent\\Helper\\": "tests/SprykerTest/Shared/Agent/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Agent module", + "time": "2018-09-05T09:59:35+00:00" + }, + { + "name": "spryker/agent-gui", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/agent-gui.git", + "reference": "8d9847026e9438b1c368d1470dbc2bce2d7c2be1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/agent-gui/zipball/8d9847026e9438b1c368d1470dbc2bce2d7c2be1", + "reference": "8d9847026e9438b1c368d1470dbc2bce2d7c2be1", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/gui": "^3.13.0", + "spryker/kernel": "^3.23.0", + "spryker/symfony": "^3.0.0", + "spryker/user": "^3.2.0", + "spryker/user-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "AgentGui module", + "time": "2018-09-05T09:34:01+00:00" }, { "name": "spryker/api", @@ -4618,36 +4956,29 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Api module", - "support": { - "source": "https://github.com/spryker/Api/tree/master" - }, "time": "2017-11-20T13:06:10+00:00" }, { "name": "spryker/api-query-builder", - "version": "0.1.0", + "version": "0.1.1", "source": { "type": "git", - "url": "https://github.com/spryker/ApiQueryBuilder.git", - "reference": "03ee7dd5f5535d3691348fad7fa739026ff5ff8f" + "url": "https://github.com/spryker/api-query-builder.git", + "reference": "a979f93ceaae09031cee3a9a2b9bd1acac115752" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/ApiQueryBuilder/zipball/03ee7dd5f5535d3691348fad7fa739026ff5ff8f", - "reference": "03ee7dd5f5535d3691348fad7fa739026ff5ff8f", + "url": "https://api.github.com/repos/spryker/api-query-builder/zipball/a979f93ceaae09031cee3a9a2b9bd1acac115752", + "reference": "a979f93ceaae09031cee3a9a2b9bd1acac115752", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/api": "^0.1.0", "spryker/kernel": "^3.0.0", "spryker/propel-orm": "^1.2.0", @@ -4671,29 +5002,29 @@ } }, "autoload": { - "psr-0": { - "Spryker": "src/" + "psr-4": { + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "ApiQueryBuilder bundle", - "time": "2017-05-17T15:39:19+00:00" + "description": "ApiQueryBuilder module", + "time": "2018-08-13T10:09:37+00:00" }, { "name": "spryker/application", - "version": "3.9.0", + "version": "3.9.2", "source": { "type": "git", "url": "https://github.com/spryker/application.git", - "reference": "53b5f1b533352e3cb668dff179fc2cfaad34b39d" + "reference": "234a297ef950f4c73746329b8a992ca23d7cd9e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/application/zipball/53b5f1b533352e3cb668dff179fc2cfaad34b39d", - "reference": "53b5f1b533352e3cb668dff179fc2cfaad34b39d", + "url": "https://api.github.com/repos/spryker/application/zipball/234a297ef950f4c73746329b8a992ca23d7cd9e1", + "reference": "234a297ef950f4c73746329b8a992ca23d7cd9e1", "shasum": "" }, "require": { @@ -4713,6 +5044,7 @@ }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -4732,7 +5064,7 @@ "proprietary" ], "description": "Application module", - "time": "2018-03-22T10:58:16+00:00" + "time": "2018-09-24T10:19:19+00:00" }, { "name": "spryker/assertion", @@ -4770,19 +5102,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", - "support": { - "source": "https://github.com/spryker/Assertion/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -4880,16 +5204,16 @@ }, { "name": "spryker/availability", - "version": "6.0.0", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/spryker/availability.git", - "reference": "af1d06fcf97fb22538ff1d435fe17b566ad986d7" + "reference": "1b38d01627f2efdb08f30e21cf5109cd92e3ae1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/availability/zipball/af1d06fcf97fb22538ff1d435fe17b566ad986d7", - "reference": "af1d06fcf97fb22538ff1d435fe17b566ad986d7", + "url": "https://api.github.com/repos/spryker/availability/zipball/1b38d01627f2efdb08f30e21cf5109cd92e3ae1a", + "reference": "1b38d01627f2efdb08f30e21cf5109cd92e3ae1a", "shasum": "" }, "require": { @@ -4899,6 +5223,7 @@ "spryker/locale": "^3.0.0", "spryker/oms": "^8.0.0", "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/product-alternative-extension": "^1.0.0", "spryker/propel-orm": "^1.0.0", "spryker/stock": "^5.0.0", "spryker/storage": "^3.0.0", @@ -4908,9 +5233,7 @@ }, "require-dev": { "spryker/checkout": "*", - "spryker/code-sniffer": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -4932,7 +5255,7 @@ "proprietary" ], "description": "Availability module", - "time": "2018-02-20T11:05:53+00:00" + "time": "2018-09-18T10:19:59+00:00" }, { "name": "spryker/availability-cart-connector", @@ -5124,27 +5447,29 @@ }, { "name": "spryker/availability-storage", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/availability-storage.git", - "reference": "4a5c0ba90fc7f3819978ef108d2788ced6026c66" + "reference": "4e9b3e98b8efb0ccbd31a1dd57b901e8aca17f13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/availability-storage/zipball/4a5c0ba90fc7f3819978ef108d2788ced6026c66", - "reference": "4a5c0ba90fc7f3819978ef108d2788ced6026c66", + "url": "https://api.github.com/repos/spryker/availability-storage/zipball/4e9b3e98b8efb0ccbd31a1dd57b901e8aca17f13", + "reference": "4e9b3e98b8efb0ccbd31a1dd57b901e8aca17f13", "shasum": "" }, "require": { "php": ">=7.1", "spryker/availability": "^5.4.1 || ^6.0.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product": "^5.5.0 || ^6.0.0", + "spryker/product-alternative-storage-extension": "^1.0.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/event": "*", @@ -5170,7 +5495,7 @@ "proprietary" ], "description": "AvailabilityStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-23T10:27:03+00:00" }, { "name": "spryker/barcode", @@ -5252,64 +5577,6 @@ "description": "BarcodeExtension module", "time": "2018-05-16T13:57:10+00:00" }, - { - "name": "spryker/braintree", - "version": "0.5.8", - "source": { - "type": "git", - "url": "https://github.com/spryker/braintree.git", - "reference": "e86565b647c04fe36287a9be11b730860c8091da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/braintree/zipball/e86565b647c04fe36287a9be11b730860c8091da", - "reference": "e86565b647c04fe36287a9be11b730860c8091da", - "shasum": "" - }, - "require": { - "braintree/braintree_php": "~3.15.0", - "php": ">=7.1", - "spryker/checkout": "^3.0.0 || ^4.0.0", - "spryker/config": "^3.0.0", - "spryker/currency": "^2.0.0 || ^3.0.0", - "spryker/gui": "^3.0.0", - "spryker/kernel": "^3.0.0", - "spryker/money": "^2.0.0", - "spryker/oms": "^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/payment": "^3.0.0 || ^4.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/refund": "^4.0.0 || ^5.0.0", - "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/step-engine": "^2.0.0 || ^3.0.0", - "spryker/symfony": "^3.0.0", - "spryker/util-text": "^1.1.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/country": "*", - "spryker/customer": "*", - "spryker/propel": "*", - "spryker/silex": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "Braintree module", - "time": "2018-02-19T12:41:14+00:00" - }, { "name": "spryker/cache", "version": "3.1.0", @@ -5343,28 +5610,25 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", - "support": { - "source": "https://github.com/spryker/Cache/tree/3.1.0" - }, "time": "2017-04-10T13:13:21+00:00" }, { "name": "spryker/calculation", - "version": "4.3.0", + "version": "4.4.0", "source": { "type": "git", "url": "https://github.com/spryker/calculation.git", - "reference": "553b0b080a0d89fc964b0d2746ee4b0eff2899dc" + "reference": "046e9b0654816c3567e8a9f558b59f9ef40ab3b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/calculation/zipball/553b0b080a0d89fc964b0d2746ee4b0eff2899dc", - "reference": "553b0b080a0d89fc964b0d2746ee4b0eff2899dc", + "url": "https://api.github.com/repos/spryker/calculation/zipball/046e9b0654816c3567e8a9f558b59f9ef40ab3b7", + "reference": "046e9b0654816c3567e8a9f558b59f9ef40ab3b7", "shasum": "" }, "require": { @@ -5397,26 +5661,26 @@ "proprietary" ], "description": "Calculation module", - "time": "2018-03-30T22:19:02+00:00" + "time": "2018-07-15T19:05:17+00:00" }, { "name": "spryker/cart", - "version": "5.1.0", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/spryker/cart.git", - "reference": "a07e4cc7d6e3b9201af283561c90366943475eef" + "reference": "d4c8a2696a2e640b81e1e48ba916df8e75311d5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cart/zipball/a07e4cc7d6e3b9201af283561c90366943475eef", - "reference": "a07e4cc7d6e3b9201af283561c90366943475eef", + "url": "https://api.github.com/repos/spryker/cart/zipball/d4c8a2696a2e640b81e1e48ba916df8e75311d5e", + "reference": "d4c8a2696a2e640b81e1e48ba916df8e75311d5e", "shasum": "" }, "require": { "php": ">=7.1", "spryker/calculation": "^4.0.0", - "spryker/cart-extension": "^1.3.0", + "spryker/cart-extension": "^1.5.0 || ^2.1.0", "spryker/kernel": "^3.19.0", "spryker/messenger": "^3.0.0", "spryker/quote": "^2.0.0", @@ -5453,7 +5717,7 @@ "proprietary" ], "description": "Cart module", - "time": "2018-05-16T15:12:24+00:00" + "time": "2018-08-06T14:30:50+00:00" }, { "name": "spryker/cart-currency-connector", @@ -5500,16 +5764,16 @@ }, { "name": "spryker/cart-extension", - "version": "1.3.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/spryker/cart-extension.git", - "reference": "ea801845f10e4a0416ce192611f4e4c80e9ddcd0" + "reference": "d1e6a13c30b4747b13959ac5abcbe2f977420416" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cart-extension/zipball/ea801845f10e4a0416ce192611f4e4c80e9ddcd0", - "reference": "ea801845f10e4a0416ce192611f4e4c80e9ddcd0", + "url": "https://api.github.com/repos/spryker/cart-extension/zipball/d1e6a13c30b4747b13959ac5abcbe2f977420416", + "reference": "d1e6a13c30b4747b13959ac5abcbe2f977420416", "shasum": "" }, "require": { @@ -5535,7 +5799,7 @@ "proprietary" ], "description": "CartExtension module", - "time": "2018-05-07T14:54:26+00:00" + "time": "2018-07-30T14:19:38+00:00" }, { "name": "spryker/cart-note", @@ -5763,23 +6027,25 @@ }, { "name": "spryker/catalog-price-product-connector", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/spryker/CatalogPriceProductConnector.git", - "reference": "8c450333926f9e4c1190f0e338dc474d5a3059dc" + "url": "https://github.com/spryker/catalog-price-product-connector.git", + "reference": "1a0d685190ba7848afeaf82be82b5e733730274f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/CatalogPriceProductConnector/zipball/8c450333926f9e4c1190f0e338dc474d5a3059dc", - "reference": "8c450333926f9e4c1190f0e338dc474d5a3059dc", + "url": "https://api.github.com/repos/spryker/catalog-price-product-connector/zipball/1a0d685190ba7848afeaf82be82b5e733730274f", + "reference": "1a0d685190ba7848afeaf82be82b5e733730274f", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/currency": "^3.2.0", "spryker/kernel": "^3.0.0", "spryker/price": "^5.0.0", - "spryker/price-product": "^1.0.0" + "spryker/price-product": "^1.0.0 || ^2.0.0", + "spryker/price-product-storage": "^1.0.0 || ^2.0.0" }, "require-dev": { "spryker/catalog": "*", @@ -5810,20 +6076,20 @@ "proprietary" ], "description": "CatalogPriceProductConnector module", - "time": "2018-01-10T11:59:45+00:00" + "time": "2018-07-04T14:05:29+00:00" }, { "name": "spryker/category", - "version": "4.4.1", + "version": "4.8.0", "source": { "type": "git", "url": "https://github.com/spryker/category.git", - "reference": "a463e36f68a7f255a1801b8a8bc83bd5e948cc39" + "reference": "96f0efca793cf6ad2360f09bff767f95d4244597" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/category/zipball/a463e36f68a7f255a1801b8a8bc83bd5e948cc39", - "reference": "a463e36f68a7f255a1801b8a8bc83bd5e948cc39", + "url": "https://api.github.com/repos/spryker/category/zipball/96f0efca793cf6ad2360f09bff767f95d4244597", + "reference": "96f0efca793cf6ad2360f09bff767f95d4244597", "shasum": "" }, "require": { @@ -5831,7 +6097,7 @@ "spryker/event": "^1.0.0 || ^2.0.0", "spryker/graph": "^3.0.0", "spryker/gui": "^3.0.0", - "spryker/kernel": "^3.0.0", + "spryker/kernel": "^3.17.0", "spryker/key-builder": "^1.0.0", "spryker/locale": "^3.0.0", "spryker/propel-orm": "^1.0.0", @@ -5842,10 +6108,13 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { + "spryker/application": "*", "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/propel": "*", "spryker/silex": "*", - "spryker/testify": "*" + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "type": "library", "extra": { @@ -5864,7 +6133,7 @@ "proprietary" ], "description": "Category module", - "time": "2018-05-07T08:19:44+00:00" + "time": "2018-09-27T10:25:38+00:00" }, { "name": "spryker/category-data-feed", @@ -5989,14 +6258,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", - "support": { - "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" - }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -6043,26 +6309,27 @@ }, { "name": "spryker/category-page-search", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/category-page-search.git", - "reference": "833182b389aaf62933176de657a9cd641f58eb48" + "reference": "c757df03470426d43f299d6bc28a73e540e4ba06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/category-page-search/zipball/833182b389aaf62933176de657a9cd641f58eb48", - "reference": "833182b389aaf62933176de657a9cd641f58eb48", + "url": "https://api.github.com/repos/spryker/category-page-search/zipball/c757df03470426d43f299d6bc28a73e540e4ba06", + "reference": "c757df03470426d43f299d6bc28a73e540e4ba06", "shasum": "" }, "require": { "php": ">=7.1", "spryker/category": "^4.3.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/locale": "^3.1.0", "spryker/propel-orm": "^1.5.0", "spryker/search": "^7.0.0 || ^8.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/url": "^3.3.0", "spryker/util-encoding": "^2.0.0" }, @@ -6088,36 +6355,42 @@ "proprietary" ], "description": "CategoryPageSearch module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/category-storage", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/category-storage.git", - "reference": "8a75df0f3da88f0f498c291b399df5319ee83fef" + "reference": "ea0ab6784104eef498299df9bc172ae067d11496" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/category-storage/zipball/8a75df0f3da88f0f498c291b399df5319ee83fef", - "reference": "8a75df0f3da88f0f498c291b399df5319ee83fef", + "url": "https://api.github.com/repos/spryker/category-storage/zipball/ea0ab6784104eef498299df9bc172ae067d11496", + "reference": "ea0ab6784104eef498299df9bc172ae067d11496", "shasum": "" }, "require": { "php": ">=7.1", "spryker/category": "^4.3.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/locale": "^3.1.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/url": "^3.3.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*", "spryker/url-storage": "*" }, "suggest": { @@ -6140,20 +6413,20 @@ "proprietary" ], "description": "CategoryStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-09-06T10:40:21+00:00" }, { "name": "spryker/checkout", - "version": "4.1.4", + "version": "4.1.5", "source": { "type": "git", "url": "https://github.com/spryker/checkout.git", - "reference": "2060aa5f10b86a2c1418cb3be25d142847621176" + "reference": "68283a35f17db945be119dee406a8f779da9fbb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/checkout/zipball/2060aa5f10b86a2c1418cb3be25d142847621176", - "reference": "2060aa5f10b86a2c1418cb3be25d142847621176", + "url": "https://api.github.com/repos/spryker/checkout/zipball/68283a35f17db945be119dee406a8f779da9fbb6", + "reference": "68283a35f17db945be119dee406a8f779da9fbb6", "shasum": "" }, "require": { @@ -6197,20 +6470,20 @@ "proprietary" ], "description": "Checkout module", - "time": "2018-04-12T13:37:08+00:00" + "time": "2018-07-13T09:06:52+00:00" }, { "name": "spryker/cms", - "version": "6.5.0", + "version": "6.5.3", "source": { "type": "git", "url": "https://github.com/spryker/cms.git", - "reference": "3b06716562eac5086ef8094530b9100c3ac45e37" + "reference": "a3af36ae567bed5e8ce727e158236d033f457dcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms/zipball/3b06716562eac5086ef8094530b9100c3ac45e37", - "reference": "3b06716562eac5086ef8094530b9100c3ac45e37", + "url": "https://api.github.com/repos/spryker/cms/zipball/a3af36ae567bed5e8ce727e158236d033f457dcd", + "reference": "a3af36ae567bed5e8ce727e158236d033f457dcd", "shasum": "" }, "require": { @@ -6231,10 +6504,10 @@ "spryker/zed-request": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/propel": "*", - "spryker/silex": "*", - "spryker/testify": "*" + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/cms-block": "If you want to have separate content blocks on your pages." @@ -6256,7 +6529,7 @@ "proprietary" ], "description": "Cms module", - "time": "2018-03-14T11:06:21+00:00" + "time": "2018-09-18T09:51:56+00:00" }, { "name": "spryker/cms-block", @@ -6372,16 +6645,16 @@ }, { "name": "spryker/cms-block-category-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/cms-block-category-storage.git", - "reference": "afe60b49f01661e43ac82c5298454ab1c17e1805" + "reference": "c23535c96da503538c51492fdd18cd9d0930383b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-block-category-storage/zipball/afe60b49f01661e43ac82c5298454ab1c17e1805", - "reference": "afe60b49f01661e43ac82c5298454ab1c17e1805", + "url": "https://api.github.com/repos/spryker/cms-block-category-storage/zipball/c23535c96da503538c51492fdd18cd9d0930383b", + "reference": "c23535c96da503538c51492fdd18cd9d0930383b", "shasum": "" }, "require": { @@ -6389,9 +6662,10 @@ "spryker/category": "^4.3.0", "spryker/cms-block": "^1.5.0 || ^2.0.0", "spryker/cms-block-category-connector": "^2.1.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/propel-orm": "^1.5.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { @@ -6416,7 +6690,7 @@ "proprietary" ], "description": "CmsBlockCategoryStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/cms-block-collector", @@ -6572,24 +6846,25 @@ }, { "name": "spryker/cms-block-product-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/cms-block-product-storage.git", - "reference": "2b0e5512b1b9102713cbb8dc19f80e888f25019d" + "reference": "48c7ff9e143a9e574dd2dd10c783531098fc4f39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-block-product-storage/zipball/2b0e5512b1b9102713cbb8dc19f80e888f25019d", - "reference": "2b0e5512b1b9102713cbb8dc19f80e888f25019d", + "url": "https://api.github.com/repos/spryker/cms-block-product-storage/zipball/48c7ff9e143a9e574dd2dd10c783531098fc4f39", + "reference": "48c7ff9e143a9e574dd2dd10c783531098fc4f39", "shasum": "" }, "require": { "php": ">=7.1", "spryker/cms-block": "^1.5.0 || ^2.0.0", "spryker/cms-block-product-connector": "^1.1.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { @@ -6616,30 +6891,31 @@ "proprietary" ], "description": "CmsBlockProductStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/cms-block-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/cms-block-storage.git", - "reference": "768bec22493475cf5d42c17fb6908bc855669e9b" + "reference": "0edbe2988a15de75cea3c087507a7afab1dddbcb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-block-storage/zipball/768bec22493475cf5d42c17fb6908bc855669e9b", - "reference": "768bec22493475cf5d42c17fb6908bc855669e9b", + "url": "https://api.github.com/repos/spryker/cms-block-storage/zipball/0edbe2988a15de75cea3c087507a7afab1dddbcb", + "reference": "0edbe2988a15de75cea3c087507a7afab1dddbcb", "shasum": "" }, "require": { "php": ">=7.1", "spryker/cms-block": "^1.5.0 || ^2.0.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { @@ -6665,7 +6941,7 @@ "proprietary" ], "description": "CmsBlockStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/cms-collector", @@ -6782,16 +7058,16 @@ }, { "name": "spryker/cms-content-widget-product-connector", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker/cms-content-widget-product-connector.git", - "reference": "2837852273b253e1251822a77988322ba81d633f" + "reference": "10df31935d8f33e1ae245b361ebcf9e225a97183" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-content-widget-product-connector/zipball/2837852273b253e1251822a77988322ba81d633f", - "reference": "2837852273b253e1251822a77988322ba81d633f", + "url": "https://api.github.com/repos/spryker/cms-content-widget-product-connector/zipball/10df31935d8f33e1ae245b361ebcf9e225a97183", + "reference": "10df31935d8f33e1ae245b361ebcf9e225a97183", "shasum": "" }, "require": { @@ -6827,7 +7103,7 @@ "proprietary" ], "description": "CmsContentWidgetProductConnector module", - "time": "2018-01-24T11:43:27+00:00" + "time": "2018-08-28T12:34:54+00:00" }, { "name": "spryker/cms-content-widget-product-group-connector", @@ -6924,16 +7200,16 @@ }, { "name": "spryker/cms-gui", - "version": "4.3.7", + "version": "4.3.8", "source": { "type": "git", "url": "https://github.com/spryker/cms-gui.git", - "reference": "f9a47eea3ab72c4475e242ca6f877fd3f1eb0fd5" + "reference": "7a4f5ccb2dc45c1c13762dd2970fb0f8d59907b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-gui/zipball/f9a47eea3ab72c4475e242ca6f877fd3f1eb0fd5", - "reference": "f9a47eea3ab72c4475e242ca6f877fd3f1eb0fd5", + "url": "https://api.github.com/repos/spryker/cms-gui/zipball/7a4f5ccb2dc45c1c13762dd2970fb0f8d59907b5", + "reference": "7a4f5ccb2dc45c1c13762dd2970fb0f8d59907b5", "shasum": "" }, "require": { @@ -6973,7 +7249,7 @@ "proprietary" ], "description": "CmsGui module", - "time": "2018-02-08T13:02:40+00:00" + "time": "2018-07-02T13:40:41+00:00" }, { "name": "spryker/cms-navigation-connector", @@ -7019,25 +7295,26 @@ }, { "name": "spryker/cms-page-search", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/cms-page-search.git", - "reference": "89375091dbd6f2bb96b79a924a303bd52b1c4465" + "reference": "faa5ae08c4ecafa3f81ca6835cec61719b0cedd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-page-search/zipball/89375091dbd6f2bb96b79a924a303bd52b1c4465", - "reference": "89375091dbd6f2bb96b79a924a303bd52b1c4465", + "url": "https://api.github.com/repos/spryker/cms-page-search/zipball/faa5ae08c4ecafa3f81ca6835cec61719b0cedd2", + "reference": "faa5ae08c4ecafa3f81ca6835cec61719b0cedd2", "shasum": "" }, "require": { "php": ">=7.1", "spryker/cms": "^6.4.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/locale": "^3.1.0", "spryker/search": "^7.0.0 || ^8.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-encoding": "^2.0.0" }, "require-dev": { @@ -7066,29 +7343,30 @@ "proprietary" ], "description": "CmsPageSearch module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/cms-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/cms-storage.git", - "reference": "85d09f5d1222927487c6d1bf33065637a452b458" + "reference": "6d3fad592af6fe862ae74591656caaf4f2e73b6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-storage/zipball/85d09f5d1222927487c6d1bf33065637a452b458", - "reference": "85d09f5d1222927487c6d1bf33065637a452b458", + "url": "https://api.github.com/repos/spryker/cms-storage/zipball/6d3fad592af6fe862ae74591656caaf4f2e73b6d", + "reference": "6d3fad592af6fe862ae74591656caaf4f2e73b6d", "shasum": "" }, "require": { "php": ">=7.1", "spryker/cms": "^6.4.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/locale": "^3.1.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/event": "*", @@ -7118,7 +7396,7 @@ "proprietary" ], "description": "CmsStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/cms-user-connector", @@ -7157,19 +7435,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", - "support": { - "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" - }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -7219,16 +7489,16 @@ }, { "name": "spryker/collector", - "version": "6.1.5", + "version": "6.1.6", "source": { "type": "git", "url": "https://github.com/spryker/collector.git", - "reference": "a3c759cd145e5c68b1c4e108fd3285f13ad5ef17" + "reference": "1b4f455ce3aee1db420aab5e69ca5a8277dee7f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/collector/zipball/a3c759cd145e5c68b1c4e108fd3285f13ad5ef17", - "reference": "a3c759cd145e5c68b1c4e108fd3285f13ad5ef17", + "url": "https://api.github.com/repos/spryker/collector/zipball/1b4f455ce3aee1db420aab5e69ca5a8277dee7f5", + "reference": "1b4f455ce3aee1db420aab5e69ca5a8277dee7f5", "shasum": "" }, "require": { @@ -7251,7 +7521,6 @@ "spryker/util-data-reader": "^1.2.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/testify": "*" }, "type": "library", @@ -7271,7 +7540,7 @@ "proprietary" ], "description": "Collector module", - "time": "2018-03-13T15:26:44+00:00" + "time": "2018-09-07T11:05:09+00:00" }, { "name": "spryker/collector-search-connector", @@ -7458,30 +7727,29 @@ }, { "name": "spryker/country", - "version": "3.1.2", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/spryker/country.git", - "reference": "2013ffa107d5a40a605ce645336d9d71951f347f" + "reference": "ff649871d151b76ce34cc2fba48c18c5ce65ab85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/country/zipball/2013ffa107d5a40a605ce645336d9d71951f347f", - "reference": "2013ffa107d5a40a605ce645336d9d71951f347f", + "url": "https://api.github.com/repos/spryker/country/zipball/ff649871d151b76ce34cc2fba48c18c5ce65ab85", + "reference": "ff649871d151b76ce34cc2fba48c18c5ce65ab85", "shasum": "" }, "require": { "php": ">=7.1", "spryker/gui": "^3.0.0", - "spryker/kernel": "^3.0.0" + "spryker/kernel": "^3.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/zed-request": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/installer": "*", "spryker/log": "*", "spryker/propel": "*", - "spryker/propel-orm": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -7504,20 +7772,55 @@ "proprietary" ], "description": "Country module", - "time": "2018-03-29T05:15:22+00:00" + "time": "2018-09-03T08:58:06+00:00" + }, + { + "name": "spryker/csv", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/csv.git", + "reference": "d91fcc6cdcb3b727e17f0ce85e67610db6e57351" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/csv/zipball/d91fcc6cdcb3b727e17f0ce85e67610db6e57351", + "reference": "d91fcc6cdcb3b727e17f0ce85e67610db6e57351", + "shasum": "" + }, + "require": { + "league/csv": "^9.1", + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Csv module", + "time": "2018-06-20T12:42:41+00:00" }, { "name": "spryker/currency", - "version": "3.4.0", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/spryker/currency.git", - "reference": "abeb37af7e39a9f7e956b255949485c7fda5a6c6" + "reference": "da03ac22e35083c32330eb287df56fc20df93fcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/currency/zipball/abeb37af7e39a9f7e956b255949485c7fda5a6c6", - "reference": "abeb37af7e39a9f7e956b255949485c7fda5a6c6", + "url": "https://api.github.com/repos/spryker/currency/zipball/da03ac22e35083c32330eb287df56fc20df93fcd", + "reference": "da03ac22e35083c32330eb287df56fc20df93fcd", "shasum": "" }, "require": { @@ -7562,7 +7865,7 @@ "proprietary" ], "description": "Currency module", - "time": "2018-05-16T14:01:09+00:00" + "time": "2018-08-02T11:13:35+00:00" }, { "name": "spryker/currency-extension", @@ -7605,16 +7908,16 @@ }, { "name": "spryker/customer", - "version": "7.10.0", + "version": "7.10.2", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "0fc92b0cc05044883d53c0a15bd9f2bb597e4f9e" + "reference": "0174a099a1d9db1e4ff46d6da9360a3cf2ce552c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/0fc92b0cc05044883d53c0a15bd9f2bb597e4f9e", - "reference": "0fc92b0cc05044883d53c0a15bd9f2bb597e4f9e", + "url": "https://api.github.com/repos/spryker/customer/zipball/0174a099a1d9db1e4ff46d6da9360a3cf2ce552c", + "reference": "0174a099a1d9db1e4ff46d6da9360a3cf2ce552c", "shasum": "" }, "require": { @@ -7669,7 +7972,7 @@ "proprietary" ], "description": "Customer module", - "time": "2018-06-08T14:08:21+00:00" + "time": "2018-07-25T09:11:18+00:00" }, { "name": "spryker/customer-api", @@ -7714,19 +8017,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", - "support": { - "source": "https://github.com/spryker/CustomerApi/tree/master" - }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -7770,16 +8065,16 @@ }, { "name": "spryker/customer-group", - "version": "2.2.6", + "version": "2.2.7", "source": { "type": "git", "url": "https://github.com/spryker/customer-group.git", - "reference": "bbb57158ac74a72c2c93089a9929e6c300539b12" + "reference": "4d1be60f75d846e40318ac31537853517893f54a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-group/zipball/bbb57158ac74a72c2c93089a9929e6c300539b12", - "reference": "bbb57158ac74a72c2c93089a9929e6c300539b12", + "url": "https://api.github.com/repos/spryker/customer-group/zipball/4d1be60f75d846e40318ac31537853517893f54a", + "reference": "4d1be60f75d846e40318ac31537853517893f54a", "shasum": "" }, "require": { @@ -7793,14 +8088,10 @@ "spryker/util-encoding": "^2.0.0" }, "require-dev": { - "spryker/assertion": "^3.0.0", - "spryker/code-sniffer": "*", - "spryker/country": "*", - "spryker/locale": "*", + "spryker/application": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*", - "spryker/twig": "*" + "spryker/zed-navigation": "*" }, "type": "library", "extra": { @@ -7819,7 +8110,7 @@ "proprietary" ], "description": "CustomerGroup module", - "time": "2018-02-05T06:01:59+00:00" + "time": "2018-09-11T14:18:59+00:00" }, { "name": "spryker/customer-group-discount-connector", @@ -8047,16 +8338,16 @@ }, { "name": "spryker/customer-user-connector-gui", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/customer-user-connector-gui.git", - "reference": "22db3246a977cd42b46a50f05fb4332d2a5ba7c9" + "reference": "750de09a3bd986aa54fbb5a28456e89e1935fae1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-user-connector-gui/zipball/22db3246a977cd42b46a50f05fb4332d2a5ba7c9", - "reference": "22db3246a977cd42b46a50f05fb4332d2a5ba7c9", + "url": "https://api.github.com/repos/spryker/customer-user-connector-gui/zipball/750de09a3bd986aa54fbb5a28456e89e1935fae1", + "reference": "750de09a3bd986aa54fbb5a28456e89e1935fae1", "shasum": "" }, "require": { @@ -8067,12 +8358,10 @@ "spryker/kernel": "^3.5.0", "spryker/propel-orm": "^1.0.0", "spryker/symfony": "^3.0.0", - "spryker/user": "^3.0.0" + "spryker/user": "^3.0.0", + "spryker/user-extension": "^1.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/testify": "*", "spryker/util-text": "*" }, "suggest": { @@ -8094,20 +8383,20 @@ "proprietary" ], "description": "CustomerUserConnectorGui module", - "time": "2018-01-25T09:08:12+00:00" + "time": "2018-09-05T07:46:20+00:00" }, { "name": "spryker/data-import", - "version": "1.3.1", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/spryker/data-import.git", - "reference": "57fb4076fc838e53903d99d5c3cd93c8ac0abbf6" + "reference": "f6f1a4c9cacabd52162ae4e66f8f6589c66b9ab3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/data-import/zipball/57fb4076fc838e53903d99d5c3cd93c8ac0abbf6", - "reference": "57fb4076fc838e53903d99d5c3cd93c8ac0abbf6", + "url": "https://api.github.com/repos/spryker/data-import/zipball/f6f1a4c9cacabd52162ae4e66f8f6589c66b9ab3", + "reference": "f6f1a4c9cacabd52162ae4e66f8f6589c66b9ab3", "shasum": "" }, "require": { @@ -8122,7 +8411,7 @@ }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/event-behavior": "^0.1.0", + "spryker/event-behavior": "*", "spryker/testify": "*" }, "suggest": { @@ -8145,31 +8434,33 @@ "proprietary" ], "description": "DataImport module", - "time": "2018-04-03T13:52:19+00:00" + "time": "2018-07-04T17:02:32+00:00" }, { "name": "spryker/discount", - "version": "6.2.1", + "version": "6.3.2", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "8c7813b2c3ad0bf1176a97144ac7d27d2ec6cc49" + "reference": "017adb5814a792b3e61af8110e35ecb2dbcacca8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/8c7813b2c3ad0bf1176a97144ac7d27d2ec6cc49", - "reference": "8c7813b2c3ad0bf1176a97144ac7d27d2ec6cc49", + "url": "https://api.github.com/repos/spryker/discount/zipball/017adb5814a792b3e61af8110e35ecb2dbcacca8", + "reference": "017adb5814a792b3e61af8110e35ecb2dbcacca8", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/cart-extension": "^1.0.0", + "spryker/cart-extension": "^1.0.0 || ^2.0.0", "spryker/currency": "^3.1.0", + "spryker/discount-extension": "^1.0.0", "spryker/gui": "^3.7.0", "spryker/kernel": "^3.11.0", "spryker/log": "^3.0.0", "spryker/messenger": "^3.0.0", "spryker/money": "^2.0.0", + "spryker/product-option": "^6.0.0", "spryker/propel-orm": "^1.0.0", "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "spryker/store": "^1.1.0", @@ -8205,7 +8496,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-05-07T14:54:26+00:00" + "time": "2018-08-03T12:00:35+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -8252,24 +8543,63 @@ "description": "DiscountCalculationConnector module", "time": "2018-01-26T13:20:18+00:00" }, + { + "name": "spryker/discount-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/discount-extension.git", + "reference": "16ac5bd816f6757b0dbcad3851bb2f7df30d133f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/discount-extension/zipball/16ac5bd816f6757b0dbcad3851bb2f7df30d133f", + "reference": "16ac5bd816f6757b0dbcad3851bb2f7df30d133f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "DiscountExtension module", + "time": "2018-06-19T11:09:44+00:00" + }, { "name": "spryker/discount-promotion", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/spryker/discount-promotion.git", - "reference": "270051a47cd4bcc931a7bf66a2d762e704c37f31" + "reference": "38dd20bc189052c01ec6fb639fa94ae0a2ed37bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount-promotion/zipball/270051a47cd4bcc931a7bf66a2d762e704c37f31", - "reference": "270051a47cd4bcc931a7bf66a2d762e704c37f31", + "url": "https://api.github.com/repos/spryker/discount-promotion/zipball/38dd20bc189052c01ec6fb639fa94ae0a2ed37bb", + "reference": "38dd20bc189052c01ec6fb639fa94ae0a2ed37bb", "shasum": "" }, "require": { "php": ">=7.1", "spryker/availability": "^5.0.3 || ^6.0.0", - "spryker/cart-extension": "^1.0.0", + "spryker/cart-extension": "^1.0.0 || ^2.0.0", "spryker/discount": "^4.5.0 || ^5.0.0 || ^6.0.0", "spryker/kernel": "^3.0.0", "spryker/locale": "^3.0.0", @@ -8307,7 +8637,7 @@ "proprietary" ], "description": "DiscountPromotion module", - "time": "2018-05-16T15:12:24+00:00" + "time": "2018-07-31T07:49:09+00:00" }, { "name": "spryker/dummy-payment", @@ -8390,14 +8720,11 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Egulias module", - "support": { - "source": "https://github.com/spryker/Egulias/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -8433,23 +8760,24 @@ }, { "name": "spryker/error-handler", - "version": "2.1.3", + "version": "2.3.0", "source": { "type": "git", - "url": "https://github.com/spryker/ErrorHandler.git", - "reference": "831b9b54315785c0e312396ee8a087b1211c3b44" + "url": "https://github.com/spryker/error-handler.git", + "reference": "b3f2949577b588ed5da4b150b65a4c61e9329cea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/ErrorHandler/zipball/831b9b54315785c0e312396ee8a087b1211c3b44", - "reference": "831b9b54315785c0e312396ee8a087b1211c3b44", + "url": "https://api.github.com/repos/spryker/error-handler/zipball/b3f2949577b588ed5da4b150b65a4c61e9329cea", + "reference": "b3f2949577b588ed5da4b150b65a4c61e9329cea", "shasum": "" }, "require": { "filp/whoops": "^2.1", + "php": ">=7.1", "spryker/config": "^3.0.0", "spryker/log": "^3.0.0", - "spryker/new-relic-api": "^1.0.0" + "spryker/monitoring": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -8467,8 +8795,8 @@ } }, "autoload": { - "psr-0": { - "Spryker": "src/" + "psr-4": { + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", @@ -8476,7 +8804,7 @@ "proprietary" ], "description": "ErrorHandler module", - "time": "2017-09-28T14:22:48+00:00" + "time": "2018-07-25T06:50:28+00:00" }, { "name": "spryker/event", @@ -8528,16 +8856,16 @@ }, { "name": "spryker/event-behavior", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/event-behavior.git", - "reference": "9de73f7ebce77354f86b26ec1e2c5530b7120d7f" + "reference": "88f081e2c361ff7fe0fbf66a5abed3427b87e30b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/event-behavior/zipball/9de73f7ebce77354f86b26ec1e2c5530b7120d7f", - "reference": "9de73f7ebce77354f86b26ec1e2c5530b7120d7f", + "url": "https://api.github.com/repos/spryker/event-behavior/zipball/88f081e2c361ff7fe0fbf66a5abed3427b87e30b", + "reference": "88f081e2c361ff7fe0fbf66a5abed3427b87e30b", "shasum": "" }, "require": { @@ -8583,7 +8911,7 @@ "proprietary" ], "description": "EventBehavior module", - "time": "2018-05-30T09:20:04+00:00" + "time": "2018-07-23T08:13:08+00:00" }, { "name": "spryker/event-journal", @@ -8669,20 +8997,21 @@ }, { "name": "spryker/flysystem", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/spryker/Flysystem.git", - "reference": "e83c1779acbc42c0d1e59d7b6a7c6b4b4bdfd000" + "url": "https://github.com/spryker/flysystem.git", + "reference": "afc7a133f7058bfaba1ae7578abaa763eb854b0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/Flysystem/zipball/e83c1779acbc42c0d1e59d7b6a7c6b4b4bdfd000", - "reference": "e83c1779acbc42c0d1e59d7b6a7c6b4b4bdfd000", + "url": "https://api.github.com/repos/spryker/flysystem/zipball/afc7a133f7058bfaba1ae7578abaa763eb854b0c", + "reference": "afc7a133f7058bfaba1ae7578abaa763eb854b0c", "shasum": "" }, "require": { "league/flysystem": "^1.0", + "php": ">=7.1", "spryker/file-system": "^1.0.0", "spryker/kernel": "^3.5.0" }, @@ -8712,7 +9041,7 @@ "proprietary" ], "description": "Flysystem module", - "time": "2017-10-25T08:03:49+00:00" + "time": "2018-08-13T09:56:14+00:00" }, { "name": "spryker/flysystem-aws3v3-file-system", @@ -8849,21 +9178,22 @@ }, { "name": "spryker/gift-card", - "version": "1.0.1", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker/gift-card.git", - "reference": "49dd866912230bd68480729c2230a6484bc8fee0" + "reference": "432e3612328fe6d42c88de677d4fc8826abc9b67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/gift-card/zipball/49dd866912230bd68480729c2230a6484bc8fee0", - "reference": "49dd866912230bd68480729c2230a6484bc8fee0", + "url": "https://api.github.com/repos/spryker/gift-card/zipball/432e3612328fe6d42c88de677d4fc8826abc9b67", + "reference": "432e3612328fe6d42c88de677d4fc8826abc9b67", "shasum": "" }, "require": { "php": ">=7.1", "spryker/kernel": "^3.0.0", + "spryker/payment": "^4.0.0", "spryker/product": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "spryker/propel-orm": "^1.5.0", "spryker/sales": "^8.0.0", @@ -8877,7 +9207,6 @@ "spryker/code-sniffer": "*", "spryker/discount": "^5.0.0 || ^6.0.0", "spryker/oms": "^7.0.0 || ^8.0.0", - "spryker/payment": "^4.0.0", "spryker/propel": "^3.0.0", "spryker/shipment": "^6.2.0", "spryker/testify": "*" @@ -8908,20 +9237,20 @@ "proprietary" ], "description": "GiftCard module", - "time": "2018-04-10T12:59:19+00:00" + "time": "2018-08-28T16:39:42+00:00" }, { "name": "spryker/gift-card-balance", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/gift-card-balance.git", - "reference": "a48a7e77bb06d49c69fdf430ab249eb09ca7710f" + "reference": "3d710e89cb68dcc77cabbebeba8dafcbb9fe8bb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/gift-card-balance/zipball/a48a7e77bb06d49c69fdf430ab249eb09ca7710f", - "reference": "a48a7e77bb06d49c69fdf430ab249eb09ca7710f", + "url": "https://api.github.com/repos/spryker/gift-card-balance/zipball/3d710e89cb68dcc77cabbebeba8dafcbb9fe8bb1", + "reference": "3d710e89cb68dcc77cabbebeba8dafcbb9fe8bb1", "shasum": "" }, "require": { @@ -8955,7 +9284,7 @@ "proprietary" ], "description": "GiftCardBalance module", - "time": "2018-02-20T10:32:40+00:00" + "time": "2018-08-28T16:39:42+00:00" }, { "name": "spryker/gift-card-mail-connector", @@ -9009,16 +9338,16 @@ }, { "name": "spryker/glossary", - "version": "3.3.3", + "version": "3.3.5", "source": { "type": "git", "url": "https://github.com/spryker/glossary.git", - "reference": "be5a73d13ca49247f8cd8fa2157451cde0bdd132" + "reference": "b34a20ff83513b0e15a434f4b9904e23ef2311a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glossary/zipball/be5a73d13ca49247f8cd8fa2157451cde0bdd132", - "reference": "be5a73d13ca49247f8cd8fa2157451cde0bdd132", + "url": "https://api.github.com/repos/spryker/glossary/zipball/b34a20ff83513b0e15a434f4b9904e23ef2311a5", + "reference": "b34a20ff83513b0e15a434f4b9904e23ef2311a5", "shasum": "" }, "require": { @@ -9035,12 +9364,12 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/installer": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*", - "spryker/twig": "*" + "spryker/twig": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/installer": "If you want to use Installer plugins.", @@ -9062,34 +9391,41 @@ "proprietary" ], "description": "Glossary module", - "time": "2018-02-05T06:01:59+00:00" + "time": "2018-09-24T00:29:06+00:00" }, { "name": "spryker/glossary-storage", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker/glossary-storage.git", - "reference": "6cbe15fab8e14c86b45102cd7e4650699799bc16" + "reference": "8969ab992443382c82be13608707e859543fdcd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glossary-storage/zipball/6cbe15fab8e14c86b45102cd7e4650699799bc16", - "reference": "6cbe15fab8e14c86b45102cd7e4650699799bc16", + "url": "https://api.github.com/repos/spryker/glossary-storage/zipball/8969ab992443382c82be13608707e859543fdcd7", + "reference": "8969ab992443382c82be13608707e859543fdcd7", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/glossary": "^3.3.0", "spryker/kernel": "^3.21.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { - "spryker/event": "*" + "spryker/code-sniffer": "*", + "spryker/config": "*", + "spryker/event": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/queue": "*", + "spryker/testify": "*" }, "suggest": { "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" @@ -9110,7 +9446,7 @@ "proprietary" ], "description": "GlossaryStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-09-25T12:41:25+00:00" }, { "name": "spryker/graph", @@ -9147,19 +9483,11 @@ "Function": "tests/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", - "support": { - "source": "https://github.com/spryker/Graph/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -9185,14 +9513,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", - "support": { - "source": "https://github.com/spryker/Graphviz/tree/2.0.1" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -9278,16 +9603,16 @@ }, { "name": "spryker/heartbeat", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/spryker/heartbeat.git", - "reference": "05885b0aba20378845ca25ab550bf1bedaced943" + "reference": "477b3d28f8b3b58cbbe25b32b44890da14903e1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/heartbeat/zipball/05885b0aba20378845ca25ab550bf1bedaced943", - "reference": "05885b0aba20378845ca25ab550bf1bedaced943", + "url": "https://api.github.com/repos/spryker/heartbeat/zipball/477b3d28f8b3b58cbbe25b32b44890da14903e1d", + "reference": "477b3d28f8b3b58cbbe25b32b44890da14903e1d", "shasum": "" }, "require": { @@ -9303,7 +9628,7 @@ "spryker/symfony": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -9322,20 +9647,20 @@ "proprietary" ], "description": "Heartbeat module", - "time": "2018-03-09T07:57:08+00:00" + "time": "2018-09-11T09:39:45+00:00" }, { "name": "spryker/install", - "version": "0.4.1", + "version": "0.5.0", "source": { "type": "git", "url": "https://github.com/spryker/install.git", - "reference": "8f840e76c0bed9c76761abad4ce995fc462f31fe" + "reference": "8c9c7d30e10c226de4729ee0211e7947c179fe30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/install/zipball/8f840e76c0bed9c76761abad4ce995fc462f31fe", - "reference": "8f840e76c0bed9c76761abad4ce995fc462f31fe", + "url": "https://api.github.com/repos/spryker/install/zipball/8c9c7d30e10c226de4729ee0211e7947c179fe30", + "reference": "8c9c7d30e10c226de4729ee0211e7947c179fe30", "shasum": "" }, "require": { @@ -9366,26 +9691,30 @@ "MIT" ], "description": "Spryker install tool", - "time": "2018-04-13T12:29:30+00:00" + "time": "2018-07-26T07:36:01+00:00" }, { "name": "spryker/installer", - "version": "4.0.0", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/spryker/Installer.git", - "reference": "5033978a4097fd57855b6fac1dfb16a3a1a14cb4" + "url": "https://github.com/spryker/installer.git", + "reference": "7ff9b6841bc7e448cd66b5a6f7d73914d4ca5361" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/Installer/zipball/5033978a4097fd57855b6fac1dfb16a3a1a14cb4", - "reference": "5033978a4097fd57855b6fac1dfb16a3a1a14cb4", + "url": "https://api.github.com/repos/spryker/installer/zipball/7ff9b6841bc7e448cd66b5a6f7d73914d4ca5361", + "reference": "7ff9b6841bc7e448cd66b5a6f7d73914d4ca5361", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/kernel": "^3.0.0", "spryker/symfony": "^3.0.0" }, + "require-dev": { + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -9393,16 +9722,16 @@ } }, "autoload": { - "psr-0": { - "Spryker": "src/" + "psr-4": { + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "Installer bundle", - "time": "2017-02-22T12:08:46+00:00" + "description": "Installer module", + "time": "2018-09-03T14:04:14+00:00" }, { "name": "spryker/invoice", @@ -9433,41 +9762,32 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/", - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", - "support": { - "source": "https://github.com/spryker/Invoice/tree/2.0.1" - }, "time": "2017-02-22T11:53:10+00:00" }, { "name": "spryker/kernel", - "version": "3.21.0", + "version": "3.24.0", "source": { "type": "git", "url": "https://github.com/spryker/kernel.git", - "reference": "c1a7dcdd43438eb9156a7561c35fe48e46da4453" + "reference": "3890bb69324f297039e0e1a8b5856802d876b7a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/kernel/zipball/c1a7dcdd43438eb9156a7561c35fe48e46da4453", - "reference": "c1a7dcdd43438eb9156a7561c35fe48e46da4453", + "url": "https://api.github.com/repos/spryker/kernel/zipball/3890bb69324f297039e0e1a8b5856802d876b7a9", + "reference": "3890bb69324f297039e0e1a8b5856802d876b7a9", "shasum": "" }, "require": { "everon/collection": "^1.0.0", "php": ">=5.6.0", "spryker/config": "^3.0.0", - "spryker/error-handler": "^2.0.0", + "spryker/error-handler": "^2.2.0", "spryker/propel-orm": "^1.6.0", "spryker/silex": "^2.0.0", "spryker/symfony": "^3.0.0", @@ -9476,9 +9796,8 @@ }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/console": "^3.0.0 || ^4.0.0", - "spryker/testify": "^3.3.0", - "spryker/transfer": "^3.6.0" + "spryker/propel": "*", + "spryker/testify": "^3.3.0" }, "type": "library", "extra": { @@ -9496,7 +9815,7 @@ "proprietary" ], "description": "Kernel module", - "time": "2018-05-16T16:01:08+00:00" + "time": "2018-09-25T07:26:52+00:00" }, { "name": "spryker/key-builder", @@ -9584,16 +9903,16 @@ }, { "name": "spryker/log", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/spryker/log.git", - "reference": "43349c03d25246d16325416f70b6f70862931f60" + "reference": "eeb2ea45d97be7cdaafc60df1f1030f7be73a432" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/log/zipball/43349c03d25246d16325416f70b6f70862931f60", - "reference": "43349c03d25246d16325416f70b6f70862931f60", + "url": "https://api.github.com/repos/spryker/log/zipball/eeb2ea45d97be7cdaafc60df1f1030f7be73a432", + "reference": "eeb2ea45d97be7cdaafc60df1f1030f7be73a432", "shasum": "" }, "require": { @@ -9630,7 +9949,7 @@ "proprietary" ], "description": "Log module", - "time": "2018-06-11T15:36:49+00:00" + "time": "2018-08-01T08:16:42+00:00" }, { "name": "spryker/mail", @@ -9751,16 +10070,16 @@ }, { "name": "spryker/manual-order-entry", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker/manual-order-entry.git", - "reference": "ffe302a8d194ff00b2352265501d5374fa4d405c" + "reference": "3ff135e691c1af56f4b8262b4d1cb1799ddc4dbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/manual-order-entry/zipball/ffe302a8d194ff00b2352265501d5374fa4d405c", - "reference": "ffe302a8d194ff00b2352265501d5374fa4d405c", + "url": "https://api.github.com/repos/spryker/manual-order-entry/zipball/3ff135e691c1af56f4b8262b4d1cb1799ddc4dbf", + "reference": "3ff135e691c1af56f4b8262b4d1cb1799ddc4dbf", "shasum": "" }, "require": { @@ -9793,7 +10112,7 @@ "proprietary" ], "description": "ManualOrderEntry module", - "time": "2018-06-07T08:39:40+00:00" + "time": "2018-08-15T06:37:02+00:00" }, { "name": "spryker/manual-order-entry-gui", @@ -9894,27 +10213,26 @@ }, { "name": "spryker/messenger", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/spryker/Messenger.git", - "reference": "453ed5f070b0690f5f4c8bdd99a95e328ec655c8" + "url": "https://github.com/spryker/messenger.git", + "reference": "ea709b48675d2d27325b5bc8399fcd8519b2982f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/Messenger/zipball/453ed5f070b0690f5f4c8bdd99a95e328ec655c8", - "reference": "453ed5f070b0690f5f4c8bdd99a95e328ec655c8", + "url": "https://api.github.com/repos/spryker/messenger/zipball/ea709b48675d2d27325b5bc8399fcd8519b2982f", + "reference": "ea709b48675d2d27325b5bc8399fcd8519b2982f", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/kernel": "^3.0.0", "spryker/session": "^3.0.0", "spryker/symfony": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", - "spryker/silex": "*", - "spryker/testify": "*" + "spryker/silex": "*" }, "suggest": { "spryker/silex": "If you want to use ServiceProvider." @@ -9935,7 +10253,7 @@ "proprietary" ], "description": "Messenger module", - "time": "2017-11-23T13:09:25+00:00" + "time": "2018-09-07T11:05:09+00:00" }, { "name": "spryker/money", @@ -9989,47 +10307,131 @@ "time": "2018-02-01T09:02:49+00:00" }, { - "name": "spryker/monolog", - "version": "2.0.3", + "name": "spryker/monitoring", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/spryker/Monolog.git", - "reference": "d1c75126c08cfc38831750df9f6b0b70e412e73d" + "url": "https://github.com/spryker/monitoring.git", + "reference": "ff0c0ba29e202739e6c9182a043dd49a026584c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/Monolog/zipball/d1c75126c08cfc38831750df9f6b0b70e412e73d", - "reference": "d1c75126c08cfc38831750df9f6b0b70e412e73d", + "url": "https://api.github.com/repos/spryker/monitoring/zipball/ff0c0ba29e202739e6c9182a043dd49a026584c9", + "reference": "ff0c0ba29e202739e6c9182a043dd49a026584c9", "shasum": "" }, "require": { - "monolog/monolog": "^1.21.0" + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/monitoring-extension": "^1.0.0", + "spryker/new-relic-api": "^1.1.0", + "spryker/store": "^1.0.0", + "spryker/util-network": "^1.0.0" + }, + "require-dev": { + "spryker/silex": "^2.0.0", + "spryker/symfony": "^3.0.0" + }, + "suggest": { + "spryker/silex": "If you want to use the Monitoring ServiceProvider, please add spryker/silex", + "spryker/symfony": "If you want to use the Monitoring ServiceProvider, please add spryker/symfony" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "Monolog module", - "time": "2017-08-02T16:31:17+00:00" + "description": "Monitoring module", + "time": "2018-08-10T05:07:48+00:00" }, { - "name": "spryker/navigation", - "version": "2.3.0", + "name": "spryker/monitoring-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/monitoring-extension.git", + "reference": "dab766858ce64aa2176caeb3674c7691b9447f2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/monitoring-extension/zipball/dab766858ce64aa2176caeb3674c7691b9447f2d", + "reference": "dab766858ce64aa2176caeb3674c7691b9447f2d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "MonitoringExtension module", + "time": "2018-07-25T06:50:26+00:00" + }, + { + "name": "spryker/monolog", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/spryker/Monolog.git", + "reference": "d1c75126c08cfc38831750df9f6b0b70e412e73d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/Monolog/zipball/d1c75126c08cfc38831750df9f6b0b70e412e73d", + "reference": "d1c75126c08cfc38831750df9f6b0b70e412e73d", + "shasum": "" + }, + "require": { + "monolog/monolog": "^1.21.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Monolog module", + "time": "2017-08-02T16:31:17+00:00" + }, + { + "name": "spryker/navigation", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spryker/navigation.git", - "reference": "02547875fe5595bd24cce9be1dc4d1c3163a88cc" + "reference": "0aa68ccc2e9a9071547ad589965a2ff8af4871e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/navigation/zipball/02547875fe5595bd24cce9be1dc4d1c3163a88cc", - "reference": "02547875fe5595bd24cce9be1dc4d1c3163a88cc", + "url": "https://api.github.com/repos/spryker/navigation/zipball/0aa68ccc2e9a9071547ad589965a2ff8af4871e3", + "reference": "0aa68ccc2e9a9071547ad589965a2ff8af4871e3", "shasum": "" }, "require": { @@ -10069,7 +10471,7 @@ "proprietary" ], "description": "Navigation module", - "time": "2018-01-24T14:47:00+00:00" + "time": "2018-09-07T16:45:12+00:00" }, { "name": "spryker/navigation-collector", @@ -10173,27 +10575,28 @@ }, { "name": "spryker/navigation-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/navigation-storage.git", - "reference": "ebdbcfe812962c269419bf40477a41f5b2063c7d" + "reference": "c310d0b6cf1ac57494fd59a5909e02e68c2a9a80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/navigation-storage/zipball/ebdbcfe812962c269419bf40477a41f5b2063c7d", - "reference": "ebdbcfe812962c269419bf40477a41f5b2063c7d", + "url": "https://api.github.com/repos/spryker/navigation-storage/zipball/c310d0b6cf1ac57494fd59a5909e02e68c2a9a80", + "reference": "c310d0b6cf1ac57494fd59a5909e02e68c2a9a80", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/locale": "^3.1.0", "spryker/navigation": "^2.2.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { @@ -10220,23 +10623,24 @@ "proprietary" ], "description": "NavigationStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/new-relic", - "version": "3.1.1", + "version": "3.1.2", "source": { "type": "git", - "url": "https://github.com/spryker/NewRelic.git", - "reference": "4d90e4007e1e9cf055a2cf7a6638f9ff2352be49" + "url": "https://github.com/spryker/new-relic.git", + "reference": "4373348ff2639eb1cafaa56e011e4800e0037b3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/NewRelic/zipball/4d90e4007e1e9cf055a2cf7a6638f9ff2352be49", - "reference": "4d90e4007e1e9cf055a2cf7a6638f9ff2352be49", + "url": "https://api.github.com/repos/spryker/new-relic/zipball/4373348ff2639eb1cafaa56e011e4800e0037b3e", + "reference": "4373348ff2639eb1cafaa56e011e4800e0037b3e", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/config": "^3.0.0", "spryker/guzzle": "^2.1.0", "spryker/kernel": "^3.0.0", @@ -10268,22 +10672,26 @@ "proprietary" ], "description": "NewRelic module", - "time": "2017-11-02T09:39:11+00:00" + "time": "2018-07-16T16:21:26+00:00" }, { "name": "spryker/new-relic-api", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/spryker/NewRelicApi.git", - "reference": "ba86c675f958cda954dffd7dc3ad54b68784739a" + "url": "https://github.com/spryker/new-relic-api.git", + "reference": "a6fe91219afe8e310e4a81126c93cfc01b35979e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/NewRelicApi/zipball/ba86c675f958cda954dffd7dc3ad54b68784739a", - "reference": "ba86c675f958cda954dffd7dc3ad54b68784739a", + "url": "https://api.github.com/repos/spryker/new-relic-api/zipball/a6fe91219afe8e310e4a81126c93cfc01b35979e", + "reference": "a6fe91219afe8e310e4a81126c93cfc01b35979e", "shasum": "" }, + "require": { + "php": ">=7.1", + "spryker/monitoring-extension": "^1.0.0" + }, "require-dev": { "spryker/code-sniffer": "*", "spryker/testify": "*" @@ -10296,31 +10704,32 @@ }, "autoload": { "psr-4": { - "Spryker\\Shared\\NewRelicApi\\": "src/Spryker/Shared/NewRelicApi" + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "NewRelicApi bundle", - "time": "2017-02-22T11:52:23+00:00" + "description": "NewRelicApi module", + "time": "2018-07-25T06:50:29+00:00" }, { "name": "spryker/newsletter", - "version": "4.3.0", + "version": "4.3.1", "source": { "type": "git", - "url": "https://github.com/spryker/Newsletter.git", - "reference": "8a9aa2d3596033d3178bc9c1c3b1c7fe2b7d3731" + "url": "https://github.com/spryker/newsletter.git", + "reference": "1f2b7cfd71ed20e94b7122f061c88effc9e107d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/Newsletter/zipball/8a9aa2d3596033d3178bc9c1c3b1c7fe2b7d3731", - "reference": "8a9aa2d3596033d3178bc9c1c3b1c7fe2b7d3731", + "url": "https://api.github.com/repos/spryker/newsletter/zipball/1f2b7cfd71ed20e94b7122f061c88effc9e107d5", + "reference": "1f2b7cfd71ed20e94b7122f061c88effc9e107d5", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/customer": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "spryker/glossary": "^3.0.0", "spryker/kernel": "^3.0.0", @@ -10356,7 +10765,7 @@ "proprietary" ], "description": "Newsletter module", - "time": "2018-01-09T17:12:08+00:00" + "time": "2018-08-13T10:09:38+00:00" }, { "name": "spryker/nopayment", @@ -10509,16 +10918,16 @@ }, { "name": "spryker/offer-gui", - "version": "0.1.5", + "version": "0.1.6", "source": { "type": "git", "url": "https://github.com/spryker/offer-gui.git", - "reference": "9454d1631d906765c91aefa8e22aedf44ca1831e" + "reference": "fd5a4585ea588ce9f06b4663972969d1ff17cf54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/offer-gui/zipball/9454d1631d906765c91aefa8e22aedf44ca1831e", - "reference": "9454d1631d906765c91aefa8e22aedf44ca1831e", + "url": "https://api.github.com/repos/spryker/offer-gui/zipball/fd5a4585ea588ce9f06b4663972969d1ff17cf54", + "reference": "fd5a4585ea588ce9f06b4663972969d1ff17cf54", "shasum": "" }, "require": { @@ -10542,9 +10951,8 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/calculation": "*", "spryker/code-sniffer": "*", - "spryker/manual-order-entry-gui": "^0.4.0", + "spryker/manual-order-entry-gui": "*", "spryker/testify": "*" }, "suggest": { @@ -10567,20 +10975,20 @@ "proprietary" ], "description": "OfferGui module", - "time": "2018-06-04T09:01:53+00:00" + "time": "2018-09-13T10:56:27+00:00" }, { "name": "spryker/oms", - "version": "8.1.0", + "version": "8.3.0", "source": { "type": "git", "url": "https://github.com/spryker/oms.git", - "reference": "037dc9e417c996a83c771212ba3d3fa4d22407b4" + "reference": "f181d22f74c8c17e938193eeda473c0da60825c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oms/zipball/037dc9e417c996a83c771212ba3d3fa4d22407b4", - "reference": "037dc9e417c996a83c771212ba3d3fa4d22407b4", + "url": "https://api.github.com/repos/spryker/oms/zipball/f181d22f74c8c17e938193eeda473c0da60825c6", + "reference": "f181d22f74c8c17e938193eeda473c0da60825c6", "shasum": "" }, "require": { @@ -10625,7 +11033,7 @@ "proprietary" ], "description": "Oms module", - "time": "2018-06-06T13:08:26+00:00" + "time": "2018-07-30T12:46:42+00:00" }, { "name": "spryker/oms-discount-connector", @@ -10676,22 +11084,23 @@ }, { "name": "spryker/payment", - "version": "4.3.1", + "version": "4.3.2", "source": { "type": "git", "url": "https://github.com/spryker/payment.git", - "reference": "69098ebf8627752d0fcc720a09bbe742b8e84f33" + "reference": "7961b2c94b92b2d7ac64f6d50255f283e85884ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/payment/zipball/69098ebf8627752d0fcc720a09bbe742b8e84f33", - "reference": "69098ebf8627752d0fcc720a09bbe742b8e84f33", + "url": "https://api.github.com/repos/spryker/payment/zipball/7961b2c94b92b2d7ac64f6d50255f283e85884ca", + "reference": "7961b2c94b92b2d7ac64f6d50255f283e85884ca", "shasum": "" }, "require": { "php": ">=7.1", "spryker/kernel": "^3.0.0", "spryker/propel-orm": "^1.0.0", + "spryker/sales": "^8.0.0", "spryker/symfony": "^3.0.0", "spryker/zed-request": "^3.0.0" }, @@ -10699,7 +11108,6 @@ "spryker/calculation": "*", "spryker/checkout": "*", "spryker/code-sniffer": "*", - "spryker/sales": "*", "spryker/testify": "*" }, "suggest": { @@ -10723,7 +11131,7 @@ "proprietary" ], "description": "Payment module", - "time": "2018-03-07T15:33:06+00:00" + "time": "2018-08-03T10:02:00+00:00" }, { "name": "spryker/payment-cart-connector", @@ -10803,6 +11211,54 @@ "description": "PermissionExtension module", "time": "2018-03-14T10:13:27+00:00" }, + { + "name": "spryker/persistent-cart", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/persistent-cart.git", + "reference": "e21643193ea5445666b5e4330c2b18a076fa6949" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/persistent-cart/zipball/e21643193ea5445666b5e4330c2b18a076fa6949", + "reference": "e21643193ea5445666b5e4330c2b18a076fa6949", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/cart": "^5.0.0", + "spryker/cart-extension": "^1.4.0 || ^2.0.0", + "spryker/customer": "^6.0.0 || ^7.0.0", + "spryker/kernel": "^3.0.0", + "spryker/messenger": "^3.0.0", + "spryker/persistent-cart-extension": "^1.0.0", + "spryker/price-extension": "^1.0.0", + "spryker/quote": "^2.0.0", + "spryker/zed-request": "^3.0.0" + }, + "require-dev": { + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "PersistentCart module", + "time": "2018-09-18T13:44:45+00:00" + }, { "name": "spryker/persistent-cart-extension", "version": "1.0.0", @@ -10865,14 +11321,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", - "support": { - "source": "https://github.com/spryker/Pimple/tree/2.0.0" - }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -10929,23 +11382,23 @@ }, { "name": "spryker/price-cart-connector", - "version": "4.2.0", + "version": "4.4.1", "source": { "type": "git", "url": "https://github.com/spryker/price-cart-connector.git", - "reference": "83c5ec96520cf0f7a61c57a93cb0fa375962d244" + "reference": "3f21e13eb6b5025ea410202e67073ce1d58991bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-cart-connector/zipball/83c5ec96520cf0f7a61c57a93cb0fa375962d244", - "reference": "83c5ec96520cf0f7a61c57a93cb0fa375962d244", + "url": "https://api.github.com/repos/spryker/price-cart-connector/zipball/3f21e13eb6b5025ea410202e67073ce1d58991bb", + "reference": "3f21e13eb6b5025ea410202e67073ce1d58991bb", "shasum": "" }, "require": { "php": ">=7.1", "spryker/kernel": "^3.0.0", "spryker/price": "^5.0.0", - "spryker/price-product": "^1.0.0" + "spryker/price-product": "^1.0.0 || ^2.0.0" }, "require-dev": { "spryker/calculation": "*", @@ -10972,25 +11425,26 @@ "proprietary" ], "description": "PriceCartConnector module", - "time": "2018-04-20T09:46:04+00:00" + "time": "2018-07-18T16:01:59+00:00" }, { "name": "spryker/price-data-feed", - "version": "0.2.0", + "version": "0.2.1", "source": { "type": "git", - "url": "https://github.com/spryker/PriceDataFeed.git", - "reference": "2b7249c2f25090058dcb8301956164b05883b71d" + "url": "https://github.com/spryker/price-data-feed.git", + "reference": "c794403c5b736fb2622130c52f14b0ad65c4055d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/PriceDataFeed/zipball/2b7249c2f25090058dcb8301956164b05883b71d", - "reference": "2b7249c2f25090058dcb8301956164b05883b71d", + "url": "https://api.github.com/repos/spryker/price-data-feed/zipball/c794403c5b736fb2622130c52f14b0ad65c4055d", + "reference": "c794403c5b736fb2622130c52f14b0ad65c4055d", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/kernel": "^3.0.0", - "spryker/price-product": "^1.0.0" + "spryker/price-product": "^1.0.0 || ^2.0.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -11015,7 +11469,7 @@ "proprietary" ], "description": "PriceDataFeed module", - "time": "2017-11-09T16:03:23+00:00" + "time": "2018-07-04T16:15:53+00:00" }, { "name": "spryker/price-extension", @@ -11058,16 +11512,16 @@ }, { "name": "spryker/price-product", - "version": "1.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/spryker/price-product.git", - "reference": "cf34ed46a3e13a7aa6027af1a1977c87ea0ec959" + "reference": "5bf4109afcf6abe1b2af51ab22855f878a969f59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-product/zipball/cf34ed46a3e13a7aa6027af1a1977c87ea0ec959", - "reference": "cf34ed46a3e13a7aa6027af1a1977c87ea0ec959", + "url": "https://api.github.com/repos/spryker/price-product/zipball/5bf4109afcf6abe1b2af51ab22855f878a969f59", + "reference": "5bf4109afcf6abe1b2af51ab22855f878a969f59", "shasum": "" }, "require": { @@ -11075,14 +11529,18 @@ "spryker/currency": "^3.0.0", "spryker/kernel": "^3.0.0", "spryker/price": "^5.0.0", - "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/price-product-extension": "^1.0.0", + "spryker/product": "^5.6.0 || ^6.3.0", "spryker/propel-orm": "^1.0.0", + "spryker/quote": "^2.1.0", "spryker/store": "^1.0.0", + "spryker/symfony": "^3.0.0", "spryker/touch": "^3.0.0 || ^4.0.0" }, "require-dev": { "spryker/code-sniffer": "*", "spryker/installer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "suggest": { @@ -11104,36 +11562,126 @@ "proprietary" ], "description": "PriceProduct module", - "time": "2018-05-16T16:01:08+00:00" + "time": "2018-09-26T13:25:50+00:00" + }, + { + "name": "spryker/price-product-data-import", + "version": "0.1.5", + "source": { + "type": "git", + "url": "https://github.com/spryker/price-product-data-import.git", + "reference": "80e43f492b72ec776ae312d7b14f5386897997e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/price-product-data-import/zipball/80e43f492b72ec776ae312d7b14f5386897997e3", + "reference": "80e43f492b72ec776ae312d7b14f5386897997e3", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/currency": "^3.0.0", + "spryker/data-import": "^1.2.0", + "spryker/kernel": "^3.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", + "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/store": "^1.0.0", + "spryker/util-encoding": "^2.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\PriceProductDataImport\\Helper\\": "tests/SprykerTest/Zed/PriceProductDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PriceProductDataImport module", + "time": "2018-09-18T11:04:04+00:00" + }, + { + "name": "spryker/price-product-extension", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/price-product-extension.git", + "reference": "29eb9c340a1adea0fe5d1fb53f5c0d67a03aa2e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/price-product-extension/zipball/29eb9c340a1adea0fe5d1fb53f5c0d67a03aa2e8", + "reference": "29eb9c340a1adea0fe5d1fb53f5c0d67a03aa2e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "PriceProductExtension module", + "time": "2018-09-17T07:39:21+00:00" }, { "name": "spryker/price-product-storage", - "version": "1.0.0", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spryker/price-product-storage.git", - "reference": "09b2b054de27b6b2445d7f4ee3c150e92308e372" + "reference": "5806a0a12dc593cf5ff0390ec9c88be4c964dc0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-product-storage/zipball/09b2b054de27b6b2445d7f4ee3c150e92308e372", - "reference": "09b2b054de27b6b2445d7f4ee3c150e92308e372", + "url": "https://api.github.com/repos/spryker/price-product-storage/zipball/5806a0a12dc593cf5ff0390ec9c88be4c964dc0c", + "reference": "5806a0a12dc593cf5ff0390ec9c88be4c964dc0c", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", - "spryker/price-product": "^1.2.0", + "spryker/price-product": "^2.1.0", + "spryker/price-product-storage-extension": "^1.0.0", "spryker/product": "^5.5.0 || ^6.0.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", "spryker/store": "^1.7.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", - "spryker/product-storage": "*" + "spryker/product-storage": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*" }, "suggest": { "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", @@ -11155,20 +11703,59 @@ "proprietary" ], "description": "PriceProductStorage module", - "time": "2018-05-24T15:17:45+00:00" + "time": "2018-09-20T10:46:47+00:00" + }, + { + "name": "spryker/price-product-storage-extension", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/price-product-storage-extension.git", + "reference": "8f8210e0992f6b6cf1eb54bca73950f13a621493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/price-product-storage-extension/zipball/8f8210e0992f6b6cf1eb54bca73950f13a621493", + "reference": "8f8210e0992f6b6cf1eb54bca73950f13a621493", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "PriceProductStorageExtension module", + "time": "2018-07-18T15:21:52+00:00" }, { "name": "spryker/product", - "version": "6.1.0", + "version": "6.5.0", "source": { "type": "git", "url": "https://github.com/spryker/product.git", - "reference": "2a05e2d5fcdbedd3f4c0b8c3c593d5b4b027755d" + "reference": "88010948d565b6322c8f14c102020a3c31101a27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product/zipball/2a05e2d5fcdbedd3f4c0b8c3c593d5b4b027755d", - "reference": "2a05e2d5fcdbedd3f4c0b8c3c593d5b4b027755d", + "url": "https://api.github.com/repos/spryker/product/zipball/88010948d565b6322c8f14c102020a3c31101a27", + "reference": "88010948d565b6322c8f14c102020a3c31101a27", "shasum": "" }, "require": { @@ -11187,9 +11774,7 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "type": "library", @@ -11209,7 +11794,7 @@ "proprietary" ], "description": "Product module", - "time": "2018-06-13T09:03:02+00:00" + "time": "2018-09-03T16:56:39+00:00" }, { "name": "spryker/product-abstract-data-feed", @@ -11258,27 +11843,105 @@ "time": "2018-02-08T10:41:19+00:00" }, { - "name": "spryker/product-api", - "version": "0.1.2", + "name": "spryker/product-alternative-extension", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-api.git", - "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0" + "url": "https://github.com/spryker/product-alternative-extension.git", + "reference": "15b589fbff38a5bf5f258bdcfcc0ab008336e437" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-api/zipball/d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", - "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", + "url": "https://api.github.com/repos/spryker/product-alternative-extension/zipball/15b589fbff38a5bf5f258bdcfcc0ab008336e437", + "reference": "15b589fbff38a5bf5f258bdcfcc0ab008336e437", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/api": "^0.1", - "spryker/api-query-builder": "^0.1", - "spryker/kernel": "^3.0.0", - "spryker/product": "^5.0.0 || ^6.0.0", - "spryker/propel-orm": "^1.2.0", - "spryker/symfony": "^3.0.0", + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductAlternativeExtension module", + "time": "2018-07-24T08:04:43+00:00" + }, + { + "name": "spryker/product-alternative-storage-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-alternative-storage-extension.git", + "reference": "3f950c8120f7326a8ed8fc5004684f860f836682" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-alternative-storage-extension/zipball/3f950c8120f7326a8ed8fc5004684f860f836682", + "reference": "3f950c8120f7326a8ed8fc5004684f860f836682", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductAlternativeStorageExtension module", + "time": "2018-07-24T08:04:43+00:00" + }, + { + "name": "spryker/product-api", + "version": "0.1.2", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-api.git", + "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-api/zipball/d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", + "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/api": "^0.1", + "spryker/api-query-builder": "^0.1", + "spryker/kernel": "^3.0.0", + "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/propel-orm": "^1.2.0", + "spryker/symfony": "^3.0.0", "spryker/util-date-time": "^1.0.0" }, "require-dev": { @@ -11310,16 +11973,16 @@ }, { "name": "spryker/product-attribute", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker/product-attribute.git", - "reference": "fb6b48091ebe7f45083ddb7a4507668db68477f0" + "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-attribute/zipball/fb6b48091ebe7f45083ddb7a4507668db68477f0", - "reference": "fb6b48091ebe7f45083ddb7a4507668db68477f0", + "url": "https://api.github.com/repos/spryker/product-attribute/zipball/5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", + "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", "shasum": "" }, "require": { @@ -11353,7 +12016,7 @@ "proprietary" ], "description": "ProductAttribute module", - "time": "2018-01-24T11:43:27+00:00" + "time": "2018-08-15T06:37:03+00:00" }, { "name": "spryker/product-attribute-gui", @@ -11491,28 +12154,28 @@ }, { "name": "spryker/product-bundle", - "version": "4.6.0", + "version": "4.7.1", "source": { "type": "git", "url": "https://github.com/spryker/product-bundle.git", - "reference": "648692dc5671a9d408ba2b0bc7303fe1d017a232" + "reference": "d12b4bad28cce0aa19c4e16f3467904c63f822ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-bundle/zipball/648692dc5671a9d408ba2b0bc7303fe1d017a232", - "reference": "648692dc5671a9d408ba2b0bc7303fe1d017a232", + "url": "https://api.github.com/repos/spryker/product-bundle/zipball/d12b4bad28cce0aa19c4e16f3467904c63f822ee", + "reference": "d12b4bad28cce0aa19c4e16f3467904c63f822ee", "shasum": "" }, "require": { "php": ">=7.1", "spryker/availability": "^5.0.1 || ^6.0.0", - "spryker/cart-extension": "^1.0.0", + "spryker/cart-extension": "^1.0.0 || ^2.0.0", "spryker/kernel": "^3.0.0", "spryker/locale": "^3.0.0", "spryker/messenger": "^3.0.0", "spryker/persistent-cart-extension": "^1.0.0", "spryker/price": "^5.0.0", - "spryker/price-product": "^1.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.0.0 || ^6.0.0", "spryker/product-image": "^3.3.0", "spryker/propel-orm": "^1.0.0", @@ -11555,20 +12218,20 @@ "proprietary" ], "description": "ProductBundle module", - "time": "2018-06-07T11:51:55+00:00" + "time": "2018-07-31T07:49:09+00:00" }, { "name": "spryker/product-cart-connector", - "version": "4.3.0", + "version": "4.3.1", "source": { "type": "git", "url": "https://github.com/spryker/product-cart-connector.git", - "reference": "64471425f7d88761626ff05b7afdabf196e79a23" + "reference": "d73f2e81efc057c1db861dbe6952504b5f299bbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-cart-connector/zipball/64471425f7d88761626ff05b7afdabf196e79a23", - "reference": "64471425f7d88761626ff05b7afdabf196e79a23", + "url": "https://api.github.com/repos/spryker/product-cart-connector/zipball/d73f2e81efc057c1db861dbe6952504b5f299bbc", + "reference": "d73f2e81efc057c1db861dbe6952504b5f299bbc", "shasum": "" }, "require": { @@ -11606,7 +12269,7 @@ "proprietary" ], "description": "ProductCartConnector module", - "time": "2018-06-07T11:51:55+00:00" + "time": "2018-08-20T09:43:27+00:00" }, { "name": "spryker/product-category", @@ -11663,16 +12326,16 @@ }, { "name": "spryker/product-category-filter", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/spryker/product-category-filter.git", - "reference": "096ab03cf2ad2c3f003c448675a5464e4bd87ac2" + "reference": "bd21b619f65ddcd09de92b9c58327e90c0071dd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-category-filter/zipball/096ab03cf2ad2c3f003c448675a5464e4bd87ac2", - "reference": "096ab03cf2ad2c3f003c448675a5464e4bd87ac2", + "url": "https://api.github.com/repos/spryker/product-category-filter/zipball/bd21b619f65ddcd09de92b9c58327e90c0071dd6", + "reference": "bd21b619f65ddcd09de92b9c58327e90c0071dd6", "shasum": "" }, "require": { @@ -11706,7 +12369,7 @@ "proprietary" ], "description": "ProductCategoryFilter module", - "time": "2018-02-05T13:51:35+00:00" + "time": "2018-08-13T10:09:37+00:00" }, { "name": "spryker/product-category-filter-collector", @@ -11756,16 +12419,16 @@ }, { "name": "spryker/product-category-filter-gui", - "version": "1.1.4", + "version": "1.1.6", "source": { "type": "git", "url": "https://github.com/spryker/product-category-filter-gui.git", - "reference": "fd8ff3f41ef788399c57c18031f32206a2cc8255" + "reference": "b8099021fd30b99dc110e0f2068210e08cfb63c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-category-filter-gui/zipball/fd8ff3f41ef788399c57c18031f32206a2cc8255", - "reference": "fd8ff3f41ef788399c57c18031f32206a2cc8255", + "url": "https://api.github.com/repos/spryker/product-category-filter-gui/zipball/b8099021fd30b99dc110e0f2068210e08cfb63c5", + "reference": "b8099021fd30b99dc110e0f2068210e08cfb63c5", "shasum": "" }, "require": { @@ -11803,29 +12466,30 @@ "proprietary" ], "description": "ProductCategoryFilterGui module", - "time": "2018-03-09T07:57:08+00:00" + "time": "2018-08-17T09:23:26+00:00" }, { "name": "spryker/product-category-filter-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/product-category-filter-storage.git", - "reference": "73dec23f0726460b077397288fea13a53d8a7191" + "reference": "b4fe00ccf10a8f0a5965a6d97d0fc5031aefa2ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-category-filter-storage/zipball/73dec23f0726460b077397288fea13a53d8a7191", - "reference": "73dec23f0726460b077397288fea13a53d8a7191", + "url": "https://api.github.com/repos/spryker/product-category-filter-storage/zipball/b4fe00ccf10a8f0a5965a6d97d0fc5031aefa2ff", + "reference": "b4fe00ccf10a8f0a5965a6d97d0fc5031aefa2ff", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product-category-filter": "^1.1.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-encoding": "^2.0.0" }, "require-dev": { @@ -11852,40 +12516,45 @@ "proprietary" ], "description": "ProductCategoryFilterStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-18T06:28:34+00:00" }, { "name": "spryker/product-category-storage", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/product-category-storage.git", - "reference": "4c90c15dd999f2869d54af7608c7071a96f0c9a8" + "reference": "4cef1c2abdadadabca9ef497df67c9708794ac07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-category-storage/zipball/4c90c15dd999f2869d54af7608c7071a96f0c9a8", - "reference": "4c90c15dd999f2869d54af7608c7071a96f0c9a8", + "url": "https://api.github.com/repos/spryker/product-category-storage/zipball/4cef1c2abdadadabca9ef497df67c9708794ac07", + "reference": "4cef1c2abdadadabca9ef497df67c9708794ac07", "shasum": "" }, "require": { "php": ">=7.1", "spryker/category": "^4.3.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product": "^5.5.0 || ^6.0.0", "spryker/product-category": "^4.5.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", + "spryker/url": "^3.0.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", - "spryker/url": "*" + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*" }, "suggest": { - "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", - "spryker/url": "If you want to use Url plugins, minimum required version: 3.3.0" + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" }, "type": "library", "extra": { @@ -11903,7 +12572,7 @@ "proprietary" ], "description": "ProductCategoryStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-09-21T08:24:05+00:00" }, { "name": "spryker/product-discount-connector", @@ -12053,26 +12722,27 @@ }, { "name": "spryker/product-group-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/product-group-storage.git", - "reference": "7ce3fd5274ddfea6a8e1c53248fd96755f9e7feb" + "reference": "29ee78368e5ce6a60bf39b8527e30d2fe5433d63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-group-storage/zipball/7ce3fd5274ddfea6a8e1c53248fd96755f9e7feb", - "reference": "7ce3fd5274ddfea6a8e1c53248fd96755f9e7feb", + "url": "https://api.github.com/repos/spryker/product-group-storage/zipball/29ee78368e5ce6a60bf39b8527e30d2fe5433d63", + "reference": "29ee78368e5ce6a60bf39b8527e30d2fe5433d63", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product": "^5.5.0 || ^6.0.0", "spryker/product-group": "^1.2.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/event": "*", @@ -12098,20 +12768,20 @@ "proprietary" ], "description": "ProductGroupStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/product-image", - "version": "3.5.1", + "version": "3.5.2", "source": { "type": "git", "url": "https://github.com/spryker/product-image.git", - "reference": "cfac773a7c3cc6a64944eed0483af06185698ab3" + "reference": "7b9fad49cbdb9504c433337b62e6731d0aa40ca4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-image/zipball/cfac773a7c3cc6a64944eed0483af06185698ab3", - "reference": "cfac773a7c3cc6a64944eed0483af06185698ab3", + "url": "https://api.github.com/repos/spryker/product-image/zipball/7b9fad49cbdb9504c433337b62e6731d0aa40ca4", + "reference": "7b9fad49cbdb9504c433337b62e6731d0aa40ca4", "shasum": "" }, "require": { @@ -12143,7 +12813,7 @@ "proprietary" ], "description": "ProductImage module", - "time": "2018-01-24T11:43:27+00:00" + "time": "2018-08-15T06:37:03+00:00" }, { "name": "spryker/product-image-cart-connector", @@ -12194,31 +12864,37 @@ }, { "name": "spryker/product-image-storage", - "version": "1.0.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/product-image-storage.git", - "reference": "708c2ab7aeb1c029a69d80deaa4df60d748a9ce2" + "reference": "d9857b4bc410864d67744845dba3c92a4bb29e9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-image-storage/zipball/708c2ab7aeb1c029a69d80deaa4df60d748a9ce2", - "reference": "708c2ab7aeb1c029a69d80deaa4df60d748a9ce2", + "url": "https://api.github.com/repos/spryker/product-image-storage/zipball/d9857b4bc410864d67744845dba3c92a4bb29e9b", + "reference": "d9857b4bc410864d67744845dba3c92a4bb29e9b", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product": "^5.5.0 || ^6.0.0", "spryker/product-image": "^3.5.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", - "spryker/product-storage": "*" + "spryker/product-storage": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*" }, "suggest": { "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", @@ -12240,20 +12916,20 @@ "proprietary" ], "description": "ProductImageStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-09-21T07:35:52+00:00" }, { "name": "spryker/product-label", - "version": "2.4.2", + "version": "2.5.1", "source": { "type": "git", "url": "https://github.com/spryker/product-label.git", - "reference": "b97ede003cbdd29aa2f716cc92f587e44718d10f" + "reference": "140853f9f5e3f0a3c8c2b08ec3c572d524c51e1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-label/zipball/b97ede003cbdd29aa2f716cc92f587e44718d10f", - "reference": "b97ede003cbdd29aa2f716cc92f587e44718d10f", + "url": "https://api.github.com/repos/spryker/product-label/zipball/140853f9f5e3f0a3c8c2b08ec3c572d524c51e1c", + "reference": "140853f9f5e3f0a3c8c2b08ec3c572d524c51e1c", "shasum": "" }, "require": { @@ -12299,7 +12975,7 @@ "proprietary" ], "description": "ProductLabel module", - "time": "2018-02-28T12:40:07+00:00" + "time": "2018-08-15T07:03:54+00:00" }, { "name": "spryker/product-label-collector", @@ -12393,16 +13069,16 @@ }, { "name": "spryker/product-label-gui", - "version": "2.0.7", + "version": "2.0.9", "source": { "type": "git", "url": "https://github.com/spryker/product-label-gui.git", - "reference": "7e2436296affd0d5f5091c1d040f4ea623016c3e" + "reference": "0d624040dea9c48d75662a8174eddcc07865841f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-label-gui/zipball/7e2436296affd0d5f5091c1d040f4ea623016c3e", - "reference": "7e2436296affd0d5f5091c1d040f4ea623016c3e", + "url": "https://api.github.com/repos/spryker/product-label-gui/zipball/0d624040dea9c48d75662a8174eddcc07865841f", + "reference": "0d624040dea9c48d75662a8174eddcc07865841f", "shasum": "" }, "require": { @@ -12413,10 +13089,10 @@ "spryker/locale": "^3.0.0", "spryker/money": "^2.0.0", "spryker/price": "^5.0.0", - "spryker/price-product": "^1.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.1.0 || ^6.0.0", "spryker/product-label": "^1.0.0 || ^2.0.0", - "spryker/product-management": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0", + "spryker/product-management": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0", "spryker/propel-orm": "^1.1.0", "spryker/symfony": "^3.0.0", "spryker/util-text": "^1.1.0" @@ -12443,34 +13119,40 @@ "proprietary" ], "description": "ProductLabelGui module", - "time": "2018-02-20T11:05:53+00:00" + "time": "2018-07-09T09:17:00+00:00" }, { "name": "spryker/product-label-search", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/product-label-search.git", - "reference": "8f36111ab3cb7b1172126de95e149cc56101c5ed" + "reference": "48dbcded4ac2b929151e9e505cbc781b5ea132ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-label-search/zipball/8f36111ab3cb7b1172126de95e149cc56101c5ed", - "reference": "8f36111ab3cb7b1172126de95e149cc56101c5ed", + "url": "https://api.github.com/repos/spryker/product-label-search/zipball/48dbcded4ac2b929151e9e505cbc781b5ea132ce", + "reference": "48dbcded4ac2b929151e9e505cbc781b5ea132ce", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product-label": "^2.4.0", - "spryker/product-page-search": "^0.1.0 || ^1.0.0", + "spryker/product-page-search": "^0.1.0 || ^1.0.0 || ^2.2.0", + "spryker/product-page-search-extension": "^1.0.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", + "spryker/propel": "*", "spryker/propel-orm": "*", - "spryker/search": "*" + "spryker/propel-query-builder": "*", + "spryker/search": "*", + "spryker/testify": "*" }, "suggest": { "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", @@ -12493,31 +13175,32 @@ "proprietary" ], "description": "ProductLabelSearch module", - "time": "2018-05-29T12:50:21+00:00" + "time": "2018-09-24T11:00:41+00:00" }, { "name": "spryker/product-label-storage", - "version": "1.0.0", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker/product-label-storage.git", - "reference": "a96106b125f010c7186fb1afb3c6607a8883e8be" + "reference": "c359854daa45040f78e5e68bc55d2a1209147230" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-label-storage/zipball/a96106b125f010c7186fb1afb3c6607a8883e8be", - "reference": "a96106b125f010c7186fb1afb3c6607a8883e8be", + "url": "https://api.github.com/repos/spryker/product-label-storage/zipball/c359854daa45040f78e5e68bc55d2a1209147230", + "reference": "c359854daa45040f78e5e68bc55d2a1209147230", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product": "^5.5.0 || ^6.0.0", "spryker/product-label": "^2.4.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/catalog": "*", @@ -12545,20 +13228,20 @@ "proprietary" ], "description": "ProductLabelStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-08-15T06:37:00+00:00" }, { "name": "spryker/product-management", - "version": "0.13.4", + "version": "0.14.6", "source": { "type": "git", "url": "https://github.com/spryker/product-management.git", - "reference": "979ae1f9bbc83b8adb077b9e76a18305402c4b8b" + "reference": "c145987644b122be0d2de32e3372bf491a0c0b81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-management/zipball/979ae1f9bbc83b8adb077b9e76a18305402c4b8b", - "reference": "979ae1f9bbc83b8adb077b9e76a18305402c4b8b", + "url": "https://api.github.com/repos/spryker/product-management/zipball/c145987644b122be0d2de32e3372bf491a0c0b81", + "reference": "c145987644b122be0d2de32e3372bf491a0c0b81", "shasum": "" }, "require": { @@ -12572,12 +13255,13 @@ "spryker/locale": "^3.0.0", "spryker/money": "^2.4.0", "spryker/price": "^5.0.0", - "spryker/price-product": "^1.0.0", + "spryker/price-product": "^2.0.0", "spryker/product": "^6.0.0", "spryker/product-attribute": "^1.0.0", "spryker/product-bundle": "^2.0.0 || ^3.0.0 || ^4.0.0", "spryker/product-group": "^1.0.0", "spryker/product-image": "^3.0.0", + "spryker/product-management-extension": "^1.1.0", "spryker/product-validity": "^1.0.0", "spryker/propel-orm": "^1.0.0", "spryker/stock": "^5.0.0", @@ -12588,8 +13272,12 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { + "spryker/application": "*", + "spryker/config": "*", "spryker/propel": "*", - "spryker/silex": "*" + "spryker/store": "*", + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "type": "library", "extra": { @@ -12607,39 +13295,32 @@ "proprietary" ], "description": "ProductManagement module", - "time": "2018-04-26T07:31:10+00:00" + "time": "2018-09-27T12:19:24+00:00" }, { - "name": "spryker/product-new", - "version": "1.1.3", + "name": "spryker/product-management-extension", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-new.git", - "reference": "dbe3a7505ca6078ca47af23e8ac5539db351f485" + "url": "https://github.com/spryker/product-management-extension.git", + "reference": "3884146afa004a6251d2afecb4d20d563071d87b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-new/zipball/dbe3a7505ca6078ca47af23e8ac5539db351f485", - "reference": "dbe3a7505ca6078ca47af23e8ac5539db351f485", + "url": "https://api.github.com/repos/spryker/product-management-extension/zipball/3884146afa004a6251d2afecb4d20d563071d87b", + "reference": "3884146afa004a6251d2afecb4d20d563071d87b", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/kernel": "^3.0.0", - "spryker/product": "^5.0.0 || ^6.0.0", - "spryker/product-label": "^2.1.0", - "spryker/product-label-storage": "^0.1.0 || ^1.0.0", - "spryker/propel-orm": "^1.1.0", - "spryker/search": "^7.0.0 || ^8.0.0" + "php": ">=7.1" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/elastica": "*", - "spryker/propel": "^3.0.0", + "spryker/symfony": "^3.0.0", "spryker/testify": "*" }, "suggest": { - "spryker/elastica": "If you want to use Elastica plugins." + "spryker/symfony": "" }, "type": "library", "extra": { @@ -12656,157 +13337,144 @@ "license": [ "proprietary" ], - "description": "ProductNew module", - "time": "2018-05-29T12:50:21+00:00" + "description": "ProductManagementExtension module", + "time": "2018-05-31T11:23:24+00:00" }, { - "name": "spryker/product-option", - "version": "6.2.0", + "name": "spryker/product-measurement-unit", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-option.git", - "reference": "a51a9b92bb157434c47ed40a4f968db47d616f43" + "url": "https://github.com/spryker/product-measurement-unit.git", + "reference": "a9aaa091c9807bbbe1aa5851fe901c9b26d71874" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-option/zipball/a51a9b92bb157434c47ed40a4f968db47d616f43", - "reference": "a51a9b92bb157434c47ed40a4f968db47d616f43", + "url": "https://api.github.com/repos/spryker/product-measurement-unit/zipball/a9aaa091c9807bbbe1aa5851fe901c9b26d71874", + "reference": "a9aaa091c9807bbbe1aa5851fe901c9b26d71874", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/country": "^3.0.0", - "spryker/currency": "^3.0.0", - "spryker/event": "^2.1.0", + "spryker/cart-extension": "^1.2.0 || ^2.0.0", + "spryker/event": "^2.0.0", "spryker/glossary": "^3.0.0", - "spryker/gui": "^3.7.0", - "spryker/kernel": "^3.15.0", - "spryker/key-builder": "^1.0.0", - "spryker/locale": "^3.0.0", - "spryker/money": "^2.4.0", - "spryker/price": "^5.0.0", - "spryker/product": "^5.0.0 || ^6.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/sales": "^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/storage": "^3.0.0", - "spryker/store": "^1.1.0", - "spryker/symfony": "^3.0.0", - "spryker/tax": "^5.0.0", - "spryker/touch": "^3.0.0 || ^4.0.0", - "spryker/util-encoding": "^2.0.0", - "spryker/util-text": "^1.1.0" + "spryker/kernel": "^3.17.0", + "spryker/persistent-cart-extension": "^1.0.0", + "spryker/product": "^6.0.0", + "spryker/propel-orm": "^1.6.0", + "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "spryker/sales-extension": "^1.1.0", + "spryker/store": "^1.0.0", + "spryker/util-measurement-unit-conversion": "^0.1.0 || ^1.0.0" }, "require-dev": { - "spryker/calculation": "*", - "spryker/checkout": "*", + "spryker/cart": "*", "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/silex": "*", + "spryker/installer": "*", "spryker/testify": "*" }, "suggest": { - "spryker/calculation": "If tax rate calculation for options is needed.", - "spryker/checkout": "If checkout plugins are needed." + "spryker/cart": "If you want to use cart plugins: ^4.0.0", + "spryker/installer": "If you want to use ProductMeasurementUnitInstallerPlugin. Minimum required version: ^4.0.0.", + "spryker/sales": "If you want to display the measurement unit information in Zed UI: ^8.12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Spryker\\": "src/Spryker/", - "SprykerTest\\Shared\\ProductOption\\Helper\\": "tests/SprykerTest/Shared/ProductOption/_support/Helper/" + "SprykerTest\\Shared\\ProductMeasurementUnit\\Helper\\": "tests/SprykerTest/Shared/ProductMeasurementUnit/_support/Helper/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "ProductOption module", - "time": "2018-05-23T09:01:45+00:00" + "description": "ProductMeasurementUnit module", + "time": "2018-07-31T09:22:49+00:00" }, { - "name": "spryker/product-option-cart-connector", - "version": "5.0.0", + "name": "spryker/product-measurement-unit-data-import", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/spryker/ProductOptionCartConnector.git", - "reference": "78ffe0cf8bada2a8586424a005c26decd0f8e066" + "url": "https://github.com/spryker/product-measurement-unit-data-import.git", + "reference": "0233e002f88659fdaff5e6e1b96903d5307bd470" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/ProductOptionCartConnector/zipball/78ffe0cf8bada2a8586424a005c26decd0f8e066", - "reference": "78ffe0cf8bada2a8586424a005c26decd0f8e066", + "url": "https://api.github.com/repos/spryker/product-measurement-unit-data-import/zipball/0233e002f88659fdaff5e6e1b96903d5307bd470", + "reference": "0233e002f88659fdaff5e6e1b96903d5307bd470", "shasum": "" }, "require": { - "spryker/kernel": "^3.0.0", - "spryker/price": "^5.0.0", - "spryker/product-option": "^6.0.0" + "php": ">=7.1", + "spryker/data-import": "^1.3.0", + "spryker/kernel": "^3.20.0", + "spryker/product": "^6.0.0", + "spryker/product-measurement-unit": "^0.1.1 || ^0.2.0 || ^1.0.0 || ^2.0.0", + "spryker/store": "^1.0.0" }, "require-dev": { - "spryker/cart": "*", "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/propel-orm": "*", - "spryker/silex": "*", "spryker/testify": "*" }, - "suggest": { - "spryker/cart": "If you want to use Cart plugins." - }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/" + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductMeasurementUnitDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductMeasurementUnitDataImport/_support/Helper/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "proprietary" + "MIT" ], - "description": "ProductOptionCartConnector module", - "time": "2017-11-17T08:57:26+00:00" + "description": "ProductMeasurementUnitDataImport module", + "time": "2018-07-31T16:20:47+00:00" }, { - "name": "spryker/product-option-storage", - "version": "1.0.0", + "name": "spryker/product-measurement-unit-storage", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-option-storage.git", - "reference": "7fde311b5cfb0bb1c6c3f0b7f7224d0a65a94783" + "url": "https://github.com/spryker/product-measurement-unit-storage.git", + "reference": "47a2cc20b0a813c5142868ef5657fcac717f8c84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-option-storage/zipball/7fde311b5cfb0bb1c6c3f0b7f7224d0a65a94783", - "reference": "7fde311b5cfb0bb1c6c3f0b7f7224d0a65a94783", + "url": "https://api.github.com/repos/spryker/product-measurement-unit-storage/zipball/47a2cc20b0a813c5142868ef5657fcac717f8c84", + "reference": "47a2cc20b0a813c5142868ef5657fcac717f8c84", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/currency": "^3.2.0", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", - "spryker/price": "^5.1.0", - "spryker/product": "^5.5.0 || ^6.0.0", - "spryker/product-option": "^6.2.0", - "spryker/propel-orm": "^1.5.0", - "spryker/storage": "^3.4.0", - "spryker/store": "^1.7.0", - "spryker/synchronization": "^0.2.0" + "spryker/product-measurement-unit": "^1.0.1 || ^2.0.0", + "spryker/storage": "^3.0.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { - "spryker/event": "*" + "spryker/code-sniffer": "*", + "spryker/event": "*", + "spryker/propel-orm": "*", + "spryker/testify": "*" }, "suggest": { - "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + "spryker/event": "If you want to use Event plugins: ^2.1.0", + "spryker/propel-orm": "If you want to use transaction functionality: ^1.3.0" }, "type": "library", "extra": { @@ -12823,47 +13491,520 @@ "license": [ "proprietary" ], - "description": "ProductOptionStorage module", - "time": "2018-05-29T11:08:35+00:00" + "description": "ProductMeasurementUnitStorage module", + "time": "2018-07-31T16:20:47+00:00" }, { - "name": "spryker/product-page-search", - "version": "1.0.0", + "name": "spryker/product-new", + "version": "1.1.3", "source": { "type": "git", - "url": "https://github.com/spryker/product-page-search.git", - "reference": "d724bd2cddd7ada57e39cd7535030243daf37d0c" + "url": "https://github.com/spryker/product-new.git", + "reference": "dbe3a7505ca6078ca47af23e8ac5539db351f485" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-page-search/zipball/d724bd2cddd7ada57e39cd7535030243daf37d0c", - "reference": "d724bd2cddd7ada57e39cd7535030243daf37d0c", + "url": "https://api.github.com/repos/spryker/product-new/zipball/dbe3a7505ca6078ca47af23e8ac5539db351f485", + "reference": "dbe3a7505ca6078ca47af23e8ac5539db351f485", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/catalog-price-product-connector": "^1.1.0", - "spryker/category": "^4.3.0", - "spryker/event-behavior": "^1.0.0", - "spryker/kernel": "^3.21.0", - "spryker/price-product": "^1.1.0", - "spryker/product": "^5.5.0 || ^6.0.0", - "spryker/product-category": "^4.5.0", - "spryker/product-image": "^3.5.0", - "spryker/product-search": "^5.4.0", + "spryker/kernel": "^3.0.0", + "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/product-label": "^2.1.0", + "spryker/product-label-storage": "^0.1.0 || ^1.0.0", + "spryker/propel-orm": "^1.1.0", + "spryker/search": "^7.0.0 || ^8.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/elastica": "*", + "spryker/propel": "^3.0.0", + "spryker/testify": "*" + }, + "suggest": { + "spryker/elastica": "If you want to use Elastica plugins." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductNew module", + "time": "2018-05-29T12:50:21+00:00" + }, + { + "name": "spryker/product-option", + "version": "6.3.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-option.git", + "reference": "4e6247c04f766ccebc23a9747d500f48105714ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-option/zipball/4e6247c04f766ccebc23a9747d500f48105714ae", + "reference": "4e6247c04f766ccebc23a9747d500f48105714ae", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/country": "^3.0.0", + "spryker/currency": "^3.0.0", + "spryker/event": "^2.1.0", + "spryker/glossary": "^3.0.0", + "spryker/gui": "^3.7.0", + "spryker/kernel": "^3.15.0", + "spryker/key-builder": "^1.0.0", + "spryker/locale": "^3.0.0", + "spryker/money": "^2.4.0", + "spryker/price": "^5.0.0", + "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/sales": "^6.0.0 || ^7.0.0 || ^8.0.0", + "spryker/storage": "^3.0.0", + "spryker/store": "^1.1.0", + "spryker/symfony": "^3.0.0", + "spryker/tax": "^5.0.0", + "spryker/touch": "^3.0.0 || ^4.0.0", + "spryker/util-encoding": "^2.0.0", + "spryker/util-text": "^1.1.0" + }, + "require-dev": { + "spryker/calculation": "*", + "spryker/checkout": "*", + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/calculation": "If tax rate calculation for options is needed.", + "spryker/checkout": "If checkout plugins are needed." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Shared\\ProductOption\\Helper\\": "tests/SprykerTest/Shared/ProductOption/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductOption module", + "time": "2018-07-15T19:55:05+00:00" + }, + { + "name": "spryker/product-option-cart-connector", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-option-cart-connector.git", + "reference": "6a60cce3354682b690e19bbc2238e539f5ee4428" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-option-cart-connector/zipball/6a60cce3354682b690e19bbc2238e539f5ee4428", + "reference": "6a60cce3354682b690e19bbc2238e539f5ee4428", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/price": "^5.0.0", + "spryker/product-option": "^6.0.0" + }, + "require-dev": { + "spryker/cart": "*", + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/propel-orm": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/cart": "If you want to use Cart plugins." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductOptionCartConnector module", + "time": "2018-06-15T09:56:31+00:00" + }, + { + "name": "spryker/product-option-storage", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-option-storage.git", + "reference": "82b81d8d38062e75261a96d1ffe42c6f210a99d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-option-storage/zipball/82b81d8d38062e75261a96d1ffe42c6f210a99d4", + "reference": "82b81d8d38062e75261a96d1ffe42c6f210a99d4", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/currency": "^3.2.0", + "spryker/event-behavior": "^1.1.0", + "spryker/kernel": "^3.21.0", + "spryker/price": "^5.1.0", + "spryker/product": "^5.5.0 || ^6.0.0", + "spryker/product-option": "^6.2.0", + "spryker/propel-orm": "^1.5.0", + "spryker/storage": "^3.4.0", + "spryker/store": "^1.7.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" + }, + "require-dev": { + "spryker/event": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductOptionStorage module", + "time": "2018-07-17T18:22:31+00:00" + }, + { + "name": "spryker/product-packaging-unit", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-packaging-unit.git", + "reference": "2ba24d28c054a034d2807d8bf60ca1f5be27aa7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-packaging-unit/zipball/2ba24d28c054a034d2807d8bf60ca1f5be27aa7d", + "reference": "2ba24d28c054a034d2807d8bf60ca1f5be27aa7d", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/availability": "^6.0.0", + "spryker/cart-extension": "^2.0.0", + "spryker/glossary": "^3.1.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/oms": "^8.3.0", + "spryker/persistent-cart-extension": "^1.0.0", + "spryker/product": "^6.0.0", + "spryker/product-measurement-unit": "^2.0.0", + "spryker/propel-orm": "^1.1.0", + "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "spryker/sales-extension": "^1.2.0", + "spryker/sales-quantity": "^1.0.0", + "spryker/store": "^1.4.0", + "spryker/util-text": "^1.0.0" + }, + "require-dev": { + "spryker/cart": "*", + "spryker/checkout": "*", + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/stock": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/cart": "If you want to use CartOperationStrategyPluginInterface: ^5.2.0", + "spryker/checkout": "If you want to use checkout plugins: ^4.0.0", + "spryker/installer": "If you want to use Installer plugins: ^4.0.0.", + "spryker/persistent-cart": "If you want to use CartOperationStrategyPluginInterface: ^1.1.0", + "spryker/sales": "If you want to display the measurement unit information in Zed UI: ^8.12.0", + "spryker/stock": "If you want to use stock plugins: ^5.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductPackagingUnit\\Helper\\": "tests/SprykerTest/Zed/ProductPackagingUnit/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductPackagingUnit module", + "time": "2018-08-16T16:13:19+00:00" + }, + { + "name": "spryker/product-packaging-unit-data-import", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-packaging-unit-data-import.git", + "reference": "dd00d564112f390e0e3ddb8a1e59a403146b3b5d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-packaging-unit-data-import/zipball/dd00d564112f390e0e3ddb8a1e59a403146b3b5d", + "reference": "dd00d564112f390e0e3ddb8a1e59a403146b3b5d", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/data-import": "^1.3.0", + "spryker/kernel": "^3.0.0", + "spryker/product": "^6.0.0", + "spryker/product-packaging-unit": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductPackagingUnitDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductPackagingUnitDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "ProductPackagingUnitDataImport module", + "time": "2018-08-27T11:56:11+00:00" + }, + { + "name": "spryker/product-packaging-unit-gui", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-packaging-unit-gui.git", + "reference": "91cc74dacc95f1fa9f973e4d021d76a320126d5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-packaging-unit-gui/zipball/91cc74dacc95f1fa9f973e4d021d76a320126d5f", + "reference": "91cc74dacc95f1fa9f973e4d021d76a320126d5f", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/gui": "^3.9.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/product-packaging-unit": "^1.0.0", + "spryker/sales": "^8.5.0", + "spryker/symfony": "^3.0.0", + "spryker/util-text": "^1.2.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductPackagingUnitGui module", + "time": "2018-08-13T10:09:37+00:00" + }, + { + "name": "spryker/product-packaging-unit-storage", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-packaging-unit-storage.git", + "reference": "029c7b34334f2dba2a0999fac8fe0ed3513e9554" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-packaging-unit-storage/zipball/029c7b34334f2dba2a0999fac8fe0ed3513e9554", + "reference": "029c7b34334f2dba2a0999fac8fe0ed3513e9554", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/event-behavior": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/product": "^6.0.0", + "spryker/product-packaging-unit": "^1.0.0", + "spryker/storage": "^3.4.0", + "spryker/synchronization": "^1.0.0", + "spryker/synchronization-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/event": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductPackagingUnitStorage\\Helper\\": "tests/SprykerTest/Zed/ProductPackagingUnitStorage/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductPackagingUnitStorage module", + "time": "2018-08-23T12:48:56+00:00" + }, + { + "name": "spryker/product-page-search", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-page-search.git", + "reference": "7cfcc5e6471981b51462ae88a87b2c22a6af4cb1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-page-search/zipball/7cfcc5e6471981b51462ae88a87b2c22a6af4cb1", + "reference": "7cfcc5e6471981b51462ae88a87b2c22a6af4cb1", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/catalog-price-product-connector": "^1.1.0", + "spryker/category": "^4.3.0", + "spryker/event-behavior": "^1.1.0", + "spryker/kernel": "^3.21.0", + "spryker/price": "^5.3.0", + "spryker/price-product": "^1.1.0 || ^2.1.0", + "spryker/product": "^5.5.0 || ^6.0.0", + "spryker/product-category": "^4.5.0", + "spryker/product-image": "^3.5.0", + "spryker/product-page-search-extension": "^1.0.0", + "spryker/product-search": "^5.4.0", "spryker/propel-orm": "^1.5.0", "spryker/search": "^7.0.0 || ^8.0.0", "spryker/store": "^1.7.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/url": "^3.3.0", "spryker/util-encoding": "^2.0.0", "spryker/util-sanitize": "^2.1.0" }, "require-dev": { - "spryker/event": "*" - }, - "suggest": { - "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", - "spryker/product": "If you want to use Event plugins, minimum required version: 6.1.0" + "spryker/code-sniffer": "*", + "spryker/config": "*", + "spryker/event": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductPageSearch module", + "time": "2018-09-21T07:35:52+00:00" + }, + { + "name": "spryker/product-page-search-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-page-search-extension.git", + "reference": "bc2b18178077dc8f84a2d5f3e223cc8605ce155d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-page-search-extension/zipball/bc2b18178077dc8f84a2d5f3e223cc8605ce155d", + "reference": "bc2b18178077dc8f84a2d5f3e223cc8605ce155d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "type": "library", "extra": { @@ -12880,26 +14021,26 @@ "license": [ "proprietary" ], - "description": "ProductPageSearch module", - "time": "2018-05-24T09:51:00+00:00" + "description": "ProductPageSearchExtension module", + "time": "2018-09-21T07:35:52+00:00" }, { "name": "spryker/product-quantity", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker/product-quantity.git", - "reference": "3db89ab53b5a4fc2a2eaa64e03ac37015641c193" + "reference": "4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity/zipball/3db89ab53b5a4fc2a2eaa64e03ac37015641c193", - "reference": "3db89ab53b5a4fc2a2eaa64e03ac37015641c193", + "url": "https://api.github.com/repos/spryker/product-quantity/zipball/4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409", + "reference": "4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/cart-extension": "^1.1.0", + "spryker/cart-extension": "^1.1.0 || ^2.0.0", "spryker/kernel": "^3.17.0", "spryker/product": "^6.0.0" }, @@ -12928,29 +14069,74 @@ "proprietary" ], "description": "ProductQuantity module", - "time": "2018-06-01T09:16:36+00:00" + "time": "2018-07-30T12:46:42+00:00" + }, + { + "name": "spryker/product-quantity-data-import", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-quantity-data-import.git", + "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/d8fccccfc1db9ca48121a32af6a698203fa7aa05", + "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/data-import": "^1.3.0", + "spryker/kernel": "^3.20.0", + "spryker/product": "^6.0.0", + "spryker/product-quantity": "^0.1.1 || ^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductQuantityDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductQuantityDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductQuantityDataImport module", + "time": "2018-06-04T14:08:46+00:00" }, { "name": "spryker/product-quantity-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/product-quantity-storage.git", - "reference": "5b6c13aed027813066c59abb0aaa1c594a597d52" + "reference": "d7e09180f76426244b2f1c0f959b80176331cd63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity-storage/zipball/5b6c13aed027813066c59abb0aaa1c594a597d52", - "reference": "5b6c13aed027813066c59abb0aaa1c594a597d52", + "url": "https://api.github.com/repos/spryker/product-quantity-storage/zipball/d7e09180f76426244b2f1c0f959b80176331cd63", + "reference": "d7e09180f76426244b2f1c0f959b80176331cd63", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", - "spryker/product-quantity": "^1.0.0", + "spryker/product-quantity": "^1.0.1", "spryker/storage": "^3.0.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -12978,20 +14164,20 @@ "proprietary" ], "description": "ProductQuantityStorage module", - "time": "2018-06-01T13:58:17+00:00" + "time": "2018-07-18T08:25:49+00:00" }, { "name": "spryker/product-relation", - "version": "2.1.3", + "version": "2.1.5", "source": { "type": "git", "url": "https://github.com/spryker/product-relation.git", - "reference": "1735b3f236117ac325474240353d3afa36a4610d" + "reference": "51403673587aa669414bd8dd2180f7c89188289d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-relation/zipball/1735b3f236117ac325474240353d3afa36a4610d", - "reference": "1735b3f236117ac325474240353d3afa36a4610d", + "url": "https://api.github.com/repos/spryker/product-relation/zipball/51403673587aa669414bd8dd2180f7c89188289d", + "reference": "51403673587aa669414bd8dd2180f7c89188289d", "shasum": "" }, "require": { @@ -13004,7 +14190,7 @@ "spryker/locale": "^3.0.0", "spryker/log": "^3.0.0", "spryker/money": "^2.0.0", - "spryker/price-product": "^1.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.0.0 || ^6.0.0", "spryker/product-category": "^4.0.0", "spryker/product-image": "^3.0.0", @@ -13046,27 +14232,27 @@ "proprietary" ], "description": "ProductRelation module", - "time": "2018-02-05T06:01:59+00:00" + "time": "2018-07-09T09:17:00+00:00" }, { "name": "spryker/product-relation-collector", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/spryker/product-relation-collector.git", - "reference": "75d9b080eb5c53de1d413a4fed2230af3e7234a1" + "reference": "a29672dc24fe0818fc74c74fb2a3e83a34539051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-relation-collector/zipball/75d9b080eb5c53de1d413a4fed2230af3e7234a1", - "reference": "75d9b080eb5c53de1d413a4fed2230af3e7234a1", + "url": "https://api.github.com/repos/spryker/product-relation-collector/zipball/a29672dc24fe0818fc74c74fb2a3e83a34539051", + "reference": "a29672dc24fe0818fc74c74fb2a3e83a34539051", "shasum": "" }, "require": { "php": ">=7.1", "spryker/collector": "^5.1.1 || ^6.0.0", "spryker/kernel": "^3.0.0", - "spryker/price-product": "^1.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.0.0 || ^6.0.0", "spryker/product-image": "^3.0.0", "spryker/product-relation": "^1.0.0 || ^2.0.0", @@ -13098,35 +14284,41 @@ "proprietary" ], "description": "ProductRelationCollector module", - "time": "2018-01-24T11:43:27+00:00" + "time": "2018-07-04T16:15:53+00:00" }, { "name": "spryker/product-relation-storage", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/product-relation-storage.git", - "reference": "a50a4fe1d3d8fe39ba299fc128b2047211edda64" + "reference": "4bd22a709404ff4fb7b66a4e284e657ede308ff3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-relation-storage/zipball/a50a4fe1d3d8fe39ba299fc128b2047211edda64", - "reference": "a50a4fe1d3d8fe39ba299fc128b2047211edda64", + "url": "https://api.github.com/repos/spryker/product-relation-storage/zipball/4bd22a709404ff4fb7b66a4e284e657ede308ff3", + "reference": "4bd22a709404ff4fb7b66a4e284e657ede308ff3", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product": "^5.5.0 || ^6.0.0", "spryker/product-relation": "^2.1.0", "spryker/product-storage": "^0.1.0 || ^0.2.0 || ^1.0.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", - "spryker/propel-orm": "*" + "spryker/propel": "*", + "spryker/propel-orm": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*" }, "suggest": { "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", @@ -13148,20 +14340,20 @@ "proprietary" ], "description": "ProductRelationStorage module", - "time": "2018-05-29T12:50:21+00:00" + "time": "2018-09-17T07:39:21+00:00" }, { "name": "spryker/product-review", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/spryker/product-review.git", - "reference": "797b0da90f7b2132bd3003baca11e72ee86eeb27" + "reference": "2d22334fd4cb27dd62b9fc55793443676347e7d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-review/zipball/797b0da90f7b2132bd3003baca11e72ee86eeb27", - "reference": "797b0da90f7b2132bd3003baca11e72ee86eeb27", + "url": "https://api.github.com/repos/spryker/product-review/zipball/2d22334fd4cb27dd62b9fc55793443676347e7d5", + "reference": "2d22334fd4cb27dd62b9fc55793443676347e7d5", "shasum": "" }, "require": { @@ -13180,6 +14372,7 @@ "require-dev": { "spryker/catalog": "*", "spryker/code-sniffer": "*", + "spryker/customer": "*", "spryker/elastica": "*", "spryker/propel": "^3.0.0", "spryker/silex": "^2.0.0", @@ -13207,7 +14400,7 @@ "proprietary" ], "description": "ProductReview module", - "time": "2018-03-09T09:43:27+00:00" + "time": "2018-09-07T11:05:09+00:00" }, { "name": "spryker/product-review-collector", @@ -13310,30 +14503,37 @@ }, { "name": "spryker/product-review-search", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/product-review-search.git", - "reference": "973aa6a42023b00d7389d7c9c8cb63322cb7706e" + "reference": "9c0891c68eb5e8a5d2447e34e84f464e97ee140c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-review-search/zipball/973aa6a42023b00d7389d7c9c8cb63322cb7706e", - "reference": "973aa6a42023b00d7389d7c9c8cb63322cb7706e", + "url": "https://api.github.com/repos/spryker/product-review-search/zipball/9c0891c68eb5e8a5d2447e34e84f464e97ee140c", + "reference": "9c0891c68eb5e8a5d2447e34e84f464e97ee140c", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", - "spryker/product-page-search": "^0.1.0 || ^1.0.0", + "spryker/product-page-search": "^0.1.0 || ^1.0.0 || ^2.2.0", + "spryker/product-page-search-extension": "^1.0.0", "spryker/product-review": "^1.1.0 || ^2.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-encoding": "^2.0.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", + "spryker/propel": "*", "spryker/propel-orm": "*", - "spryker/search": "*" + "spryker/propel-query-builder": "*", + "spryker/search": "*", + "spryker/testify": "*" }, "suggest": { "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", @@ -13356,29 +14556,30 @@ "proprietary" ], "description": "ProductReviewSearch module", - "time": "2018-05-29T12:50:21+00:00" + "time": "2018-09-24T11:00:41+00:00" }, { "name": "spryker/product-review-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/product-review-storage.git", - "reference": "f0aaacdd96299a889a23ff16ecdcafd90af0032c" + "reference": "343d8a2e5f9e562aafabb1d2d81cfadc4687f9b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-review-storage/zipball/f0aaacdd96299a889a23ff16ecdcafd90af0032c", - "reference": "f0aaacdd96299a889a23ff16ecdcafd90af0032c", + "url": "https://api.github.com/repos/spryker/product-review-storage/zipball/343d8a2e5f9e562aafabb1d2d81cfadc4687f9b5", + "reference": "343d8a2e5f9e562aafabb1d2d81cfadc4687f9b5", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product-review": "^1.1.0 || ^2.0.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/event": "*", @@ -13404,7 +14605,7 @@ "proprietary" ], "description": "ProductReviewStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/product-search", @@ -13463,25 +14664,26 @@ }, { "name": "spryker/product-search-config-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/product-search-config-storage.git", - "reference": "e0ac8d0781cd579291bd32a8db3b6f83c6141341" + "reference": "72eb2c55bb4c1030612213f2d70da94c2a72349c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-search-config-storage/zipball/e0ac8d0781cd579291bd32a8db3b6f83c6141341", - "reference": "e0ac8d0781cd579291bd32a8db3b6f83c6141341", + "url": "https://api.github.com/repos/spryker/product-search-config-storage/zipball/72eb2c55bb4c1030612213f2d70da94c2a72349c", + "reference": "72eb2c55bb4c1030612213f2d70da94c2a72349c", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product-search": "^5.4.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0" + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/event": "*", @@ -13511,20 +14713,20 @@ "proprietary" ], "description": "ProductSearchConfigStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/product-set", - "version": "1.3.2", + "version": "1.3.4", "source": { "type": "git", "url": "https://github.com/spryker/product-set.git", - "reference": "776687fbc849817f135a201671f10d52da074c18" + "reference": "10220c08f319d323a989d506429bf758261d0664" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-set/zipball/776687fbc849817f135a201671f10d52da074c18", - "reference": "776687fbc849817f135a201671f10d52da074c18", + "url": "https://api.github.com/repos/spryker/product-set/zipball/10220c08f319d323a989d506429bf758261d0664", + "reference": "10220c08f319d323a989d506429bf758261d0664", "shasum": "" }, "require": { @@ -13532,6 +14734,7 @@ "spryker/kernel": "^3.4.0", "spryker/key-builder": "^1.0.0", "spryker/locale": "^3.1.0", + "spryker/product": "^5.0.0 || ^6.0.0", "spryker/product-image": "^3.3.0", "spryker/propel-orm": "^1.1.0", "spryker/search": "^6.0.0 || ^7.0.0 || ^8.0.0", @@ -13565,7 +14768,7 @@ "proprietary" ], "description": "ProductSet module", - "time": "2018-03-09T07:57:08+00:00" + "time": "2018-08-03T10:02:01+00:00" }, { "name": "spryker/product-set-collector", @@ -13619,16 +14822,16 @@ }, { "name": "spryker/product-set-gui", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/spryker/product-set-gui.git", - "reference": "d45cfc9e453229536d52b6c148163033807ce19c" + "reference": "966d4a584f728434a10f644a87bf7b41da5c42af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-set-gui/zipball/d45cfc9e453229536d52b6c148163033807ce19c", - "reference": "d45cfc9e453229536d52b6c148163033807ce19c", + "url": "https://api.github.com/repos/spryker/product-set-gui/zipball/966d4a584f728434a10f644a87bf7b41da5c42af", + "reference": "966d4a584f728434a10f644a87bf7b41da5c42af", "shasum": "" }, "require": { @@ -13637,7 +14840,7 @@ "spryker/kernel": "^3.4.0", "spryker/locale": "^3.0.0", "spryker/money": "^2.0.0", - "spryker/price-product": "^1.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.0.0 || ^6.0.0", "spryker/product-image": "^3.3.0", "spryker/product-set": "^1.0.0", @@ -13668,31 +14871,32 @@ "proprietary" ], "description": "ProductSetGui module", - "time": "2018-02-05T06:01:59+00:00" + "time": "2018-07-04T16:15:53+00:00" }, { "name": "spryker/product-set-page-search", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker/product-set-page-search.git", - "reference": "77b891411e8b1fadc8ca9c270f09ace8771763f7" + "reference": "fd78008c06ecd7a69ea55d2413dfce2e75e2d64e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-set-page-search/zipball/77b891411e8b1fadc8ca9c270f09ace8771763f7", - "reference": "77b891411e8b1fadc8ca9c270f09ace8771763f7", + "url": "https://api.github.com/repos/spryker/product-set-page-search/zipball/fd78008c06ecd7a69ea55d2413dfce2e75e2d64e", + "reference": "fd78008c06ecd7a69ea55d2413dfce2e75e2d64e", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product-image": "^3.5.0", - "spryker/product-set": "^1.3.0", + "spryker/product-set": "^1.3.3", "spryker/product-set-storage": "^0.1.0 || ^0.2.0 || ^1.0.0", "spryker/propel-orm": "^1.5.0", "spryker/search": "^7.0.0 || ^8.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/url": "^3.3.0", "spryker/util-encoding": "^2.0.0" }, @@ -13720,31 +14924,32 @@ "proprietary" ], "description": "ProductSetPageSearch module", - "time": "2018-05-29T12:50:21+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/product-set-storage", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker/product-set-storage.git", - "reference": "8e1f268ec4afc6165eefd3f8853eaccfe79a8439" + "reference": "fefae65342b3ce792afc8a5b10edf73c960ed045" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-set-storage/zipball/8e1f268ec4afc6165eefd3f8853eaccfe79a8439", - "reference": "8e1f268ec4afc6165eefd3f8853eaccfe79a8439", + "url": "https://api.github.com/repos/spryker/product-set-storage/zipball/fefae65342b3ce792afc8a5b10edf73c960ed045", + "reference": "fefae65342b3ce792afc8a5b10edf73c960ed045", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/product-image": "^3.5.0", "spryker/product-set": "^1.3.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/url": "^3.3.0" }, "require-dev": { @@ -13771,40 +14976,46 @@ "proprietary" ], "description": "ProductSetStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/product-storage", - "version": "1.0.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/product-storage.git", - "reference": "471b82a529b782877e8e243b8c42ae59dcd599c1" + "reference": "1b284f2663e1e6df0c6d47dd0e8fb2e39ccda1de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-storage/zipball/471b82a529b782877e8e243b8c42ae59dcd599c1", - "reference": "471b82a529b782877e8e243b8c42ae59dcd599c1", + "url": "https://api.github.com/repos/spryker/product-storage/zipball/1b284f2663e1e6df0c6d47dd0e8fb2e39ccda1de", + "reference": "1b284f2663e1e6df0c6d47dd0e8fb2e39ccda1de", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/locale": "^3.1.0", "spryker/product": "^5.5.0 || ^6.0.0", + "spryker/product-storage-extension": "^1.0.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/url": "^3.3.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*", "spryker/url-storage": "*" }, "suggest": { "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", - "spryker/product": "If you want to use Event plugins, minimum required version: 6.1.0", "spryker/url-storage": "If you want to use UrlStorage plugins, minimum required version: 0.2.0" }, "type": "library", @@ -13823,7 +15034,46 @@ "proprietary" ], "description": "ProductStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-09-21T08:24:05+00:00" + }, + { + "name": "spryker/product-storage-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-storage-extension.git", + "reference": "ac2aa2020dc2bff8d3af25659cf9b28538438865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-storage-extension/zipball/ac2aa2020dc2bff8d3af25659cf9b28538438865", + "reference": "ac2aa2020dc2bff8d3af25659cf9b28538438865", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductStorageExtension module", + "time": "2018-08-06T14:30:50+00:00" }, { "name": "spryker/product-validity", @@ -13870,16 +15120,16 @@ }, { "name": "spryker/propel", - "version": "3.5.1", + "version": "3.5.3", "source": { "type": "git", "url": "https://github.com/spryker/propel.git", - "reference": "8e883b04c97b5733af47dea83ad8fd258ee3c48d" + "reference": "74c1dce0fb644a9cc60fda026ca61f3260cbc7f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/propel/zipball/8e883b04c97b5733af47dea83ad8fd258ee3c48d", - "reference": "8e883b04c97b5733af47dea83ad8fd258ee3c48d", + "url": "https://api.github.com/repos/spryker/propel/zipball/74c1dce0fb644a9cc60fda026ca61f3260cbc7f7", + "reference": "74c1dce0fb644a9cc60fda026ca61f3260cbc7f7", "shasum": "" }, "require": { @@ -13918,20 +15168,20 @@ "proprietary" ], "description": "Propel module", - "time": "2018-01-26T12:18:40+00:00" + "time": "2018-08-20T09:52:22+00:00" }, { "name": "spryker/propel-orm", - "version": "1.6.2", + "version": "1.7.1", "source": { "type": "git", "url": "https://github.com/spryker/propel-orm.git", - "reference": "e257b90247b3ce5051adeb156909b3d6afd99df6" + "reference": "36a68e3542d1b3e3f6bdd8c064b6853c9e9f3276" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/propel-orm/zipball/e257b90247b3ce5051adeb156909b3d6afd99df6", - "reference": "e257b90247b3ce5051adeb156909b3d6afd99df6", + "url": "https://api.github.com/repos/spryker/propel-orm/zipball/36a68e3542d1b3e3f6bdd8c064b6853c9e9f3276", + "reference": "36a68e3542d1b3e3f6bdd8c064b6853c9e9f3276", "shasum": "" }, "require": { @@ -13941,6 +15191,11 @@ "spryker/error-handler": "^2.0.0", "spryker/kernel": "^3.17.0" }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -13957,7 +15212,7 @@ "proprietary" ], "description": "PropelOrm module", - "time": "2018-04-26T08:28:30+00:00" + "time": "2018-09-06T16:33:18+00:00" }, { "name": "spryker/propel-query-builder", @@ -14006,16 +15261,16 @@ }, { "name": "spryker/queue", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/spryker/queue.git", - "reference": "dd592657398ad5f3d2cdd3ecb4314c8634781dd2" + "reference": "134c1b1f259ba1a3faa4ccc2d4139f0e41e5cd60" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/queue/zipball/dd592657398ad5f3d2cdd3ecb4314c8634781dd2", - "reference": "dd592657398ad5f3d2cdd3ecb4314c8634781dd2", + "url": "https://api.github.com/repos/spryker/queue/zipball/134c1b1f259ba1a3faa4ccc2d4139f0e41e5cd60", + "reference": "134c1b1f259ba1a3faa4ccc2d4139f0e41e5cd60", "shasum": "" }, "require": { @@ -14026,6 +15281,11 @@ "spryker/symfony": "^3.0.0", "spryker/transfer": "^3.0.0" }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -14042,20 +15302,20 @@ "proprietary" ], "description": "Queue module", - "time": "2018-05-16T16:01:08+00:00" + "time": "2018-09-18T11:42:12+00:00" }, { "name": "spryker/quote", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/spryker/quote.git", - "reference": "b53ba5517e1a9373d4c79a89d337f05d898168a3" + "reference": "f1c748cfe7140f00cc7dc9934f0b71e49031887d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/quote/zipball/b53ba5517e1a9373d4c79a89d337f05d898168a3", - "reference": "b53ba5517e1a9373d4c79a89d337f05d898168a3", + "url": "https://api.github.com/repos/spryker/quote/zipball/f1c748cfe7140f00cc7dc9934f0b71e49031887d", + "reference": "f1c748cfe7140f00cc7dc9934f0b71e49031887d", "shasum": "" }, "require": { @@ -14072,6 +15332,7 @@ }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -14091,20 +15352,20 @@ "proprietary" ], "description": "Quote module", - "time": "2018-05-16T14:01:09+00:00" + "time": "2018-09-10T11:27:17+00:00" }, { "name": "spryker/quote-extension", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/quote-extension.git", - "reference": "8bf0ac3deabc574b52ef38cd1fbc16849cf1ecba" + "reference": "db719450933bfeb5ed4debe47f4c76baba9c7cb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/quote-extension/zipball/8bf0ac3deabc574b52ef38cd1fbc16849cf1ecba", - "reference": "8bf0ac3deabc574b52ef38cd1fbc16849cf1ecba", + "url": "https://api.github.com/repos/spryker/quote-extension/zipball/db719450933bfeb5ed4debe47f4c76baba9c7cb0", + "reference": "db719450933bfeb5ed4debe47f4c76baba9c7cb0", "shasum": "" }, "require": { @@ -14130,28 +15391,28 @@ "proprietary" ], "description": "QuoteExtension module", - "time": "2018-04-10T14:40:01+00:00" + "time": "2018-09-13T17:04:05+00:00" }, { "name": "spryker/rabbit-mq", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/spryker/rabbit-mq.git", - "reference": "0516e7c7d9be5eb11e6e9999a367f32670eecf90" + "reference": "fcb29aa7adb354ae0cad3718a2e3d7585126906a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/rabbit-mq/zipball/0516e7c7d9be5eb11e6e9999a367f32670eecf90", - "reference": "0516e7c7d9be5eb11e6e9999a367f32670eecf90", + "url": "https://api.github.com/repos/spryker/rabbit-mq/zipball/fcb29aa7adb354ae0cad3718a2e3d7585126906a", + "reference": "fcb29aa7adb354ae0cad3718a2e3d7585126906a", "shasum": "" }, "require": { "php": ">=7.1", "php-amqplib/php-amqplib": "^2.6", "spryker/kernel": "^3.20.0", - "spryker/queue": "^1.1.0", - "spryker/store": "^1.6.0", + "spryker/queue": "^1.1.2", + "spryker/store": "^1.9.0", "spryker/transfer": "^3.6.0" }, "require-dev": { @@ -14189,7 +15450,42 @@ "rabbit-mq", "standards" ], - "time": "2018-05-30T09:19:47+00:00" + "time": "2018-09-24T13:36:50+00:00" + }, + { + "name": "spryker/ramsey-uuid", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/ramsey-uuid.git", + "reference": "622d58c423fcae4facf128eb09401a9dc0142578" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/ramsey-uuid/zipball/622d58c423fcae4facf128eb09401a9dc0142578", + "reference": "622d58c423fcae4facf128eb09401a9dc0142578", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "ramsey/uuid": "^3.8.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "RamseyUuid module", + "time": "2018-07-25T11:16:07+00:00" }, { "name": "spryker/redis", @@ -14214,14 +15510,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", - "support": { - "source": "https://github.com/spryker/Redis/tree/2.0.1" - }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -14264,36 +15557,25 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", - "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", - "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Refund module", - "support": { - "source": "https://github.com/spryker/Refund/tree/master" - }, "time": "2017-11-27T14:09:42+00:00" }, { "name": "spryker/sales", - "version": "8.10.0", + "version": "8.12.1", "source": { "type": "git", "url": "https://github.com/spryker/sales.git", - "reference": "0e6a9edeeb87bc651048abee07c23c7863f328c4" + "reference": "1e0c0a11921df6a555bfe64f27a7245c9701ab2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales/zipball/0e6a9edeeb87bc651048abee07c23c7863f328c4", - "reference": "0e6a9edeeb87bc651048abee07c23c7863f328c4", + "url": "https://api.github.com/repos/spryker/sales/zipball/1e0c0a11921df6a555bfe64f27a7245c9701ab2a", + "reference": "1e0c0a11921df6a555bfe64f27a7245c9701ab2a", "shasum": "" }, "require": { @@ -14319,12 +15601,15 @@ "spryker/zed-request": "^3.0.0" }, "require-dev": { + "spryker/application": "*", "spryker/checkout": "*", - "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/price": "*", + "spryker/product": "*", "spryker/shipment": "*", - "spryker/silex": "*", - "spryker/testify": "*" + "spryker/stock": "*", + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/checkout": "If you want to use Checkout plugins. ^4.0.0" @@ -14347,20 +15632,20 @@ "proprietary" ], "description": "Sales module", - "time": "2018-04-10T09:04:22+00:00" + "time": "2018-09-27T10:10:08+00:00" }, { "name": "spryker/sales-extension", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/sales-extension.git", - "reference": "c68e9154381d5acbd259f5b4d8652170d2894b39" + "reference": "c2d5620f34898dc40439ffdc9d9304a9aaa79040" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-extension/zipball/c68e9154381d5acbd259f5b4d8652170d2894b39", - "reference": "c68e9154381d5acbd259f5b4d8652170d2894b39", + "url": "https://api.github.com/repos/spryker/sales-extension/zipball/c2d5620f34898dc40439ffdc9d9304a9aaa79040", + "reference": "c2d5620f34898dc40439ffdc9d9304a9aaa79040", "shasum": "" }, "require": { @@ -14386,7 +15671,7 @@ "proprietary" ], "description": "SalesExtension module", - "time": "2018-04-03T13:23:19+00:00" + "time": "2018-06-18T17:01:18+00:00" }, { "name": "spryker/sales-product-connector", @@ -14437,6 +15722,53 @@ "description": "SalesProductConnector module", "time": "2018-01-24T11:43:27+00:00" }, + { + "name": "spryker/sales-quantity", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-quantity.git", + "reference": "539f660e70ad7293a439257e763ee430c2f98062" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-quantity/zipball/539f660e70ad7293a439257e763ee430c2f98062", + "reference": "539f660e70ad7293a439257e763ee430c2f98062", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/discount-extension": "^1.0.0", + "spryker/kernel": "^3.17.0", + "spryker/product": "^6.0.0", + "spryker/sales-extension": "^1.0.0" + }, + "require-dev": { + "spryker/cart": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/cart": "If you want to use cart plugins: ^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesQuantity module", + "time": "2018-07-31T09:22:49+00:00" + }, { "name": "spryker/sales-reclamation", "version": "0.3.0", @@ -14534,16 +15866,16 @@ }, { "name": "spryker/search", - "version": "8.0.2", + "version": "8.3.0", "source": { "type": "git", "url": "https://github.com/spryker/search.git", - "reference": "b282267d7cf5296dd22ed4ad0f00f0660658f194" + "reference": "cedcac50a1ad270ca9e410ebd99394518c6e11e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/search/zipball/b282267d7cf5296dd22ed4ad0f00f0660658f194", - "reference": "b282267d7cf5296dd22ed4ad0f00f0660658f194", + "url": "https://api.github.com/repos/spryker/search/zipball/cedcac50a1ad270ca9e410ebd99394518c6e11e5", + "reference": "cedcac50a1ad270ca9e410ebd99394518c6e11e5", "shasum": "" }, "require": { @@ -14562,9 +15894,8 @@ "spryker/zend": "^2.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/propel": "*", - "spryker/propel-orm": "*", "spryker/testify": "*" }, "type": "library", @@ -14583,7 +15914,7 @@ "proprietary" ], "description": "Search module", - "time": "2018-05-25T09:46:47+00:00" + "time": "2018-09-24T09:04:03+00:00" }, { "name": "spryker/sequence-number", @@ -14765,16 +16096,16 @@ }, { "name": "spryker/shipment", - "version": "6.4.1", + "version": "6.5.0", "source": { "type": "git", "url": "https://github.com/spryker/shipment.git", - "reference": "9b26a54f3974c7a303560cdf6eddff860a53bf46" + "reference": "6a77ded7de2d8e34bb9456ee52b6b973c26056c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipment/zipball/9b26a54f3974c7a303560cdf6eddff860a53bf46", - "reference": "9b26a54f3974c7a303560cdf6eddff860a53bf46", + "url": "https://api.github.com/repos/spryker/shipment/zipball/6a77ded7de2d8e34bb9456ee52b6b973c26056c3", + "reference": "6a77ded7de2d8e34bb9456ee52b6b973c26056c3", "shasum": "" }, "require": { @@ -14822,7 +16153,7 @@ "proprietary" ], "description": "Shipment module", - "time": "2018-04-04T08:28:49+00:00" + "time": "2018-07-15T19:55:05+00:00" }, { "name": "spryker/shipment-cart-connector", @@ -14961,16 +16292,16 @@ }, { "name": "spryker/shopping-list-extension", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/shopping-list-extension.git", - "reference": "cb74f896a338b976e409aaf47460997a537a634d" + "reference": "5a54eaa3717641505cd2df71001ef2867bf9abed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shopping-list-extension/zipball/cb74f896a338b976e409aaf47460997a537a634d", - "reference": "cb74f896a338b976e409aaf47460997a537a634d", + "url": "https://api.github.com/repos/spryker/shopping-list-extension/zipball/5a54eaa3717641505cd2df71001ef2867bf9abed", + "reference": "5a54eaa3717641505cd2df71001ef2867bf9abed", "shasum": "" }, "require": { @@ -14996,7 +16327,7 @@ "proprietary" ], "description": "ShoppingListExtension module", - "time": "2018-05-25T09:17:15+00:00" + "time": "2018-07-06T11:01:01+00:00" }, { "name": "spryker/silex", @@ -15025,14 +16356,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", - "support": { - "source": "https://github.com/spryker/Silex/tree/2.0.1" - }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -15261,19 +16589,20 @@ }, { "name": "spryker/storage", - "version": "3.4.0", + "version": "3.4.1", "source": { "type": "git", - "url": "https://github.com/spryker/Storage.git", - "reference": "48e3d597ee803363f957d2906b28dc9007285ab6" + "url": "https://github.com/spryker/storage.git", + "reference": "461a8a7483fa793d81d37b3eeadc86983aa60788" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/Storage/zipball/48e3d597ee803363f957d2906b28dc9007285ab6", - "reference": "48e3d597ee803363f957d2906b28dc9007285ab6", + "url": "https://api.github.com/repos/spryker/storage/zipball/461a8a7483fa793d81d37b3eeadc86983aa60788", + "reference": "461a8a7483fa793d81d37b3eeadc86983aa60788", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/config": "^3.0.0", "spryker/gui": "^3.0.0", "spryker/kernel": "^3.0.0", @@ -15285,8 +16614,6 @@ }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/propel-orm": "*", "spryker/testify": "*" }, "suggest": { @@ -15309,20 +16636,20 @@ "proprietary" ], "description": "Storage module", - "time": "2017-11-27T14:09:45+00:00" + "time": "2018-09-20T13:14:36+00:00" }, { "name": "spryker/store", - "version": "1.7.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/spryker/store.git", - "reference": "ed7d96fdade90e30a3f291fae15189fdbe075109" + "reference": "4700f1886d4c281233fe1ae74dbb193e3a771df1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/store/zipball/ed7d96fdade90e30a3f291fae15189fdbe075109", - "reference": "ed7d96fdade90e30a3f291fae15189fdbe075109", + "url": "https://api.github.com/repos/spryker/store/zipball/4700f1886d4c281233fe1ae74dbb193e3a771df1", + "reference": "4700f1886d4c281233fe1ae74dbb193e3a771df1", "shasum": "" }, "require": { @@ -15332,12 +16659,9 @@ "spryker/symfony": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/quote": "*", - "spryker/testify": "*", - "spryker/transfer": "*", - "spryker/twig": "*" + "spryker/code-sniffer": "*", + "spryker/quote": "*", + "spryker/testify": "*" }, "suggest": { "spryker/quote": "If you want to use StoreQuoteTransferExpander plugin, minimum required version: 1.2.0" @@ -15358,7 +16682,7 @@ "proprietary" ], "description": "Store module", - "time": "2018-05-16T16:01:08+00:00" + "time": "2018-09-18T11:42:12+00:00" }, { "name": "spryker/symfony", @@ -15419,33 +16743,62 @@ }, { "name": "spryker/synchronization", - "version": "0.2.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/synchronization.git", - "reference": "ff9a2c8a868a00ad2d9c63397f872a8918b08e9a" + "reference": "683fb699b507e705befa17545712d52e6758a14b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/synchronization/zipball/ff9a2c8a868a00ad2d9c63397f872a8918b08e9a", - "reference": "ff9a2c8a868a00ad2d9c63397f872a8918b08e9a", + "url": "https://api.github.com/repos/spryker/synchronization/zipball/683fb699b507e705befa17545712d52e6758a14b", + "reference": "683fb699b507e705befa17545712d52e6758a14b", "shasum": "" }, "require": { "php": ">=7.1", "spryker/elastica": "^2.0.0 || ^3.0.0 || ^4.0.0", "spryker/kernel": "^3.4.0", + "spryker/propel-orm": "^1.0.0", "spryker/queue": "^1.0.0", - "spryker/search": "^6.8.0 || ^7.0.0 || ^8.0.0", - "spryker/storage": "^3.3.2", + "spryker/search": "^6.8.0 || ^7.0.0 || ^8.3.0", + "spryker/storage": "^3.4.1", + "spryker/symfony": "^3.1.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/util-encoding": "^2.0.0" }, "require-dev": { + "spryker/availability-storage": "*", + "spryker/category-page-search": "*", + "spryker/category-storage": "*", + "spryker/cms-block-category-storage": "*", + "spryker/cms-block-product-storage": "*", + "spryker/cms-block-storage": "*", + "spryker/cms-page-search": "*", + "spryker/cms-storage": "*", "spryker/code-sniffer": "*", + "spryker/glossary-storage": "*", + "spryker/navigation-storage": "*", + "spryker/price-product-storage": "*", + "spryker/product-category-filter-storage": "*", + "spryker/product-category-storage": "*", + "spryker/product-group-storage": "*", + "spryker/product-image-storage": "*", + "spryker/product-label-storage": "*", + "spryker/product-measurement-unit-storage": "*", + "spryker/product-option-storage": "*", + "spryker/product-page-search": "*", + "spryker/product-quantity-storage": "*", + "spryker/product-relation-storage": "*", + "spryker/product-review-search": "*", + "spryker/product-review-storage": "*", + "spryker/product-search-config-storage": "*", + "spryker/product-set-page-search": "*", + "spryker/product-set-storage": "*", + "spryker/product-storage": "*", "spryker/propel": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/silex": "^2.0.0", - "spryker/testify": "*" + "spryker/testify": "*", + "spryker/url-storage": "*" }, "type": "library", "extra": { @@ -15463,35 +16816,32 @@ "proprietary" ], "description": "Synchronization module", - "time": "2018-03-09T07:57:08+00:00" + "time": "2018-09-24T10:46:42+00:00" }, { "name": "spryker/synchronization-behavior", - "version": "1.0.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/synchronization-behavior.git", - "reference": "164e3761cba658720e1101d47815aa0ac6084e63" + "reference": "fd3050c45d11c80cb01c070f0f164d0738fd74f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/synchronization-behavior/zipball/164e3761cba658720e1101d47815aa0ac6084e63", - "reference": "164e3761cba658720e1101d47815aa0ac6084e63", + "url": "https://api.github.com/repos/spryker/synchronization-behavior/zipball/fd3050c45d11c80cb01c070f0f164d0738fd74f5", + "reference": "fd3050c45d11c80cb01c070f0f164d0738fd74f5", "shasum": "" }, "require": { "spryker/kernel": "^3.20.0", "spryker/propel-orm": "^1.6.0", + "spryker/queue": "^1.1.2", + "spryker/synchronization": "^0.1.0 || ^0.2.0 || ^1.0.0", "spryker/zend": "^2.1.0" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/queue": "^1.1.0", - "spryker/synchronization": "^0.1.0 || ^0.2.0" - }, - "suggest": { - "spryker/queue": "Generated classes are using spryker/queue module.", - "spryker/synchronization": "Generated classes are using spryker/synchronization module." + "spryker/testify": "*" }, "type": "propel-behavior", "extra": { @@ -15514,20 +16864,63 @@ "proprietary" ], "description": "SynchronizationBehavior module", - "time": "2018-05-30T09:19:55+00:00" + "time": "2018-09-24T13:36:34+00:00" + }, + { + "name": "spryker/synchronization-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/synchronization-extension.git", + "reference": "7fb0212647977f0d5f3f13cd2c1f2e9db35447fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/synchronization-extension/zipball/7fb0212647977f0d5f3f13cd2c1f2e9db35447fd", + "reference": "7fb0212647977f0d5f3f13cd2c1f2e9db35447fd", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel-orm": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/propel-orm": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SynchronizationExtension module", + "time": "2018-07-20T06:21:48+00:00" }, { "name": "spryker/tax", - "version": "5.1.7", + "version": "5.3.1", "source": { "type": "git", "url": "https://github.com/spryker/tax.git", - "reference": "9d2f69a85b252a0e15bc133e6c41d5649feb447d" + "reference": "e5ba76774ad963047ed7bb68c1c5d9eac642ff59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/tax/zipball/9d2f69a85b252a0e15bc133e6c41d5649feb447d", - "reference": "9d2f69a85b252a0e15bc133e6c41d5649feb447d", + "url": "https://api.github.com/repos/spryker/tax/zipball/e5ba76774ad963047ed7bb68c1c5d9eac642ff59", + "reference": "e5ba76774ad963047ed7bb68c1c5d9eac642ff59", "shasum": "" }, "require": { @@ -15566,20 +16959,20 @@ "proprietary" ], "description": "Tax module", - "time": "2018-02-19T13:32:57+00:00" + "time": "2018-08-06T13:42:17+00:00" }, { "name": "spryker/tax-product-connector", - "version": "4.0.4", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/spryker/tax-product-connector.git", - "reference": "55d5cbb9b325ac8139075e92320091f6b0f6d878" + "reference": "236eb5e6a35e7a365bcc15a56013ae26b096eee7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/tax-product-connector/zipball/55d5cbb9b325ac8139075e92320091f6b0f6d878", - "reference": "55d5cbb9b325ac8139075e92320091f6b0f6d878", + "url": "https://api.github.com/repos/spryker/tax-product-connector/zipball/236eb5e6a35e7a365bcc15a56013ae26b096eee7", + "reference": "236eb5e6a35e7a365bcc15a56013ae26b096eee7", "shasum": "" }, "require": { @@ -15587,14 +16980,13 @@ "spryker/kernel": "^3.0.0", "spryker/product": "^5.0.0 || ^6.0.0", "spryker/propel-orm": "^1.0.0", - "spryker/tax": "^4.0.0 || ^5.0.0" + "spryker/tax": "^4.0.0 || ^5.0.0", + "spryker/zed-request": "^3.0.0" }, "require-dev": { "spryker/calculation": "*", - "spryker/code-sniffer": "*", "spryker/country": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -15616,7 +17008,7 @@ "proprietary" ], "description": "TaxProductConnector module", - "time": "2018-01-24T11:43:27+00:00" + "time": "2018-09-12T17:42:18+00:00" }, { "name": "spryker/touch", @@ -15668,16 +17060,16 @@ }, { "name": "spryker/transfer", - "version": "3.6.2", + "version": "3.6.5", "source": { "type": "git", "url": "https://github.com/spryker/transfer.git", - "reference": "653260cecdd543f5c9ac724051784c7f24ba2410" + "reference": "016a5ec591f89a48f5f00ce60d4138879b22dc04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/transfer/zipball/653260cecdd543f5c9ac724051784c7f24ba2410", - "reference": "653260cecdd543f5c9ac724051784c7f24ba2410", + "url": "https://api.github.com/repos/spryker/transfer/zipball/016a5ec591f89a48f5f00ce60d4138879b22dc04", + "reference": "016a5ec591f89a48f5f00ce60d4138879b22dc04", "shasum": "" }, "require": { @@ -15691,6 +17083,7 @@ }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -15710,20 +17103,20 @@ "proprietary" ], "description": "Transfer module", - "time": "2018-06-04T09:23:05+00:00" + "time": "2018-09-11T12:54:14+00:00" }, { "name": "spryker/twig", - "version": "3.3.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/spryker/twig.git", - "reference": "031bea56cc715440d2e537ce9c2e1aef5017749b" + "reference": "12207ad8afde02a59c051c280275cbd6a15be68f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/twig/zipball/031bea56cc715440d2e537ce9c2e1aef5017749b", - "reference": "031bea56cc715440d2e537ce9c2e1aef5017749b", + "url": "https://api.github.com/repos/spryker/twig/zipball/12207ad8afde02a59c051c280275cbd6a15be68f", + "reference": "12207ad8afde02a59c051c280275cbd6a15be68f", "shasum": "" }, "require": { @@ -15761,20 +17154,20 @@ "proprietary" ], "description": "Twig module", - "time": "2018-01-25T09:08:34+00:00" + "time": "2018-08-10T05:24:34+00:00" }, { "name": "spryker/url", - "version": "3.4.0", + "version": "3.4.1", "source": { "type": "git", "url": "https://github.com/spryker/url.git", - "reference": "05318f573376ae0fcf958261347c42db1c764b61" + "reference": "fc675282757f11c20658ca42a1cf3ec999605b0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/url/zipball/05318f573376ae0fcf958261347c42db1c764b61", - "reference": "05318f573376ae0fcf958261347c42db1c764b61", + "url": "https://api.github.com/repos/spryker/url/zipball/fc675282757f11c20658ca42a1cf3ec999605b0c", + "reference": "fc675282757f11c20658ca42a1cf3ec999605b0c", "shasum": "" }, "require": { @@ -15788,7 +17181,6 @@ "spryker/touch": "^3.0.0 || ^4.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "*", "spryker/silex": "*", "spryker/testify": "*", @@ -15815,7 +17207,7 @@ "proprietary" ], "description": "Url module", - "time": "2018-02-21T16:37:06+00:00" + "time": "2018-09-24T00:29:06+00:00" }, { "name": "spryker/url-collector", @@ -15867,26 +17259,27 @@ }, { "name": "spryker/url-storage", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/url-storage.git", - "reference": "ae4bfd3c222d9b377030064a6abd8e8c77025f7b" + "reference": "3ae7ef9559867f1a79101135a988343f664cd8ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/url-storage/zipball/ae4bfd3c222d9b377030064a6abd8e8c77025f7b", - "reference": "ae4bfd3c222d9b377030064a6abd8e8c77025f7b", + "url": "https://api.github.com/repos/spryker/url-storage/zipball/3ae7ef9559867f1a79101135a988343f664cd8ee", + "reference": "3ae7ef9559867f1a79101135a988343f664cd8ee", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", + "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/locale": "^3.0.0", "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/url": "^3.3.0", "spryker/util-sanitize": "^2.1.0" }, @@ -15912,20 +17305,20 @@ "proprietary" ], "description": "UrlStorage module", - "time": "2018-05-24T09:51:00+00:00" + "time": "2018-07-17T18:22:31+00:00" }, { "name": "spryker/user", - "version": "3.2.0", + "version": "3.3.0", "source": { "type": "git", "url": "https://github.com/spryker/user.git", - "reference": "2e4dfaecbbee95c5a0613d7b6b3087310fa3d2c8" + "reference": "c8e0a8792a4f41502a445d46152cf357ac2426ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/user/zipball/2e4dfaecbbee95c5a0613d7b6b3087310fa3d2c8", - "reference": "2e4dfaecbbee95c5a0613d7b6b3087310fa3d2c8", + "url": "https://api.github.com/repos/spryker/user/zipball/c8e0a8792a4f41502a445d46152cf357ac2426ac", + "reference": "c8e0a8792a4f41502a445d46152cf357ac2426ac", "shasum": "" }, "require": { @@ -15934,16 +17327,18 @@ "spryker/kernel": "^3.0.0", "spryker/session": "^3.1.1", "spryker/symfony": "^3.0.0", + "spryker/user-extension": "^1.0.0", "spryker/util-date-time": "^1.0.0", "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/installer": "*", "spryker/propel": "*", - "spryker/propel-orm": "*", + "spryker/sales": "*", "spryker/silex": "*", - "spryker/testify": "*" + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/installer": "If you want to use Installer plugin.", @@ -15966,7 +17361,93 @@ "proprietary" ], "description": "User module", - "time": "2018-02-26T10:10:54+00:00" + "time": "2018-09-05T09:34:01+00:00" + }, + { + "name": "spryker/user-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/user-extension.git", + "reference": "9988dd099cf32bb188e6397fb3a2d559f86dc664" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/user-extension/zipball/9988dd099cf32bb188e6397fb3a2d559f86dc664", + "reference": "9988dd099cf32bb188e6397fb3a2d559f86dc664", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/gui": "*", + "spryker/symfony": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/gui": "Required to use table in plugins.", + "spryker/symfony": "Required to use form in plugins." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "UserExtension module", + "time": "2018-09-05T07:46:20+00:00" + }, + { + "name": "spryker/util-csv", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/util-csv.git", + "reference": "b90e0453dd6555297eebba14923e0ee21d90d6f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/util-csv/zipball/b90e0453dd6555297eebba14923e0ee21d90d6f3", + "reference": "b90e0453dd6555297eebba14923e0ee21d90d6f3", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/symfony": "^3.1.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "UtilCsv module", + "time": "2018-07-10T12:34:02+00:00" }, { "name": "spryker/util-data-reader", @@ -16037,19 +17518,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", - "support": { - "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -16087,6 +17560,46 @@ "description": "UtilEncoding module", "time": "2017-10-24T13:32:31+00:00" }, + { + "name": "spryker/util-measurement-unit-conversion", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/util-measurement-unit-conversion.git", + "reference": "1ae26cf8e629d25157e273097941bde438a24ddc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/util-measurement-unit-conversion/zipball/1ae26cf8e629d25157e273097941bde438a24ddc", + "reference": "1ae26cf8e629d25157e273097941bde438a24ddc", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.3.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "UtilMeasurementUnitConversion module", + "time": "2018-05-08T12:16:40+00:00" + }, { "name": "spryker/util-network", "version": "1.1.1", @@ -16186,45 +17699,123 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "UtilText module", + "time": "2017-10-24T13:32:31+00:00" + }, + { + "name": "spryker/util-uuid-generator", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/util-uuid-generator.git", + "reference": "060829b2e2449be8247b0b2ffe116d406dc518fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/util-uuid-generator/zipball/060829b2e2449be8247b0b2ffe116d406dc518fe", + "reference": "060829b2e2449be8247b0b2ffe116d406dc518fe", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/ramsey-uuid": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" + "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "UtilText module", - "support": { - "source": "https://github.com/spryker/UtilText/tree/master" + "description": "UtilUuidGenerator module", + "time": "2018-07-26T08:59:06+00:00" + }, + { + "name": "spryker/util-validate", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/UtilValidate.git", + "reference": "e9bb63d9ff8262a3c38579d260dab78de4b4fefb" }, - "time": "2017-10-24T13:32:31+00:00" + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/UtilValidate/zipball/e9bb63d9ff8262a3c38579d260dab78de4b4fefb", + "reference": "e9bb63d9ff8262a3c38579d260dab78de4b4fefb", + "shasum": "" + }, + "require": { + "spryker/egulias": "^1.0.0", + "spryker/kernel": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "UtilValidate module", + "time": "2017-11-09T13:55:22+00:00" }, { - "name": "spryker/util-validate", - "version": "1.0.0", + "name": "spryker/uuid-behavior", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/spryker/UtilValidate.git", - "reference": "e9bb63d9ff8262a3c38579d260dab78de4b4fefb" + "url": "https://github.com/spryker/uuid-behavior.git", + "reference": "4cfe7577db908fbee334c9a1cf8f7b2476414b11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/UtilValidate/zipball/e9bb63d9ff8262a3c38579d260dab78de4b4fefb", - "reference": "e9bb63d9ff8262a3c38579d260dab78de4b4fefb", + "url": "https://api.github.com/repos/spryker/uuid-behavior/zipball/4cfe7577db908fbee334c9a1cf8f7b2476414b11", + "reference": "4cfe7577db908fbee334c9a1cf8f7b2476414b11", "shasum": "" }, "require": { - "spryker/egulias": "^1.0.0", - "spryker/kernel": "^3.0.0" + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/propel-orm": "^1.6.0", + "spryker/util-uuid-generator": "^1.0.0", + "spryker/zend": "^2.1.0" }, "require-dev": { "spryker/code-sniffer": "*", "spryker/testify": "*" }, - "type": "library", + "type": "propel-behavior", "extra": { + "name": "uuid", + "class": "\\Spryker\\Zed\\UuidBehavior\\Persistence\\Propel\\Behavior\\UuidBehavior", "branch-alias": { "dev-master": "1.0.x-dev" } @@ -16234,20 +17825,12 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "UtilValidate module", - "support": { - "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" - }, - "time": "2017-11-09T13:55:22+00:00" + "description": "UuidBehavior module", + "time": "2018-08-20T13:01:35+00:00" }, { "name": "spryker/web-profiler", @@ -16285,28 +17868,25 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://code.spryker.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "WebProfiler module", - "support": { - "source": "https://github.com/spryker/WebProfiler/tree/1.0.0" - }, "time": "2018-01-10T11:59:45+00:00" }, { "name": "spryker/wishlist", - "version": "6.0.0", + "version": "6.1.1", "source": { "type": "git", "url": "https://github.com/spryker/wishlist.git", - "reference": "2776fc5bae96aecbd377e159bfdc571cb38f06cb" + "reference": "1a197aaf36e99577eb5e233fa5fd3952cdefe5ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/wishlist/zipball/2776fc5bae96aecbd377e159bfdc571cb38f06cb", - "reference": "2776fc5bae96aecbd377e159bfdc571cb38f06cb", + "url": "https://api.github.com/repos/spryker/wishlist/zipball/1a197aaf36e99577eb5e233fa5fd3952cdefe5ab", + "reference": "1a197aaf36e99577eb5e233fa5fd3952cdefe5ab", "shasum": "" }, "require": { @@ -16314,15 +17894,14 @@ "spryker/cart": "^5.0.0", "spryker/customer": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "spryker/kernel": "^3.0.0", - "spryker/price-product": "^1.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.0.0 || ^6.0.0", "spryker/propel-orm": "^1.1.0", + "spryker/wishlist-extension": "^1.0.0", "spryker/zed-request": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/stock": "^4.0.0 || ^5.0.0", "spryker/testify": "*" }, @@ -16342,24 +17921,65 @@ "proprietary" ], "description": "Wishlist module", - "time": "2018-04-10T10:41:59+00:00" + "time": "2018-09-12T11:59:36+00:00" + }, + { + "name": "spryker/wishlist-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/wishlist-extension.git", + "reference": "963dde78f4a9c40d99419d5798782e1cf9167fae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/wishlist-extension/zipball/963dde78f4a9c40d99419d5798782e1cf9167fae", + "reference": "963dde78f4a9c40d99419d5798782e1cf9167fae", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "WishlistExtension module", + "time": "2018-07-20T08:40:49+00:00" }, { "name": "spryker/zed-navigation", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", - "url": "https://github.com/spryker/ZedNavigation.git", - "reference": "d4e35fcfdafe366e95943418103c486a2e1f3bc3" + "url": "https://github.com/spryker/zed-navigation.git", + "reference": "23635784deccdcbee830db56ae6a1c0965849ee2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/ZedNavigation/zipball/d4e35fcfdafe366e95943418103c486a2e1f3bc3", - "reference": "d4e35fcfdafe366e95943418103c486a2e1f3bc3", + "url": "https://api.github.com/repos/spryker/zed-navigation/zipball/23635784deccdcbee830db56ae6a1c0965849ee2", + "reference": "23635784deccdcbee830db56ae6a1c0965849ee2", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/kernel": "^3.0.0", + "spryker/log": "^2.0.0 || ^3.0.0", "spryker/symfony": "^3.0.0", "spryker/url": "^3.0.0", "spryker/util-encoding": "^2.0.0", @@ -16392,20 +18012,20 @@ "proprietary" ], "description": "ZedNavigation module", - "time": "2017-10-25T13:22:17+00:00" + "time": "2018-08-21T15:51:59+00:00" }, { "name": "spryker/zed-request", - "version": "3.4.0", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/spryker/zed-request.git", - "reference": "fdaf5c39198057c1bf9911fddf03b57b446a84c2" + "reference": "b25aee6302892eefa61145b4800238a16da87c92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/zed-request/zipball/fdaf5c39198057c1bf9911fddf03b57b446a84c2", - "reference": "fdaf5c39198057c1bf9911fddf03b57b446a84c2", + "url": "https://api.github.com/repos/spryker/zed-request/zipball/b25aee6302892eefa61145b4800238a16da87c92", + "reference": "b25aee6302892eefa61145b4800238a16da87c92", "shasum": "" }, "require": { @@ -16442,7 +18062,7 @@ "proprietary" ], "description": "ZedRequest module", - "time": "2018-03-06T08:52:10+00:00" + "time": "2018-08-31T09:01:53+00:00" }, { "name": "spryker/zend", @@ -16469,28 +18089,25 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Zend module", - "support": { - "source": "https://github.com/spryker/Zend/tree/2.1.0" - }, "time": "2017-08-02T16:31:17+00:00" }, { "name": "swiftmailer/swiftmailer", - "version": "v5.4.9", + "version": "v5.4.12", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91" + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91", - "reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950", + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950", "shasum": "" }, "require": { @@ -16531,7 +18148,7 @@ "mail", "mailer" ], - "time": "2018-01-23T07:37:21+00:00" + "time": "2018-07-31T09:26:32+00:00" }, { "name": "symfony-cmf/routing", @@ -16594,16 +18211,16 @@ }, { "name": "symfony/config", - "version": "v4.1.0", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "5ceefc256caecc3e25147c4e5b933de71d0020c4" + "reference": "76015a3cc372b14d00040ff58e18e29f69eba717" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/5ceefc256caecc3e25147c4e5b933de71d0020c4", - "reference": "5ceefc256caecc3e25147c4e5b933de71d0020c4", + "url": "https://api.github.com/repos/symfony/config/zipball/76015a3cc372b14d00040ff58e18e29f69eba717", + "reference": "76015a3cc372b14d00040ff58e18e29f69eba717", "shasum": "" }, "require": { @@ -16653,20 +18270,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-05-16T14:33:22+00:00" + "time": "2018-08-08T06:37:38+00:00" }, { "name": "symfony/console", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27" + "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/36f83f642443c46f3cf751d4d2ee5d047d757a27", - "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27", + "url": "https://api.github.com/repos/symfony/console/zipball/6b217594552b9323bcdcfc14f8a0ce126e84cd73", + "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73", "shasum": "" }, "require": { @@ -16722,20 +18339,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-05-16T08:49:21+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/debug", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68" + "reference": "c4625e75341e4fb309ce0c049cbf7fb84b8897cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b28fd73fefbac341f673f5efd707d539d6a19f68", - "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68", + "url": "https://api.github.com/repos/symfony/debug/zipball/c4625e75341e4fb309ce0c049cbf7fb84b8897cd", + "reference": "c4625e75341e4fb309ce0c049cbf7fb84b8897cd", "shasum": "" }, "require": { @@ -16778,7 +18395,7 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-05-16T14:03:39+00:00" + "time": "2018-08-03T10:42:44+00:00" }, { "name": "symfony/event-dispatcher", @@ -16842,16 +18459,16 @@ }, { "name": "symfony/filesystem", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8e03ca3fa52a0f56b87506f38cf7bd3f9442b3a0" + "reference": "285ce5005cb01a0aeaa5b0cf590bd0cc40bb631c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8e03ca3fa52a0f56b87506f38cf7bd3f9442b3a0", - "reference": "8e03ca3fa52a0f56b87506f38cf7bd3f9442b3a0", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/285ce5005cb01a0aeaa5b0cf590bd0cc40bb631c", + "reference": "285ce5005cb01a0aeaa5b0cf590bd0cc40bb631c", "shasum": "" }, "require": { @@ -16888,20 +18505,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-05-16T08:49:21+00:00" + "time": "2018-08-10T07:29:05+00:00" }, { "name": "symfony/finder", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "472a92f3df8b247b49ae364275fb32943b9656c6" + "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/472a92f3df8b247b49ae364275fb32943b9656c6", - "reference": "472a92f3df8b247b49ae364275fb32943b9656c6", + "url": "https://api.github.com/repos/symfony/finder/zipball/8a84fcb207451df0013b2c74cbbf1b62d47b999a", + "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a", "shasum": "" }, "require": { @@ -16937,7 +18554,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-05-16T08:49:21+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/form", @@ -17155,16 +18772,16 @@ }, { "name": "symfony/inflector", - "version": "v4.1.0", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", - "reference": "a55513ebd8aa4843300e325c84d0954a9d1f4ed8" + "reference": "07810b5c88ec0c2e98972571a40a126b44664e13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/inflector/zipball/a55513ebd8aa4843300e325c84d0954a9d1f4ed8", - "reference": "a55513ebd8aa4843300e325c84d0954a9d1f4ed8", + "url": "https://api.github.com/repos/symfony/inflector/zipball/07810b5c88ec0c2e98972571a40a126b44664e13", + "reference": "07810b5c88ec0c2e98972571a40a126b44664e13", "shasum": "" }, "require": { @@ -17209,20 +18826,20 @@ "symfony", "words" ], - "time": "2018-05-01T23:02:13+00:00" + "time": "2018-07-26T08:55:25+00:00" }, { "name": "symfony/intl", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "267f3eae9a2e79a51e103d57880db114eb4f19ab" + "reference": "963f45ef0f4739eb776f088169563e6aa9e1e2aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/267f3eae9a2e79a51e103d57880db114eb4f19ab", - "reference": "267f3eae9a2e79a51e103d57880db114eb4f19ab", + "url": "https://api.github.com/repos/symfony/intl/zipball/963f45ef0f4739eb776f088169563e6aa9e1e2aa", + "reference": "963f45ef0f4739eb776f088169563e6aa9e1e2aa", "shasum": "" }, "require": { @@ -17284,20 +18901,20 @@ "l10n", "localization" ], - "time": "2018-05-21T10:06:52+00:00" + "time": "2018-07-31T09:47:14+00:00" }, { "name": "symfony/options-resolver", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e" + "reference": "6debc476953a45969ab39afe8dee0b825f356dc7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/f3109a6aedd20e35c3a33190e932c2b063b7b50e", - "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/6debc476953a45969ab39afe8dee0b825f356dc7", + "reference": "6debc476953a45969ab39afe8dee0b825f356dc7", "shasum": "" }, "require": { @@ -17338,29 +18955,32 @@ "configuration", "options" ], - "time": "2018-01-11T07:56:07+00:00" + "time": "2018-07-26T08:45:46+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "suggest": { + "ext-ctype": "For best performance" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -17393,20 +19013,20 @@ "polyfill", "portable" ], - "time": "2018-04-30T19:57:29+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "80ee17ae83c10cd513e5144f91a73607a21edb4e" + "reference": "f22a90256d577c7ef7efad8df1f0201663d57644" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/80ee17ae83c10cd513e5144f91a73607a21edb4e", - "reference": "80ee17ae83c10cd513e5144f91a73607a21edb4e", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/f22a90256d577c7ef7efad8df1f0201663d57644", + "reference": "f22a90256d577c7ef7efad8df1f0201663d57644", "shasum": "" }, "require": { @@ -17419,7 +19039,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -17451,20 +19071,20 @@ "portable", "shim" ], - "time": "2018-04-25T14:53:50+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", "shasum": "" }, "require": { @@ -17476,7 +19096,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -17510,20 +19130,20 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "af98553c84912459db3f636329567809d639a8f6" + "reference": "7b4fc009172cc0196535b0328bd1226284a28000" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/af98553c84912459db3f636329567809d639a8f6", - "reference": "af98553c84912459db3f636329567809d639a8f6", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/7b4fc009172cc0196535b0328bd1226284a28000", + "reference": "7b4fc009172cc0196535b0328bd1226284a28000", "shasum": "" }, "require": { @@ -17533,7 +19153,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -17566,30 +19186,30 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6" + "reference": "1e24b0c4a56d55aaf368763a06c6d1c7d3194934" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/77454693d8f10dd23bb24955cffd2d82db1007a6", - "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/1e24b0c4a56d55aaf368763a06c6d1c7d3194934", + "reference": "1e24b0c4a56d55aaf368763a06c6d1c7d3194934", "shasum": "" }, "require": { - "paragonie/random_compat": "~1.0|~2.0", + "paragonie/random_compat": "~1.0|~2.0|~9.99", "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -17625,20 +19245,20 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a" + "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", - "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/8e15d04ba3440984d23e7964b2ee1d25c8de1581", + "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581", "shasum": "" }, "require": { @@ -17647,7 +19267,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -17677,20 +19297,20 @@ "polyfill", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/process", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187" + "reference": "4d6b125d5293cbceedc2aa10f2c71617e76262e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/4cbf2db9abcb01486a21b7a059e03a62fae63187", - "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187", + "url": "https://api.github.com/repos/symfony/process/zipball/4d6b125d5293cbceedc2aa10f2c71617e76262e7", + "reference": "4d6b125d5293cbceedc2aa10f2c71617e76262e7", "shasum": "" }, "require": { @@ -17726,20 +19346,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-05-16T08:49:21+00:00" + "time": "2018-08-03T10:42:44+00:00" }, { "name": "symfony/property-access", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "a6e8c778b220dfd5cd5f5dcb09f87ee232dd608a" + "reference": "8c892ce455ef55b3e22769cc27a7aa2e0983bff1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/a6e8c778b220dfd5cd5f5dcb09f87ee232dd608a", - "reference": "a6e8c778b220dfd5cd5f5dcb09f87ee232dd608a", + "url": "https://api.github.com/repos/symfony/property-access/zipball/8c892ce455ef55b3e22769cc27a7aa2e0983bff1", + "reference": "8c892ce455ef55b3e22769cc27a7aa2e0983bff1", "shasum": "" }, "require": { @@ -17794,7 +19414,7 @@ "property path", "reflection" ], - "time": "2018-01-03T07:37:34+00:00" + "time": "2018-08-24T10:16:13+00:00" }, { "name": "symfony/routing", @@ -17951,16 +19571,16 @@ }, { "name": "symfony/serializer", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "313044ca25592becbcc893c5bf87cfa16ef78869" + "reference": "40031683816470610af87c2d03ea86d1cf0f0104" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/313044ca25592becbcc893c5bf87cfa16ef78869", - "reference": "313044ca25592becbcc893c5bf87cfa16ef78869", + "url": "https://api.github.com/repos/symfony/serializer/zipball/40031683816470610af87c2d03ea86d1cf0f0104", + "reference": "40031683816470610af87c2d03ea86d1cf0f0104", "shasum": "" }, "require": { @@ -18026,20 +19646,20 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2018-05-22T12:52:11+00:00" + "time": "2018-07-26T11:58:24+00:00" }, { "name": "symfony/translation", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "7047f725e35eab768137c677f8c38e4a2a8e38fb" + "reference": "9749930bfc825139aadd2d28461ddbaed6577862" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/7047f725e35eab768137c677f8c38e4a2a8e38fb", - "reference": "7047f725e35eab768137c677f8c38e4a2a8e38fb", + "url": "https://api.github.com/repos/symfony/translation/zipball/9749930bfc825139aadd2d28461ddbaed6577862", + "reference": "9749930bfc825139aadd2d28461ddbaed6577862", "shasum": "" }, "require": { @@ -18094,11 +19714,11 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2018-05-21T10:06:52+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/twig-bridge", - "version": "v3.3.17", + "version": "v3.3.18", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", @@ -18186,7 +19806,7 @@ }, { "name": "symfony/validator", - "version": "v3.3.17", + "version": "v3.3.18", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", @@ -18265,16 +19885,16 @@ }, { "name": "symfony/yaml", - "version": "v3.4.11", + "version": "v3.4.15", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0" + "reference": "c2f4812ead9f847cb69e90917ca7502e6892d6b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", - "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c2f4812ead9f847cb69e90917ca7502e6892d6b8", + "reference": "c2f4812ead9f847cb69e90917ca7502e6892d6b8", "shasum": "" }, "require": { @@ -18320,24 +19940,25 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-05-03T23:18:14+00:00" + "time": "2018-08-10T07:34:36+00:00" }, { "name": "twig/twig", - "version": "v1.35.3", + "version": "v1.35.4", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f" + "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/b48680b6eb7d16b5025b9bfc4108d86f6b8af86f", - "reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", + "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { "psr/container": "^1.0", @@ -18376,16 +19997,16 @@ }, { "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", + "homepage": "https://twig.symfony.com/contributors", "role": "Contributors" } ], "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org", + "homepage": "https://twig.symfony.com", "keywords": [ "templating" ], - "time": "2018-03-20T04:25:58+00:00" + "time": "2018-07-13T07:12:17+00:00" }, { "name": "zendframework/zend-config", @@ -18580,16 +20201,16 @@ }, { "name": "zendframework/zend-stdlib", - "version": "3.2.0", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae" + "reference": "66536006722aff9e62d1b331025089b7ec71c065" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cd164b4a18b5d1aeb69be2c26db035b5ed6925ae", - "reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/66536006722aff9e62d1b331025089b7ec71c065", + "reference": "66536006722aff9e62d1b331025089b7ec71c065", "shasum": "" }, "require": { @@ -18622,7 +20243,7 @@ "stdlib", "zf" ], - "time": "2018-04-30T13:50:40+00:00" + "time": "2018-08-28T21:34:05+00:00" } ], "packages-dev": [ @@ -18812,6 +20433,50 @@ "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", "time": "2018-05-17T09:31:08+00:00" }, + { + "name": "composer/xdebug-handler", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "b8e9745fb9b06ea6664d8872c4505fb16df4611c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/b8e9745fb9b06ea6664d8872c4505fb16df4611c", + "reference": "b8e9745fb9b06ea6664d8872c4505fb16df4611c", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "time": "2018-08-31T19:07:57+00:00" + }, { "name": "doctrine/instantiator", "version": "1.0.5", @@ -19142,16 +20807,16 @@ }, { "name": "nette/di", - "version": "v2.4.12", + "version": "v2.4.14", "source": { "type": "git", "url": "https://github.com/nette/di.git", - "reference": "8e717aed2d182a26763be58c220eebaaa32917df" + "reference": "923da3e2c0aa53162ef455472c0ac7787b096c5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/8e717aed2d182a26763be58c220eebaaa32917df", - "reference": "8e717aed2d182a26763be58c220eebaaa32917df", + "url": "https://api.github.com/repos/nette/di/zipball/923da3e2c0aa53162ef455472c0ac7787b096c5a", + "reference": "923da3e2c0aa53162ef455472c0ac7787b096c5a", "shasum": "" }, "require": { @@ -19207,31 +20872,31 @@ "nette", "static" ], - "time": "2018-04-26T09:18:42+00:00" + "time": "2018-09-17T15:47:40+00:00" }, { "name": "nette/finder", - "version": "v2.4.1", + "version": "v2.4.2", "source": { "type": "git", "url": "https://github.com/nette/finder.git", - "reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547" + "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/4d43a66d072c57d585bf08a3ef68d3587f7e9547", - "reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547", + "url": "https://api.github.com/repos/nette/finder/zipball/ee951a656cb8ac622e5dd33474a01fd2470505a0", + "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0", "shasum": "" }, "require": { - "nette/utils": "^2.4 || ~3.0.0", + "nette/utils": "~2.4", "php": ">=5.6.0" }, "conflict": { "nette/nette": "<2.2" }, "require-dev": { - "nette/tester": "^2.0", + "nette/tester": "~2.0", "tracy/tracy": "^2.3" }, "type": "library", @@ -19261,22 +20926,28 @@ "homepage": "https://nette.org/contributors" } ], - "description": "Nette Finder: Files Searching", + "description": "🔍 Nette Finder: find files and directories with an intuitive API.", "homepage": "https://nette.org", - "time": "2017-07-10T23:47:08+00:00" + "keywords": [ + "filesystem", + "glob", + "iterator", + "nette" + ], + "time": "2018-06-28T11:49:23+00:00" }, { "name": "nette/neon", - "version": "v2.4.2", + "version": "v2.4.3", "source": { "type": "git", "url": "https://github.com/nette/neon.git", - "reference": "9eacd50553b26b53a3977bfb2fea2166d4331622" + "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/neon/zipball/9eacd50553b26b53a3977bfb2fea2166d4331622", - "reference": "9eacd50553b26b53a3977bfb2fea2166d4331622", + "url": "https://api.github.com/repos/nette/neon/zipball/5e72b1dd3e2d34f0863c5561139a19df6a1ef398", + "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398", "shasum": "" }, "require": { @@ -19315,9 +20986,16 @@ "homepage": "https://nette.org/contributors" } ], - "description": "Nette NEON: parser & generator for Nette Object Notation", + "description": "🍸 Nette NEON: encodes and decodes NEON file format.", "homepage": "http://ne-on.org", - "time": "2017-07-11T18:29:08+00:00" + "keywords": [ + "export", + "import", + "neon", + "nette", + "yaml" + ], + "time": "2018-03-21T12:12:21+00:00" }, { "name": "nette/php-generator", @@ -19383,16 +21061,16 @@ }, { "name": "nette/robot-loader", - "version": "v3.0.3", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/nette/robot-loader.git", - "reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a" + "reference": "fc76c70e740b10f091e502b2e393d0be912f38d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/robot-loader/zipball/92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a", - "reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/fc76c70e740b10f091e502b2e393d0be912f38d4", + "reference": "fc76c70e740b10f091e502b2e393d0be912f38d4", "shasum": "" }, "require": { @@ -19411,7 +21089,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -19444,20 +21122,20 @@ "nette", "trait" ], - "time": "2017-09-26T13:42:21+00:00" + "time": "2018-08-13T14:19:06+00:00" }, { "name": "nette/utils", - "version": "v2.5.2", + "version": "v2.5.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5" + "reference": "17b9f76f2abd0c943adfb556e56f2165460b15ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/183069866dc477fcfbac393ed486aaa6d93d19a5", - "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5", + "url": "https://api.github.com/repos/nette/utils/zipball/17b9f76f2abd0c943adfb556e56f2165460b15ce", + "reference": "17b9f76f2abd0c943adfb556e56f2165460b15ce", "shasum": "" }, "require": { @@ -19526,28 +21204,28 @@ "utility", "validation" ], - "time": "2018-05-02T17:16:08+00:00" + "time": "2018-09-18T10:22:16+00:00" }, { "name": "nikic/php-parser", - "version": "v3.1.5", + "version": "v4.0.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce" + "reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/fa6ee28600d21d49b2b4e1006b48426cec8e579c", + "reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.5" + "php": ">=7.0" }, "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" + "phpunit/phpunit": "^6.5 || ^7.0" }, "bin": [ "bin/php-parse" @@ -19555,7 +21233,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -19577,7 +21255,7 @@ "parser", "php" ], - "time": "2018-02-28T20:30:58+00:00" + "time": "2018-09-18T07:03:24+00:00" }, { "name": "ocramius/package-versions", @@ -19771,100 +21449,141 @@ "time": "2017-03-05T17:38:23+00:00" }, { - "name": "php-mock/php-mock", + "name": "phpdocumentor/reflection-common", "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-mock/php-mock.git", - "reference": "bfa2d17d64dbf129073a7ba2051a96ce52749570" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-mock/php-mock/zipball/bfa2d17d64dbf129073a7ba2051a96ce52749570", - "reference": "bfa2d17d64dbf129073a7ba2051a96ce52749570", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { - "php": ">=5.5", - "phpunit/php-text-template": "^1" - }, - "replace": { - "malkusch/php-mock": "*" + "php": ">=5.5" }, "require-dev": { - "phpunit/phpunit": "^4|^5" - }, - "suggest": { - "php-mock/php-mock-mockery": "Allows using PHPMockery for Mockery integration", - "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock." + "phpunit/phpunit": "^4.6" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "phpmock\\": [ - "classes/", - "tests/unit/" + "phpDocumentor\\Reflection\\": [ + "src" ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "WTFPL" + "MIT" ], "authors": [ { - "name": "Markus Malkusch", - "email": "markus@malkusch.de", - "homepage": "http://markus.malkusch.de", - "role": "Developer" + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" } ], - "description": "PHP-Mock can mock built-in PHP functions (e.g. time()). PHP-Mock relies on PHP's namespace fallback policy. No further extension is needed.", - "homepage": "https://github.com/php-mock/php-mock", + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", "keywords": [ - "BDD", - "TDD", - "function", - "mock", - "stub", - "test", - "test double" + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" ], - "time": "2015-11-11T22:37:09+00:00" + "time": "2017-09-11T18:02:19+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "2.0.5", + "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-0": { - "phpDocumentor": [ + "psr-4": { + "phpDocumentor\\Reflection\\": [ "src/" ] } @@ -19876,27 +21595,28 @@ "authors": [ { "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "email": "me@mikevanriel.com" } ], - "time": "2016-01-25T08:17:30+00:00" + "time": "2017-07-14T14:27:02+00:00" }, { "name": "phpmd/phpmd", - "version": "2.4.4", + "version": "2.6.0", "source": { "type": "git", "url": "https://github.com/phpmd/phpmd.git", - "reference": "148b605040ae6f7cc839e14a9e206beec9868d97" + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/148b605040ae6f7cc839e14a9e206beec9868d97", - "reference": "148b605040ae6f7cc839e14a9e206beec9868d97", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/4e9924b2c157a3eb64395460fcf56b31badc8374", + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374", "shasum": "" }, "require": { - "pdepend/pdepend": "^2.0.4", + "ext-xml": "*", + "pdepend/pdepend": "^2.5", "php": ">=5.3.9" }, "require-dev": { @@ -19944,20 +21664,20 @@ "phpmd", "pmd" ], - "time": "2016-11-22T14:35:17+00:00" + "time": "2017-01-20T14:41:10+00:00" }, { "name": "phpspec/prophecy", - "version": "1.7.6", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "shasum": "" }, "require": { @@ -19969,12 +21689,12 @@ }, "require-dev": { "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { @@ -20007,37 +21727,38 @@ "spy", "stub" ], - "time": "2018-04-18T13:57:24+00:00" + "time": "2018-08-05T17:53:17+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "0.2", + "version": "0.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "02f909f134fe06f0cd4790d8627ee24efbe84d6a" + "reference": "ed3223362174b8067729930439e139794e9e514a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/02f909f134fe06f0cd4790d8627ee24efbe84d6a", - "reference": "02f909f134fe06f0cd4790d8627ee24efbe84d6a", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ed3223362174b8067729930439e139794e9e514a", + "reference": "ed3223362174b8067729930439e139794e9e514a", "shasum": "" }, "require": { - "php": "~7.0" + "php": "~7.1" }, "require-dev": { "consistence/coding-standard": "^2.0.0", "jakub-onderka/php-parallel-lint": "^0.9.2", "phing/phing": "^2.16.0", - "phpstan/phpstan": "^0.9", + "phpstan/phpstan": "^0.10@dev", "phpunit/phpunit": "^6.3", - "slevomat/coding-standard": "^3.3.0" + "slevomat/coding-standard": "^3.3.0", + "symfony/process": "^3.4 || ^4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1-dev" + "dev-master": "0.3-dev" } }, "autoload": { @@ -20052,46 +21773,52 @@ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", - "time": "2018-01-13T18:19:41+00:00" + "time": "2018-06-20T17:48:01+00:00" }, { "name": "phpstan/phpstan", - "version": "0.9.2", + "version": "0.10.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "e59541bcc7cac9b35ca54db6365bf377baf4a488" + "reference": "dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e59541bcc7cac9b35ca54db6365bf377baf4a488", - "reference": "e59541bcc7cac9b35ca54db6365bf377baf4a488", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0", + "reference": "dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0", "shasum": "" }, "require": { + "composer/xdebug-handler": "^1.0", "jean85/pretty-package-versions": "^1.0.3", "nette/bootstrap": "^2.4 || ^3.0", "nette/di": "^2.4.7 || ^3.0", "nette/robot-loader": "^3.0.1", "nette/utils": "^2.4.5 || ^3.0", - "nikic/php-parser": "^3.1", - "php": "~7.0", - "phpstan/phpdoc-parser": "^0.2", + "nikic/php-parser": "^4.0.2", + "php": "~7.1", + "phpstan/phpdoc-parser": "^0.3", "symfony/console": "~3.2 || ~4.0", "symfony/finder": "~3.2 || ~4.0" }, "require-dev": { - "consistence/coding-standard": "2.2.1", + "brianium/paratest": "^2.0", + "consistence/coding-standard": "^3.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", "ext-gd": "*", "ext-intl": "*", "ext-mysqli": "*", - "jakub-onderka/php-parallel-lint": "^0.9.2", + "ext-zip": "*", + "jakub-onderka/php-parallel-lint": "^1.0", + "localheinz/composer-normalize": "~0.8.0", "phing/phing": "^2.16.0", - "phpstan/phpstan-php-parser": "^0.9", - "phpstan/phpstan-phpunit": "^0.9.3", - "phpstan/phpstan-strict-rules": "^0.9", - "phpunit/phpunit": "^6.5.4", - "slevomat/coding-standard": "4.0.0" + "phpstan/phpstan-deprecation-rules": "^0.10.2", + "phpstan/phpstan-php-parser": "^0.10", + "phpstan/phpstan-phpunit": "^0.10", + "phpstan/phpstan-strict-rules": "^0.10", + "phpunit/phpunit": "^7.0", + "slevomat/coding-standard": "^4.6.2" }, "bin": [ "bin/phpstan" @@ -20099,7 +21826,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.9-dev" + "dev-master": "0.10-dev" } }, "autoload": { @@ -20115,20 +21842,20 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", - "time": "2018-01-28T13:22:19+00:00" + "time": "2018-08-12T15:14:21+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "5.2.2", + "version": "5.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "8ed1902a57849e117b5651fc1a5c48110946c06b" + "reference": "c89677919c5dd6d3b3852f230a663118762218ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/8ed1902a57849e117b5651fc1a5c48110946c06b", - "reference": "8ed1902a57849e117b5651fc1a5c48110946c06b", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac", "shasum": "" }, "require": { @@ -20137,14 +21864,13 @@ "php": "^7.0", "phpunit/php-file-iterator": "^1.4.2", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^1.4.11 || ^2.0", + "phpunit/php-token-stream": "^2.0.1", "sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/environment": "^3.0", "sebastian/version": "^2.0.1", "theseer/tokenizer": "^1.1" }, "require-dev": { - "ext-xdebug": "^2.5", "phpunit/phpunit": "^6.0" }, "suggest": { @@ -20153,7 +21879,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.2.x-dev" + "dev-master": "5.3.x-dev" } }, "autoload": { @@ -20168,7 +21894,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -20179,7 +21905,7 @@ "testing", "xunit" ], - "time": "2017-08-03T12:40:43+00:00" + "time": "2018-04-06T15:36:58+00:00" }, { "name": "phpunit/php-file-iterator", @@ -20320,29 +22046,29 @@ }, { "name": "phpunit/php-token-stream", - "version": "1.4.12", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16" + "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16", - "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.2.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -20365,20 +22091,20 @@ "keywords": [ "tokenizer" ], - "time": "2017-12-04T08:55:13+00:00" + "time": "2017-11-27T05:48:46+00:00" }, { "name": "phpunit/phpunit", - "version": "6.4.4", + "version": "6.5.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "562f7dc75d46510a4ed5d16189ae57fbe45a9932" + "reference": "0973426fb012359b2f18d3bd1e90ef1172839693" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/562f7dc75d46510a4ed5d16189ae57fbe45a9932", - "reference": "562f7dc75d46510a4ed5d16189ae57fbe45a9932", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0973426fb012359b2f18d3bd1e90ef1172839693", + "reference": "0973426fb012359b2f18d3bd1e90ef1172839693", "shasum": "" }, "require": { @@ -20392,12 +22118,12 @@ "phar-io/version": "^1.0", "php": "^7.0", "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^5.2.2", - "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", "phpunit/php-text-template": "^1.2.1", "phpunit/php-timer": "^1.0.9", - "phpunit/phpunit-mock-objects": "^4.0.3", - "sebastian/comparator": "^2.0.2", + "phpunit/phpunit-mock-objects": "^5.0.9", + "sebastian/comparator": "^2.1", "sebastian/diff": "^2.0", "sebastian/environment": "^3.1", "sebastian/exporter": "^3.1", @@ -20423,7 +22149,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.4.x-dev" + "dev-master": "6.5.x-dev" } }, "autoload": { @@ -20449,33 +22175,33 @@ "testing", "xunit" ], - "time": "2017-11-08T11:26:09+00:00" + "time": "2018-09-08T15:10:43+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "4.0.4", + "version": "5.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "2f789b59ab89669015ad984afa350c4ec577ade0" + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/2f789b59ab89669015ad984afa350c4ec577ade0", - "reference": "2f789b59ab89669015ad984afa350c4ec577ade0", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.5", "php": "^7.0", "phpunit/php-text-template": "^1.2.1", - "sebastian/exporter": "^3.0" + "sebastian/exporter": "^3.1" }, "conflict": { "phpunit/phpunit": "<6.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^6.5.11" }, "suggest": { "ext-soap": "*" @@ -20483,7 +22209,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0.x-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { @@ -20498,7 +22224,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -20508,7 +22234,7 @@ "mock", "xunit" ], - "time": "2017-08-03T14:08:16+00:00" + "time": "2018-08-09T05:50:03+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -21246,6 +22972,7 @@ ], "description": "A WebProfiler for Silex", "homepage": "http://silex.sensiolabs.org/", + "abandoned": true, "time": "2016-05-04T16:32:42+00:00" }, { @@ -21297,30 +23024,29 @@ }, { "name": "slevomat/coding-standard", - "version": "4.4.8", + "version": "4.8.3", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "8107d1790f98ae67b768bed3728d3d05c0f9fb80" + "reference": "32e1ca205fc34920f323582ed29c0602e3897ae3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/8107d1790f98ae67b768bed3728d3d05c0f9fb80", - "reference": "8107d1790f98ae67b768bed3728d3d05c0f9fb80", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/32e1ca205fc34920f323582ed29c0602e3897ae3", + "reference": "32e1ca205fc34920f323582ed29c0602e3897ae3", "shasum": "" }, "require": { "php": "^7.1", - "squizlabs/php_codesniffer": "^3.0.2" + "squizlabs/php_codesniffer": "^3.3.0" }, "require-dev": { - "jakub-onderka/php-parallel-lint": "0.9.2", - "phing/phing": "2.16", + "jakub-onderka/php-parallel-lint": "1.0.0", + "phing/phing": "2.16.1", "phpstan/phpstan": "0.9.2", "phpstan/phpstan-phpunit": "0.9.4", "phpstan/phpstan-strict-rules": "0.9", - "phpunit/php-code-coverage": "6.0.1", - "phpunit/phpunit": "7.0.0" + "phpunit/phpunit": "7.3.5" }, "type": "phpcodesniffer-standard", "autoload": { @@ -21333,7 +23059,7 @@ "MIT" ], "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "time": "2018-02-28T23:33:43+00:00" + "time": "2018-09-25T21:21:11+00:00" }, { "name": "sllh/composer-versions-check", @@ -21376,7 +23102,7 @@ ], "authors": [ { - "name": "Sullivan SENECHAL", + "name": "Sullivan Sénéchal", "email": "soullivaneuh@gmail.com" } ], @@ -21442,22 +23168,22 @@ }, { "name": "spryker/code-generator", - "version": "0.3.5", + "version": "0.3.7", "source": { "type": "git", "url": "https://github.com/spryker/code-generator.git", - "reference": "550b9776d12991c8d354f37978ab70aaa227c49d" + "reference": "c2638cde2e7886c876a9d6752875f5e2ced1a86d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/code-generator/zipball/550b9776d12991c8d354f37978ab70aaa227c49d", - "reference": "550b9776d12991c8d354f37978ab70aaa227c49d", + "url": "https://api.github.com/repos/spryker/code-generator/zipball/c2638cde2e7886c876a9d6752875f5e2ced1a86d", + "reference": "c2638cde2e7886c876a9d6752875f5e2ced1a86d", "shasum": "" }, "require": { "php": ">=7.1", "spryker/kernel": "^3.0.0", - "zendframework/zend-filter": "*" + "zendframework/zend-filter": "^2.8.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -21479,28 +23205,29 @@ "MIT" ], "description": "CodeGenerator module", - "time": "2018-03-02T11:42:00+00:00" + "time": "2018-09-04T09:50:22+00:00" }, { "name": "spryker/code-sniffer", - "version": "0.11.4", + "version": "0.12.5", "source": { "type": "git", "url": "https://github.com/spryker/code-sniffer.git", - "reference": "873f191feae7115e0fd6476a3f757fe2bbd04986" + "reference": "5fd0dccb5635db97a9abea11f54e72a4e3f51216" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/code-sniffer/zipball/873f191feae7115e0fd6476a3f757fe2bbd04986", - "reference": "873f191feae7115e0fd6476a3f757fe2bbd04986", + "url": "https://api.github.com/repos/spryker/code-sniffer/zipball/5fd0dccb5635db97a9abea11f54e72a4e3f51216", + "reference": "5fd0dccb5635db97a9abea11f54e72a4e3f51216", "shasum": "" }, "require": { "php": ">=7.1", - "slevomat/coding-standard": "^4.0", - "squizlabs/php_codesniffer": "^3.0" + "slevomat/coding-standard": "^4.7", + "squizlabs/php_codesniffer": "^3.3" }, "require-dev": { + "phpstan/phpstan-shim": "^0.9.2", "phpunit/phpunit": "<5.0" }, "bin": [ @@ -21530,33 +23257,34 @@ "phpcs", "standards" ], - "time": "2018-04-25T08:23:54+00:00" + "time": "2018-09-24T13:39:28+00:00" }, { "name": "spryker/development", - "version": "3.9.1", + "version": "3.12.0", "source": { "type": "git", "url": "https://github.com/spryker/development.git", - "reference": "2f0be1e61446d0ed01da43973fa18403810eaa0a" + "reference": "46bbc26d46558881787b346fb732d8fcb6d3fa77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/development/zipball/2f0be1e61446d0ed01da43973fa18403810eaa0a", - "reference": "2f0be1e61446d0ed01da43973fa18403810eaa0a", + "url": "https://api.github.com/repos/spryker/development/zipball/46bbc26d46558881787b346fb732d8fcb6d3fa77", + "reference": "46bbc26d46558881787b346fb732d8fcb6d3fa77", "shasum": "" }, "require": { "php": ">=7.1", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", - "spryker/kernel": "^3.0.0", + "spryker/kernel": "^3.22.0", "spryker/symfony": "^3.0.0", "spryker/twig": "^3.0.0", "spryker/zend": "^2.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -21579,7 +23307,7 @@ "proprietary" ], "description": "Development module", - "time": "2018-05-08T16:29:04+00:00" + "time": "2018-09-18T08:37:17+00:00" }, { "name": "spryker/testify", @@ -21631,16 +23359,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.1.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "d667e245d5dcd4d7bf80f26f2c947d476b66213e" + "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d667e245d5dcd4d7bf80f26f2c947d476b66213e", - "reference": "d667e245d5dcd4d7bf80f26f2c947d476b66213e", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6ad28354c04b364c3c71a34e4a18b629cc3b231e", + "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e", "shasum": "" }, "require": { @@ -21650,7 +23378,7 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, "bin": [ "bin/phpcs", @@ -21678,7 +23406,7 @@ "phpcs", "standards" ], - "time": "2017-10-16T22:40:25+00:00" + "time": "2018-09-23T23:08:17+00:00" }, { "name": "stecman/symfony-console-completion", @@ -21727,16 +23455,16 @@ }, { "name": "symfony/browser-kit", - "version": "v4.1.0", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "16355a5d0f1499c77efee5ff68d8ea61624d4da1" + "reference": "c55fe9257003b2d95c0211b3f6941e8dfd26dffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/16355a5d0f1499c77efee5ff68d8ea61624d4da1", - "reference": "16355a5d0f1499c77efee5ff68d8ea61624d4da1", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c55fe9257003b2d95c0211b3f6941e8dfd26dffd", + "reference": "c55fe9257003b2d95c0211b3f6941e8dfd26dffd", "shasum": "" }, "require": { @@ -21780,20 +23508,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2018-04-06T10:52:03+00:00" + "time": "2018-07-26T09:10:45+00:00" }, { "name": "symfony/css-selector", - "version": "v4.1.0", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4" + "reference": "2a4df7618f869b456f9096781e78c57b509d76c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/03ac71606ecb0b0ce792faa17d74cc32c2949ef4", - "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/2a4df7618f869b456f9096781e78c57b509d76c7", + "reference": "2a4df7618f869b456f9096781e78c57b509d76c7", "shasum": "" }, "require": { @@ -21833,20 +23561,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2018-05-30T07:26:09+00:00" + "time": "2018-07-26T09:10:45+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.1.0", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "f2a3f0dc640a28b8aedd51b47ad6e6c5cebb3c00" + "reference": "bae4983003c9d451e278504d7d9b9d7fc1846873" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f2a3f0dc640a28b8aedd51b47ad6e6c5cebb3c00", - "reference": "f2a3f0dc640a28b8aedd51b47ad6e6c5cebb3c00", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/bae4983003c9d451e278504d7d9b9d7fc1846873", + "reference": "bae4983003c9d451e278504d7d9b9d7fc1846873", "shasum": "" }, "require": { @@ -21854,7 +23582,7 @@ "psr/container": "^1.0" }, "conflict": { - "symfony/config": "<4.1", + "symfony/config": "<4.1.1", "symfony/finder": "<3.4", "symfony/proxy-manager-bridge": "<3.4", "symfony/yaml": "<3.4" @@ -21904,20 +23632,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2018-05-25T14:55:38+00:00" + "time": "2018-08-08T11:48:58+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.1.0", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "3350cacf151b48d903114ab8f7a4ccb23e07e10a" + "reference": "1c4519d257e652404c3aa550207ccd8ada66b38e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/3350cacf151b48d903114ab8f7a4ccb23e07e10a", - "reference": "3350cacf151b48d903114ab8f7a4ccb23e07e10a", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/1c4519d257e652404c3aa550207ccd8ada66b38e", + "reference": "1c4519d257e652404c3aa550207ccd8ada66b38e", "shasum": "" }, "require": { @@ -21961,20 +23689,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2018-05-01T23:02:13+00:00" + "time": "2018-07-26T11:00:49+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46" + "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/a4576e282d782ad82397f3e4ec1df8e0f0cafb46", - "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae", + "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae", "shasum": "" }, "require": { @@ -21983,7 +23711,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -22016,7 +23744,7 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/stopwatch", @@ -22069,16 +23797,16 @@ }, { "name": "symfony/var-dumper", - "version": "v4.1.0", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "bc88ad53e825ebacc7b190bbd360781fce381c64" + "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/bc88ad53e825ebacc7b190bbd360781fce381c64", - "reference": "bc88ad53e825ebacc7b190bbd360781fce381c64", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a05426e27294bba7b0226ffc17dd01a3c6ef9777", + "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777", "shasum": "" }, "require": { @@ -22140,7 +23868,7 @@ "debug", "dump" ], - "time": "2018-04-29T07:56:09+00:00" + "time": "2018-08-02T09:24:26+00:00" }, { "name": "symfony/web-profiler-bundle", @@ -22279,6 +24007,56 @@ ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "time": "2017-04-07T12:08:54+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-01-29T19:49:41+00:00" } ], "aliases": [ diff --git a/data/import/cms_page.csv b/data/import/cms_page.csv index be51b4df86..9d600e3cb3 100644 --- a/data/import/cms_page.csv +++ b/data/import/cms_page.csv @@ -336,7 +336,7 @@ to have personal data deleted, where such claim is not barred by any legal oblig

Sample Data Privacy Policy Statement provided by the Law Offices of Weiß & Partner

" -static full page,1,0,1,page_4,/de/loremde,/en/lorem,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." +static full page,1,0,1,page_4,/de/loremde,/en/lorem,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,"{{ chart('testChart', 'testChart') }}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","{{ chart('testChart', 'testChart') }}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." static full page,1,1,0,page_5,/de/dolorde,/en/dolor,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Lorem ipsum,Lorem ipsum,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." static full page,1,1,1,page_6,/de/demo-landing-page,/en/demo-landing-page,Demo Landing Page,Demo Landing Page,Demo Landing Page,Demo Landing Page,"demo,cms page, landing page","demo,cms page, landing page",This is a demo landing page with different content widgets.,This is a demo landing page with different content widgets.,"

DAS IST EINE GROßARTIGE LANDING PAGE

","

THIS IS A GREAT LANDING PAGE

","

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non erat felis. Suspendisse nulla quam, dictum vitae malesuada a, ullamcorper eu urna. Sed diam tellus, feugiat iaculis consequat eu, commodo in dui. Integer ac ipsum urna. Aliquam rhoncus varius felis at dignissim. Nulla id justo id nunc lacinia efficitur. Etiam nec vehicula lorem. Phasellus ut lacus eu lorem luctus luctus. Quisque id vestibulum lectus, vel aliquam erat. Praesent ut erat quis magna varius tempor et sed sapien. Cras ac turpis id ligula gravida dignissim in sed nisl. Suspendisse scelerisque eros vel risus sagittis, in ultricies odio commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.

Duis nunc dolor, vestibulum eu cursus ut, facilisis eget justo. Ut quis placerat mauris. In cursus enim purus, a mollis felis cursus non. Mauris rutrum a ante a rutrum. Aliquam gravida tortor et cursus pharetra. Ut id sagittis arcu, eu convallis felis. Integer fermentum convallis lorem, eu posuere ex ultricies scelerisque. Suspendisse et consectetur mauris, vel rhoncus elit. Sed ultrices eget lacus quis rutrum. Aliquam erat volutpat. Aliquam varius mauris purus, non imperdiet turpis tempor vel. Donec vitae scelerisque mi.


Dies ist eine Liste von Produkten auf einer CMS Seite:

@@ -356,4 +356,4 @@ static full page,1,1,1,page_6,/de/demo-landing-page,/en/demo-landing-page,Demo L {{ product_group(['095', '009', '052', '005', '188', '090', '084', '195']) }}


Curabitur ipsum nulla, mollis vel tellus a, tristique tempor sapien. Mauris ut urna molestie, cursus nunc eget, lacinia erat. Donec efficitur, nisl a porta dapibus, nisi ipsum efficitur ipsum, eu auctor turpis ipsum vel sapien. Maecenas molestie risus odio. Suspendisse lobortis dapibus nisi non accumsan. Ut mattis tincidunt odio eu convallis. Nulla leo neque, scelerisque eu sagittis vitae, consectetur vel lacus. Aliquam erat volutpat. Nam euismod aliquet urna eget congue.


This a product set in a CMS page:

-{{ product_set(['2_sony_set']) }}" \ No newline at end of file +{{ product_set(['2_sony_set']) }}" diff --git a/data/import/customer.csv b/data/import/customer.csv index d2f0c12e0a..7ba60a56b8 100644 --- a/data/import/customer.csv +++ b/data/import/customer.csv @@ -5,4 +5,18 @@ DE--3,de_DE,,maggie.may@spryker.com,Ms,Maggie,May,,Female,,$2y$10$BfK63PmaH/mYpH DE--4,de_DE,,bill.martin@spryker.com,Mr,Bill,Martin,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, DE--5,de_DE,,george.freeman@spryker.com,Mr,George,Freeman,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, DE--6,de_DE,,henry.tudor@spryker.com,Mr,Henry,Tudor,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, -DE--7,de_DE,,anne.boleyn@spryker.com,Ms,Anne,Boleyn,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, \ No newline at end of file +DE--7,de_DE,,anne.boleyn@spryker.com,Ms,Anne,Boleyn,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--8,de_DE,495-123-45-67,andrew@ottom.de,Mr,Andrew,Wedner,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--9,de_DE,495-123-45-68,Ahill@ottom.de,Mr,Ahill,Grant,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--10,de_DE,495-123-45-69,Alexa@ottom.de,Ms,Alexa,Simons,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--11,de_DE,495-123-45-70,Frida@ottom.de,Ms,Frida,Grott,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--12,de_DE,495-123-45-71,Lisa@ottom.de,Ms,Lisa,Pauls,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--13,de_DE,495-123-45-72,Kim@ottom.de,Mr,Kim,Gyeong-min,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--14,en_US,425-222-45-73,Solomon@spryker.com,Mr,Solomon,Wesner,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--15,en_US,425-222-45-74,Richi@spryker.com,Mr,Armando,Richi,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--16,en_US,425-222-45-75,karl@spryker.com,Mr,Karl,Schmid,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--17,en_US,425-222-45-76,Sarah@spryker.com,Ms,Sarah,Muller,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--18,en_US,425-222-45-77,Elizabet@spryker.com,Ms,Elizabet,Keller,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--19,en_US,425-222-45-78,donald@spryker.com,Mr,Donald,Huber,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--20,en_US,425-222-45-79,Trever.m@spryker.com,Mr,Trever,Meier,,Male,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, +DE--21,en_US,425-222-45-80,sonia@spryker.com,Ms,Sonia,Wagner,,Female,,$2y$10$BfK63PmaH/mYpHNfVjCIIuDwnMM.q2ZyjzUAjZTXPmAEiXPoqsXdy, diff --git a/data/import/glossary.csv b/data/import/glossary.csv index 40356c648c..f1a9ffedc4 100644 --- a/data/import/glossary.csv +++ b/data/import/glossary.csv @@ -653,8 +653,10 @@ discount.quote_change.discount.not_available,"The discounts you have chosen for discount.quote_change.discount.not_available,"The discounts you have chosen for the following items skus is no longer available",de_DE discount.quote_change.discount.amount_changed,"The discounts you selected for the following items skus have changed",en_US discount.quote_change.discount.amount_changed,"The discounts you selected for the following items skus have changed",de_DE -product.unavailable,Product is out of stock,en_US -product.unavailable,Keine Produkte mehr auf Lager,de_DE +product.unavailable,Product '%sku%' is not available at the moment,en_US +product.unavailable,Das Produkt '%sku%' ist momentan nicht verfügbar,de_DE +product_bundle.unavailable,Product '%productSku%' in the Bundle Product '%bundleSku%' is not available at the moment,en_US +product_bundle.unavailable,Das Produkt '%productSku%' in das Bundle Product '%bundleSku%' ist momentan nicht verfügbar,de_DE product.attribute.slug,slug,en_US product.attribute.slug,slug,de_DE product.attribute.variant_id,ID,en_US @@ -845,8 +847,10 @@ product.groups,Product Groups,en_US product.groups,Produktgruppen,de_DE cart.pre.check.availability.failed,Item %sku% only has availability of %stock%.,en_US cart.pre.check.availability.failed,Zurzeit haben wir von %sku% nur %stock% Stück auf Lager.,de_DE -cart.pre.check.availability.failed.empty,Item %sku% no longer available.,en_US -cart.pre.check.availability.failed.empty,Das Produkt mit sku '%sku%' ist zurzeit nicht verfügbar.,de_DE +cart.pre.check.availability.failed.empty,Product '%sku%' is not available at the moment.,en_US +cart.pre.check.availability.failed.empty,Das Produkt '%sku%' ist momentan nicht verfügbar.,de_DE +cart.pre.check.availability.failed.lead.product,Products inside the item 'sku' are not available at the moment.,en_US +cart.pre.check.availability.failed.lead.product,Produkte im Artikel 'sku' sind momentan nicht verfügbar.,de_DE mail.sender.name,Spryker demoshop,en_US mail.sender.name,Spryker demoshop,de_DE mail.sender.email,demoshop@spryker.com,en_US @@ -1057,6 +1061,8 @@ product-cart.validation.error.concrete-product-inactive,"Product %sku% is not ac product-cart.validation.error.concrete-product-inactive,"Produkt %sku% ist nicht aktiv.",de_DE product-cart.info.concrete-product-inactive.removed,"Inactive item %sku% was removed from your shopping cart.",en_US product-cart.info.concrete-product-inactive.removed,"Der inaktive Artikel %sku% wurde aus Ihrem Warenkorb entfernt.",de_DE +product-cart.info.restricted-product.removed,"Unavailable item %sku% was removed from your shopping cart.",en_US +product-cart.info.restricted-product.removed,"Der nicht verfügbare Artikel% sku% wurde aus Ihrem Einkaufswagen entfernt.",de_DE product.filter.label,Product Labels,en_US product.filter.label,Product Labels,de_DE product.filter.price-default-chf-gross_mode,Preisspanne,de_DE @@ -1087,6 +1093,10 @@ catalog.sale,Sale,en_US catalog.sale,Sale,de_DE catalog.new,New,en_US catalog.new,Neu,de_DE +company.account.page-title,My Company,en_US +company.account.page-title,Meine Firma,de_DE +company.account.name,Company Name,en_US +company.account.name,Name der Firma,de_DE company.account.address.edit,Edit,en_US company.account.address.edit,Adresse bearbeiten,de_DE company.account.address.delete,Delete,en_US @@ -1445,6 +1455,8 @@ measurement_units.recommendation.max-violation,Maximum quantity requirements for measurement_units.recommendation.max-violation,Maximale Mengenanforderungen für das Produkt sind nicht erfüllt,de_DE measurement_units.recommendation.suggestion,Would you like to add,en_US measurement_units.recommendation.suggestion,Was würden Sie gerne hinzufügen? ,de_DE +measurement_units.new-price,New price,en_US +measurement_units.new-price,Neuer Preis,de_DE product.measurement.sales_unit,Sales Unit,en_US product.measurement.sales_unit,Maßeinheit,de_DE cart.pre.check.quantity.min.failed,Die minimale Mengenanforderung für Produkt SKU '%sku%' ist nicht erreicht.,de_DE @@ -1492,10 +1504,24 @@ multi_cart.form.edit_cart,"Change Name",en_US multi_cart.form.edit_cart,"Namen ändern",de_DE multi_cart.form.edit_cart_information,"Edit Cart information",en_US multi_cart.form.edit_cart_information,"Einkaufswageninformationen bearbeiten",de_DE -multi_cart.cart.set_default.success,"Cart '%quote%' has successfully been set to your active cart.",en_US -multi_cart.cart.set_default.success,"Warenkorb '%quote%' wurde erfolgreich aktiviert.",de_DE +multi_cart.cart.set_default.success,"Cart '%quote%' was successfully set as active.",en_US +multi_cart.cart.set_default.success,"Warenkorb '%quote%' wurde erfolgreich auf aktiv gesetzt.",de_DE multi_cart_page.cart_clear.success,"Cart was successfully cleared",en_US multi_cart_page.cart_clear.success,"Einkaufswagen wurde erfolgreich gelöscht",de_DE +multi_cart_page.cart_delete_confirmation.warning,Warning,en_US +multi_cart_page.cart_delete_confirmation.warning,Warnung,de_DE +multi_cart_page.cart_delete_confirmation.trying_to_delete,You are trying to delete Cart,en_US +multi_cart_page.cart_delete_confirmation.trying_to_delete,Sie versuchen den Warenkorb zu löschen,de_DE +multi_cart_page.cart_delete_confirmation.shared_with,It is shared with the following users,en_US +multi_cart_page.cart_delete_confirmation.shared_with,Der Warenkorb ist mit den folgenden Personen geteilt,de_DE +multi_cart_page.cart_delete_confirmation.from_all_of_them,It will be deleted from all of them,en_US +multi_cart_page.cart_delete_confirmation.from_all_of_them,Der Warenkorb wird für alle Nutzer gelöscht,de_DE +multi_cart_page.cart_delete_confirmation.cancel,Cancel,en_US +multi_cart_page.cart_delete_confirmation.cancel,Abbrechen,de_DE +multi_cart_page.cart_delete_confirmation.delete,Delete,en_US +multi_cart_page.cart_delete_confirmation.delete,Löschen,de_DE +multi_cart_page.cart_delete_confirmation.breadcrumbs.shopping_carts,Shopping carts,en_US +multi_cart_page.cart_delete_confirmation.breadcrumbs.shopping_carts,Warenkörbe,de_DE multi_cart_widget.cart.cart_name,"Cart Name",en_US multi_cart_widget.cart.cart_name,"Name des Einkaufswagens",de_DE multi_cart_widget.cart.add,"Create New Cart",en_US @@ -1518,6 +1544,8 @@ multi_cart_widget.cart.item,"Item",en_US multi_cart_widget.cart.item,"Artikel",de_DE multi_cart_widget.cart.items,"Items",en_US multi_cart_widget.cart.items,"Artikel",de_DE +multi_cart_widget.cart.view_all,"View all carts",en_US +multi_cart_widget.cart.view_all,"Alle Warenkörbe anzeigen",de_DE multi_cart_widget.cart.cart,"Cart",en_US multi_cart_widget.cart.cart,"Warenkorb",de_DE multi_cart_widget.cart.carts,"Carts",en_US @@ -1534,8 +1562,6 @@ multi_cart_widget.cart.created.success,"Cart '%quoteName%' was created successfu multi_cart_widget.cart.created.success,"Warenkorb '%quoteName%' wurde erfolgreich erstellt",de_DE multi_cart_widget.cart.updated.success,"Cart updated successfully",en_US multi_cart_widget.cart.updated.success,"Einkaufswagen wurde erfolgreich aktualisiert",de_DE -multi_cart_widget.cart.remove.confirm,Are you sure that you want to remove this cart?,en_US -multi_cart_widget.cart.remove.confirm,"Sind Sie sicher, dass Sie diesen Warenkorb entfernen möchten?",de_DE shared_cart_widget.add_product.separate,"Add as separate item",en_US shared_cart_widget.add_product.separate,"Als separaten Artikel hinzufügen",de_DE shared_cart_widget.cart.share,"Share cart",en_US @@ -1552,12 +1578,18 @@ shared_cart_widget.share_list.actions,Actions,en_US shared_cart_widget.share_list.actions,Aktionen,de_DE shared_cart_widget.share_list.action.unshare,Unshare cart,en_US shared_cart_widget.share_list.action.unshare,Freigabe des Einkaufswagens,de_DE +shared_cart.share_list.permissions.NO_ACCESS,No access,en_US +shared_cart.share_list.permissions.NO_ACCESS,Kein Zugang,de_DE shared_cart.share_list.permissions.READ_ONLY,Read-only,en_US shared_cart.share_list.permissions.READ_ONLY,Schreibgeschützt,de_DE shared_cart.share_list.permissions.FULL_ACCESS,Full access,en_US -shared_cart.share_list.permissions.FULL_ACCESS,Voller Zugriff,de_DE +shared_cart.share_list.permissions.FULL_ACCESS,Ohne Einschränkung,de_DE +shared_cart.share_list.permissions.OWNER_ACCESS,Owner access,en_US +shared_cart.share_list.permissions.OWNER_ACCESS,Eigentümer Zugriff,de_DE shared_cart.form.share_cart,"Share cart",en_US shared_cart.form.share_cart,"Warenkorb teilen",de_DE +shared_cart.form.share_cart.title,"Share cart ""cart_name""",en_US +shared_cart.form.share_cart.title,"Warenkorb teilen ""cart_name""",de_DE shared_cart.form.customer,"Customer name",en_US shared_cart.form.customer,Kundenname,de_DE shared_cart.form.select_customer,Select customer,en_US @@ -1566,12 +1598,22 @@ shared_cart.form.select_permissions,Select access level,en_US shared_cart.form.select_permissions,"Wählen Sie Zugriffsebene",de_DE shared_cart.form.share_button,Share,en_US shared_cart.form.share_button,Aktie,de_DE +shared_cart.form.save_button,Save,en_US +shared_cart.form.save_button,Sparen,de_DE +shared_cart.form.data_empty,"There are no Users with whom you can share shopping cart.",en_US +shared_cart.form.data_empty,"Es gibt keine Benutzer, mit denen Sie den Einkaufswagen teilen können.",de_DE shared_cart.share.error.already_exist,Cart was already shared with this customer,en_US shared_cart.share.error.already_exist,Der Warenkorb wurde bereits mit diesem Kunden geteilt,de_DE +shared_cart.share.breadcrumbs.share,Share,en_US +shared_cart.share.breadcrumbs.share,Teilen,de_DE +shared_cart.share.breadcrumbs.shopping_carts,Shopping carts,en_US +shared_cart.share.breadcrumbs.shopping_carts,Warenkörbe,de_DE +shared_cart.share.form.users,Users,en_US +shared_cart.share.form.users,Benutzer,de_DE shared_cart_page.share.success,Cart was successfully shared,en_US -shared_cart_page.share.success,Einkaufswagen wurde erfolgreich geteilt,de_DE +shared_cart_page.share.success,Warenkorb wurde erfolgreich geteilt,de_DE shared_cart_page.unshare.success,Cart was successfully unshared,en_US -shared_cart_page.unshare.success,Einkaufswagen wurde erfolgreich freigegeben,de_DE +shared_cart_page.unshare.success,Teilen des Warenkorbs wurde erfolgreich aufgehoben ,de_DE shopping_list.shopping_list,Shopping list,en_US shopping_list.shopping_list,Einkaufsliste,de_DE shopping_list.item_quantity,Anzahl,de_DE @@ -1714,6 +1756,16 @@ customer.account.shopping_list.error.cannot_update,Cannot update shopping list., customer.account.shopping_list.error.cannot_update,Die Liste konnte nicht aktualisiert werden.,de_DE packaging_unit_type.item.name,Item,en_US packaging_unit_type.item.name,Stück,de_DE +packaging_unit_type.ring_500.name,"Ring (500m)",en_US +packaging_unit_type.ring_500.name,"Ring (500m)",de_DE +packaging_unit_type.box.name,Box,en_US +packaging_unit_type.box.name,Box,de_DE +packaging_unit_type.palette.name,Palette,en_US +packaging_unit_type.palette.name,Palette,de_DE +packaging_unit_type.giftbox.name,Giftbox,en_US +packaging_unit_type.giftbox.name,Geschenkbox,de_DE +packaging_unit_type.valentines_special.name,"Valentine's special",en_US +packaging_unit_type.valentines_special.name,Valentinstag Geschenkbox,de_DE business_on_behalf_widget.no_selected_company,No selected company,en_US business_on_behalf_widget.no_selected_company,Kein Unternehmen ausgewählt,de_DE business_on_behalf_widget.change_company_user,Change Company User,en_US @@ -1742,3 +1794,139 @@ customer.account.print_shopping_list.title.shopping_list_id,Shopping List ID,en_ customer.account.print_shopping_list.title.shopping_list_id,Einkaufslisten-ID,de_DE customer.account.print_shopping_list.title.shopping_list_name,Shopping List Name,en_US customer.account.print_shopping_list.title.shopping_list_name,Name der Einkaufsliste,de_DE +product_discontinued_widget.note,Note,en_US +product_discontinued_widget.note,Notiz,de_DE +product_discontinued.super_attribute_discontinued,Discontinued,en_US +product_discontinued.super_attribute_discontinued,Abgesetzt,de_DE +shopping_list.pre.check.product_discontinued,"Product %sku% is discontinued, please choose an alternative one.",en_US +shopping_list.pre.check.product_discontinued,"Produkt %sku% ist nicht mehr verfügbar, bitte wählen Sie eine Alternative.",de_DE +cart.pre.check.product_discontinued,"Product %sku% is discontinued, please choose an alternative one.",en_US +cart.pre.check.product_discontinued,"Produkt %sku% ist nicht mehr verfügbar, bitte wählen Sie eine Alternative.",de_DE +replacement_for_widget.replacement_for,Replacement for,en_US +replacement_for_widget.replacement_for,Ersatz für,de_DE +product_alternative_widget.product_alternative,Alternative products,en_US +product_alternative_widget.product_alternative,Alternative Produkte,de_DE +product_alternative_widget.add_to_shopping_list,Add to shopping list,en_US +product_alternative_widget.add_to_shopping_list,Auf die Merkliste,de_DE +product_alternative_widget.add_to_wishlist,Add to Wishlist,en_US +product_alternative_widget.add_to_wishlist,Zur Wunschliste hinzufügen,de_DE +product_alternative_widget.alternative_for,Alternative for name,en_US +product_alternative_widget.alternative_for,Alternative für name,de_DE +product_alternative_widget.product_status.discontinued,Discontinued,en_US +product_alternative_widget.product_status.discontinued,Abgesetzt,de_DE +product_alternative_widget.show_all,Show all,en_US +product_alternative_widget.show_all,Zeige alles,de_DE +place_order.pre_check.product_discontinued,"Product is discontinued, please choose an alternative one",en_US +place_order.pre_check.product_discontinued,"Produkt ist abgekündigt, bitte wählen Sie eine Alternative",de_DE +page.detail.volume_price.quantity,Quantity,en_US +page.detail.volume_price.quantity,Anzahl,de_DE +page.detail.volume_price.price,Price,en_US +page.detail.volume_price.price,Preis,de_DE +customer.order.canceledTotal,Canceled amount,en_US +customer.order.canceledTotal,Stornierter Betrag,de_DE +packaging-units.recommendation.amount-min-violation,Minimum amount requirements for product are not fulfilled,en_US +packaging-units.recommendation.amount-min-violation,Mindestmengenanforderungen für das Produkt sind nicht erfüllt,de_DE +packaging-units.recommendation.amount-max-violation,Maximum amount requirements for product are not fulfilled,en_US +packaging-units.recommendation.amount-max-violation,Maximale Mengenanforderungen für das Produkt sind nicht erfüllt,de_DE +packaging-units.recommendation.amount-interval-violation,Amount interval requirements for product are not fulfilled,en_US +packaging-units.recommendation.amount-interval-violation,Mengenintervallanforderungen für das Produkt sind nicht erfüllt,de_DE +packaging_units.recommendation.suggestion,Would you like to add:,en_US +packaging_units.recommendation.suggestion,Möchten Sie hinzufügen:,de_DE +packaging_units.recommendation.between-units-info,The amount you have chosen is in between 2 base units,en_US +packaging_units.recommendation.between-units-info,Ihre gewählte Anzahl liegt zwischen 2 basis Einheiten,de_DE +packaging_units.cart.quantity,Quantity,en_US +packaging_units.cart.quantity,Anzahl,de_DE +packaging_units.cart.amount,Amount,en_US +packaging_units.cart.amount,Betrag,de_DE +packaging_units.cart.item,Items,en_US +packaging_units.cart.item,Artikel,de_DE +cart.pre.check.amount.min.failed,Die minimale Mengenanforderung für Produkt SKU '%sku%' ist nicht erreicht.,de_DE +cart.pre.check.amount.min.failed,Minimum amount requirements for product SKU '%sku%' are not fulfilled.,en_US +cart.pre.check.amount.max.failed,Die maximale Mengenanforderung für Produkt SKU '%sku%' ist überschritten.,de_DE +cart.pre.check.amount.max.failed,Maximum amount for product SKU '%sku%' is exceeded.,en_US +cart.pre.check.amount.interval.failed,Die Anzahl für Produkt SKU '%sku%' liegt nicht innerhalb des vorgegebenen Intervals.,de_DE +cart.pre.check.amount.interval.failed,Amount interval requirements for product SKU '%sku%' are not fulfilled.,en_US +cart.pre.check.amount.is_not_variable.failed,Standardbetrag für Produkt SKU '%sku%' ist überschritten.,de_DE +cart.pre.check.amount.is_not_variable.failed,Default amount requirements for product SKU '%sku%' are not fulfilled.,en_US +customer.account.shopping_list.create_from_cart.choose_shopping_list,Choose shopping list,en_US +customer.account.shopping_list.create_from_cart.choose_shopping_list,Wählen Sie die Einkaufsliste,de_DE +customer.account.shopping_list.create_from_cart.name,Name,en_US +customer.account.shopping_list.create_from_cart.name,Name,de_DE +customer.account.shopping_list.create_from_cart.form_title,'%cart_name%' add to shopping list,en_US +customer.account.shopping_list.create_from_cart.form_title,'%cart_name%' auf die Merkliste,de_DE +customer.account.shopping_list.create_from_cart.title,Add to shopping list,en_US +customer.account.shopping_list.create_from_cart.title,Auf die Merkliste,de_DE +customer.account.shopping_list.shopping_cart,Shopping cart,en_US +customer.account.shopping_list.shopping_cart,Einkaufswagen,de_DE +page.multi_cart.shopping_cart.list.title,Shopping cart,en_US +page.multi_cart.shopping_cart.list.title,Einkaufswagen,de_DE +page.multi_cart.shopping_cart.list.create_link,Create,en_US +page.multi_cart.shopping_cart.list.create_link,Erstellen,de_DE +page.multi_cart.shopping_cart.list.label.name,Name,en_US +page.multi_cart.shopping_cart.list.label.name,Name,de_DE +page.multi_cart.shopping_cart.list.label.num_of_products,Number of products,en_US +page.multi_cart.shopping_cart.list.label.num_of_products,Anzahl der Produkte,de_DE +page.multi_cart.shopping_cart.list.label.total,Total,en_US +page.multi_cart.shopping_cart.list.label.total,Gesamt,de_DE +page.multi_cart.shopping_cart.list.label.actions,Actions,en_US +page.multi_cart.shopping_cart.list.label.actions,Aktionen,de_DE +page.multi_cart.shopping_cart.list.link.edit_name,Edit name,en_US +page.multi_cart.shopping_cart.list.link.edit_name,Namen bearbeiten,de_DE +page.multi_cart.shopping_cart.list.link.duplicate,Duplicate,en_US +page.multi_cart.shopping_cart.list.link.duplicate,Duplikat,de_DE +page.multi_cart.shopping_cart.list.link.delete,Delete,en_US +page.multi_cart.shopping_cart.list.link.delete,Löschen,de_DE +page.multi_cart.shopping_cart.list.label.item,"Item",en_US +page.multi_cart.shopping_cart.list.label.item,"Artikel",de_DE +page.multi_cart.shopping_cart.list.label.items,"Items",en_US +page.multi_cart.shopping_cart.list.label.items,"Artikel",de_DE +customer.account.shopping_cart.list.title,Manage Shopping carts,en_US +customer.account.shopping_cart.list.title,Verwalten Sie Einkaufswagen,de_DE +widget.shared_cart.multi_cart.permissions.READ_ONLY,Read-only,en_US +widget.shared_cart.multi_cart.permissions.READ_ONLY,Schreibgeschützt,de_DE +widget.shared_cart.multi_cart.permissions.FULL_ACCESS,Full access,en_US +widget.shared_cart.multi_cart.permissions.FULL_ACCESS,Ohne Einschränkung,de_DE +widget.shared_cart.multi_cart.permissions.OWNER_ACCESS,Owner access,en_US +widget.shared_cart.multi_cart.permissions.OWNER_ACCESS,Eigentümer Zugriff,de_DE +page.multi_cart.shopping_cart.list.label.access,Access,en_US +page.multi_cart.shopping_cart.list.label.access,Zugriff,de_DE +widget.shopping_list.multi_cart.to_shopping_list,To shopping list,en_US +widget.shopping_list.multi_cart.to_shopping_list,Zur Einkaufsliste,de_DE +page.multi_cart.shopping_cart.update.title,Edit,en_US +page.multi_cart.shopping_cart.update.title,Bearbeiten,de_DE +page.multi_cart.shopping_cart.create.title,Create,en_US +page.multi_cart.shopping_cart.create.title,Erstellen,de_DE +agent.authentication.failed,Authentication failed,en_US +agent.authentication.failed,Authentifizierung fehlgeschlagen,de_DE +agent.login.title,Access your account,en_US +agent.login.title,Ich bin bereits Kunde,de_DE +agent.confirm_user_selection,Confirm,en_US +agent.confirm_user_selection,Bestätigen,de_DE +agent.login.email,Email,en_US +agent.login.email,E-Mail,de_DE +agent.login.password,Password,en_US +agent.login.password,Passwort,de_DE +agent.control_bar.username,Agent: %username%,en_US +agent.control_bar.username,Agent: %username%,de_DE +agent.control_bar.customer_name,Customer: %username%,en_US +agent.control_bar.customer_name,Kunde: %username%,de_DE +agent.control_bar.logout_as_customer,End Customer Assistance,en_US +agent.control_bar.logout_as_customer,Kunden-Assistenz beenden,de_DE +agent.control_bar.logout,Logout,en_US +agent.control_bar.logout,Abmelden,de_DE +agent.autocomplete.no_results,No results found,en_US +agent.autocomplete.no_results,Keine Ergebnisse gefunden,de_DE +autocomplete.placeholder,Search,en_US +autocomplete.placeholder,Suche,de_DE +shopping_list_widget.items,Items,en_US +shopping_list_widget.items,Artikel,de_DE +shopping_list_widget.full_access,Full access,en_US +shopping_list_widget.full_access,Ohne Einschränkung,de_DE +shopping_list_widget.read_only,Read only,en_US +shopping_list_widget.read_only,Schreibgeschützt,de_DE +shopping_list.create_new_list,Create new list,en_US +shopping_list.create_new_list,Erstelle eine neue Liste,de_DE +shopping_list.no_lists_created,You do not have any shopping lists yet.,en_US +shopping_list.no_lists_created,Du hast noch keine Einkaufslisten.,de_DE +multi_cart_widget.cart.was-deleted-before,Dieser Warenkorb wurde bereits gelöscht,de_DE +multi_cart_widget.cart.was-deleted-before,This cart was already deleted,en_US diff --git a/data/import/icecat_biz_data/product_abstract.csv b/data/import/icecat_biz_data/product_abstract.csv index 676f55b453..b5803e4082 100644 --- a/data/import/icecat_biz_data/product_abstract.csv +++ b/data/import/icecat_biz_data/product_abstract.csv @@ -217,4 +217,5 @@ cables,,215,ASUS HDMI-HDMI Black,ASUS HDMI-HDMI Schwarz,/en/Asus-HDMI-HDMI-215,/ cables,,216,Neklan 500m Cat6 UTP Cable (DRUM),Neklan 500m Cat6 UTP Kabel (Trommel),/en/Neklan-Cat6-500-216,/de/Neklan-Cat6-500-216,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Neklan,,,color,Grey,color,Grau,#DCDCDC,"Neklan 500m Cat6 UTP. Cable length: 500 m, Cable standard: Cat6, Cable shielding: U/UTP (UTP), Cable colour: Grey","Neklan 500m Cat6 UTP. Kabellänge: 500 m, Kabelstandard: Cat6, Kabelschirmung: U/UTP (UTP), Kabelfarbe: Grau",//de.icecat.biz/prefere/de/p/neklan/3010099/networking-cables-Neklan-500m-Cat6-UTP-500m-Cat6-U-UTP-UTP-Grey-networking-cable-9509292.html,Communication Electronics,Neklan Network cable drum,Neklan Netzwerk Kabeltrommel,"Neklan, Cable, Network, Drum","Neklan, Kabel, Netzwerk, Trommel",The perfect cable for your home,Das perfekte Kabel für ihr zuhause,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",2018-04-01 00:00:00.000000,2018-04-01 00:00:00.000000 cables,,217,APC Cable parallel printer bi-directional (Ring),APC Kabel parallel printer bi-directional (Ring),/en/APC-printer-cable-ring-217,/de/APC-printer-cable-ring-217,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,APC,,,color,White,color,Weiß,#FFFFFF,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,Communication Electronics,APC Printer cable,APC Drucker Kabel,"APC, Printer, Cable, Ring","APC, Drucker, Kabel, Ring",The perfect cable for your home,Das perfekte Kabel für ihr zuhause,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",2018-04-01 00:00:00.000000,2018-04-01 00:00:00.000000 cables,,217,APC Cable parallel printer bi-directional (Ring),APC Kabel parallel printer bi-directional (Ring),/en/APC-printer-cable-ring-217,/de/APC-printer-cable-ring-217,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,APC,,,color,White,color,Weiß,#FFFFFF,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,Communication Electronics,APC Printer cable,APC Drucker Kabel,"APC, Printer, Cable, Ring","APC, Drucker, Kabel, Ring",The perfect cable for your home,Das perfekte Kabel für ihr zuhause,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",2018-04-01 00:00:00.000000,2018-04-01 00:00:00.000000 -food,1,218,Chocolate Bar 100g,Schokoladen Tafel 100g,/en/Chocolate-bar-100g-218,/de/Schokoladen-tafel-100g-218,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Frey,,,,,,,,"Chocolat Frey Splendor. Contents 100g. Type: Milkchocolate, Calories (per 100g): 2330kj","Chocolat Frey Splendor. Inhalt: 100 g, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",,Tax Exempt,,,,,,,,2018-05-31 00:00:00.000000,2018-06-30 00:00:00.000000 \ No newline at end of file +food,1,218,Chocolate Bar,Schokoladen Tafel,/en/Chocolate-bar-218,/de/Schokoladen-tafel-218,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Frey,,,,,,,,"Chocolat Frey Splendor. Contents 100g. Type: Milkchocolate, Calories (per 100g): 2330kj","Chocolat Frey Splendor. Inhalt: 100 g, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",,Tax Exempt,,,,,,,,2018-05-31 00:00:00.000000,2018-06-30 00:00:00.000000 +food,2,219,Coca Lola 1.5L,Coca Lola 1.5L,/en/Coca-lola-1500ml-219,/de/Coca-lola-1500ml-219,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Coca Lola,,,,,,,,"Coca-Lola Coca Lola 1.5L, 1500 ml, Cola, Plastic bottle, 1 Piece(s), carbonated water, sugar, coloring E-150d, acidulant E-338 and natural flavors (including caffeine)., 42 kcal","Coca-Lola Coca Lola 1.5L, 1500 ml, Cola, Plastikflasche, 1 Stück(e), carbonated water, sugar, coloring E-150d, acidulant E-338 and natural flavors (including caffeine)., 42 kcal",,Tax Exempt,,,,,,,,2018-05-31 00:00:00.000000,2018-06-30 00:00:00.000000 \ No newline at end of file diff --git a/data/import/icecat_biz_data/product_abstract_store.csv b/data/import/icecat_biz_data/product_abstract_store.csv index a67b398740..99eb0e9d8e 100644 --- a/data/import/icecat_biz_data/product_abstract_store.csv +++ b/data/import/icecat_biz_data/product_abstract_store.csv @@ -216,6 +216,7 @@ product_abstract_sku,store_name 215,DE 216,DE 217,DE +218,DE 001,US 002,US 003,US @@ -649,4 +650,10 @@ product_abstract_sku,store_name 214,AT 215,AT 216,AT -217,AT \ No newline at end of file +217,AT +218,DE +218,AT +218,US +219,DE +219,AT +219,US diff --git a/data/import/icecat_biz_data/product_concrete.csv b/data/import/icecat_biz_data/product_concrete.csv index 068275516f..27c35f5192 100644 --- a/data/import/icecat_biz_data/product_concrete.csv +++ b/data/import/icecat_biz_data/product_concrete.csv @@ -1,307 +1,309 @@ -abstract_sku,old_sku,concrete_sku,name.en_US,name.de_DE,attribute_key_1,value_1,attribute_key_1.en_US,value_1.en_US,attribute_key_1.de_DE,value_1.de_DE,attribute_key_2,value_2,icecat_pdp_url,description.en_US,description.de_DE,is_searchable.en_US,is_searchable.de_DE,icecat_license,bundled -001,25904006,001_25904006,Canon IXUS 160,Canon IXUS 160,,,,,,,,,,"Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.","Beeindruckende Aufnahmen, ganz einfach Smart Auto ermöglicht die mühelose Aufnahme von fantastischen Fotos und Movies – die Kamera wählt in diesem Modus automatisch die idealen Einstellungen für die jeweilige Aufnahmesituation. Sie müssen nur noch das Motiv anvisieren und auslösen. Ein Druck auf die Hilfe-Taste führt zu leicht verständlichen Erklärungen der Kamerafunktionen. Zahlreiche Kreativfilter laden zum Experimentieren ein und bieten echten Fotospaß. So lässt sich neben vielen anderen Optionen der Verzeichnungseffekt eines Fisheye-Objektivs nachempfinden oder in Fotos und Movies werden die Dinge wie Miniaturmodelle dargestellt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -002,25904004,002_25904004,Canon IXUS 160,Canon IXUS 160,,,,,,,,,,"Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.","Beeindruckende Aufnahmen, ganz einfach Smart Auto ermöglicht die mühelose Aufnahme von fantastischen Fotos und Movies – die Kamera wählt in diesem Modus automatisch die idealen Einstellungen für die jeweilige Aufnahmesituation. Sie müssen nur noch das Motiv anvisieren und auslösen. Ein Druck auf die Hilfe-Taste führt zu leicht verständlichen Erklärungen der Kamerafunktionen. Zahlreiche Kreativfilter laden zum Experimentieren ein und bieten echten Fotospaß. So lässt sich neben vielen anderen Optionen der Verzeichnungseffekt eines Fisheye-Objektivs nachempfinden oder in Fotos und Movies werden die Dinge wie Miniaturmodelle dargestellt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -003,26138343,003_26138343,Canon IXUS 160,Canon IXUS 160,,,,,,,,,,"Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.","Beeindruckende Aufnahmen, ganz einfach Smart Auto ermöglicht die mühelose Aufnahme von fantastischen Fotos und Movies – die Kamera wählt in diesem Modus automatisch die idealen Einstellungen für die jeweilige Aufnahmesituation. Sie müssen nur noch das Motiv anvisieren und auslösen. Ein Druck auf die Hilfe-Taste führt zu leicht verständlichen Erklärungen der Kamerafunktionen. Zahlreiche Kreativfilter laden zum Experimentieren ein und bieten echten Fotospaß. So lässt sich neben vielen anderen Optionen der Verzeichnungseffekt eines Fisheye-Objektivs nachempfinden oder in Fotos und Movies werden die Dinge wie Miniaturmodelle dargestellt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -004,30663302,004_30663302,Canon IXUS 175,Canon IXUS 175,,,,,,,,,,"Creative play Play with your creativity using a range of Creative Filters. Re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more. Capture the stunning detail in everyday subjects using 1 cm Macro to get right up close. Enjoy exceptional quality, detailed images thanks to 20.0 Megapixels and DIGIC 4+ processing. Face Detection technology makes capturing great shots of friends effortless, while Auto Zoom intelligently helps you select the best framing at the touch of a button.","Stil im Taschenformat Diese ultraschlanke und schicke IXUS passt in jede Hand- oder Jackentasche und bietet dabei ein flexibles 28-mm-Weitwinkelobjektiv mit 8fach optischem Zoom (16fach ZoomPlus). Wo immer Sie also sind, können Sie jedes Motiv – von ganz nahen bis weit entfernt – in erstklassigen Fotos und Movies festhalten. Der Eco-Modus reduziert den Stromverbrauch der Kamera und ermöglicht längere Aufnahmezeiten. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Einfach nur die Taste drücken und schon beginnt die HD-Movieaufnahme (720p) im MP4-Format. Für kreative Vielseitigkeit lässt sich der optische Zoom auch im Movie-Modus einsetzen und die Aufnahmen werden hochwertig und gestochen scharf.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -005,30663301,005_30663301,Canon IXUS 175,Canon IXUS 175,,,,,,,,,,"Creative play Play with your creativity using a range of Creative Filters. Re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more. Capture the stunning detail in everyday subjects using 1 cm Macro to get right up close. Enjoy exceptional quality, detailed images thanks to 20.0 Megapixels and DIGIC 4+ processing. Face Detection technology makes capturing great shots of friends effortless, while Auto Zoom intelligently helps you select the best framing at the touch of a button.","Stil im Taschenformat Diese ultraschlanke und schicke IXUS passt in jede Hand- oder Jackentasche und bietet dabei ein flexibles 28-mm-Weitwinkelobjektiv mit 8fach optischem Zoom (16fach ZoomPlus). Wo immer Sie also sind, können Sie jedes Motiv – von ganz nahen bis weit entfernt – in erstklassigen Fotos und Movies festhalten. Der Eco-Modus reduziert den Stromverbrauch der Kamera und ermöglicht längere Aufnahmezeiten. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Einfach nur die Taste drücken und schon beginnt die HD-Movieaufnahme (720p) im MP4-Format. Für kreative Vielseitigkeit lässt sich der optische Zoom auch im Movie-Modus einsetzen und die Aufnahmen werden hochwertig und gestochen scharf.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -006,30692993,006_30692993,Canon IXUS 175,Canon IXUS 175,,,,,,,,,,"Creative play Play with your creativity using a range of Creative Filters. Re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more. Capture the stunning detail in everyday subjects using 1 cm Macro to get right up close. Enjoy exceptional quality, detailed images thanks to 20.0 Megapixels and DIGIC 4+ processing. Face Detection technology makes capturing great shots of friends effortless, while Auto Zoom intelligently helps you select the best framing at the touch of a button.","Stil im Taschenformat Diese ultraschlanke und schicke IXUS passt in jede Hand- oder Jackentasche und bietet dabei ein flexibles 28-mm-Weitwinkelobjektiv mit 8fach optischem Zoom (16fach ZoomPlus). Wo immer Sie also sind, können Sie jedes Motiv – von ganz nahen bis weit entfernt – in erstklassigen Fotos und Movies festhalten. Der Eco-Modus reduziert den Stromverbrauch der Kamera und ermöglicht längere Aufnahmezeiten. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Einfach nur die Taste drücken und schon beginnt die HD-Movieaufnahme (720p) im MP4-Format. Für kreative Vielseitigkeit lässt sich der optische Zoom auch im Movie-Modus einsetzen und die Aufnahmen werden hochwertig und gestochen scharf.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -007,30691822,007_30691822,Canon IXUS 285,Canon IXUS 285,,,,,,,,,,"Quick connections Connect to your compatible smart device with just one tap using Wi-Fi with Dynamic NFC for easy sharing. Use Image Sync to automatically back-up new images to cloud services and capture great group shots with wireless Remote Shooting from your smart device. The Wi-Fi Button offers a quick and easy shortcut to Wi-Fi functions. This ultra-slim and stylish metal-bodied IXUS is easy to carry with you wherever you go and features a flexible 25mm ultra-wide 12x optical zoom lens with 24x ZoomPlus; so you can easily capture every moment, near or far, in superb quality photos and movies. Auto Zoom helps you select the best framing at the touch of a button.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -008,30692992,008_30692992,Canon IXUS 285,Canon IXUS 285,,,,,,,,,,"Quick connections Connect to your compatible smart device with just one tap using Wi-Fi with Dynamic NFC for easy sharing. Use Image Sync to automatically back-up new images to cloud services and capture great group shots with wireless Remote Shooting from your smart device. The Wi-Fi Button offers a quick and easy shortcut to Wi-Fi functions. This ultra-slim and stylish metal-bodied IXUS is easy to carry with you wherever you go and features a flexible 25mm ultra-wide 12x optical zoom lens with 24x ZoomPlus; so you can easily capture every moment, near or far, in superb quality photos and movies. Auto Zoom helps you select the best framing at the touch of a button.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -009,30692991,009_30692991,Canon IXUS 285,Canon IXUS 285,,,,,,,,,,"Quick connections Connect to your compatible smart device with just one tap using Wi-Fi with Dynamic NFC for easy sharing. Use Image Sync to automatically back-up new images to cloud services and capture great group shots with wireless Remote Shooting from your smart device. The Wi-Fi Button offers a quick and easy shortcut to Wi-Fi functions. This ultra-slim and stylish metal-bodied IXUS is easy to carry with you wherever you go and features a flexible 25mm ultra-wide 12x optical zoom lens with 24x ZoomPlus; so you can easily capture every moment, near or far, in superb quality photos and movies. Auto Zoom helps you select the best framing at the touch of a button.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -010,30692994,010_30692994,Canon IXUS 180,Canon IXUS 180,,,,,,,,,,"Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control and choose the perfect camera settings for you. Play with your creativity in stills or movies using a range of Creative Filters such as Fish Eye, Miniature and Toy Camera. Enjoy exceptional quality, detailed images ideal for creating stunning poster sized prints thanks to 20.0 Megapixels and DIGIC 4+ processing. An intelligent optical Image Stabilizer ensures sharp stills and steady movies in any situation, while the 6.8 cm (2.7”) LCD screen allows easy viewing and sharing.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -011,30775359,011_30775359,Canon IXUS 180,Canon IXUS 180,,,,,,,,,,"Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control and choose the perfect camera settings for you. Play with your creativity in stills or movies using a range of Creative Filters such as Fish Eye, Miniature and Toy Camera. Enjoy exceptional quality, detailed images ideal for creating stunning poster sized prints thanks to 20.0 Megapixels and DIGIC 4+ processing. An intelligent optical Image Stabilizer ensures sharp stills and steady movies in any situation, while the 6.8 cm (2.7”) LCD screen allows easy viewing and sharing.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -012,25904598,012_25904598,Canon IXUS 165,Canon IXUS 165,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -013,25904584,013_25904584,Canon IXUS 165,Canon IXUS 165,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -014,25919241,014_25919241,Canon IXUS 177,Canon IXUS 177,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -015,25904009,015_25904009,Canon IXUS 177,Canon IXUS 177,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -016,21748907,016_21748907,Sony Cyber-shot DSC-W800,Sony Cyber-shot DSC-W800,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -017,21748906,017_21748906,Sony Cyber-shot DSC-W800,Sony Cyber-shot DSC-W800,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -018,21081477,018_21081477,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -019,21081473,019_21081473,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -020,21081478,020_21081478,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -021,21081475,021_21081475,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -022,21994751,022_21994751,Sony Cyber-shot DSC-WX220,Sony Cyber-shot DSC-WX220,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -023,21758366,023_21758366,Sony Cyber-shot DSC-WX220,Sony Cyber-shot DSC-WX220,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -024,21987578,024_21987578,Sony Cyber-shot DSC-WX350,Sony Cyber-shot DSC-WX350,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -025,21764665,025_21764665,Sony Cyber-shot DSC-WX350,Sony Cyber-shot DSC-WX350,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -026,21748904,026_21748904,Sony Cyber-shot DSC-WX350,Sony Cyber-shot DSC-WX350,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -027,26976107,027_26976107,Sony Cyber-shot DSC-WX500,Sony Cyber-shot DSC-WX500,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -028,26976108,028_26976108,Sony Cyber-shot DSC-WX500,Sony Cyber-shot DSC-WX500,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -029,26976109,029_26976109,Sony Cyber-shot DSC-WX500,Sony Cyber-shot DSC-WX500,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -030,30021698,030_30021698,Canon PowerShot G9 X,Canon PowerShot G9 X,,,,,,,,,,"Impressive image quality Stunning videos. A camera that’s slim and comfortable. The PowerShot G9 X camera is all this and more, featuring a 20.2 Megapixel, 1.0-inch High-Sensitivity CMOS sensor, Canon’s powerful DIGIC 6 Image Processor and a fast, f/2.0–4.9 lens that helps you capture inspiring images – even in low light – with detail and color to match. Whether you carry it in your hand, a bag or inside a pocket, the PowerShot G9 X can accompany you anywhere you go and is slim enough to quickly be in your grasp when opportunity knocks. Subjects in the distance become closer with a 3x Optical Zoom lens (28–84mm equivalent). Movement can be captured in stunning Full HD video, or frozen in beautiful increments with up to 6.0 fps continuous shooting.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -031,30021637,031_30021637,Canon PowerShot G9 X,Canon PowerShot G9 X,,,,,,,,,,"Impressive image quality Stunning videos. A camera that’s slim and comfortable. The PowerShot G9 X camera is all this and more, featuring a 20.2 Megapixel, 1.0-inch High-Sensitivity CMOS sensor, Canon’s powerful DIGIC 6 Image Processor and a fast, f/2.0–4.9 lens that helps you capture inspiring images – even in low light – with detail and color to match. Whether you carry it in your hand, a bag or inside a pocket, the PowerShot G9 X can accompany you anywhere you go and is slim enough to quickly be in your grasp when opportunity knocks. Subjects in the distance become closer with a 3x Optical Zoom lens (28–84mm equivalent). Movement can be captured in stunning Full HD video, or frozen in beautiful increments with up to 6.0 fps continuous shooting.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -032,32125551,032_32125551,Canon PowerShot SC620,Canon PowerShot SC620,,,,,,,,,,"Intelligent IS Whether you're taking a vacation, celebrating a special family occasion or just having some everyday fun, the slim and sleek PowerShot SX620 HS camera is ready for your next shot. Enjoy the versatility of a powerful 25x (25-625mm) Optical Zoom for subjects both near and far. Equipped with Intelligent IS for optimized image stabilization, it helps capture everything from lovely close-ups to distant sights virtually shake-free, with confidence. You can then show off your photos with built-in Wi-Fi® and NFC, which lets you transfer them to your compatible devices and upload to select social networking sites for your family, friends and the world to see. Stunning image quality comes via a 20.2 Megapixel CMOS sensor and the DIGIC 4+ Image Processor for beautiful shots whether you're picnicking during the day or camping at night. If videos are more your thing, rest assured they'll have gorgeous detail with 1080p Full HD video at your fingertips.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -033,32125568,033_32125568,Canon PowerShot SC620,Canon PowerShot SC620,,,,,,,,,,"Intelligent IS Whether you're taking a vacation, celebrating a special family occasion or just having some everyday fun, the slim and sleek PowerShot SX620 HS camera is ready for your next shot. Enjoy the versatility of a powerful 25x (25-625mm) Optical Zoom for subjects both near and far. Equipped with Intelligent IS for optimized image stabilization, it helps capture everything from lovely close-ups to distant sights virtually shake-free, with confidence. You can then show off your photos with built-in Wi-Fi® and NFC, which lets you transfer them to your compatible devices and upload to select social networking sites for your family, friends and the world to see. Stunning image quality comes via a 20.2 Megapixel CMOS sensor and the DIGIC 4+ Image Processor for beautiful shots whether you're picnicking during the day or camping at night. If videos are more your thing, rest assured they'll have gorgeous detail with 1080p Full HD video at your fingertips.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -034,32125390,034_32125390,Canon PowerShot SC620,Canon PowerShot SC620,,,,,,,,,,"Intelligent IS Whether you're taking a vacation, celebrating a special family occasion or just having some everyday fun, the slim and sleek PowerShot SX620 HS camera is ready for your next shot. Enjoy the versatility of a powerful 25x (25-625mm) Optical Zoom for subjects both near and far. Equipped with Intelligent IS for optimized image stabilization, it helps capture everything from lovely close-ups to distant sights virtually shake-free, with confidence. You can then show off your photos with built-in Wi-Fi® and NFC, which lets you transfer them to your compatible devices and upload to select social networking sites for your family, friends and the world to see. Stunning image quality comes via a 20.2 Megapixel CMOS sensor and the DIGIC 4+ Image Processor for beautiful shots whether you're picnicking during the day or camping at night. If videos are more your thing, rest assured they'll have gorgeous detail with 1080p Full HD video at your fingertips.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -035,17360369,035_17360369,Canon PowerShot N,Canon PowerShot N,,,,,,,,,,"Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creative images plus the original unaltered photo - capturing the same subject in a variety of artistic and surprising ways. The unique symmetrical, metal-bodied design is strikingly different with an ultra-modern minimalist style - small enough to keep in your pocket and stylish enough to take anywhere. HS System excels in low light allowing you to capture the real atmosphere of the moment without flash or a tripod. Advanced DIGIC 5 processing and a high-sensitivity 12.1 Megapixel CMOS sensor give excellent image quality in all situations.","Creative Shot Mit der Funktion „Creative Shot“ ist es ganz einfach, originelle Aufnahmen zu machen. Sie nehmen ein ganz normales Foto auf und die Kamera analysiert die Szene und erstellt daraus 5 kreative Bilder, die sie mit der Originalaufnahme zusammen speichert – so wird ein und das selbe Motiv auf 5 künstlerische und oft überraschenden Arten interpretiert. Das einzigartige, symmetrische Metallgehäuse ist erfrischend anders und beeindruckt mit einem ultra-modernen, minimalistischem Design – so kompakt, dass es in jede Tasche passt und so schick, dass es auch sonst überall hin passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -036,17360368,036_17360368,Canon PowerShot N,Canon PowerShot N,,,,,,,,,,"Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creative images plus the original unaltered photo - capturing the same subject in a variety of artistic and surprising ways. The unique symmetrical, metal-bodied design is strikingly different with an ultra-modern minimalist style - small enough to keep in your pocket and stylish enough to take anywhere. HS System excels in low light allowing you to capture the real atmosphere of the moment without flash or a tripod. Advanced DIGIC 5 processing and a high-sensitivity 12.1 Megapixel CMOS sensor give excellent image quality in all situations.","Creative Shot Mit der Funktion „Creative Shot“ ist es ganz einfach, originelle Aufnahmen zu machen. Sie nehmen ein ganz normales Foto auf und die Kamera analysiert die Szene und erstellt daraus 5 kreative Bilder, die sie mit der Originalaufnahme zusammen speichert – so wird ein und das selbe Motiv auf 5 künstlerische und oft überraschenden Arten interpretiert. Das einzigartige, symmetrische Metallgehäuse ist erfrischend anders und beeindruckt mit einem ultra-modernen, minimalistischem Design – so kompakt, dass es in jede Tasche passt und so schick, dass es auch sonst überall hin passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -037,25904011,037_25904011,Canon PowerShot SX710,Canon PowerShot SX710,,,,,,,,,,"Compact 30x superzoom, easy to take everywhere The pocket-sized PowerShot SX710 HS is packed with our most powerful imaging technology and an impressive 30x zoom for capturing detail at a distance. It’s designed to let you travel light and capture superb quality images and movies wherever life takes you. Share more of your adventures. Wi-Fi with Dynamic NFC makes it simple to transfer images to compatible smartphones, tablets or the Canon Connect Station, while Image Sync automatically backs up all new images to the cloud, your smartphone and your PC. A 20.3 Megapixel sensor and our powerful DIGIC 6 processor are combined in HS System to give you vivid, crisp and clear shots in any situation. It lets you preserve the true atmosphere, even of dark scenes, with accurate colours, low noise and without having to use the flash.","Kompakte 30fach Zoomkamera, die man überall mitnehmen kann Diese ultra-kompakte Kamera ist so klein, dass sie in jede Tasche passt und so überall mit hingenommen werden kann – das macht sie zum idealen Reisebegleiter. Mit dem 30fach optischen Zoom und 60fach ZoomPlus kommen Sie ganz nah ans Geschehen ran und halten jedes beeindruckende Detail fest. Der erweiterte Zoom-Assistent hilft Ihnen dabei immer die perfekte Bildkomposition zu halten. Der 5-achsige, intelligente optische Bildstabilisator passt sich automatisch der Situation an und ermöglicht gestochen scharfe und detailreiche Fotos und Movies – selbst bei wenig Licht oder vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -038,25905593,038_25905593,Canon PowerShot SX710,Canon PowerShot SX710,,,,,,,,,,"Compact 30x superzoom, easy to take everywhere The pocket-sized PowerShot SX710 HS is packed with our most powerful imaging technology and an impressive 30x zoom for capturing detail at a distance. It’s designed to let you travel light and capture superb quality images and movies wherever life takes you. Share more of your adventures. Wi-Fi with Dynamic NFC makes it simple to transfer images to compatible smartphones, tablets or the Canon Connect Station, while Image Sync automatically backs up all new images to the cloud, your smartphone and your PC. A 20.3 Megapixel sensor and our powerful DIGIC 6 processor are combined in HS System to give you vivid, crisp and clear shots in any situation. It lets you preserve the true atmosphere, even of dark scenes, with accurate colours, low noise and without having to use the flash.","Kompakte 30fach Zoomkamera, die man überall mitnehmen kann Diese ultra-kompakte Kamera ist so klein, dass sie in jede Tasche passt und so überall mit hingenommen werden kann – das macht sie zum idealen Reisebegleiter. Mit dem 30fach optischen Zoom und 60fach ZoomPlus kommen Sie ganz nah ans Geschehen ran und halten jedes beeindruckende Detail fest. Der erweiterte Zoom-Assistent hilft Ihnen dabei immer die perfekte Bildkomposition zu halten. Der 5-achsige, intelligente optische Bildstabilisator passt sich automatisch der Situation an und ermöglicht gestochen scharfe und detailreiche Fotos und Movies – selbst bei wenig Licht oder vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -039,25904010,039_25904010,Canon PowerShot SX610,Canon PowerShot SX610,,,,,,,,,,"Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording. ","Stets beste Ergebnisse Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera ermöglicht selbst bei wenig Licht oder hohen Zoomwerten gestochen scharfe und detailreiche Aufnahmen aus der freien Hand. WLAN bietet Ihnen zahlreiche Möglichkeiten. Fotos und Movies können direkt von der Kamera auf soziale Netzwerke hochgeladen werden und per dynamischem NFC auf Smartphone oder Tablet. Mit der Canon Camera Connect App wird eine Fernbedienung der Kamera über ein Smartphone ermöglicht. Backup auf einem PC oder in der Cloud ist dank Image Sync kein Problem. Verbindet man die Kamera mit einer Canon Connect Station, lassen sich Fotos und Movies mit Freunden und Familie am heimischen HD-Fernsehgerät betrachten oder man teilt sie von dort aus mit der ganzen Welt über soziale Netzwerke und Online-Alben wie irista.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -040,25904665,040_25904665,Canon PowerShot SX610,Canon PowerShot SX610,,,,,,,,,,"Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording. ","Stets beste Ergebnisse Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera ermöglicht selbst bei wenig Licht oder hohen Zoomwerten gestochen scharfe und detailreiche Aufnahmen aus der freien Hand. WLAN bietet Ihnen zahlreiche Möglichkeiten. Fotos und Movies können direkt von der Kamera auf soziale Netzwerke hochgeladen werden und per dynamischem NFC auf Smartphone oder Tablet. Mit der Canon Camera Connect App wird eine Fernbedienung der Kamera über ein Smartphone ermöglicht. Backup auf einem PC oder in der Cloud ist dank Image Sync kein Problem. Verbindet man die Kamera mit einer Canon Connect Station, lassen sich Fotos und Movies mit Freunden und Familie am heimischen HD-Fernsehgerät betrachten oder man teilt sie von dort aus mit der ganzen Welt über soziale Netzwerke und Online-Alben wie irista.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -041,25904691,041_25904691,Canon PowerShot SX610,Canon PowerShot SX610,,,,,,,,,,"Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording. ","Stets beste Ergebnisse Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera ermöglicht selbst bei wenig Licht oder hohen Zoomwerten gestochen scharfe und detailreiche Aufnahmen aus der freien Hand. WLAN bietet Ihnen zahlreiche Möglichkeiten. Fotos und Movies können direkt von der Kamera auf soziale Netzwerke hochgeladen werden und per dynamischem NFC auf Smartphone oder Tablet. Mit der Canon Camera Connect App wird eine Fernbedienung der Kamera über ein Smartphone ermöglicht. Backup auf einem PC oder in der Cloud ist dank Image Sync kein Problem. Verbindet man die Kamera mit einer Canon Connect Station, lassen sich Fotos und Movies mit Freunden und Familie am heimischen HD-Fernsehgerät betrachten oder man teilt sie von dort aus mit der ganzen Welt über soziale Netzwerke und Online-Alben wie irista.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -042,31040075,042_31040075,Samsung Galaxy S7,Samsung Galaxy S7,,,,,,,,,,"Smart Design The beauty of what we've engineered is to give you the slimmest feel in your hand without compromising the big screen size. The elegantly curved front and back fit in your palm just right. It's as beautiful to look at as it is to use. We spent a long time perfecting the curves of the Galaxy S7 edge and S7. Using a proprietary process called 3D Thermoforming, we melted 3D glass to curve with such precision that it meets the curved metal alloy to create an exquisitely seamless and strong unibody. The dual-curve backs on the Galaxy S7 edge and S7 are the reason why they feel so comfortable when you hold them. Everything about the design, from the naturally flowing lines to the thin form factor, come together to deliver a grip that's so satisfying, you won't want to let go.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -043,31040074,043_31040074,Samsung Galaxy S7,Samsung Galaxy S7,,,,,,,,,,"Smart Design The beauty of what we've engineered is to give you the slimmest feel in your hand without compromising the big screen size. The elegantly curved front and back fit in your palm just right. It's as beautiful to look at as it is to use. We spent a long time perfecting the curves of the Galaxy S7 edge and S7. Using a proprietary process called 3D Thermoforming, we melted 3D glass to curve with such precision that it meets the curved metal alloy to create an exquisitely seamless and strong unibody. The dual-curve backs on the Galaxy S7 edge and S7 are the reason why they feel so comfortable when you hold them. Everything about the design, from the naturally flowing lines to the thin form factor, come together to deliver a grip that's so satisfying, you won't want to let go.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -044,31040076,044_31040076,Samsung Galaxy S7,Samsung Galaxy S7,,,,,,,,,,"Smart Design The beauty of what we've engineered is to give you the slimmest feel in your hand without compromising the big screen size. The elegantly curved front and back fit in your palm just right. It's as beautiful to look at as it is to use. We spent a long time perfecting the curves of the Galaxy S7 edge and S7. Using a proprietary process called 3D Thermoforming, we melted 3D glass to curve with such precision that it meets the curved metal alloy to create an exquisitely seamless and strong unibody. The dual-curve backs on the Galaxy S7 edge and S7 are the reason why they feel so comfortable when you hold them. Everything about the design, from the naturally flowing lines to the thin form factor, come together to deliver a grip that's so satisfying, you won't want to let go.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -045,26408558,045_26408558,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -046,26408563,046_26408563,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -047,26408568,047_26408568,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -048,26403666,048_26403666,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -049,30395396,049_30395396,Samsung Galaxy A5,Samsung Galaxy A5,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -050,31080444,050_31080444,Samsung Galaxy A5,Samsung Galaxy A5,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -051,29567823,051_29567823,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,32 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -051,30107816,051_30107816,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,64 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -051,30614390,051_30614390,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,128 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -052,29567823,052_29567823,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,32 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -052,30107816,052_30107816,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,64 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -052,30614390,052_30614390,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,128 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -053,29567823,053_29567823,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,32 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -053,30107816,053_30107816,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,64 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -053,30614390,053_30614390,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,128 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -054,29406182,054_29406182,Acer Liquid Z630,Acer Liquid Z630,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Für mehr Spaß Das 13,97 cm (5,5 Zoll) große HD-Display wird von einem beeindruckenden 64-Bit-Quad-Core-Prozessor angetrieben, der schnelle Reaktionszeiten bietet und fehlerfreie Videos, Spiele sowie reibungsloses Surfen im Internet ermöglicht. Ein Akku mit 4000 mAh liefert mehr als genug Leistung für den ganzen Tag. Beeindrucken Sie Ihre Freunde mit einem Telefon, das schöne Weitwinkel-Selfies macht, sobald Sie „Cheese“ oder „Aufnahme“ oder „Lächeln“ sagen. Die 8-MP-Selfies machen sich sehr gut auf dem IPS1 -Display, auf dem Sie Bilder optimal aus jedem Winkel betrachten können. Seien Sie der Star, wenn Sie Ihren Freunden anbieten, mit Ihrem Telefon deren Telefone aufzuladen – das geht über den Micro-USB-Ladeanschluss2. Dieser Anschluss kann auch verwendet werden, um einen USB-Stick3 einzustecken – und dann Medien wiederzugeben, Dateien herunterzuladen, diese zu speichern und freizugeben. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -055,29406184,055_29406184,Acer Liquid Z630,Acer Liquid Z630,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Für mehr Spaß Das 13,97 cm (5,5 Zoll) große HD-Display wird von einem beeindruckenden 64-Bit-Quad-Core-Prozessor angetrieben, der schnelle Reaktionszeiten bietet und fehlerfreie Videos, Spiele sowie reibungsloses Surfen im Internet ermöglicht. Ein Akku mit 4000 mAh liefert mehr als genug Leistung für den ganzen Tag. Beeindrucken Sie Ihre Freunde mit einem Telefon, das schöne Weitwinkel-Selfies macht, sobald Sie „Cheese“ oder „Aufnahme“ oder „Lächeln“ sagen. Die 8-MP-Selfies machen sich sehr gut auf dem IPS1 -Display, auf dem Sie Bilder optimal aus jedem Winkel betrachten können. Seien Sie der Star, wenn Sie Ihren Freunden anbieten, mit Ihrem Telefon deren Telefone aufzuladen – das geht über den Micro-USB-Ladeanschluss2. Dieser Anschluss kann auch verwendet werden, um einen USB-Stick3 einzustecken – und dann Medien wiederzugeben, Dateien herunterzuladen, diese zu speichern und freizugeben. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -056,31714843,056_31714843,Acer Liquid Zest 4G,Acer Liquid Zest 4G,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Unvergessliche Momente einfangen Mit einer 8-MP-Kamera und 4G2 können Sie einzigartige Momente jederzeit einfangen und direkt mit anderen teilen, egal wo Sie sind. Dieser Moment ist nichts ohne Sie und Ihre Freunde? Kein Problem, denn dank des 85-Grad-Weitwinkelobjektivs der 5-MP-Frontkamera passen genügend Personen auf Ihre Fotos für unvergessliche Selfies. DTS® Studio Sound1 bietet satte Bässe und kristallklare Dialoge bei maximaler Lautstärke ohne jegliche Verzerrungen. Gleichzeitig sorgt DTS-HD® Premium für einen volleren Surround Sound und ein beeindruckendes 3D-Audioerlebnis über Ihre Kopfhörer. Erleben Sie grenzenlose Bildqualität aus fast jedem Betrachtungswinkel auf einem 12,7 cm (5-Zoll)-IPS-Display. Dank Zero Air Gap-Technologie bleibt die Bildqualität auch bei hellem Sonnenlicht gleich, während die On-Cell Touch-Technologie störende Bildschirmreflexionen reduziert. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -057,32007641,057_32007641,Acer Liquid Zest 4G,Acer Liquid Zest 4G,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Unvergessliche Momente einfangen Mit einer 8-MP-Kamera und 4G2 können Sie einzigartige Momente jederzeit einfangen und direkt mit anderen teilen, egal wo Sie sind. Dieser Moment ist nichts ohne Sie und Ihre Freunde? Kein Problem, denn dank des 85-Grad-Weitwinkelobjektivs der 5-MP-Frontkamera passen genügend Personen auf Ihre Fotos für unvergessliche Selfies. DTS® Studio Sound1 bietet satte Bässe und kristallklare Dialoge bei maximaler Lautstärke ohne jegliche Verzerrungen. Gleichzeitig sorgt DTS-HD® Premium für einen volleren Surround Sound und ein beeindruckendes 3D-Audioerlebnis über Ihre Kopfhörer. Erleben Sie grenzenlose Bildqualität aus fast jedem Betrachtungswinkel auf einem 12,7 cm (5-Zoll)-IPS-Display. Dank Zero Air Gap-Technologie bleibt die Bildqualität auch bei hellem Sonnenlicht gleich, während die On-Cell Touch-Technologie störende Bildschirmreflexionen reduziert. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -058,24245592,058_24245592,Acer Liquid Jade,Acer Liquid Jade,series,Jade Plus,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -058,26175504,058_26175504,Acer Liquid Jade,Acer Liquid Jade,series,Jade Z,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -059,24245592,059_24245592,Acer Liquid Jade,Acer Liquid Jade,series,Jade Plus,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -059,26175504,059_26175504,Acer Liquid Jade,Acer Liquid Jade,series,Jade Z,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -059,26027598,059_26027598,Acer Liquid Jade,Acer Liquid Jade,series,Jade S,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -060,24245592,060_24245592,Acer Liquid Jade,Acer Liquid Jade,series,Jade Plus,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -060,26175504,060_26175504,Acer Liquid Jade,Acer Liquid Jade,series,Jade Z,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -060,26027598,060_26027598,Acer Liquid Jade,Acer Liquid Jade,series,Jade S,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -061,24752508,061_24752508,Samsung Galaxy Note 4,Samsung Galaxy Note 4,,,,,,,,,,"Powerful Performance that Matters the Most to You ​The Galaxy Note 4 embraces Samsung’s heritage of an unrivaled Galaxy mobile experience. Its extraordinary 5.7-inch Quad HD (2560x1440) Super AMOLED display reproduces clearer and more vivid images with deep contrast, better viewing angles, and response times as fast as a millionth of a second, providing a tremendous viewing experience. Due to its large screen, the refined Multi Window feature is able to maximize the user’s experience providing them with the key to easier multi-tasking. Users can choose how they access their applications with full, split or pop-up screens, and easily change the size and positioning of apps on the screen with one intuitive swipe. ​The Galaxy Note 4 also offers an improved Fingerprint Scanner, to secure personal data and the world’s first UV sensor in a mobile device.​","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -062,24752467,062_24752467,Samsung Galaxy Note 4,Samsung Galaxy Note 4,,,,,,,,,,"Powerful Performance that Matters the Most to You ​The Galaxy Note 4 embraces Samsung’s heritage of an unrivaled Galaxy mobile experience. Its extraordinary 5.7-inch Quad HD (2560x1440) Super AMOLED display reproduces clearer and more vivid images with deep contrast, better viewing angles, and response times as fast as a millionth of a second, providing a tremendous viewing experience. Due to its large screen, the refined Multi Window feature is able to maximize the user’s experience providing them with the key to easier multi-tasking. Users can choose how they access their applications with full, split or pop-up screens, and easily change the size and positioning of apps on the screen with one intuitive swipe. ​The Galaxy Note 4 also offers an improved Fingerprint Scanner, to secure personal data and the world’s first UV sensor in a mobile device.​","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -063,29231675,063_29231675,Samsung Galaxy S4 Mini,Samsung Galaxy S4 Mini,,,,,,,,,,"Compact design that fits you perfectly well A more sleek and compact design has been integrated with the premium Samsung GALAXY S4. The beautifully slim design of the GALAXY S4 Mini means you can take it with you anywhere and anytime. Outstanding CMF with a vivid & wide 4.3 inch qHD sAMOLED display delivers great aesthetics without compromising performance. The artistically compact design delivers additional comfort and can perfectly fit in one hand. GALAXY S4 Mini is ready to fully support for any occasion. The outstanding hardware performance enables you to do more tasks easily and quickly. Upgraded processor, big enough memories, embedded high resolution camera system, and various connection options offer you a confidence to face endless challenge which turns daily routine into special moments. Even though you have no Wi-Fi or network connection, you can access to others and easily share all joys. The Group Play makes a group among Samsung GALAXY Series and offers various sharing options including becoming a part of speaker system, creating a photo collage, and playing a game against others and so on.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -064,18404924,064_18404924,Samsung Galaxy S4 Mini,Samsung Galaxy S4 Mini,,,,,,,,,,"Compact design that fits you perfectly well A more sleek and compact design has been integrated with the premium Samsung GALAXY S4. The beautifully slim design of the GALAXY S4 Mini means you can take it with you anywhere and anytime. Outstanding CMF with a vivid & wide 4.3 inch qHD sAMOLED display delivers great aesthetics without compromising performance. The artistically compact design delivers additional comfort and can perfectly fit in one hand. GALAXY S4 Mini is ready to fully support for any occasion. The outstanding hardware performance enables you to do more tasks easily and quickly. Upgraded processor, big enough memories, embedded high resolution camera system, and various connection options offer you a confidence to face endless challenge which turns daily routine into special moments. Even though you have no Wi-Fi or network connection, you can access to others and easily share all joys. The Group Play makes a group among Samsung GALAXY Series and offers various sharing options including becoming a part of speaker system, creating a photo collage, and playing a game against others and so on.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -065,23294027,065_23294027,Samsung Galaxy S5 mini,Samsung Galaxy S5 mini,,,,,,,,,,"Galaxy S5 mini continues Samsung design legacy and flagship experience Outfitted with a 4.5-inch HD Super AMOLED display, the Galaxy S5 mini delivers a wide and vivid viewing experience, and its compact size provides users with additional comfort, allowing for easy operation with only one hand. Like the Galaxy S5, the Galaxy S5 mini features a unique perforated pattern on the back cover creating a modern and sleek look, along with a premium, soft touch grip. The Galaxy S5 mini enables users to enjoy the same flagship experience as the Galaxy S5 with innovative features including IP67 certification, Ultra Power Saving Mode, a heart rate monitor, fingerprint scanner, and connectivity with the latest Samsung wearable devices.The Galaxy S5 mini comes equipped with a powerful Quad Core 1.4 GHz processor and 1.5GM RAM for seamless multi-tasking, faster webpage loading, softer UI transition, and quick power up. The high-resolution 8MP camera delivers crisp and clear photos and videos, while the Galaxy S5 mini’s support of LTE Category 4 provides users with ultra-fast downloads of movies and games on-the-go. ","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -066,23294028,066_23294028,Samsung Galaxy S5 mini,Samsung Galaxy S5 mini,,,,,,,,,,"Galaxy S5 mini continues Samsung design legacy and flagship experience Outfitted with a 4.5-inch HD Super AMOLED display, the Galaxy S5 mini delivers a wide and vivid viewing experience, and its compact size provides users with additional comfort, allowing for easy operation with only one hand. Like the Galaxy S5, the Galaxy S5 mini features a unique perforated pattern on the back cover creating a modern and sleek look, along with a premium, soft touch grip. The Galaxy S5 mini enables users to enjoy the same flagship experience as the Galaxy S5 with innovative features including IP67 certification, Ultra Power Saving Mode, a heart rate monitor, fingerprint scanner, and connectivity with the latest Samsung wearable devices.The Galaxy S5 mini comes equipped with a powerful Quad Core 1.4 GHz processor and 1.5GM RAM for seamless multi-tasking, faster webpage loading, softer UI transition, and quick power up. The high-resolution 8MP camera delivers crisp and clear photos and videos, while the Galaxy S5 mini’s support of LTE Category 4 provides users with ultra-fast downloads of movies and games on-the-go. ","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -067,24241408,067_24241408,Samsung Galaxy S5 mini,Samsung Galaxy S5 mini,,,,,,,,,,"Galaxy S5 mini continues Samsung design legacy and flagship experience Outfitted with a 4.5-inch HD Super AMOLED display, the Galaxy S5 mini delivers a wide and vivid viewing experience, and its compact size provides users with additional comfort, allowing for easy operation with only one hand. Like the Galaxy S5, the Galaxy S5 mini features a unique perforated pattern on the back cover creating a modern and sleek look, along with a premium, soft touch grip. The Galaxy S5 mini enables users to enjoy the same flagship experience as the Galaxy S5 with innovative features including IP67 certification, Ultra Power Saving Mode, a heart rate monitor, fingerprint scanner, and connectivity with the latest Samsung wearable devices.The Galaxy S5 mini comes equipped with a powerful Quad Core 1.4 GHz processor and 1.5GM RAM for seamless multi-tasking, faster webpage loading, softer UI transition, and quick power up. The high-resolution 8MP camera delivers crisp and clear photos and videos, while the Galaxy S5 mini’s support of LTE Category 4 provides users with ultra-fast downloads of movies and games on-the-go. ","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -068,21927453,068_21927453,Samsung Galaxy S5,Samsung Galaxy S5,,,,,,,,,,"Capture the moments that matter Capturing and saving precious memories is one of the most important smartphone features today. The new Galaxy S5 offers superior camera functionality, featuring a 16 megapixel camera with an enhanced menu and user interface that allow consumers to effortlessly take, edit and share photos. The Galaxy S5 offers the world’s fastest autofocus speed up to 0.3 seconds and the advanced High Dynamic Range (HDR), reproduce natural light and color with striking intensity at any circumstances. Also new Selective Focus feature allows users to focus on a specific area of an object while simultaneously blurring out the background. With this capability, consumers no longer need a special lens kit to create a shallow depth of field (DOF) effect. The Galaxy S5 offers the most advanced LTE experience and Wi-Fi performance available today, ensuring blazing fast data speeds for unrivaled media consumption and productivity.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -069,21919624,069_21919624,Samsung Galaxy S5,Samsung Galaxy S5,,,,,,,,,,"Capture the moments that matter Capturing and saving precious memories is one of the most important smartphone features today. The new Galaxy S5 offers superior camera functionality, featuring a 16 megapixel camera with an enhanced menu and user interface that allow consumers to effortlessly take, edit and share photos. The Galaxy S5 offers the world’s fastest autofocus speed up to 0.3 seconds and the advanced High Dynamic Range (HDR), reproduce natural light and color with striking intensity at any circumstances. Also new Selective Focus feature allows users to focus on a specific area of an object while simultaneously blurring out the background. With this capability, consumers no longer need a special lens kit to create a shallow depth of field (DOF) effect. The Galaxy S5 offers the most advanced LTE experience and Wi-Fi performance available today, ensuring blazing fast data speeds for unrivaled media consumption and productivity.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -070,133745031,070_133745031,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 2,,,,,internal_storage_capacity,2.1 GB,//uk.icecat.biz/en/p/samsung/gt-i8160okabtu/smartphones-8806085027312-Samsung-Galaxy-Ace-2-GT-I8160-2-1GB-16M-13374503.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -070,203704321,070_203704321,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 2,,,,,internal_storage_capacity,8 GB,//uk.icecat.biz/en/p/samsung/gt-s7275uwnbtu/smartphones-Samsung-Galaxy-Ace-3-GT-S7275-8GB-4G-White-20370432.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -070,133913221,070_133913221,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 3,,,,,internal_storage_capacity,2.1 GB,//uk.icecat.biz/en/p/samsung/gt-s7500ababtu/smartphones-Samsung-Galaxy-Ace-Plus-GT-S7500-2-7GB-Black-13391322.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -070,133745032,070_133745032,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 3,,,,,internal_storage_capacity,8 GB,//uk.icecat.biz/en/p/samsung/gt-i8160okabtu/smartphones-8806085027312-Samsung-Galaxy-Ace-2-GT-I8160-2-1GB-16M-13374503.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -070,203704322,070_203704322,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 3,,,,,internal_storage_capacity,2.7 GB,//uk.icecat.biz/en/p/samsung/gt-s7275uwnbtu/smartphones-Samsung-Galaxy-Ace-3-GT-S7275-8GB-4G-White-20370432.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -070,133913222,070_133913222,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace Plus,,,,,internal_storage_capacity,8 GB,//uk.icecat.biz/en/p/samsung/gt-s7500ababtu/smartphones-Samsung-Galaxy-Ace-Plus-GT-S7500-2-7GB-Black-13391322.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -070,133745033,070_133745033,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace Plus,,,,,internal_storage_capacity,2.7 GB,//uk.icecat.biz/en/p/samsung/gt-i8160okabtu/smartphones-8806085027312-Samsung-Galaxy-Ace-2-GT-I8160-2-1GB-16M-13374503.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -071,26974343,071_26974343,Samsung Galaxy Xcover 3,Samsung Galaxy Xcover 3,,,,,,,,,//uk.icecat.biz/en/p/samsung/sm-g388fdsaato/smartphones-Samsung-Galaxy-Xcover-3-8GB-4G-Grey-Silver-26974343.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -072,19618271,072_19618271,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,32 GB,,,,,,,//uk.icecat.biz/en/p/samsung/sm-n9005zkebtu/smartphones-8806085777316-Samsung-Galaxy-Note-3-SM-N9005-32GB-4G-Black-19618271.html,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -072,21927455,072_21927455,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,16 GB,,,,,,,//uk.icecat.biz/en/p/samsung/sm-n7505zwabtu/smartphones-Samsung-Galaxy-Note-3-Neo-SM-N7505-16GB-4G-White-21927455.html,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -073,19618271,073_19618271,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,32 GB,,,,,,,,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -073,21927455,073_21927455,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,16 GB,,,,,,,,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -074,29641053,074_29641053,Samsung Galaxy Tab S2,Samsung Galaxy Tab S2,,,,,,,,,,"Seamless Multitasking Multitask like a pro with the Galaxy Tab S2. Watch HD movies while you are flicking through a digital magazine or an e-book, or surfing the net. Run multiple apps in split screen mode or in draggable pop-up windows. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. The Galaxy Tab S2’s 4 : 3 ratio display provides you with an ideal environment for performing office tasks. Use the Galaxy Tab S2’s Book Cover Keyboard, a desktop PC-like experience boon when you need to work on a range of documents. Enjoy greater flexibility than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -075,29401702,075_29401702,Samsung Galaxy Tab S2,Samsung Galaxy Tab S2,,,,,,,,,,"Seamless Multitasking Multitask like a pro with the Galaxy Tab S2. Watch HD movies while you are flicking through a digital magazine or an e-book, or surfing the net. Run multiple apps in split screen mode or in draggable pop-up windows. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. The Galaxy Tab S2’s 4 : 3 ratio display provides you with an ideal environment for performing office tasks. Use the Galaxy Tab S2’s Book Cover Keyboard, a desktop PC-like experience boon when you need to work on a range of documents. Enjoy greater flexibility than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -076,24394207,076_24394207,Sony Xperia Z3 Compact,Sony Xperia Z3 Compact,,,,,,,,,,"Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof rating*, Xperia Z3 Compact lets you answer calls in the rain or take pictures in the pool. And it can handle all the drops into the sink in between. Combined with a slim, compact design that’s easy to use with one hand, Xperia Z3 Compact is the Android smartphone that teams durability with beauty. Some of the best times happen in the lowest light. Years of Sony camera expertise have been brought to Xperia Z3 Compact, to deliver unparalleled low-light capability. Thanks to Cyber-shot and Handycam technologies you can record stunning videos on the move and take crisp shots under water. Want to take your shots to the next level? Get creative with our unique camera apps. It’s our best smartphone camera yet – for memories that deserve more than good.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -077,24584210,077_24584210,Sony Xperia Z3 Compact,Sony Xperia Z3 Compact,,,,,,,,,,"Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof rating*, Xperia Z3 Compact lets you answer calls in the rain or take pictures in the pool. And it can handle all the drops into the sink in between. Combined with a slim, compact design that’s easy to use with one hand, Xperia Z3 Compact is the Android smartphone that teams durability with beauty. Some of the best times happen in the lowest light. Years of Sony camera expertise have been brought to Xperia Z3 Compact, to deliver unparalleled low-light capability. Thanks to Cyber-shot and Handycam technologies you can record stunning videos on the move and take crisp shots under water. Want to take your shots to the next level? Get creative with our unique camera apps. It’s our best smartphone camera yet – for memories that deserve more than good.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -078,24602396,078_24602396,Sony Xperia Z3 Compact,Sony Xperia Z3 Compact,,,,,,,,,,"Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof rating*, Xperia Z3 Compact lets you answer calls in the rain or take pictures in the pool. And it can handle all the drops into the sink in between. Combined with a slim, compact design that’s easy to use with one hand, Xperia Z3 Compact is the Android smartphone that teams durability with beauty. Some of the best times happen in the lowest light. Years of Sony camera expertise have been brought to Xperia Z3 Compact, to deliver unparalleled low-light capability. Thanks to Cyber-shot and Handycam technologies you can record stunning videos on the move and take crisp shots under water. Want to take your shots to the next level? Get creative with our unique camera apps. It’s our best smartphone camera yet – for memories that deserve more than good.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -079,24394211,079_24394211,Sony Xperia Z3,Sony Xperia Z3,,,,,,,,,,"Dive into new experiences Xperia Z3 is the smartphone that does more and goes further – whether further is a run in the rain or a dive into the pool on a sunny summer holiday. With the highest waterproof rating*, you can find your way in a downpour, take pictures underwater or just wipe off your phone after an unexpected spill. Combined with a super-slim body and aluminium frame, Xperia Z3 is the Android smartphone that teams durability with beauty. Your best moments deserve more than dark, blurry shots. Years of Sony camera expertise have been brought to Xperia Z3, a premium phone with Cyber-shot and Handycam technologies. So you can capture the laughter in any light, shoot steady videos on the move and take crisp shots underwater. And when you want to make great pictures and videos even better? You can unleash your creativity with our widest ever choice of unique Xperia camera apps. It’s our best smartphone camera yet, to make sure your memories are as vibrant as real life.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -080,24394206,080_24394206,Sony Xperia Z3,Sony Xperia Z3,,,,,,,,,,"Dive into new experiences Xperia Z3 is the smartphone that does more and goes further – whether further is a run in the rain or a dive into the pool on a sunny summer holiday. With the highest waterproof rating*, you can find your way in a downpour, take pictures underwater or just wipe off your phone after an unexpected spill. Combined with a super-slim body and aluminium frame, Xperia Z3 is the Android smartphone that teams durability with beauty. Your best moments deserve more than dark, blurry shots. Years of Sony camera expertise have been brought to Xperia Z3, a premium phone with Cyber-shot and Handycam technologies. So you can capture the laughter in any light, shoot steady videos on the move and take crisp shots underwater. And when you want to make great pictures and videos even better? You can unleash your creativity with our widest ever choice of unique Xperia camera apps. It’s our best smartphone camera yet, to make sure your memories are as vibrant as real life.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -081,22196533,081_22196533,TomTom Multi-Sport Cardio,TomTom Multi-Sport Cardio,,,,,,,,,,"Multi-platform compatibility Get accurate heart-rate information without the need for a separate chest strap. Your heart rate is measured through a sensor in the watch that monitors changes in the blood flow in your wrist. This is done by shining light through the skin and detecting the changing light reflections. See real-time running, cycling and swimming information at a glance. Track your distance, time, pace, speed and calories burnt as you train on an extra-large display. Select a zone to match your training goal and always know whether you need to speed up or slow down.Heart rate monitoring is the single most accurate means to understand how your body is responding to exercise.","Innovative Technologie Erhalten Sie genaue Informationen zu Ihrer Herzfrequenz, ohne einen separaten Brustgurt tragen zu müssen. Ihre Herzfrequenz wird mithilfe eines Sensors in der Uhr gemessen, der Änderungen des Blutflusses an Ihrem Handgelenk feststellt. Dabei wird Licht durch die Haut geleitet, um Veränderungen bei den Lichtreflexionen festzustellen. Sehen Sie Echtzeitinformationen zu Ihrem Lauf, Ihrer Rad- und Schwimmeinheit auf einen Blick. Verfolgen Sie Ihre Distanz, Zeit, Ihr Tempo, Ihre Geschwindigkeit und Ihre verbrannten Kalorien während des Trainings auf einem extragroßen Display. Unabhängige Tests ergaben, dass der eingebaute Herzfrequenzmesser im Vergleich zur Elektrokardiografie „extrem präzise“ arbeitet. Die Überwachung der Herzfrequenz ist die beste Methode, um zu verstehen, wie Ihr Körper auf das Training reagiert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -082,22196536,082_22196536,TomTom Multi-Sport Cardio,TomTom Multi-Sport Cardio,,,,,,,,,,"Multi-platform compatibility Get accurate heart-rate information without the need for a separate chest strap. Your heart rate is measured through a sensor in the watch that monitors changes in the blood flow in your wrist. This is done by shining light through the skin and detecting the changing light reflections. See real-time running, cycling and swimming information at a glance. Track your distance, time, pace, speed and calories burnt as you train on an extra-large display. Select a zone to match your training goal and always know whether you need to speed up or slow down.Heart rate monitoring is the single most accurate means to understand how your body is responding to exercise.","Innovative Technologie Erhalten Sie genaue Informationen zu Ihrer Herzfrequenz, ohne einen separaten Brustgurt tragen zu müssen. Ihre Herzfrequenz wird mithilfe eines Sensors in der Uhr gemessen, der Änderungen des Blutflusses an Ihrem Handgelenk feststellt. Dabei wird Licht durch die Haut geleitet, um Veränderungen bei den Lichtreflexionen festzustellen. Sehen Sie Echtzeitinformationen zu Ihrem Lauf, Ihrer Rad- und Schwimmeinheit auf einen Blick. Verfolgen Sie Ihre Distanz, Zeit, Ihr Tempo, Ihre Geschwindigkeit und Ihre verbrannten Kalorien während des Trainings auf einem extragroßen Display. Unabhängige Tests ergaben, dass der eingebaute Herzfrequenzmesser im Vergleich zur Elektrokardiografie „extrem präzise“ arbeitet. Die Überwachung der Herzfrequenz ist die beste Methode, um zu verstehen, wie Ihr Körper auf das Training reagiert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -083,30964018,083_30964018,Samsung Gear 2 Classic,Samsung Gear 2 Classic,,,,,,,,,,"S Health Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages.Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. We've partnered up with a growing portfolio of amazing apps to make Gear S2 work for you. From going the distance to keeping your home secure, everything is possible. Gear S2 comes full circle with a durable stainless steel body that sits slim and sleek on your wrist. Customizing the watch face and changing watch bands is so easy, it's a device for all occasions. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Browse reviews to find the most highly recommended local businesses including restaurants, bars, shops and more. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","S Health In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -084,30964019,084_30964019,Samsung Gear 2 Classic,Samsung Gear 2 Classic,,,,,,,,,,"S Health Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages.Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. We've partnered up with a growing portfolio of amazing apps to make Gear S2 work for you. From going the distance to keeping your home secure, everything is possible. Gear S2 comes full circle with a durable stainless steel body that sits slim and sleek on your wrist. Customizing the watch face and changing watch bands is so easy, it's a device for all occasions. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Browse reviews to find the most highly recommended local businesses including restaurants, bars, shops and more. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","S Health In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -085,29901936,085_29901936,Samsung Gear 2 Classic,Samsung Gear 2 Classic,,,,,,,,,,"S Health Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages.Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. We've partnered up with a growing portfolio of amazing apps to make Gear S2 work for you. From going the distance to keeping your home secure, everything is possible. Gear S2 comes full circle with a durable stainless steel body that sits slim and sleek on your wrist. Customizing the watch face and changing watch bands is so easy, it's a device for all occasions. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Browse reviews to find the most highly recommended local businesses including restaurants, bars, shops and more. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","S Health In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -086,30521602,086_30521602,Samsung Gear S2,Samsung Gear S2,,,,,,,,,,"Gear S2 X Atelier Mendini In a beautiful partnership, Alessandro Mendini brings his taste, humor and sense of color to the Gear S2. The result is a range of watch faces and watch bands that completes your personal style. Things you need most from your smartphone are available with a simple twist on Gear S2. Gently turn the Bezel to scroll through long emails, zoom into a map and play the next track. Life keeps getting better with every turn. Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages. Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -087,29901938,087_29901938,Samsung Gear S2,Samsung Gear S2,,,,,,,,,,"Gear S2 X Atelier Mendini In a beautiful partnership, Alessandro Mendini brings his taste, humor and sense of color to the Gear S2. The result is a range of watch faces and watch bands that completes your personal style. Things you need most from your smartphone are available with a simple twist on Gear S2. Gently turn the Bezel to scroll through long emails, zoom into a map and play the next track. Life keeps getting better with every turn. Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages. Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -088,29634940,088_29634940,Sony SWR12,Sony SWR12,,,,,,,,,,"Be more you SmartBand 2 keeps an eye on your pulse and stress level, checking how your energy rises and falls. Then you can see what keeps you calm, what makes you excited and everything in between. So you can start doing more of what makes you, you. With an inbuilt heart rate monitor, the SmartBand 2 constantly checks your pulse, whether you’re on the move or sitting at a desk. See what activities raise your heart rate, and how your heart returns to its normal resting rate. Walking, running or just rushing between meetings. However you move, the SmartBand 2 captures it all so you can see how active you’ve been. Even while you sleep the tracker is still working hard, monitoring how long and how sound your zzz really is. Check SmartBand 2 data from the past week, month, year and beyond on the Lifelog app. View on the timeline alongside other Lifelog entries, including events, photos and music. See how different activities, like a holiday or listening to your favourite tune, can alter your pulse and stress levels and learn how to balance your life.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -089,29634947,089_29634947,Sony SWR12,Sony SWR12,,,,,,,,,,"Be more you SmartBand 2 keeps an eye on your pulse and stress level, checking how your energy rises and falls. Then you can see what keeps you calm, what makes you excited and everything in between. So you can start doing more of what makes you, you. With an inbuilt heart rate monitor, the SmartBand 2 constantly checks your pulse, whether you’re on the move or sitting at a desk. See what activities raise your heart rate, and how your heart returns to its normal resting rate. Walking, running or just rushing between meetings. However you move, the SmartBand 2 captures it all so you can see how active you’ve been. Even while you sleep the tracker is still working hard, monitoring how long and how sound your zzz really is. Check SmartBand 2 data from the past week, month, year and beyond on the Lifelog app. View on the timeline alongside other Lifelog entries, including events, photos and music. See how different activities, like a holiday or listening to your favourite tune, can alter your pulse and stress levels and learn how to balance your life.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -090,24495844,090_24495844,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -091,25873091,091_25873091,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -092,24495842,092_24495842,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -093,24495843,093_24495843,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -094,27033003,094_27033003,Sony SWR50,Sony SWR50,,,,,,,,,,"Talk to it Tell the SmartWatch 3 SWR50 what you want and it will do it. Search. Command. Find. Even without your smartphone, SmartWatch 3 SWR50 is a fun and useful accessory. You can fill it with music to take with you if you’re going for a run. When you’re out, you can track your activity and movements as well as sync with your Lifelog when you come home. Even without your smartphone, SmartWatch 3 SWR50 is a fun and useful accessory. You can fill it with music to take with you if you’re going for a run. When you’re out, you can track your activity and movements as well as sync with your Lifelog when you come home. Designed to perform and impress, the SmartWatch 3 SWR50 delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -095,24235707,095_24235707,TomTom Golf,TomTom Golf,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -096,30856274,096_30856274,TomTom Golf,TomTom Golf,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -097,27290499,097_27290499,TomTom Golf,TomTom Golf,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -098,26192836,098_26192836,Hannspree sport watch,Hannspree Sportuhren,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -099,27207215,099_27207215,ASUS VivoWatch,ASUS VivoWatch,,,,,,,,,,"ASUS VivoPulse Technology Built-in heart rate sensor works in real time to help you exercise more efficiently, track calories burned, and measure your sleep quality more precisely. Convenient LED indicator informs you if you are performing aerobic exercise or are overexerting yourself. Learn about your sleep patterns and quality to feel your best. An easy-to-understand rating of overall wellbeing based on your amount of exercise and sleep quality. Stay up-to-date with your loved ones' well-being via app or website. 10 days under normal operation. ASUS VivoWatch can be submerged in up to 1 meter of water for 30 minutes. Regular aerobic exercise provides numerous health benefits. ASUS VivoWatch has a convenient LED indicator that turns green when you are doing aerobic exercise and burning calories. If you push yourself to the limit, the indicator alerts you by turning red.","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -100,24675726,100_24675726,Acer Liquid Leap,Acer Liquid Leap,,,,,,,,,,"ASUS VivoPulse Technology Built-in heart rate sensor works in real time to help you exercise more efficiently, track calories burned, and measure your sleep quality more precisely. Convenient LED indicator informs you if you are performing aerobic exercise or are overexerting yourself. Learn about your sleep patterns and quality to feel your best. An easy-to-understand rating of overall wellbeing based on your amount of exercise and sleep quality. Stay up-to-date with your loved ones' well-being via app or website. 10 days under normal operation. ASUS VivoWatch can be submerged in up to 1 meter of water for 30 minutes. Regular aerobic exercise provides numerous health benefits. ASUS VivoWatch has a convenient LED indicator that turns green when you are doing aerobic exercise and burning calories. If you push yourself to the limit, the indicator alerts you by turning red.","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -101,29727910,101_29727910,Acer Leap Active,Acer Leap Active,,,,,,,,,,"Everyday fitness Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down. Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -102,30727008,102_30727008,TomTom Runner 2 Music,TomTom Runner 2 Music,,,,,,,,,,"Get Active Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit. While paired with your smartphone2, Leap Active sends notifications from your social apps straight to your wrist. It’ll also alert you of incoming calls and upcoming calendar events so you don’t miss out on any fun. Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -103,30727011,103_30727011,TomTom Runner 2 Music,TomTom Runner 2 Music,,,,,,,,,,"Get Active Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit. While paired with your smartphone2, Leap Active sends notifications from your social apps straight to your wrist. It’ll also alert you of incoming calls and upcoming calendar events so you don’t miss out on any fun. Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -104,30727010,104_30727010,TomTom Runner 2 Music,TomTom Runner 2 Music,,,,,,,,,,"Get Active Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit. While paired with your smartphone2, Leap Active sends notifications from your social apps straight to your wrist. It’ll also alert you of incoming calls and upcoming calendar events so you don’t miss out on any fun. Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -105,30727013,105_30727013,TomTom Runner 2 Cardio,TomTom Runner 2 Cardio,,,,,,,,,,"Built-in Heart-Rate Monitor Get accurate heart rate information on your wrist. Train in bike, swim, gym and treadmill modes. Run in 5 different zones to get results faster. Track your time, pace, distance and calories burnt. Capture your steps, active minutes and calories burnt. Select one of your past performances to race against. Improve speed and fitness with custom work-rest sessions. Track your performance on the treadmill or in the gym. Set and track your progress on daily and weekly goals. ","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -106,30727014,106_30727014,TomTom Runner 2 Cardio,TomTom Runner 2 Cardio,,,,,,,,,,"Built-in Heart-Rate Monitor Get accurate heart rate information on your wrist. Train in bike, swim, gym and treadmill modes. Run in 5 different zones to get results faster. Track your time, pace, distance and calories burnt. Capture your steps, active minutes and calories burnt. Select one of your past performances to race against. Improve speed and fitness with custom work-rest sessions. Track your performance on the treadmill or in the gym. Set and track your progress on daily and weekly goals. ","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -107,30727016,107_30727016,TomTom Runner 2 Cardio,TomTom Runner 2 Cardio,,,,,,,,,,"Built-in Heart-Rate Monitor Get accurate heart rate information on your wrist. Train in bike, swim, gym and treadmill modes. Run in 5 different zones to get results faster. Track your time, pace, distance and calories burnt. Capture your steps, active minutes and calories burnt. Select one of your past performances to race against. Improve speed and fitness with custom work-rest sessions. Track your performance on the treadmill or in the gym. Set and track your progress on daily and weekly goals. ","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -108,21047360,108_21047360,Sony SW2 SmartWatch,Sony SW2 SmartWatch,,,,,,,,,,"Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -109,19416433,109_19416433,Sony SW2 SmartWatch,Sony SW2 SmartWatch,,,,,,,,,,"Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -110,19682159,110_19682159,Samsung Galaxy Gear,Samsung Galaxy Gear,,,,,,,,,,"Voice Operation With Samsung's latest groundbreaking innovation, the Galaxy Gear, it's clear that time's up on the traditional watch. It features the smart technology you love and the functionality that you still need, and is the perfect companion to the new Galaxy Note 3.","Voice Operation Der eingebaute Lautsprecher ermöglicht Anrufe direkt vom GALAXY Gear – ohne Benutzung der Hände. Auf diese Weise bleibt man stets erreichbar ohne in seiner alltäglichen Routine gestört zu werden. Ein Beispiel: Ein User verlässt den Supermarkt voll bepackt mit Einkaufstaschen. Kein Problem, denn mit GALAXY Gear kann man telefonieren ohne den Touchscreen berühren zu müssen. Textentwürfe, neue Kalendereinträge, Alarmeinstellungen und einen kurzen Wettercheck sind beim GALAXY Gear dank S Voice schnell gemacht. Mit dem Samsung GALAXY Gear lassen sich nicht nur Smart Devices bedienen, sondern es bietet auch zahlreiche Features, um die bedeutenden Momente im Leben festzuhalten. Mit dem Memographer Feature, einer 1,9 Megapixel Kamera, können User auch von unterwegs oder während sie sportlich aktiv sind, schnelle Aufnahmen wichtiger Ereignisse machen und diese auf ihren Social Network-Kanälen teilen. Das Konzept für Schnellaufnahmen wurde ausgebaut und mit Voice Memo können User wichtige Gedanken oder Gesprächsnotizen am Handgelenk speichern und diese Tonaufnahmen auf Samsung GALAXY Devices in Textform bringen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -111,12295890,111_12295890,Sony SmartWatch,Sony SmartWatch,,,,,,,,,,"Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your world’s just a tap, swipe or press away. Want to do more with your SmartWatch? Download compatible applications on Google Play™. And customise your SmartWatch to make it exclusively yours. Customise your SmartWatch with a 20mm wristband. Or wear its stylish wristband. You can even use it as a clip. This ultra-thin Android™ remote was designed to impress. An elegant Android watch that’ll keep you discreetly updated and your hands free. ","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,312526171,112_312526171,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.7 GHz,,,,,processor_cache,3 MB,//icecat.de/en/p/acer/dt.x0cet.035/pcs-workstations-4713392506673-Acer-Extensa-M2610-3-7GHz-i3-4170-Black-31252617.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,306918001,112_306918001,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.2 GHz,,,,,processor_cache,6 MB,//icecat.de/en/p/acer/dt.x0cek.009/pcs-workstations-4713392523120-Acer-Extensa-M2610-3-2GHz-i5-4460-Black-30691800.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,312526191,112_312526191,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.3 GHz,,,,,processor_cache,12 MB,//icecat.de/en/p/acer/dt.x0cet.039/pcs-workstations-4713392554308-Acer-Extensa-M2610-3-3GHz-G3260-1L-sized-PC-31252619.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,312526172,112_312526172,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.7 GHz,,,,,processor_cache,6 MB,//icecat.de/en/p/acer/dt.x0cet.035/pcs-workstations-4713392506673-Acer-Extensa-M2610-3-7GHz-i3-4170-Black-31252617.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,306918002,112_306918002,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.2 GHz,,,,,processor_cache,3 MB,//icecat.de/en/p/acer/dt.x0cek.009/pcs-workstations-4713392523120-Acer-Extensa-M2610-3-2GHz-i5-4460-Black-30691800.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,312526192,112_312526192,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.7 GHz,,,,,processor_cache,12 MB,//icecat.de/en/p/acer/dt.x0cet.039/pcs-workstations-4713392554308-Acer-Extensa-M2610-3-3GHz-G3260-1L-sized-PC-31252619.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,306918003,112_306918003,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.2 GHz,,,,,processor_cache,12 MB,//icecat.de/en/p/acer/dt.x0cet.035/pcs-workstations-4713392506673-Acer-Extensa-M2610-3-7GHz-i3-4170-Black-31252617.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -112,312526193,112_312526193,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.3 GHz,,,,,processor_cache,3 MB,//icecat.de/en/p/acer/dt.x0cek.009/pcs-workstations-4713392523120-Acer-Extensa-M2610-3-2GHz-i5-4460-Black-30691800.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -113,29885591,113_29885591,Acer Veriton 6,Acer Veriton 6,,,,,,,,,//icecat.de/en/p/acer/dt.vn1eh.002/pcs-workstations-4713392396762-Acer-Veriton-6-M6640G-29885591.html,"Rock-solid technology drives business The Veriton 6 Series comes in a wide range of form factors to meet various business needs. Intel® Core™ processors and fast DDR4 memory deliver premium performance, while a powerful software suite offers security and manageability to drive business efficiency. The Veriton 6 Series comes in form factors ranging from 3 to 30 liters, to fit all office spaces and business demands. Perform more tasks at once with 3 rd generation Intel ® Core ™ processors supporting Intel ™ vPro Technology plus up to 32 GB of fast DDR4 memory. Storage options from a DVD drive to Intel ® Rapid Storage Technology with RAID ensure a solid match for your needs. The 100% solid capacitor design provides the stability, reliability and longevity essential to meet the power needs of the high-end processors and other components in the Veriton 6 Series, enabling them to run today's most demanding applications. A convenient, modular design allows components to be easily swapped or upgraded.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -114,29911081,114_29911081,ASUS M,ASUS M,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/asus/90pd00u3-m13260/pcs-workstations-M32AD-BE012T-29911081.html,"The Perfect Home Computer ASUS M32 desktop PC performs everything from your daily tasks to playing 4K Ultra HD video with enhanced energy efficiency. Multitask with several apps at once thanks to the 4th gen Intel® Core™ processor. Power visually demanding programs with discrete NVIDIA graphics. Whatever you choose to do, M32 makes it happen with unique optimization for increased performance or energy savings when you need it. M32 desktop PC features discrete NVIDIA or AMD graphics card that delivers twice the performance of the previous generation. Watch up to 4K Ultra HD video and enjoy smoother visuals and more responsiveness when playing the latest games. Giving you reliability with convenience, M32 desktop PC monitors internal temperatures and intelligently adjusts fan speed to ensure efficient cooling while staying under 25dB of sound at idle—quieter than a library.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -114,30580483,114_30580483,ASUS M,ASUS M,processor_frequency,2.7 GHz,,,,,,,//icecat.de/en/p/asus/90pd01j4-m07300/pcs-workstations-M32CD-NL019T-30580483.html,"The Perfect Home Computer ASUS M32 desktop PC performs everything from your daily tasks to playing 4K Ultra HD video with enhanced energy efficiency. Multitask with several apps at once thanks to the 4th gen Intel® Core™ processor. Power visually demanding programs with discrete NVIDIA graphics. Whatever you choose to do, M32 makes it happen with unique optimization for increased performance or energy savings when you need it. M32 desktop PC features discrete NVIDIA or AMD graphics card that delivers twice the performance of the previous generation. Watch up to 4K Ultra HD video and enjoy smoother visuals and more responsiveness when playing the latest games. Giving you reliability with convenience, M32 desktop PC monitors internal temperatures and intelligently adjusts fan speed to ensure efficient cooling while staying under 25dB of sound at idle—quieter than a library.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -115,27295368,115_27295368,DELL OptiPlex 3020,DELL OptiPlex 3020,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/dell/tky32/pcs-workstations-3020-27295368.html,"Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and easy serviceability. Stop advanced threats and zero-day attacks with Dell Data Protection | Protected Workspace — a proactive, real-time solution for malware protection. Ensure authorized access through multifactor, single sign-on (SSO) and preboot authentication with Dell Data Protection | Security Tools. Streamline administration with integration into Dell KACE appliances, Microsoft System Center and industry-standard tools. Deploy with flexibility through multiple chassis options. Select the small form factor chassis, optimized for constrained workspaces, or the expandable mini tower with support for up to four PCIe cards.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -115,26440118,115_26440118,DELL OptiPlex 3020,DELL OptiPlex 3020,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/dell/3020-8260/pcs-workstations-3020-26440118.html,"Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and easy serviceability. Stop advanced threats and zero-day attacks with Dell Data Protection | Protected Workspace — a proactive, real-time solution for malware protection. Ensure authorized access through multifactor, single sign-on (SSO) and preboot authentication with Dell Data Protection | Security Tools. Streamline administration with integration into Dell KACE appliances, Microsoft System Center and industry-standard tools. Deploy with flexibility through multiple chassis options. Select the small form factor chassis, optimized for constrained workspaces, or the expandable mini tower with support for up to four PCIe cards.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -115,26408656,115_26408656,DELL OptiPlex 3020,DELL OptiPlex 3020,processor_frequency,3.3 GHz,,,,,,,//icecat.de/en/p/dell/3020-8291/pcs-workstations-3020-26408656.html,"Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and easy serviceability. Stop advanced threats and zero-day attacks with Dell Data Protection | Protected Workspace — a proactive, real-time solution for malware protection. Ensure authorized access through multifactor, single sign-on (SSO) and preboot authentication with Dell Data Protection | Security Tools. Streamline administration with integration into Dell KACE appliances, Microsoft System Center and industry-standard tools. Deploy with flexibility through multiple chassis options. Select the small form factor chassis, optimized for constrained workspaces, or the expandable mini tower with support for up to four PCIe cards.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -116,29743424,116_29743424,Fujitsu CELSIUS M740,Fujitsu CELSIUS M740,processor_frequency,3.1 GHZ,,,,,,,//icecat.de/en/p/fujitsu/vfy-m7400w78abit/pcs-workstations-M740-29743424.html,"Perfomance you can count on. Next generation Intel® Xeon® processors, high performing graphics subsystems, quad-channel memory technology and high-speed hard disk drives. The CELSIUS M740 desktop workstation has been optimized to combat today’s professional and technical challenges. It can be individually configured, helping you to enhance your productivity. The CELSIUS M740power is certified for Medical EMC standards IEC60601-1-2 to perform in healthcare environments. To round things off, a near-silent noise emission of 20 dB(A) allows you to work comfortably in the most quiet of working environments. High product standards thanks to top-quality components and comprehensive testing in certified in-house laboratories for 24/7 operation.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -116,28684053,116_28684053,Fujitsu CELSIUS M740,Fujitsu CELSIUS M740,processor_frequency,3.4 GHZ,,,,,,,//icecat.de/en/p/fujitsu/vfy-m7400w48dbgb/pcs-workstations-M740-28684053.html,"Perfomance you can count on. Next generation Intel® Xeon® processors, high performing graphics subsystems, quad-channel memory technology and high-speed hard disk drives. The CELSIUS M740 desktop workstation has been optimized to combat today’s professional and technical challenges. It can be individually configured, helping you to enhance your productivity. The CELSIUS M740power is certified for Medical EMC standards IEC60601-1-2 to perform in healthcare environments. To round things off, a near-silent noise emission of 20 dB(A) allows you to work comfortably in the most quiet of working environments. High product standards thanks to top-quality components and comprehensive testing in certified in-house laboratories for 24/7 operation.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -117,29890338,117_29890338,Fujitsu ESPRIMO D556,Fujitsu ESPRIMO D556,internal_memory,8 GB,,,,,,,//icecat.de/en/p/fujitsu/vfy-d0556p73yogb/pcs-workstations-D556-29890338.html,The FUJITSU ESPRIMO Desktop provides high-quality computing for your daily office tasks. It supports attractive price points and delivers the continuity needed for daily operations. Your valuable business data is protected by the latest TPM controller and the Erasedisk option. To meet your specific hardware needs it can be either individually configured or customized.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -117,30585828,117_30585828,Fujitsu ESPRIMO D556,Fujitsu ESPRIMO D556,internal_memory,4 GB,,,,,,,//icecat.de/en/p/fujitsu/vfy-d0556p735ode/pcs-workstations-D556-30585828.html,The FUJITSU ESPRIMO Desktop provides high-quality computing for your daily office tasks. It supports attractive price points and delivers the continuity needed for daily operations. Your valuable business data is protected by the latest TPM controller and the Erasedisk option. To meet your specific hardware needs it can be either individually configured or customized.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -118,29804739,118_29804739,Fujitsu ESPRIMO E420,Fujitsu ESPRIMO E420,,,,,,,,,//icecat.de/en/p/fujitsu/vfy-e0420p751obe/pcs-workstations-4054681970738-E420-29804739.html,"Energy Efficiency As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E420 features proven technology regarding Intel® chipset and processor and an 85% energy efficient power supply. Fujitsu is committed to eliminating the use of harmful and potentially harmful substances in its products and production processes in order to minimize risk to end users and to the environment. This strategy is captured in Environmental Guideline FTS03230 and forms the basis on which all Fujitsu's products are designed. Especially for Fujitsu ESPRIMO PCs this means that all used printed circuit boards are halogen free. Furthermore they are compliant with several certificates awarding environmental conscience such as ENERGY STAR® and EPEAT.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -119,29804808,119_29804808,Fujitsu ESPRIMO E920,Fujitsu ESPRIMO E920,,,,,,,,,//icecat.de/en/p/fujitsu/vfy-e0920p75sgbe/pcs-workstations-4054681970776-E920-29804808.html,"Green IT Fujitsu is committed to eliminating the use of harmful and potentially harmful substances in its products and production processes in order to minimize risk to end users and to the environment. This strategy is captured in Environmental Guideline FTS03230 and forms the basis on which all Fujitsu's products are designed. Especially for Fujitsu ESPRIMO PCs this means that all used printed circuit boards are halogen free. Furthermore they are compliant with several certificates awarding environmental conscience such as ENERGY STAR® and EPEAT. As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -120,29890350,120_29890350,Fujitsu ESPRIMO P556,Fujitsu ESPRIMO P556,processor_frequency,3.7 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-p0556p735ogb/pcs-workstations-P556-29890350.html,"High performance and best price/performance ratio As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode. Outstanding quality and stable functions based on German production standards. The development, production and functionality tests - all under one roof in Germany","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -120,30069636,120_30069636,Fujitsu ESPRIMO P556,Fujitsu ESPRIMO P556,processor_frequency,3.4 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-p0556p77aoit/pcs-workstations-P556-30069636.html,"High performance and best price/performance ratio As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode. Outstanding quality and stable functions based on German production standards. The development, production and functionality tests - all under one roof in Germany","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -120,30069631,120_30069631,Fujitsu ESPRIMO P556,Fujitsu ESPRIMO P556,processor_frequency,2.7 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-p0556p75a5it/pcs-workstations-P556-30069631.html,"High performance and best price/performance ratio As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode. Outstanding quality and stable functions based on German production standards. The development, production and functionality tests - all under one roof in Germany","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -121,29406823,121_29406823,HP 200 280 G1,HP 200 280 G1,processor_frequency,3 GHz,,,,,,,//icecat.de/en/p/hp/n9e78ea/pcs-workstations-280+G1-29406823.html,Ready for work The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take on your everyday work at an affordable price with the HP 280 G1 desktop PC. Get the computing power you need while minimizing the total cost of ownership—now that’s a smart investment. The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take up less space than a traditional tower with the HP 280 G1 Micro Tower with a stylish design to compliment your workspace.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -121,28542963,121_28542963,HP 200 280 G1,HP 200 280 G1,processor_frequency,2.8 GHz,,,,,,,//icecat.de/en/p/hp/n9e67ea/pcs-workstations-280+G1-28542963.html,Ready for work The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take on your everyday work at an affordable price with the HP 280 G1 desktop PC. Get the computing power you need while minimizing the total cost of ownership—now that’s a smart investment. The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take up less space than a traditional tower with the HP 280 G1 Micro Tower with a stylish design to compliment your workspace.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -121,28549476,121_28549476,HP 200 280 G1,HP 200 280 G1,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/hp/n0d97ea-abh/pcs-workstations-280+G1+MT-28549476.html,Ready for work The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take on your everyday work at an affordable price with the HP 280 G1 desktop PC. Get the computing power you need while minimizing the total cost of ownership—now that’s a smart investment. The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take up less space than a traditional tower with the HP 280 G1 Micro Tower with a stylish design to compliment your workspace.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -122,22308524,122_22308524,HP EliteDesk 800 G1 Mini,HP EliteDesk 800 G1 Mini,processor_frequency,2.9 GHz,,,,,,,//icecat.de/en/p/hp/f6x31ea/pcs-workstations-800+G1+Mini-22308524.html,"Big power. Space saving design. Smaller than some desk phones, this Desktop Mini can fit almost anywhere vertically or horizontally. The clean, easily serviceable design with integrated wireless antenna allows flexible deployment options1 to help optimize the workspace. Keep productivity high and downtime low with HP BIOSphere firmware-level automation. Your PCs have extra protection thanks to automatic updates and security checks. Enjoy customization that allows your PC to evolve with your business.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -122,26145672,122_26145672,HP EliteDesk 800 G1 Mini,HP EliteDesk 800 G1 Mini,processor_frequency,3.1 GHz,,,,,,,//icecat.de/en/p/hp/j7d10ea/pcs-workstations-800+G1+Mini-26145672.html,"Big power. Space saving design. Smaller than some desk phones, this Desktop Mini can fit almost anywhere vertically or horizontally. The clean, easily serviceable design with integrated wireless antenna allows flexible deployment options1 to help optimize the workspace. Keep productivity high and downtime low with HP BIOSphere firmware-level automation. Your PCs have extra protection thanks to automatic updates and security checks. Enjoy customization that allows your PC to evolve with your business.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -123,29866607,123_29866607,HP EliteDesk 800 G2,HP EliteDesk 800 G2,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/t4j17et/pcs-workstations-800+G2+SFF-29866607.html,"Designed for every demand Experience top-notch productivity plus industry-leading reliability, security, and manageability, plus a unique portfolio of solutions in a compact, space-saving design with the powerful HP EliteDesk 800 SFF. Extend the life of your investment with a tool-less chassis and a range of expansion slots, bays, ports, and connectors for the most demanding business needs. Help protect your PC and maintain maximum uptime with a suite of solutions that help stop security breaches, including HP BIOSphere4 with SureStart.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -123,30610368,123_30610368,HP EliteDesk 800 G2,HP EliteDesk 800 G2,total_storage_capacity,500 GB,,,,,,,//icecat.de/en/p/hp/v1e82et/pcs-workstations-800+G2+MT-30610368.html,"Designed for every demand Experience top-notch productivity plus industry-leading reliability, security, and manageability, plus a unique portfolio of solutions in a compact, space-saving design with the powerful HP EliteDesk 800 SFF. Extend the life of your investment with a tool-less chassis and a range of expansion slots, bays, ports, and connectors for the most demanding business needs. Help protect your PC and maintain maximum uptime with a suite of solutions that help stop security breaches, including HP BIOSphere4 with SureStart.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -123,29866603,123_29866603,HP EliteDesk 800 G2,HP EliteDesk 800 G2,total_storage_capacity,1000 GB,,,,,,,//icecat.de/en/p/hp/p1g93et/pcs-workstations-800+G2-29866603.html,"Designed for every demand Experience top-notch productivity plus industry-leading reliability, security, and manageability, plus a unique portfolio of solutions in a compact, space-saving design with the powerful HP EliteDesk 800 SFF. Extend the life of your investment with a tool-less chassis and a range of expansion slots, bays, ports, and connectors for the most demanding business needs. Help protect your PC and maintain maximum uptime with a suite of solutions that help stop security breaches, including HP BIOSphere4 with SureStart.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -124,31623088,124_31623088,HP ProDesk 400 G3,HP ProDesk 400 G3,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/t4r73ea-abd-cp/pcs-workstations-400+G3+SFF-31623088.html,"New powerful processors Give your business the strong foundation it needs for growth with the affordable and reliable HP ProDesk 400 SFF. Designed with essential security and manageability features, the HP ProDesk 400 helps keep your business growing. New 6th Gen Intel® Core™ processors bring powerful processing with Intel® HD 530 Graphics. Available DDR4 memory helps meet the demands of today’s businesses. HP ProDesks are rigorously tested to help ensure reliability. During the HP Total Test Process, PCs experience 120,000 hours of performance trials to help get you through your business day. The HP ProDesk 400 SFF helps affordably build a solid IT infrastructure for your growing business and fits in smaller workspaces for easy deployment. ","Neue leistungsstarke Prozessoren Verleihen Sie Ihrem Unternehmen mit dem kostengünstigen und zuverlässigen HP ProDesk 400 SFF eine solide Grundlage, auf der es wachsen kann. Der HP ProDesk 400 wurde mit grundlegenden Sicherheits- und Verwaltungsfunktionen konzipiert, die das Unternehmenswachstum unterstützen. Die neuen Intel® Core™ Prozessoren der 6. Generation sorgen für hervorragende Verarbeitungsleistung mit Intel® HD-Grafikkarte 530. Der verfügbare DDR4-Speicher trägt zur Erfüllung der modernen Unternehmensanforderungen bei. HP BIOSphere und HP Client Security erhöhen die Sicherheit und halten geschäftskritische Daten und Systeme mit individuell anpassbarer Authentifizierung und Kennwörtern auf BIOS-Ebene sicher unter Verschluss.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -124,29866591,124_29866591,HP ProDesk 400 G3,HP ProDesk 400 G3,total_storage_capacity,500 GB,,,,,,,//icecat.de/en/p/hp/p5k01et/pcs-workstations-400+G3+MT-29866591.html,"New powerful processors Give your business the strong foundation it needs for growth with the affordable and reliable HP ProDesk 400 SFF. Designed with essential security and manageability features, the HP ProDesk 400 helps keep your business growing. New 6th Gen Intel® Core™ processors bring powerful processing with Intel® HD 530 Graphics. Available DDR4 memory helps meet the demands of today’s businesses. HP ProDesks are rigorously tested to help ensure reliability. During the HP Total Test Process, PCs experience 120,000 hours of performance trials to help get you through your business day. The HP ProDesk 400 SFF helps affordably build a solid IT infrastructure for your growing business and fits in smaller workspaces for easy deployment. ","Neue leistungsstarke Prozessoren Verleihen Sie Ihrem Unternehmen mit dem kostengünstigen und zuverlässigen HP ProDesk 400 SFF eine solide Grundlage, auf der es wachsen kann. Der HP ProDesk 400 wurde mit grundlegenden Sicherheits- und Verwaltungsfunktionen konzipiert, die das Unternehmenswachstum unterstützen. Die neuen Intel® Core™ Prozessoren der 6. Generation sorgen für hervorragende Verarbeitungsleistung mit Intel® HD-Grafikkarte 530. Der verfügbare DDR4-Speicher trägt zur Erfüllung der modernen Unternehmensanforderungen bei. HP BIOSphere und HP Client Security erhöhen die Sicherheit und halten geschäftskritische Daten und Systeme mit individuell anpassbarer Authentifizierung und Kennwörtern auf BIOS-Ebene sicher unter Verschluss.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -125,30703764,125_30703764,HP ProDesk 600 G2,HP ProDesk 600 G2,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/hp/t6g01aw/pcs-workstations-600+G2-30703764.html,"Perform at the speed of work Power through your day with speed and performance. Get the latest in processing technology with your choice of 6th Generation Intel® Core™ processors and Intel® HD 530 Graphics. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. The HP ProDesk 600 Desktop MT/SFF delivers powerful performance, security, and manageability at a value that enables you to keep focused on your businesses. ","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -125,30350012,125_30350012,HP ProDesk 600 G2,HP ProDesk 600 G2,processor_frequency,3.7 GHz,,,,,,,//icecat.de/en/p/hp/t4j52ea/pcs-workstations-600+G2+SFF-30350012.html,"Perform at the speed of work Power through your day with speed and performance. Get the latest in processing technology with your choice of 6th Generation Intel® Core™ processors and Intel® HD 530 Graphics. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. The HP ProDesk 600 Desktop MT/SFF delivers powerful performance, security, and manageability at a value that enables you to keep focused on your businesses. ","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -126,24722439,126_24722439,HP Z 440,HP Z 440,processor_frequency,3 GHz,,,,,,,//icecat.de/en/p/hp/g1x60ea/pcs-workstations-440+MT-24722439.html,"Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation delivering support for up to 8 cores of processing power. Add in powerful graphics and performance features like optional Thunderbolt™ 23, HP Z Turbo Drive4, and HP Remote Graphics Software, and you get a world-class workstation experience that never slows you down. Take your business to the next level of performance, expandability, and no compromise reliability in one complete package. Featuring a perfect mix of HP Z DNA in a performance workstation package with up to 8 discrete processor cores, up to 128 GB of RAM, and multiple storage and PCIe configuration options. Protect your investment and make downtime a thing of the past. Get no-compromise reliability and a standard 3/3/3 limited warranty from the HP Z440 Workstation.","Aufgaben sind schnell erledigt Erledigen Sie Ihre Aufgaben noch schneller. Erzielen Sie eine hohe Rechenleistung dank einer Personal Workstation mit nur einem Prozessor, der bis zu 8 Prozessorkerne unterstützt. Ergänzen Sie Grafik- und Leistungsmerkmale wie optionales Thunderbolt™ 21, ein HP Z Turbo Drive2 und HP Remote Graphics Software2 und profitieren Sie von einer erstklassigen Workstation-Leistung, mit der Sie schneller arbeiten können. Bieten Sie Ihrem Business mehr Leistung, Erweiterbarkeit und kompromisslose Zuverlässigkeit in einem Komplettpaket. Eine perfekte Kombination aus Funktionen der HP Z Modellreihe in einem Performance-Workstation-Paket mit bis zu acht separaten Prozessorkernen, bis zu 128 GB RAM sowie mehreren Speicher- und PCIe-Konfigurationsoptionen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -126,30407844,126_30407844,HP Z 440,HP Z 440,processor_frequency,3.5 GHz,,,,,,,//icecat.de/en/p/hp/j9b88ea/pcs-workstations-440+MT-30407844.html,"Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation delivering support for up to 8 cores of processing power. Add in powerful graphics and performance features like optional Thunderbolt™ 23, HP Z Turbo Drive4, and HP Remote Graphics Software, and you get a world-class workstation experience that never slows you down. Take your business to the next level of performance, expandability, and no compromise reliability in one complete package. Featuring a perfect mix of HP Z DNA in a performance workstation package with up to 8 discrete processor cores, up to 128 GB of RAM, and multiple storage and PCIe configuration options. Protect your investment and make downtime a thing of the past. Get no-compromise reliability and a standard 3/3/3 limited warranty from the HP Z440 Workstation.","Aufgaben sind schnell erledigt Erledigen Sie Ihre Aufgaben noch schneller. Erzielen Sie eine hohe Rechenleistung dank einer Personal Workstation mit nur einem Prozessor, der bis zu 8 Prozessorkerne unterstützt. Ergänzen Sie Grafik- und Leistungsmerkmale wie optionales Thunderbolt™ 21, ein HP Z Turbo Drive2 und HP Remote Graphics Software2 und profitieren Sie von einer erstklassigen Workstation-Leistung, mit der Sie schneller arbeiten können. Bieten Sie Ihrem Business mehr Leistung, Erweiterbarkeit und kompromisslose Zuverlässigkeit in einem Komplettpaket. Eine perfekte Kombination aus Funktionen der HP Z Modellreihe in einem Performance-Workstation-Paket mit bis zu acht separaten Prozessorkernen, bis zu 128 GB RAM sowie mehreren Speicher- und PCIe-Konfigurationsoptionen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -126,26280142,126_26280142,HP Z 440,HP Z 440,processor_frequency,2.8 GHz,,,,,,,//icecat.de/en/p/hp/j9b45ea/pcs-workstations-Z440-26280142.html,"Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation delivering support for up to 8 cores of processing power. Add in powerful graphics and performance features like optional Thunderbolt™ 23, HP Z Turbo Drive4, and HP Remote Graphics Software, and you get a world-class workstation experience that never slows you down. Take your business to the next level of performance, expandability, and no compromise reliability in one complete package. Featuring a perfect mix of HP Z DNA in a performance workstation package with up to 8 discrete processor cores, up to 128 GB of RAM, and multiple storage and PCIe configuration options. Protect your investment and make downtime a thing of the past. Get no-compromise reliability and a standard 3/3/3 limited warranty from the HP Z440 Workstation.","Aufgaben sind schnell erledigt Erledigen Sie Ihre Aufgaben noch schneller. Erzielen Sie eine hohe Rechenleistung dank einer Personal Workstation mit nur einem Prozessor, der bis zu 8 Prozessorkerne unterstützt. Ergänzen Sie Grafik- und Leistungsmerkmale wie optionales Thunderbolt™ 21, ein HP Z Turbo Drive2 und HP Remote Graphics Software2 und profitieren Sie von einer erstklassigen Workstation-Leistung, mit der Sie schneller arbeiten können. Bieten Sie Ihrem Business mehr Leistung, Erweiterbarkeit und kompromisslose Zuverlässigkeit in einem Komplettpaket. Eine perfekte Kombination aus Funktionen der HP Z Modellreihe in einem Performance-Workstation-Paket mit bis zu acht separaten Prozessorkernen, bis zu 128 GB RAM sowie mehreren Speicher- und PCIe-Konfigurationsoptionen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -127,22828284,127_22828284,HP Z 620,HP Z 620,total_storage_capacity,240 GB,,,,,,,//icecat.de/en/p/hp/bwm678ea10-aby/pcs-workstations-620-22828284.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -127,22613708,127_22613708,HP Z 620,HP Z 620,total_storage_capacity,256 GB,,,,,,,//icecat.de/en/p/hp/wm682ea/pcs-workstations-620-22613708.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -127,20723326,127_20723326,HP Z 620,HP Z 620,total_storage_capacity,1000 GB,,,,,,,//icecat.de/en/p/hp/bwm596et1/pcs-workstations-620-20723326.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -127,22613709,127_22613709,HP Z 620,HP Z 620,total_storage_capacity,512 GB,,,,,,,//icecat.de/en/p/hp/wm683ea/pcs-workstations-620-22613709.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -128,29955336,128_29955336,Lenovo ThinkCentre E73,Lenovo ThinkCentre E73,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/lenovo/10du0010ix/pcs-workstations-E73-29955336.html,"Small Form Factor Small Form Factor desktops provide the ultimate performance with full-featured scalability, yet weigh as little as 13.2 lbs / 6 kgs. Keep your business-critical information safe through USB port disablement and the password-protected BIOS and HDD. You can also safeguard your hardware by physically securing your mouse and keyboard, while the Kensington slot enables you to lock down your E73. Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -128,27314278,128_27314278,Lenovo ThinkCentre E73,Lenovo ThinkCentre E73,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/lenovo/10ds000hmh/pcs-workstations-E73-27314278.html,"Small Form Factor Small Form Factor desktops provide the ultimate performance with full-featured scalability, yet weigh as little as 13.2 lbs / 6 kgs. Keep your business-critical information safe through USB port disablement and the password-protected BIOS and HDD. You can also safeguard your hardware by physically securing your mouse and keyboard, while the Kensington slot enables you to lock down your E73. Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -129,30706500,129_30706500,Lenovo ThinkCenter E73,Lenovo ThinkCenter E73,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/lenovo/10ds000yuk/pcs-workstations-E73-30706500.html,"Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology. With 10% more processing power, 4th generation Intel® Core™ processors deliver the performance to increase business productivity for your business. They can also guard against identity theft and ensure safe access to your network with built-in security features.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -129,27107297,129_27107297,Lenovo ThinkCenter E73,Lenovo ThinkCenter E73,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/lenovo/10b5000yuk/pcs-workstations-M73-27107297.html,"Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology. With 10% more processing power, 4th generation Intel® Core™ processors deliver the performance to increase business productivity for your business. They can also guard against identity theft and ensure safe access to your network with built-in security features.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -129,24325712,129_24325712,Lenovo ThinkCenter E73,Lenovo ThinkCenter E73,processor_frequency,3 GHz,,,,,,,//icecat.de/en/p/lenovo/10b1a0f3pb/pcs-workstations-M73-24325712.html,"Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology. With 10% more processing power, 4th generation Intel® Core™ processors deliver the performance to increase business productivity for your business. They can also guard against identity theft and ensure safe access to your network with built-in security features.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -130,29285281,130_29285281,Lenovo ThinkStation P300,Lenovo ThinkStation P300,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/lenovo/30ah005rix/pcs-workstations-P300-29285281.html,"Optional Flex Module The innovative Flex Module lets you customize I/O ports, so you add only what you need. With the 2 available 5.25"" bays on the P300 Tower, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA – up to 8 configurations among an ODD, HDD, and Flex Module. We've redesigned our ThinkStations. No more bulky handles, just a clean-looking, functional design. An extended lip on the top lid that includes a red touch point, combined with a ledge on the back-side, make the P300 exceptionally easy to lift and carry. The P300 workstation features a 15-month life cycle with no planned hardware changes that affect the preloaded software image. Image stability for long-term deployments helps to reduce transition, qualification, and testing costs to ensure savings for your business.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -130,24326086,130_24326086,Lenovo ThinkStation P300,Lenovo ThinkStation P300,processor_frequency,3.3 GHz,,,,,,,//icecat.de/en/p/lenovo/30ak000cmc/pcs-workstations-P300+SFF-24326086.html,"Optional Flex Module The innovative Flex Module lets you customize I/O ports, so you add only what you need. With the 2 available 5.25"" bays on the P300 Tower, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA – up to 8 configurations among an ODD, HDD, and Flex Module. We've redesigned our ThinkStations. No more bulky handles, just a clean-looking, functional design. An extended lip on the top lid that includes a red touch point, combined with a ledge on the back-side, make the P300 exceptionally easy to lift and carry. The P300 workstation features a 15-month life cycle with no planned hardware changes that affect the preloaded software image. Image stability for long-term deployments helps to reduce transition, qualification, and testing costs to ensure savings for your business.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -130,24725761,130_24725761,Lenovo ThinkStation P300,Lenovo ThinkStation P300,processor_frequency,3.5 GHz,,,,,,,//icecat.de/en/p/lenovo/30ah0047ge/pcs-workstations-P300-24725761.html,"Optional Flex Module The innovative Flex Module lets you customize I/O ports, so you add only what you need. With the 2 available 5.25"" bays on the P300 Tower, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA – up to 8 configurations among an ODD, HDD, and Flex Module. We've redesigned our ThinkStations. No more bulky handles, just a clean-looking, functional design. An extended lip on the top lid that includes a red touch point, combined with a ledge on the back-side, make the P300 exceptionally easy to lift and carry. The P300 workstation features a 15-month life cycle with no planned hardware changes that affect the preloaded software image. Image stability for long-term deployments helps to reduce transition, qualification, and testing costs to ensure savings for your business.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -131,24872891,131_24872891,Lenovo ThinkStation P900,Lenovo ThinkStation P900,,,,,,,,,//icecat.de/en/p/lenovo/30a5000ege/pcs-workstations-P900-24872891.html,"Thermal Design: Elegant & Efficient. Patented tri-channel cooling with just 3 system fans – as opposed to 10 that other workstations typically rely on — and a direct cooling air baffle directs fresh air into the CPU and memory. ThinkStation P900 delivers new technologies and design to keep your workstation cool and quiet. The innovative Flex Module lets you customize I/O ports, so you add only what you need. Using the 5.25"" bays, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA. The Flex Connector is a mezzanine card that fits into the motherboard and allows for expanded storage and I/O, without sacrificing the use of rear PCI. It supports SATA/SAS/PCIe advanced RAID solution. ThinkStation P900 includes two available connectors (enabled with each CPU).","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -132,30619567,132_30619567,Acer Aspire Switch 10 E,Acer Aspire Switch 10 E,,,,,,,,,,"Eye-catching trendsetter The Aspire Switch 10 E comes in a range of trendy colours that all work perfectly with its dynamic shape and elegant textile-pattern texturing to create one great-looking device. Choose the colour that suits you and watch your friends turn green with envy. This device’s perfectly designed Acer Snap Hinge 2 lets you snap the keyboard part on or off with a simple push or pull. Switch effortlessly between four very useful modes: notebook, tablet, tent, and display. Acer SwitchLock lets you lock this keyboard dock’s HDD so it only works with the tablet part. Use the tablet as the HDD’s key – simply snap the tablet off the keyboard to lock the HDD. All your HDD data is now protected and can’t be stolen. Simply snap the tablet back on to unlock all that data.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -133,31743669,133_31743669,Acer Aspire Switch 10 E,Acer Aspire Switch 10 E,,,,,,,,,,"Eye-catching trendsetter The Aspire Switch 10 E comes in a range of trendy colours that all work perfectly with its dynamic shape and elegant textile-pattern texturing to create one great-looking device. Choose the colour that suits you and watch your friends turn green with envy. This device’s perfectly designed Acer Snap Hinge 2 lets you snap the keyboard part on or off with a simple push or pull. Switch effortlessly between four very useful modes: notebook, tablet, tent, and display. Acer SwitchLock lets you lock this keyboard dock’s HDD so it only works with the tablet part. Use the tablet as the HDD’s key – simply snap the tablet off the keyboard to lock the HDD. All your HDD data is now protected and can’t be stolen. Simply snap the tablet back on to unlock all that data.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -134,29759322,134_29759322,Acer Aspire S7,Acer Aspire S7,os_installed,Windows 10 Home,,,,,,,//icecat.de/en/p/acer/nx.mt2ek.016/notebooks-393-75508G25-29759322.html,"MORE power The new Aspire S7 (the S7-393 to be precise) comes with your choice of Intel's new 5th Generation Core™ processors. These deliver improved overall performance and graphics, while also using less power. That's why the new Aspire S7 is even more powerful, and has a longer battery life. You can now go even longer between charge times. The new Aspire S7’s improved hardware doesn’t just make it more powerful, it also helps it score even higher in battery-life tests. With up to 8.5 hours2 of on-the-road power, you can go all day and do it all. With cutting-edge 802.11ac wireless technology firing on dual channels, the new Aspire S7 transmits and receives airborne data up to three times faster than the average laptop does3. Download and upload movies (and do pretty much anything on the web) at breathtaking speeds. The new Aspire S7 is beautifully thin and delightfully light. With a thickness of only 12.9 mm, and a weight of only 1.3 kg, this slender-but-strong beauty disappears into your carry bag without a whisper. It's so easy to carry; you'll forget it's there.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -134,26145012,134_26145012,Acer Aspire S7,Acer Aspire S7,os_installed,Windows 8.1 Pro,,,,,,,//icecat.de/en/p/acer/nx.mt5ek.002/notebooks-S7-393-75508G12ews-26145012.html,"MORE power The new Aspire S7 (the S7-393 to be precise) comes with your choice of Intel's new 5th Generation Core™ processors. These deliver improved overall performance and graphics, while also using less power. That's why the new Aspire S7 is even more powerful, and has a longer battery life. You can now go even longer between charge times. The new Aspire S7’s improved hardware doesn’t just make it more powerful, it also helps it score even higher in battery-life tests. With up to 8.5 hours2 of on-the-road power, you can go all day and do it all. With cutting-edge 802.11ac wireless technology firing on dual channels, the new Aspire S7 transmits and receives airborne data up to three times faster than the average laptop does3. Download and upload movies (and do pretty much anything on the web) at breathtaking speeds. The new Aspire S7 is beautifully thin and delightfully light. With a thickness of only 12.9 mm, and a weight of only 1.3 kg, this slender-but-strong beauty disappears into your carry bag without a whisper. It's so easy to carry; you'll forget it's there.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -135,29836399,135_29836399,Acer Chromebook CB5-311,Acer Chromebook CB5-311,storage_media,SSD,,,,,,,//icecat.de/en/p/acer/nx.mpreh.009/notebooks-CB5-311-T17X-29836399.html,"Amazing mobility Slip the Acer Chromebook into your bag and work from anywhere, without recharging, because it has enough battery life to last all day long on a single charge. Indulge your eyes and see everything in vivid detail on the Acer Chromebook's Full HD display. The Acer Chromebook features the latest 802.11ac wireless technology, for a smooth internet experience at connection speeds that are up to three times faster than that of previous-generation wireless technologies. The Acer Chromebook starts within 8 seconds, so you can wait less and do more. At less than an inch thin and extremely light, the Acer Chromebook is the perfect tool for on-the-go computing. Plus, it sports a fanless design for whisper-quiet computing.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -135,30359386,135_30359386,Acer Chromebook CB5-311,Acer Chromebook CB5-311,storage_media,Flash,,,,,,,//icecat.de/en/p/acer/nx.mpreh.006-nl/notebooks-CB5-311-T4S0-30359386.html,"Amazing mobility Slip the Acer Chromebook into your bag and work from anywhere, without recharging, because it has enough battery life to last all day long on a single charge. Indulge your eyes and see everything in vivid detail on the Acer Chromebook's Full HD display. The Acer Chromebook features the latest 802.11ac wireless technology, for a smooth internet experience at connection speeds that are up to three times faster than that of previous-generation wireless technologies. The Acer Chromebook starts within 8 seconds, so you can wait less and do more. At less than an inch thin and extremely light, the Acer Chromebook is the perfect tool for on-the-go computing. Plus, it sports a fanless design for whisper-quiet computing.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -136,24425591,136_24425591,Acer Chromebook C730-C8T7,Acer Chromebook C730-C8T7,,,,,,,,,//icecat.co.uk/en/p/acer/nx.g85ek.001/notebooks-4713392480010-Acer-Chromebook-11-CB3-131-C8D2-2-16GHz-N2840-11-6-1366-x-768pixels-White-31250836.html,"Amazing mobility Slip the Acer Chromebook into your bag and work from anywhere, without recharging, because it has enough battery life to last all day long on a single charge. Indulge your eyes and see everything in vivid detail on the Acer Chromebook's Full HD display. The Acer Chromebook features the latest 802.11ac wireless technology, for a smooth internet experience at connection speeds that are up to three times faster than that of previous-generation wireless technologies. The Acer Chromebook starts within 8 seconds, so you can wait less and do more. At less than an inch thin and extremely light, the Acer Chromebook is the perfect tool for on-the-go computing. Plus, it sports a fanless design for whisper-quiet computing.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -137,29283479,137_29283479,Acer TravelMate P246-M,Acer TravelMate P246-M,total_storage_capacity,500 GB,,,,,,,//icecat.de/en/p/acer/nx.v9vek.014/notebooks-P246-M-50JL-29283479.html,"Work with style and simplicity The TravelMate P2 Series comes in 13.3"", 14"", 15.6"" and 17.3"" sizes to meet various business needs. Clad in a refined textile finish that both looks and feels great, these notebooks pack the latest Intel® Core™ processors1 and discrete graphics1 to keep you at your productive best. They are also loaded with tailor-made management and security software for easy, centralised control. The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality.",,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -137,29283480,137_29283480,Acer TravelMate P246-M,Acer TravelMate P246-M,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/acer/nx.v9vek.016/notebooks-P246-M-29283480.html,"Work with style and simplicity The TravelMate P2 Series comes in 13.3"", 14"", 15.6"" and 17.3"" sizes to meet various business needs. Clad in a refined textile finish that both looks and feels great, these notebooks pack the latest Intel® Core™ processors1 and discrete graphics1 to keep you at your productive best. They are also loaded with tailor-made management and security software for easy, centralised control. The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality.",,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -138,30046855,138_30046855,Acer TravelMate P258-M,Acer TravelMate P258-M,processor_frequency,2.8 GHz,,,,,,,//icecat.de/en/p/acer/nx.vc7eg.002/notebooks-P258-M-53Z3-30046855.html,"Tactile textile The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality. The TravelMate P2 is packed with features that make it easier to do business. Work faster with smoother gestures on the large Precision Touchpad. Quickly share business contacts with a smartphone via Contact Pickup. Log in to the TravelMate P2 faster thanks to Face Login. ","Einzigartige Haptik Die P2-Serie verfügt jetzt über ein Textilmuster auf dem äußeren Cover. Dies verleiht den Produkten einen professionellen, edlen Look und ist so die perfekte Ergänzung zu ihrer Funktionalität. Dies hat auch einen praktischen Nutzen, da die Struktur Kratzern widersteht und dafür sorgt, dass Sie auch unterwegs alles im Griff haben. Die TravelMate P2-Serie erfüllt die hohen Audio- und Grafik-Standards der Skype-Zertifizierung für Unternehmen1. Dank der optimierten Hardware kann jedes Wort klar und ohne Echo, Lücken oder Verzögerungen bei minimalen Hintergrundgeräuschen verstanden werden. Das bedeutet, Sie können Anrufe oder Videochats mit überragender Audio- und Grafikqualität tätigen. Das TravelMate P2 verfügt über unzählige Funktionen, die Ihre Aufgaben vereinfachen. Das große Precison-Touchpad lässt Sie dank fließender Gesten ihre Arbeit auf intuitive Art und Weise bewältigen. Geben Sie mit Ihrem Smartphone per Contact Pickup Geschäftskontakte im Handumdrehen frei oder melden Sie sich dank Face Login schneller bei Ihrem TravelMate P2 an. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -138,30657838,138_30657838,Acer TravelMate P258-M,Acer TravelMate P258-M,processor_frequency,3.1 GHz,,,,,,,//icecat.de/en/p/acer/nx.vc7eh.012/notebooks-P258-M-785T-30657838.html,"Tactile textile The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality. The TravelMate P2 is packed with features that make it easier to do business. Work faster with smoother gestures on the large Precision Touchpad. Quickly share business contacts with a smartphone via Contact Pickup. Log in to the TravelMate P2 faster thanks to Face Login. ","Einzigartige Haptik Die P2-Serie verfügt jetzt über ein Textilmuster auf dem äußeren Cover. Dies verleiht den Produkten einen professionellen, edlen Look und ist so die perfekte Ergänzung zu ihrer Funktionalität. Dies hat auch einen praktischen Nutzen, da die Struktur Kratzern widersteht und dafür sorgt, dass Sie auch unterwegs alles im Griff haben. Die TravelMate P2-Serie erfüllt die hohen Audio- und Grafik-Standards der Skype-Zertifizierung für Unternehmen1. Dank der optimierten Hardware kann jedes Wort klar und ohne Echo, Lücken oder Verzögerungen bei minimalen Hintergrundgeräuschen verstanden werden. Das bedeutet, Sie können Anrufe oder Videochats mit überragender Audio- und Grafikqualität tätigen. Das TravelMate P2 verfügt über unzählige Funktionen, die Ihre Aufgaben vereinfachen. Das große Precison-Touchpad lässt Sie dank fließender Gesten ihre Arbeit auf intuitive Art und Weise bewältigen. Geben Sie mit Ihrem Smartphone per Contact Pickup Geschäftskontakte im Handumdrehen frei oder melden Sie sich dank Face Login schneller bei Ihrem TravelMate P2 an. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -139,24699831,139_24699831,Asus Transformer Book T200TA,Asus Transformer Book T200TA,,,,,,,,,,"As light as you like Transformer Book T200 is sleek, slim and oh so light — just 26mm tall and 1.5kg docked. And when need to travel even lighter, detach the 11.6-inch tablet for 11.95mm slenderness and a mere 750g weight! With up to 10.4 hours of battery life that lasts all day long, you’re free to work or play from dawn to dusk. And ASUS Instant On technology ensures that Transformer Book T200 is always responsive and ready for action! Experience outstanding performance from the latest Intel® quad-core processor. You’ll multitask seamlessly and get more done in less time. Transformer Book T200 also delivers exceptional graphics performance — with Intel HD graphics that are up to 30% faster than ever before! Transformer Book T200 is equipped with USB 3.0 connectivity for data transfers that never leave you waiting. Just attach your USB 3.0 devices to enjoy speeds that are up to 10X faster than USB 2.0!","Einfach zweifach brillant Das ASUS Transformer Book T200 ist ein aufregendes 11,6“ Entertainment-Tablet, das zugleich ein hocheffizientes, voll vernetztes und voll ausgestattetes Windows 8.1 Notebook ist. Und es ist noch mehr: Es ist die perfekte Kombination von Funktion und Leistung, Spaß und Produktivität, Style und Flexibilität. Von früh bis spät, im Businesseinsatz oder rein zu Ihrer Unterhaltung – das T200 hält Sie mit gewaltigen Akkulaufzeiten den ganzen Tag über in Bewegung. Und dank ASUS Instant-On-Technologie ist es immer sofort einsatzbereit. Damit jedes Detail beeindruckt und jede Toucheingabe mit extremer Präzision erkannt wird, kommt das T200 mit einem exzellenten 16:9 HD (1366 x 768) Multi-Touch-Display. Dank IPS-Technologie und breitem 178°-Betrachtungswinkel werden sämtliche Inhalte aus nahezu jeder Perspektive gestochen scharf wiedergegeben.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -140,22766487,140_22766487,Asus Transformer Book T200TA,Asus Transformer Book T200TA,,,,,,,,,,"As light as you like Transformer Book T200 is sleek, slim and oh so light — just 26mm tall and 1.5kg docked. And when need to travel even lighter, detach the 11.6-inch tablet for 11.95mm slenderness and a mere 750g weight! With up to 10.4 hours of battery life that lasts all day long, you’re free to work or play from dawn to dusk. And ASUS Instant On technology ensures that Transformer Book T200 is always responsive and ready for action! Experience outstanding performance from the latest Intel® quad-core processor. You’ll multitask seamlessly and get more done in less time. Transformer Book T200 also delivers exceptional graphics performance — with Intel HD graphics that are up to 30% faster than ever before! Transformer Book T200 is equipped with USB 3.0 connectivity for data transfers that never leave you waiting. Just attach your USB 3.0 devices to enjoy speeds that are up to 10X faster than USB 2.0!","Einfach zweifach brillant Das ASUS Transformer Book T200 ist ein aufregendes 11,6“ Entertainment-Tablet, das zugleich ein hocheffizientes, voll vernetztes und voll ausgestattetes Windows 8.1 Notebook ist. Und es ist noch mehr: Es ist die perfekte Kombination von Funktion und Leistung, Spaß und Produktivität, Style und Flexibilität. Von früh bis spät, im Businesseinsatz oder rein zu Ihrer Unterhaltung – das T200 hält Sie mit gewaltigen Akkulaufzeiten den ganzen Tag über in Bewegung. Und dank ASUS Instant-On-Technologie ist es immer sofort einsatzbereit. Damit jedes Detail beeindruckt und jede Toucheingabe mit extremer Präzision erkannt wird, kommt das T200 mit einem exzellenten 16:9 HD (1366 x 768) Multi-Touch-Display. Dank IPS-Technologie und breitem 178°-Betrachtungswinkel werden sämtliche Inhalte aus nahezu jeder Perspektive gestochen scharf wiedergegeben.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -141,29380410,141_29380410,Asus Zenbook US303UB,Asus Zenbook US303UB,,,,,,,,,,"Classic design,stylish new color ASUS ZenBook series represents the essence of ASUS design spirit, and UX303 takes this to another level of sophistication with fresh and gorgeous color Smoky Brown. The elegant color is further enhanced by the iconic spun-metal finish that echoes the spirit of Zen. The classic lines of the ultra-light, all-aluminum ZenBook have been enhanced with a slimmer profile, tapering to just 3mm at the front. It's chic, elegant, timeless, and powerful — it's ZenBook UX303. Developed by the ASUS Golden Eye team, exclusive ASUS Splendid technology gives you vivid, accurate colors no matter what you're watching. It works by automatically fine-tuning various display settings to optimize all kinds of images. The result is richer, deeper colors and stunning visuals whether you're watching videos and movies, playing games or browsing through your photos.","Einfach noch mehr sehen Dank Wide View IPS-Paneltechnologie ermöglicht das UX303 mit breitem 170° Betrachtungswinkel kontrastreiche Bilder, lebendige, intensive Farben, eine herausragende Farbtreue und eine unvergleichliche Detailschärfe aus nahezu jeder Blickperspektive. Das 13,3“ QHD Display des ASUS ZENBOOK™ UX303 begeistert mit einer akkuraten Farbdarstellung, einer hohen Leuchtkraft und ausgezeichneten Kontrasten. Websites und Texte werden knackscharf dargestellt - Filme, Games oder Fotos werden atemberaubend brillant wiedergegeben. Das ZENBOOK™ UX303UB sorgt dafür, dass Sie mit Ihren Lieben bestens verbunden bleiben. Ergänzend zur hohen Displayqualität garantiert die leistungsstarke HD-Webcam, dass Sie in Videochats, selbst bei ungünstigen Lichtverhältnissen, umwerfend aussehen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -142,30943081,142_30943081,Asus Zenbook US303UB,Asus Zenbook US303UB,,,,,,,,,,"Classic design,stylish new color ASUS ZenBook series represents the essence of ASUS design spirit, and UX303 takes this to another level of sophistication with fresh and gorgeous color Smoky Brown. The elegant color is further enhanced by the iconic spun-metal finish that echoes the spirit of Zen. The classic lines of the ultra-light, all-aluminum ZenBook have been enhanced with a slimmer profile, tapering to just 3mm at the front. It's chic, elegant, timeless, and powerful — it's ZenBook UX303. Developed by the ASUS Golden Eye team, exclusive ASUS Splendid technology gives you vivid, accurate colors no matter what you're watching. It works by automatically fine-tuning various display settings to optimize all kinds of images. The result is richer, deeper colors and stunning visuals whether you're watching videos and movies, playing games or browsing through your photos.","Einfach noch mehr sehen Dank Wide View IPS-Paneltechnologie ermöglicht das UX303 mit breitem 170° Betrachtungswinkel kontrastreiche Bilder, lebendige, intensive Farben, eine herausragende Farbtreue und eine unvergleichliche Detailschärfe aus nahezu jeder Blickperspektive. Das 13,3“ QHD Display des ASUS ZENBOOK™ UX303 begeistert mit einer akkuraten Farbdarstellung, einer hohen Leuchtkraft und ausgezeichneten Kontrasten. Websites und Texte werden knackscharf dargestellt - Filme, Games oder Fotos werden atemberaubend brillant wiedergegeben. Das ZENBOOK™ UX303UB sorgt dafür, dass Sie mit Ihren Lieben bestens verbunden bleiben. Ergänzend zur hohen Displayqualität garantiert die leistungsstarke HD-Webcam, dass Sie in Videochats, selbst bei ungünstigen Lichtverhältnissen, umwerfend aussehen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -143,31035196,143_31035196,Asus Zenbook US303UB,Asus Zenbook US303UB,,,,,,,,,,"Classic design,stylish new color ASUS ZenBook series represents the essence of ASUS design spirit, and UX303 takes this to another level of sophistication with fresh and gorgeous color Smoky Brown. The elegant color is further enhanced by the iconic spun-metal finish that echoes the spirit of Zen. The classic lines of the ultra-light, all-aluminum ZenBook have been enhanced with a slimmer profile, tapering to just 3mm at the front. It's chic, elegant, timeless, and powerful — it's ZenBook UX303. Developed by the ASUS Golden Eye team, exclusive ASUS Splendid technology gives you vivid, accurate colors no matter what you're watching. It works by automatically fine-tuning various display settings to optimize all kinds of images. The result is richer, deeper colors and stunning visuals whether you're watching videos and movies, playing games or browsing through your photos.","Einfach noch mehr sehen Dank Wide View IPS-Paneltechnologie ermöglicht das UX303 mit breitem 170° Betrachtungswinkel kontrastreiche Bilder, lebendige, intensive Farben, eine herausragende Farbtreue und eine unvergleichliche Detailschärfe aus nahezu jeder Blickperspektive. Das 13,3“ QHD Display des ASUS ZENBOOK™ UX303 begeistert mit einer akkuraten Farbdarstellung, einer hohen Leuchtkraft und ausgezeichneten Kontrasten. Websites und Texte werden knackscharf dargestellt - Filme, Games oder Fotos werden atemberaubend brillant wiedergegeben. Das ZENBOOK™ UX303UB sorgt dafür, dass Sie mit Ihren Lieben bestens verbunden bleiben. Ergänzend zur hohen Displayqualität garantiert die leistungsstarke HD-Webcam, dass Sie in Videochats, selbst bei ungünstigen Lichtverhältnissen, umwerfend aussehen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -144,29804740,144_29804740,Asus Zenbook UX301LA,Asus Zenbook UX301LA,total_storage_capacity,512 GB,,,,,,,//icecat.de/en/p/asus/90nb0193-m05560/notebooks-UX301LA-DE150H-26516355.html,"Technology with a human touch Zenbook UX301 is wonderfully tactile, but that goes well beyond just the feel of its sleek, smooth and durable glass design. Windows 8 is designed with touch in mind and a dedicated ASUS Human Computer Interface team help make it even more intuitive to use with features like a responsive multi-touch display, and a large touch pad with multi-touch support. The backlit keyboard with automatic brightness control also means you'll always have a clear view of the keys, so you can stay productive, even in complete darkness. So whichever way you like to work, Zenbook UX301 has you covered. Creating the perfect Ultrabook™ means striking a perfect balance between form and function. Zenbook UX301 has a strikingly gorgeous design refined with crystalline glass and classic hairline metallic finish that's just 15.5mm thick — 14% thinner than the previous Zenbook. Lift the lid and inside is a vibrant 13.3-inch WQHD display that brings images to life and makes everything from browsing the web to working with documents an absolute pleasure. Zenbook UX301is the Ultrabook™ you'll want with you, wherever you go.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -144,30312874,144_30312874,Asus Zenbook UX301LA,Asus Zenbook UX301LA,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/asus/ux301la-c4161t/notebooks-UX301LA-C4161T-30312874.html,"Technology with a human touch Zenbook UX301 is wonderfully tactile, but that goes well beyond just the feel of its sleek, smooth and durable glass design. Windows 8 is designed with touch in mind and a dedicated ASUS Human Computer Interface team help make it even more intuitive to use with features like a responsive multi-touch display, and a large touch pad with multi-touch support. The backlit keyboard with automatic brightness control also means you'll always have a clear view of the keys, so you can stay productive, even in complete darkness. So whichever way you like to work, Zenbook UX301 has you covered. Creating the perfect Ultrabook™ means striking a perfect balance between form and function. Zenbook UX301 has a strikingly gorgeous design refined with crystalline glass and classic hairline metallic finish that's just 15.5mm thick — 14% thinner than the previous Zenbook. Lift the lid and inside is a vibrant 13.3-inch WQHD display that brings images to life and makes everything from browsing the web to working with documents an absolute pleasure. Zenbook UX301is the Ultrabook™ you'll want with you, wherever you go.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -144,29804741,144_29804741,Asus Zenbook UX301LA,Asus Zenbook UX301LA,total_storage_capacity,256 GB,,,,,,,//icecat.de/en/p/asus/90nb0193-m06560/notebooks-UX301LA-C4145T-29804740.html,"Technology with a human touch Zenbook UX301 is wonderfully tactile, but that goes well beyond just the feel of its sleek, smooth and durable glass design. Windows 8 is designed with touch in mind and a dedicated ASUS Human Computer Interface team help make it even more intuitive to use with features like a responsive multi-touch display, and a large touch pad with multi-touch support. The backlit keyboard with automatic brightness control also means you'll always have a clear view of the keys, so you can stay productive, even in complete darkness. So whichever way you like to work, Zenbook UX301 has you covered. Creating the perfect Ultrabook™ means striking a perfect balance between form and function. Zenbook UX301 has a strikingly gorgeous design refined with crystalline glass and classic hairline metallic finish that's just 15.5mm thick — 14% thinner than the previous Zenbook. Lift the lid and inside is a vibrant 13.3-inch WQHD display that brings images to life and makes everything from browsing the web to working with documents an absolute pleasure. Zenbook UX301is the Ultrabook™ you'll want with you, wherever you go.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -145,29885470,145_29885470,DELL Chromebook 13,DELL Chromebook 13,processor_frequency,2 GHz,,,,,,,//icecat.de/en/p/dell/7310-6719/notebooks-13-29885470.html,"The industry’s finest Sleek. Smooth. Strong: The carbon fiber finish with magnesium alloy is light, durable, cool to the touch and designed to impress. The Google ecosystem at your service: Expect Speed - boots in seconds, Simplicity - easy to use and manage, Secure - with virus protection built-in, encrypted user data and automated updates. A wide range of magnificence: Bring business projects to full light with industry leading brightness and viewing angles on a 13.3"" FHD IPS display with optional scratch-resistant Corning® Gorilla® Glass NBT™ touch display. Business class performance - Browse faster using up to core i5 5th gen intel Core processors and experience the performance of Dell's most powerful chromebook. Professional looks and productivity: Thoughtfully designed to be sleek and useful with a carbon fiber lid, dark gray alloy chassis, backlit keyboard, glass track pad and 1080p display. Work on the go: Securely and easily access servers, mirror desktops and improve lifecycle management with Dell unique IP from KACE, SonicWALL (VPN) and Wyse.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -145,29885471,145_29885471,DELL Chromebook 13,DELL Chromebook 13,processor_frequency,1.5 GHz,,,,,,,//icecat.de/en/p/dell/7310-6696/notebooks-13-29885471.html,"The industry’s finest Sleek. Smooth. Strong: The carbon fiber finish with magnesium alloy is light, durable, cool to the touch and designed to impress. The Google ecosystem at your service: Expect Speed - boots in seconds, Simplicity - easy to use and manage, Secure - with virus protection built-in, encrypted user data and automated updates. A wide range of magnificence: Bring business projects to full light with industry leading brightness and viewing angles on a 13.3"" FHD IPS display with optional scratch-resistant Corning® Gorilla® Glass NBT™ touch display. Business class performance - Browse faster using up to core i5 5th gen intel Core processors and experience the performance of Dell's most powerful chromebook. Professional looks and productivity: Thoughtfully designed to be sleek and useful with a carbon fiber lid, dark gray alloy chassis, backlit keyboard, glass track pad and 1080p display. Work on the go: Securely and easily access servers, mirror desktops and improve lifecycle management with Dell unique IP from KACE, SonicWALL (VPN) and Wyse.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -145,29885473,145_29885473,DELL Chromebook 13,DELL Chromebook 13,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/dell/7310-6740/notebooks-13-29885473.html,"The industry’s finest Sleek. Smooth. Strong: The carbon fiber finish with magnesium alloy is light, durable, cool to the touch and designed to impress. The Google ecosystem at your service: Expect Speed - boots in seconds, Simplicity - easy to use and manage, Secure - with virus protection built-in, encrypted user data and automated updates. A wide range of magnificence: Bring business projects to full light with industry leading brightness and viewing angles on a 13.3"" FHD IPS display with optional scratch-resistant Corning® Gorilla® Glass NBT™ touch display. Business class performance - Browse faster using up to core i5 5th gen intel Core processors and experience the performance of Dell's most powerful chromebook. Professional looks and productivity: Thoughtfully designed to be sleek and useful with a carbon fiber lid, dark gray alloy chassis, backlit keyboard, glass track pad and 1080p display. Work on the go: Securely and easily access servers, mirror desktops and improve lifecycle management with Dell unique IP from KACE, SonicWALL (VPN) and Wyse.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -146,30706737,146_30706737,DELL Inspiron 7359,DELL Inspiron 7359,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/dell/wgwy0/notebooks-7359-30706737.html,"Two powerful devices. One elegant design The new Inspiron 13 7000 Series 2-in-1 combines the powerful performance of a premium laptop and the versatility of a 13.3"" tablet with built-in stylus. The best Windows ever meets the best Dell ever. The result? A whole new era of power, performance and productivity. Windows 10 gives you all the features you know from the world’s most popular operating system, plus great improvements you’ll love. Enhance all you do with new Windows 10 features: Start it up - You’ll feel like an expert from the get-go since your Windows Start menu is back in an expanded form.Plus, all your pinned applications will carry over so your experience is familiar, productive and better than ever. The speed you need - Windows 10 starts up and resumes fast with InstaGo so there’s no buffer between you and your to-do list. Even your updates reach you as soon as they are available so you always have the latest and greatest features that are built to keep up with your on-the-go lifestyle.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -146,30213351,146_30213351,DELL Inspiron 7359,DELL Inspiron 7359,processor_frequency,2.5 GHz,,,,,,,//icecat.de/en/p/dell/7359-8577/notebooks-7359-30213351.html,"Two powerful devices. One elegant design The new Inspiron 13 7000 Series 2-in-1 combines the powerful performance of a premium laptop and the versatility of a 13.3"" tablet with built-in stylus. The best Windows ever meets the best Dell ever. The result? A whole new era of power, performance and productivity. Windows 10 gives you all the features you know from the world’s most popular operating system, plus great improvements you’ll love. Enhance all you do with new Windows 10 features: Start it up - You’ll feel like an expert from the get-go since your Windows Start menu is back in an expanded form.Plus, all your pinned applications will carry over so your experience is familiar, productive and better than ever. The speed you need - Windows 10 starts up and resumes fast with InstaGo so there’s no buffer between you and your to-do list. Even your updates reach you as soon as they are available so you always have the latest and greatest features that are built to keep up with your on-the-go lifestyle.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -147,27295351,147_27295351,DELL Latitude E5450,DELL Latitude E5450,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/dell/9g66n/notebooks-E5450-27295351.html,"Built for work. Designed to impress. Thin and light for mobile productivity: Introducing Dell’s thinnest and lightest mainstream laptop yet. With all-day battery life, you can stay productive wherever your work takes you with the Dell Latitude 14 5000 Series. Full features for business professionals: Get the latest generation of Intel® Core™ processors, optional backlit keyboard, and the most options of ports, storage, connectivity and displays of any Latitude. Durability you can depend on: Your Dell Latitude 14 5000 Series is built to last, with spill-proof keyboard and vigorous anodized hinge solution, plus an optional structure enhanced Magnesium display cover for touch models. E-family docking: Work seamlessly with an e-dock and charging solution that is consistent across multi-generations.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -147,30046188,147_30046188,DELL Latitude E5450,DELL Latitude E5450,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/dell/yn9r3/notebooks-E5450-30046188.html,"Built for work. Designed to impress. Thin and light for mobile productivity: Introducing Dell’s thinnest and lightest mainstream laptop yet. With all-day battery life, you can stay productive wherever your work takes you with the Dell Latitude 14 5000 Series. Full features for business professionals: Get the latest generation of Intel® Core™ processors, optional backlit keyboard, and the most options of ports, storage, connectivity and displays of any Latitude. Durability you can depend on: Your Dell Latitude 14 5000 Series is built to last, with spill-proof keyboard and vigorous anodized hinge solution, plus an optional structure enhanced Magnesium display cover for touch models. E-family docking: Work seamlessly with an e-dock and charging solution that is consistent across multi-generations.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -148,25977678,148_25977678,Fujitsu LIFEBOOK U745,Fujitsu LIFEBOOK U745,processor_frequency,2.6 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-u7450m47bbgb/notebooks-U745-25977678.html,"The FUJITSU Notebook LIFEBOOK U745 is a slim and light Ultrabook™ for professionals supporting optimum mobility for business trips and ergonomics in the office. Its low weight from 1.55 kg combined with a 35.6 cm (14-inch) anti-glare display with touch panel and backlit keyboard options offers you mobile comfort. The 4G/LTE or 3G/UMTS option and the pull-out LAN connector grant you added connectivity. Moreover, an embedded palm vein sensor option guarantees ultimate protection of your data. The common port replicator with the LIFEBOOK E family facilitates workplace sharing; the VGA port allows you to present on demand. ","Das FUJITSU Notebook LIFEBOOK U745 ist ein schlankes und leichtes Ultrabook™ für berufliche Nutzer, das optimale Mobilität auf Geschäftsreisen und Ergonomie im Büro gewährleistet. Das geringe Gewicht ab 1,55 kg in Verbindung mit dem 35,6 cm (14 Zoll)-Anti-Glare-Display mit Touchpanel und der optional beleuchteten Tastatur steigern den Komfort, wenn Sie unterwegs sind. Das optionale 4G/LTE oder 3G/UMTS und der herausziehbare LAN-Stecker sorgen für eine bessere Konnektivität. Darüber hinaus gewährleistet ein optional integrierter Palm-Vein-Sensor den ultimativen Schutz Ihrer Daten. Der gemeinsame Port-Replikator mit der LIFEBOOK E Familie vereinfacht die gemeinsame Nutzung von Arbeitsplätzen, und der VGA-Anschluss ermöglicht Ihnen, bei Bedarf Inhalte zu präsentieren.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -148,25977676,148_25977676,Fujitsu LIFEBOOK U745,Fujitsu LIFEBOOK U745,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-u7450m45cbgb/notebooks-U745-25977676.html,"The FUJITSU Notebook LIFEBOOK U745 is a slim and light Ultrabook™ for professionals supporting optimum mobility for business trips and ergonomics in the office. Its low weight from 1.55 kg combined with a 35.6 cm (14-inch) anti-glare display with touch panel and backlit keyboard options offers you mobile comfort. The 4G/LTE or 3G/UMTS option and the pull-out LAN connector grant you added connectivity. Moreover, an embedded palm vein sensor option guarantees ultimate protection of your data. The common port replicator with the LIFEBOOK E family facilitates workplace sharing; the VGA port allows you to present on demand. ","Das FUJITSU Notebook LIFEBOOK U745 ist ein schlankes und leichtes Ultrabook™ für berufliche Nutzer, das optimale Mobilität auf Geschäftsreisen und Ergonomie im Büro gewährleistet. Das geringe Gewicht ab 1,55 kg in Verbindung mit dem 35,6 cm (14 Zoll)-Anti-Glare-Display mit Touchpanel und der optional beleuchteten Tastatur steigern den Komfort, wenn Sie unterwegs sind. Das optionale 4G/LTE oder 3G/UMTS und der herausziehbare LAN-Stecker sorgen für eine bessere Konnektivität. Darüber hinaus gewährleistet ein optional integrierter Palm-Vein-Sensor den ultimativen Schutz Ihrer Daten. Der gemeinsame Port-Replikator mit der LIFEBOOK E Familie vereinfacht die gemeinsame Nutzung von Arbeitsplätzen, und der VGA-Anschluss ermöglicht Ihnen, bei Bedarf Inhalte zu präsentieren.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -148,27282150,148_27282150,Fujitsu LIFEBOOK U745,Fujitsu LIFEBOOK U745,processor_frequency,2.1 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-u7450m63sbde/notebooks-U745-27282150.html,"The FUJITSU Notebook LIFEBOOK U745 is a slim and light Ultrabook™ for professionals supporting optimum mobility for business trips and ergonomics in the office. Its low weight from 1.55 kg combined with a 35.6 cm (14-inch) anti-glare display with touch panel and backlit keyboard options offers you mobile comfort. The 4G/LTE or 3G/UMTS option and the pull-out LAN connector grant you added connectivity. Moreover, an embedded palm vein sensor option guarantees ultimate protection of your data. The common port replicator with the LIFEBOOK E family facilitates workplace sharing; the VGA port allows you to present on demand. ","Das FUJITSU Notebook LIFEBOOK U745 ist ein schlankes und leichtes Ultrabook™ für berufliche Nutzer, das optimale Mobilität auf Geschäftsreisen und Ergonomie im Büro gewährleistet. Das geringe Gewicht ab 1,55 kg in Verbindung mit dem 35,6 cm (14 Zoll)-Anti-Glare-Display mit Touchpanel und der optional beleuchteten Tastatur steigern den Komfort, wenn Sie unterwegs sind. Das optionale 4G/LTE oder 3G/UMTS und der herausziehbare LAN-Stecker sorgen für eine bessere Konnektivität. Darüber hinaus gewährleistet ein optional integrierter Palm-Vein-Sensor den ultimativen Schutz Ihrer Daten. Der gemeinsame Port-Replikator mit der LIFEBOOK E Familie vereinfacht die gemeinsame Nutzung von Arbeitsplätzen, und der VGA-Anschluss ermöglicht Ihnen, bei Bedarf Inhalte zu präsentieren.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -149,30283566,149_30283566,HP 200 250 G4,HP 200 250 G4,processor_frequency,2 GHz,,,,,,,//icecat.de/en/p/hp/p5t03ea/notebooks-250+G4-30283566.html,"Durable mobile design Rest assured that the HP 250 can keep up with assignments on the run. The durable chassis protects the notebook so it looks as professional as you do. Get connected with the value-priced HP 250 Notebook PC. Complete business tasks with Intel technology, essential multimedia tools and Windows 8.1 loaded on the HP 250. The durable chassis helps protect the notebook from the rigors of the day. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. ","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -149,28346778,149_28346778,HP 200 250 G4,HP 200 250 G4,processor_frequency,1.6 GHz,,,,,,,//icecat.de/en/p/hp/m9s73ea/notebooks-250+G4-28346778.html,"Durable mobile design Rest assured that the HP 250 can keep up with assignments on the run. The durable chassis protects the notebook so it looks as professional as you do. Get connected with the value-priced HP 250 Notebook PC. Complete business tasks with Intel technology, essential multimedia tools and Windows 8.1 loaded on the HP 250. The durable chassis helps protect the notebook from the rigors of the day. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. ","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -150,29554292,150_29554292,HP Chromebook 11,HP Chromebook 11,,,,,,,,,,"Processing power Get trusted processing power from an Intel® Celeron® processor2 that quickly launches apps, allows fast web browsing, and efficiently manages battery power. Enhance visual connections during collaboration and group discussions with an optional IPS panel1 for a wide viewing angle. Optimize Google Hangouts and video collaboration with noise suppression software for improved audio clarity. Inspire learning and help elevate productivity to the next level with HP Chromebook 11. Affordable collaboration at school and work has never been so easy with Intel® processors, long battery life, and an optional HD IPS panel.1 The Chrome OS™ delivers a low maintenance highly manageable platform with automatic software updates and virus protection built in. The optional Chrome Management Console1 provides easy and comprehensive web-based management tools.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -151,30983682,151_30983682,HP Chromebook 11,HP Chromebook 11,,,,,,,,,,"Processing power Get trusted processing power from an Intel® Celeron® processor2 that quickly launches apps, allows fast web browsing, and efficiently manages battery power. Enhance visual connections during collaboration and group discussions with an optional IPS panel1 for a wide viewing angle. Optimize Google Hangouts and video collaboration with noise suppression software for improved audio clarity. Inspire learning and help elevate productivity to the next level with HP Chromebook 11. Affordable collaboration at school and work has never been so easy with Intel® processors, long battery life, and an optional HD IPS panel.1 The Chrome OS™ delivers a low maintenance highly manageable platform with automatic software updates and virus protection built in. The optional Chrome Management Console1 provides easy and comprehensive web-based management tools.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -152,27104941,152_27104941,Lenovo Essential B70-80,Lenovo Essential B70-80,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/lenovo/80mr0008ix/notebooks-B70-80-27104941.html,"Multimedia Powerhouse A perfect business companion and desktop replacement, the B70 laptop also delivers great cinema-style multimedia features - a DVD Rambo drive, 2GB of video RAM and Dolby® certified speakers for an immersive surround sound experience. So whether you're catching up on work, gaming or relaxing to your favourite music, the B70 ticks all the boxes. Premium performance, powerful possibilities. With stunning visuals and performance, the new 5th gen Intel® Core™ processor delivers processing power that takes your computing to the next level so that you can work smarter and play harder. Enjoy amazing battery life that keeps you productive on the go so that you don’t have to worry about recharging. That’s serious processing. Only with Intel Inside®. The B70 spares nothing when it comes to robust graphics performance. With up to NVIDIA® GeForce® 920M graphics, you'll encounter enhanced graphics when work demands it, and a vivid gaming and video experience when it’s time for fun.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -152,29810130,152_29810130,Lenovo Essential B70-80,Lenovo Essential B70-80,processor_frequency,1.9 GHz,,,,,,,//icecat.de/en/p/lenovo/80mr00rlge/notebooks-B70-80-29810130.html,"Multimedia Powerhouse A perfect business companion and desktop replacement, the B70 laptop also delivers great cinema-style multimedia features - a DVD Rambo drive, 2GB of video RAM and Dolby® certified speakers for an immersive surround sound experience. So whether you're catching up on work, gaming or relaxing to your favourite music, the B70 ticks all the boxes. Premium performance, powerful possibilities. With stunning visuals and performance, the new 5th gen Intel® Core™ processor delivers processing power that takes your computing to the next level so that you can work smarter and play harder. Enjoy amazing battery life that keeps you productive on the go so that you don’t have to worry about recharging. That’s serious processing. Only with Intel Inside®. The B70 spares nothing when it comes to robust graphics performance. With up to NVIDIA® GeForce® 920M graphics, you'll encounter enhanced graphics when work demands it, and a vivid gaming and video experience when it’s time for fun.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -153,26178487,153_26178487,Lenovo Essential G50-80,Lenovo Essential G50-80,processor_frequency,1.7 GHz,,,,,,,//icecat.de/en/p/lenovo/80l00023ge/notebooks-G50-80-26178487.html,"Epic Sound and Vision Thanks to its stereo speakers with Dolby® Advanced Audio™, and Intel® HD Gaphics, the G50 offers stunning, stutter-free visuals and immersive sound for a fuller, more satisfying home entertainment experience. Optimized for Windows 8.1 features, this touchpad lets you toggle charms and apps, switch between apps, rotate, zoom, and use other functions with various easy swipes and gestures. Featuring a modern look and feel, the acclaimed AccuType keyboard has island-style, ergonomic keys that allow a more fluid, spacious, comfortable, and accurate typing experience than standard keyboard designs. Move data between the G50 and other devices quickly with USB 3.0 SuperSpeed; it's up to ten times faster than previous USB technologies, and it's backward-compatible.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -153,29805122,153_29805122,Lenovo Essential G50-80,Lenovo Essential G50-80,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/lenovo/80e502ufnx/notebooks-G50-80-29805122.html,"Epic Sound and Vision Thanks to its stereo speakers with Dolby® Advanced Audio™, and Intel® HD Gaphics, the G50 offers stunning, stutter-free visuals and immersive sound for a fuller, more satisfying home entertainment experience. Optimized for Windows 8.1 features, this touchpad lets you toggle charms and apps, switch between apps, rotate, zoom, and use other functions with various easy swipes and gestures. Featuring a modern look and feel, the acclaimed AccuType keyboard has island-style, ergonomic keys that allow a more fluid, spacious, comfortable, and accurate typing experience than standard keyboard designs. Move data between the G50 and other devices quickly with USB 3.0 SuperSpeed; it's up to ten times faster than previous USB technologies, and it's backward-compatible.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -153,29805124,153_29805124,Lenovo Essential G50-80,Lenovo Essential G50-80,processor_frequency,2.4 GHz,,,,,,,//icecat.de/en/p/lenovo/80e50350nx/notebooks-G50-80-29805124.html,"Epic Sound and Vision Thanks to its stereo speakers with Dolby® Advanced Audio™, and Intel® HD Gaphics, the G50 offers stunning, stutter-free visuals and immersive sound for a fuller, more satisfying home entertainment experience. Optimized for Windows 8.1 features, this touchpad lets you toggle charms and apps, switch between apps, rotate, zoom, and use other functions with various easy swipes and gestures. Featuring a modern look and feel, the acclaimed AccuType keyboard has island-style, ergonomic keys that allow a more fluid, spacious, comfortable, and accurate typing experience than standard keyboard designs. Move data between the G50 and other devices quickly with USB 3.0 SuperSpeed; it's up to ten times faster than previous USB technologies, and it's backward-compatible.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -154,31980499,154_31980499,Lenovo Yoga 500 14,Lenovo Yoga 500 14,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/lenovo/80r5009tsp/notebooks-Yoga+500+14-31980499.html,"360-Degree Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's innovative design and touchscreen display, which allows the screen to flip around 360 degrees. That means Yoga 500 adapts to you with four ways to do almost anything. With the blazing-fast 802.11 a/c WiFi option, you'll be able to connect to the internet wherever you go.802.11 a/c WiFi delivers up to 3 times the connection speeds of 802.11 b/g/n. Enjoy a PC with the new Intel® processor. Experience brilliant PC performance as you multitask effortlessly – communicate with friends and family, enjoy entertainment, and get your work done. Get the impressive performance and quality you’ve come to expect with an Intel® processor. That’s serious processing. Only with Intel Inside®.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -154,31266921,154_31266921,Lenovo Yoga 500 14,Lenovo Yoga 500 14,processor_frequency,2 GHz,,,,,,,//icecat.de/en/p/lenovo/80n400tnsp/notebooks-500+14-31266921.html,"360-Degree Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's innovative design and touchscreen display, which allows the screen to flip around 360 degrees. That means Yoga 500 adapts to you with four ways to do almost anything. With the blazing-fast 802.11 a/c WiFi option, you'll be able to connect to the internet wherever you go.802.11 a/c WiFi delivers up to 3 times the connection speeds of 802.11 b/g/n. Enjoy a PC with the new Intel® processor. Experience brilliant PC performance as you multitask effortlessly – communicate with friends and family, enjoy entertainment, and get your work done. Get the impressive performance and quality you’ve come to expect with an Intel® processor. That’s serious processing. Only with Intel Inside®.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -155,32122450,155_32122450,Lenovo IdeaPad Yoga 500,Lenovo IdeaPad Yoga 500,internal_memory,4 GB,,,,,,,//icecat.de/en/p/lenovo/80r60092ck/notebooks-Yoga+500+15-32122450.html,"360º Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's unique design and touchscreen display. It allows the screen to flip around 360º, which means you can select the mode you use based on what you choose to Do. Starting at a mere 4.3 lbs and just 2.15cm (0.85) thin, the Yoga 500 is ultra portable — it's perfect for doers on the go. And with up to 8 hours on a standard battery, you can go all day without recharging. Lenovo Harmony adapts to you by intuitively optimizing settings, making app recommendations by mode, and sharing statistics about how you use your device. Built for business. Built for life. Windows 8.1 brings together everything you do across all your devices — whether at home, at work, or on the go.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -155,30149933,155_30149933,Lenovo IdeaPad Yoga 500,Lenovo IdeaPad Yoga 500,internal_memory,8 GB,,,,,,,//icecat.de/en/p/lenovo/80r6002uck/notebooks-Yoga+500+15-30149933.html,"360º Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's unique design and touchscreen display. It allows the screen to flip around 360º, which means you can select the mode you use based on what you choose to Do. Starting at a mere 4.3 lbs and just 2.15cm (0.85) thin, the Yoga 500 is ultra portable — it's perfect for doers on the go. And with up to 8 hours on a standard battery, you can go all day without recharging. Lenovo Harmony adapts to you by intuitively optimizing settings, making app recommendations by mode, and sharing statistics about how you use your device. Built for business. Built for life. Windows 8.1 brings together everything you do across all your devices — whether at home, at work, or on the go.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -156,32018944,156_32018944,Acer Iconia B1-850,Acer Iconia B1-850,form_factor,Slate,,,,,,,//icecat.de/en/p/acer/nt.lc3eg.001/tablets-B1-850-32018944.html,"Portable charm With a bevy of trendy, eye catching colours to suit any lifestyle and show your personality, this slim and lightweight tablet designed to be travel friendly. Plus its beautifully textured anti-slip finish helps you keep a firm grip wherever you go. Looks sharp and stays sharp. The HD LCD with IPS1 technology brings out every detail of the display from any angle. Put that together with Zero Air Gap technology and you get brighter and crisper images with higher contrast and considerably better visibility in sunlight. A highly effective anti-fingerprint coating reduces messy fingerprints and smudges, and makes the screen much easier to clean. Add to that Acer’s innovative Touch WakeApp which adds new one-touch gestures to both wake the tablet up and pop it right into whatever app you want instant access to.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -157,29525342,157_29525342,Asus ZenPad Z170C,Asus ZenPad Z170C,,,,,,,,,,"Portable charm With a bevy of trendy, eye catching colours to suit any lifestyle and show your personality, this slim and lightweight tablet designed to be travel friendly. Plus its beautifully textured anti-slip finish helps you keep a firm grip wherever you go. Looks sharp and stays sharp. The HD LCD with IPS1 technology brings out every detail of the display from any angle. Put that together with Zero Air Gap technology and you get brighter and crisper images with higher contrast and considerably better visibility in sunlight. A highly effective anti-fingerprint coating reduces messy fingerprints and smudges, and makes the screen much easier to clean. Add to that Acer’s innovative Touch WakeApp which adds new one-touch gestures to both wake the tablet up and pop it right into whatever app you want instant access to. ","Gestochen scharfe Videos Sieht scharf aus und bleibt auch scharf. Das HD-LCD mit IPS-Technologie bringt jedes Detail des Displays aus jedem Blickwinkel perfekt zur Geltung. Zusammen mit der Zero Air Gap-Technologie erhalten Sie hellere und schärfere Bilder mit höheren Kontrasten und wesentlich besserer Sichtbarkeit bei Sonnenlicht. Mit Intel Quad-Core-Leistung für Spiele, Videos und Internet liefert Ihnen das Iconia One 8 die Leistung, die Sie benötigen. Einen zusätzlichen Schub erhalten Sie durch die verbesserte Leistung von Android 4.4 und bis zu 7 Stunden Akkuleistung. Die ausgeklügelte Beschichtung gegen Fingerabdrücke reduziert unschöne Fingerabdrücke sowie Verschmutzungen und sorgt für eine einfachere Reinigung des Bildschirms. Hinzu kommt noch die innovative Touch WakeApp von Acer: Mit nur einer Berührung können Sie sowohl das Tablet wieder aktivieren als auch direkt Ihre Lieblings-App öffnen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -158,29885222,158_29885222,Asus ZenPad Z170C,Asus ZenPad Z170C,,,,,,,,,,"Portable charm With a bevy of trendy, eye catching colours to suit any lifestyle and show your personality, this slim and lightweight tablet designed to be travel friendly. Plus its beautifully textured anti-slip finish helps you keep a firm grip wherever you go. Looks sharp and stays sharp. The HD LCD with IPS1 technology brings out every detail of the display from any angle. Put that together with Zero Air Gap technology and you get brighter and crisper images with higher contrast and considerably better visibility in sunlight. A highly effective anti-fingerprint coating reduces messy fingerprints and smudges, and makes the screen much easier to clean. Add to that Acer’s innovative Touch WakeApp which adds new one-touch gestures to both wake the tablet up and pop it right into whatever app you want instant access to. ","Gestochen scharfe Videos Sieht scharf aus und bleibt auch scharf. Das HD-LCD mit IPS-Technologie bringt jedes Detail des Displays aus jedem Blickwinkel perfekt zur Geltung. Zusammen mit der Zero Air Gap-Technologie erhalten Sie hellere und schärfere Bilder mit höheren Kontrasten und wesentlich besserer Sichtbarkeit bei Sonnenlicht. Mit Intel Quad-Core-Leistung für Spiele, Videos und Internet liefert Ihnen das Iconia One 8 die Leistung, die Sie benötigen. Einen zusätzlichen Schub erhalten Sie durch die verbesserte Leistung von Android 4.4 und bis zu 7 Stunden Akkuleistung. Die ausgeklügelte Beschichtung gegen Fingerabdrücke reduziert unschöne Fingerabdrücke sowie Verschmutzungen und sorgt für eine einfachere Reinigung des Bildschirms. Hinzu kommt noch die innovative Touch WakeApp von Acer: Mit nur einer Berührung können Sie sowohl das Tablet wieder aktivieren als auch direkt Ihre Lieblings-App öffnen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -159,29885260,159_29885260,Asus ZenPad Z370C,Asus ZenPad Z370C,internal_memory,2 GB,,,,,,,//icecat.de/en/p/asus/90np01w3-m01060/tablets-Z370C-1L039A-29885260.html,"Fashion-inspired design The design of ASUS ZenPad 7.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad 7.0 is a 7-inch tablet with a 72% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. Dramatically-enhanced detail for sharper, more lifelike images. ASUS ZenPad 7.0’s PixelMaster camera captures stunning, high-resolution photos. PixelMaster Camera comes with best technology that combines software and optical design to deliver incredible images.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -159,29885269,159_29885269,Asus ZenPad Z370C,Asus ZenPad Z370C,internal_memory,8 GB,,,,,,,//icecat.de/en/p/asus/90np01w3-m01090/tablets-Z370C-1L040A-29885269.html,"Fashion-inspired design The design of ASUS ZenPad 7.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad 7.0 is a 7-inch tablet with a 72% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. Dramatically-enhanced detail for sharper, more lifelike images. ASUS ZenPad 7.0’s PixelMaster camera captures stunning, high-resolution photos. PixelMaster Camera comes with best technology that combines software and optical design to deliver incredible images.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -160,29533301,160_29533301,Asus ZenPad Z370C-1A,Asus ZenPad Z370C-1A,,,,,,,,,//icecat.de/en/p/asus/z370c-1l048a/tablets-Z370C-1L048A-29533301.html,"Fashion-inspired design The design of ASUS ZenPad 7.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad 7.0 is a 7-inch tablet with a 72% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. Dramatically-enhanced detail for sharper, more lifelike images. ASUS ZenPad 7.0’s PixelMaster camera captures stunning, high-resolution photos. PixelMaster Camera comes with best technology that combines software and optical design to deliver incredible images.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -161,29533300,161_29533300,Asus ZenPad Z370C-1A,Asus ZenPad Z370C-1A,,,,,,,,,//icecat.de/en/p/asus/z370c-1b045a/tablets-Z370C-1B045A-29533300.html,"Bigger while smaller ASUS ZenPad 7.0 is a 7-inch tablet with a body that’s as small as that of a traditional 7-inch device. This incredible engineering achievement was made possible by reducing the bezel width to the bare minimum, giving ASUS ZenPad 7.0 a remarkable 72% screen-to-body ratio. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 7.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 7.0.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -162,29533299,162_29533299,Asus ZenPad Z370C-1A,Asus ZenPad Z370C-1A,,,,,,,,,//icecat.de/en/p/asus/z370c-1a054a/tablets-Z370C-1A054A-29533299.html,"Bigger while smaller ASUS ZenPad 7.0 is a 7-inch tablet with a body that’s as small as that of a traditional 7-inch device. This incredible engineering achievement was made possible by reducing the bezel width to the bare minimum, giving ASUS ZenPad 7.0 a remarkable 72% screen-to-body ratio. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 7.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 7.0.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -163,29728850,163_29728850,Asus ZenPad Z380C-1B,Asus ZenPad Z380C-1B,,,,,,,,,//icecat.de/en/p/asus/90np0221-m01320/tablets-Z380C-1A038A-29728850.html,"Bigger while smaller ASUS ZenPad 8.0 is an 8-inch tablet with a 76.5% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 8.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 8.0. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures.","ASUS VisualMaster IPS-Display Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 8“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 8.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab. Das ASUS ZenPad 8.0 folgt, wie der Name verspricht, der ASUS ZEN-Designphilosophie. Es ist elegant, dünn, leicht und durchdacht - gleichzeitig setzt es mit seinem Clutchbag-Look und der Möglichkeit die Rückschale auszutauschen einzigartige Akzente.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -164,29565390,164_29565390,Asus ZenPad Z380C-1B,Asus ZenPad Z380C-1B,,,,,,,,,//icecat.de/en/p/asus/90np0222-m01870/tablets-Z380C-1B055A-29565390.html,"Bigger while smaller ASUS ZenPad 8.0 is an 8-inch tablet with a 76.5% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 8.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 8.0. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures.","ASUS VisualMaster IPS-Display Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 8“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 8.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab. Das ASUS ZenPad 8.0 folgt, wie der Name verspricht, der ASUS ZEN-Designphilosophie. Es ist elegant, dünn, leicht und durchdacht - gleichzeitig setzt es mit seinem Clutchbag-Look und der Möglichkeit die Rückschale auszutauschen einzigartige Akzente.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -165,29879507,165_29879507,Asus ZenPad Z580CA,Asus ZenPad Z580CA,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/asus/90np01m1-m00660/tablets-Z580CA-1A027A-29879507.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad S 8.0 is an 8-inch tablet that is only 6.6mm thin, weighs just 298g, and has a 74% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Großartige Aussichten Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster. Erhältlich in drei aufregenden Farben und für passgenauen Schutz mit praktischer Stand-Funktionalität gibt es das ultradünne und hochrobuste TriCover als Originalzubehör für das ZenPad S 8.0. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -165,29879528,165_29879528,Asus ZenPad Z580CA,Asus ZenPad Z580CA,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/asus/90np01m1-m00990/tablets-Z580CA-1A046A-29879528.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad S 8.0 is an 8-inch tablet that is only 6.6mm thin, weighs just 298g, and has a 74% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Großartige Aussichten Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster. Erhältlich in drei aufregenden Farben und für passgenauen Schutz mit praktischer Stand-Funktionalität gibt es das ultradünne und hochrobuste TriCover als Originalzubehör für das ZenPad S 8.0. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -166,30230575,166_30230575,Asus ZenPad Z580CA-1B,Asus ZenPad Z580CA-1B,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/asus/90np01m2-m01130/tablets-Z580CA-1B035A-30230575.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Leistung für heute und morgen Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -166,29565389,166_29565389,Asus ZenPad Z580CA-1B,Asus ZenPad Z580CA-1B,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/asus/90np01m2-m00760/tablets-Z580CA-1B024A-29565389.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Leistung für heute und morgen Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -167,30375366,167_30375366,HP Elite x2 1012 G1,HP Elite x2 1012 G1,internal_storage_capacity,512 GB,,,,,,,//icecat.de/en/p/hp/l5h05ea/notebooks-Elite+x2+1012+G1-30375366.html,"Mobility and style without compromise Strikingly thin and elegant, the Elite x2 1012 is a 2 in 1 for the mobile workforce and executives who want no compromises when it comes to enterprise-class power, durability, optional LTE connectivity4 and productivity on the go, in a stylish design. Stunning IT friendly design. Elite x2 1012 incorporates Elite global enterprise-class security and manageability features, enterprise-class durability, on-site serviceability,2 global sku availability and support across 180 countries. At your desk or on the road, meet the specific needs of your work day with the included HP Active Pen with App Launch that uses Wacom technology. Accessorize to boost your efficiency. Add optional enterprise docking solutions3 and advanced keyboards.","Mobilität und Design ohne Kompromisse Das auffallend schlanke und elegante 2-in-1-Tablet Elite x2 1012 eignet sich optimal für mobile Mitarbeiter und Führungskräfte, die Wert auf erstklassige Leistung, Haltbarkeit, optionale LTE-Technologie 4 und Produktivität unterwegs sowie ein ansprechendes Design legen. Erfüllen Sie am Schreibtisch oder unterwegs die spezifischen Anforderungen Ihres Arbeitstages mit dem im Lieferumfang enthaltenen HP Active-Stift mit App Launch, der die Wacom-Technologie verwendet. Steigern Sie mit diesem Zubehör Ihre Produktivität. Nutzen Sie zudem die optionalen Unternehmens-Dockinglösungen3 und Tastaturerweiterungen. Erleben Sie mit dem HP Elite x2 1012 Eleganz und Leistung, die Sie nicht erwarten. Dieses getestete 2-in-1-Tablet mit präzisionsgefertigten Tastaturen ist ein schlankes und leichtes Kraftpaket für höchste Qualitätsstandards im Unternehmen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -167,30375364,167_30375364,HP Elite x2 1012 G1,HP Elite x2 1012 G1,internal_storage_capacity,256 GB,,,,,,,//icecat.de/en/p/hp/l5h04ea/notebooks-Elite+x2+1012+G1-30375364.html,"Mobility and style without compromise Strikingly thin and elegant, the Elite x2 1012 is a 2 in 1 for the mobile workforce and executives who want no compromises when it comes to enterprise-class power, durability, optional LTE connectivity4 and productivity on the go, in a stylish design. Stunning IT friendly design. Elite x2 1012 incorporates Elite global enterprise-class security and manageability features, enterprise-class durability, on-site serviceability,2 global sku availability and support across 180 countries. At your desk or on the road, meet the specific needs of your work day with the included HP Active Pen with App Launch that uses Wacom technology. Accessorize to boost your efficiency. Add optional enterprise docking solutions3 and advanced keyboards.","Mobilität und Design ohne Kompromisse Das auffallend schlanke und elegante 2-in-1-Tablet Elite x2 1012 eignet sich optimal für mobile Mitarbeiter und Führungskräfte, die Wert auf erstklassige Leistung, Haltbarkeit, optionale LTE-Technologie 4 und Produktivität unterwegs sowie ein ansprechendes Design legen. Erfüllen Sie am Schreibtisch oder unterwegs die spezifischen Anforderungen Ihres Arbeitstages mit dem im Lieferumfang enthaltenen HP Active-Stift mit App Launch, der die Wacom-Technologie verwendet. Steigern Sie mit diesem Zubehör Ihre Produktivität. Nutzen Sie zudem die optionalen Unternehmens-Dockinglösungen3 und Tastaturerweiterungen. Erleben Sie mit dem HP Elite x2 1012 Eleganz und Leistung, die Sie nicht erwarten. Dieses getestete 2-in-1-Tablet mit präzisionsgefertigten Tastaturen ist ein schlankes und leichtes Kraftpaket für höchste Qualitätsstandards im Unternehmen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -168,29379693,168_29379693,HP ElitePad 1000 G2,HP ElitePad 1000 G2,internal_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/h9x49ea/tablets-1000+G2-29379693.html,"Powerful productivity. Take the next step in productivity with the HP ElitePad 1000 G2 Tablet equipped with a 64-bit Intel® processor and the features you need to stay productive in the office or on the go. Control wireless connection, including optional worldwide 4G LTE,1 with HP Connection Manager. Dual cameras help you collaborate or capture the moment. Work the way that suits you best. The ElitePad 1000 G2 supports touch, pen or voice-based input. More than a tablet—a total business solution. The elegant and sleek HP ElitePad 1000 G2 has the performance and flexibility to transform the way you work. Redefine productivity and stay light with the confidence of the leading manageability, security, and support you expect from HP.","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -168,21844742,168_21844742,HP ElitePad 1000 G2,HP ElitePad 1000 G2,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/hp/g5f94aw/tablets-1000+G2-21844742.html,"Powerful productivity. Take the next step in productivity with the HP ElitePad 1000 G2 Tablet equipped with a 64-bit Intel® processor and the features you need to stay productive in the office or on the go. Control wireless connection, including optional worldwide 4G LTE,1 with HP Connection Manager. Dual cameras help you collaborate or capture the moment. Work the way that suits you best. The ElitePad 1000 G2 supports touch, pen or voice-based input. More than a tablet—a total business solution. The elegant and sleek HP ElitePad 1000 G2 has the performance and flexibility to transform the way you work. Redefine productivity and stay light with the confidence of the leading manageability, security, and support you expect from HP.","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -169,25880805,169_25880805,HP Slate 10 Pro EE,HP Slate 10 Pro EE,,,,,,,,,//icecat.de/en/p/hp/l2j96aa/tablets-0889296097754-HP-Slate-10-Pro-10-EE-G1-32GB-Grey-25880805.html,"Let tablet Improve 1:1 learning and elevate student engagement with the Android™ tablet built for schools. The mobility and durability of the HP Pro Slate 10 EE includes learning tools and flexible connectivity to expand education beyond the walls of the classroom, plus professional support and services to help educators confidently incorporate new IT. ","Für Schulen entwickelt Stellen Sie ein Tablet bereit, das speziell für die hohen Anforderungen im Schulalltag entwickelt wurde und dank Intel® Quad-Core-Prozessor, einem entspiegelten HD Touch-Display mit 25,65 cm (10 Zoll) Diagonale und Handschriftunterstützung (mit optimalem Eingabestift) ein 1:1-Lernerlebnis zu einem erschwinglichen Preis bietet. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -170,28516206,170_28516206,HP Pro Tablet 608 G1,HP Pro Tablet 608 G1,internal_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/h9x41ea/tablets-608+G1-28516206.html,"Create efficiencies with mobile solutions Tailor your experience to the needs of your business with a keyboard, cases, portable docking station and more to customize your tablet. Transform your business with this small stylish business tablet equipped with a brilliant, high definition display and the pervasive connectivity to mobilize most any business process. Choose from an expansive choice of accessories for a customized experience. Get business-class security and manageability options on the HP Pro Tablet 608 with HP Client Security, HP Touchpoint Manager and more. ","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -170,28549472,170_28549472,HP Pro Tablet 608 G1,HP Pro Tablet 608 G1,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/hp/h9x40ea-abh/tablets-608+G1-28549472.html,"Create efficiencies with mobile solutions Tailor your experience to the needs of your business with a keyboard, cases, portable docking station and more to customize your tablet. Transform your business with this small stylish business tablet equipped with a brilliant, high definition display and the pervasive connectivity to mobilize most any business process. Choose from an expansive choice of accessories for a customized experience. Get business-class security and manageability options on the HP Pro Tablet 608 with HP Client Security, HP Touchpoint Manager and more. ","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -171,27262160,171_27262160,Lenovo TAB 2 A10,Lenovo TAB 2 A10,,,,,,,,,//de.icecat.biz/en/p/lenovo/za000049de/tablets-0889233451984-A10-70-27262160.html,"Be Immersed. You'll get the best audio experience the A Series line has to offer with the TAB 2 A10's exclusive multi-speaker sound bar. And, available exclusively on 8"" and 10"" TAB 2 models is Dolby Atmos® Cinematic Moving Audio. This unique technology delivers a profound audio experience that seemingly wraps itself around you Enjoy a surround sound-like experience and incredible multimedia immersion all on-the-go with the TAB 2 A8. Work, play, watch, or just tap away on the TAB 2 A10's Full HD (1920 x 1200) IPS display. IPS technology makes it easy to share what you're viewing with friends, and with an ultra-thin, high-transparent touchscreen, every image appears closer, clearer, and sharper. Carry the TAB 2 A10 wherever you go. It's incredibly light at just over a pound, and slim enough that you can store it just about anywhere for convenient mobility. The TAB 2 A10 is easy to keep by your side wherever life takes you. So when you need it, you’ll be reading, listening to music, watching videos, or surfing the Web, all in a snap.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -172,29801891,172_29801891,Lenovo Yoga Tablet 3,Lenovo Yoga Tablet 3,,,,,,,,,//icecat.de/en/p/lenovo/za0a0010de/tablets-3+8-29801891.html,"IMMERSIVE AUDIO The YOGA Tab 3 8 delivers rich home theater sound that you will not experience on any other tablet. The two integrated front-facing speakers and powerfully immersive Dolby Atmos® sound give louder, clearer and dynamic audio… even without headphones! The YOGA Tab 3 8 keeps going and going with its outstanding battery life. With up to 20 hours on one charge, it’s enough to watch two series of your favorite TV show back to back. Scroll through recipes while you cook, check your social feeds while you eat, and watch movies while you work out. The unique kickstand works in four ways to Stand, Tilt, Hold or even Hang the YOGA Tab 3 8 to a way that suits you.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -173,26973306,173_26973306,Samsung Galaxy Tab A SM-T550N,Samsung Galaxy Tab A SM-T550N,,,,,,,,,,"IMMERSIVE AUDIO The YOGA Tab 3 8 delivers rich home theater sound that you will not experience on any other tablet. The two integrated front-facing speakers and powerfully immersive Dolby Atmos® sound give louder, clearer and dynamic audio… even without headphones! The YOGA Tab 3 8 keeps going and going with its outstanding battery life. With up to 20 hours on one charge, it’s enough to watch two series of your favorite TV show back to back. Scroll through recipes while you cook, check your social feeds while you eat, and watch movies while you work out. The unique kickstand works in four ways to Stand, Tilt, Hold or even Hang the YOGA Tab 3 8 to a way that suits you.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -174,27253016,174_27253016,Samsung Galaxy Tab A SM-T550N,Samsung Galaxy Tab A SM-T550N,,,,,,,,,,"IMMERSIVE AUDIO The YOGA Tab 3 8 delivers rich home theater sound that you will not experience on any other tablet. The two integrated front-facing speakers and powerfully immersive Dolby Atmos® sound give louder, clearer and dynamic audio… even without headphones! The YOGA Tab 3 8 keeps going and going with its outstanding battery life. With up to 20 hours on one charge, it’s enough to watch two series of your favorite TV show back to back. Scroll through recipes while you cook, check your social feeds while you eat, and watch movies while you work out. The unique kickstand works in four ways to Stand, Tilt, Hold or even Hang the YOGA Tab 3 8 to a way that suits you.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -175,26564922,175_26564922,Samsung Galaxy Tab A SM-T550N 16 GB,Samsung Galaxy Tab A SM-T550N 16 GB,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/samsung/sm-t550nzka/tablets-SM-T550N-26564922.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Schlankes und modernes Design Das 7,5 mm schlanke Gehäuse verleiht dem Samsung Galaxy Tab A (9.7, Wi-Fi) seine leichte Grazilität, die erkennen lässt wie bequem und griffig es in der Hand gehalten werden kann. Auch das Verstauen fällt dadurch leicht und Sie können es überall hin mitnehmen. Zudem überzeugt das Samsung Galaxy Tab A (9.7, Wi-Fi) mit seiner eleganten Form, den abgerundeten Kanten und den metallisch schimmernden Oberflächen. Dieses Design kombiniert für Ihren mobilen Alltag flexible Portabilität mit einer dem Auge schmeichelnden Optik. Gleich zwei integrierte Kameras sorgen beim Samsung Galaxy Tab A (9.7, Wi-Fi) dafür, dass Sie Ihre Erinnerungen als Foto oder Video festhalten können. Die 5 Megapixel-Hauptkamera hat einen Autofokus, der für knackig scharfe Aufnahmen sorgt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -175,26935356,175_26935356,Samsung Galaxy Tab A SM-T550N 32 GB,Samsung Galaxy Tab A SM-T550N 32 GB,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/samsung/sm-t550nzkaphn/tablets-SM-T550N-26935356.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Schlankes und modernes Design Das 7,5 mm schlanke Gehäuse verleiht dem Samsung Galaxy Tab A (9.7, Wi-Fi) seine leichte Grazilität, die erkennen lässt wie bequem und griffig es in der Hand gehalten werden kann. Auch das Verstauen fällt dadurch leicht und Sie können es überall hin mitnehmen. Zudem überzeugt das Samsung Galaxy Tab A (9.7, Wi-Fi) mit seiner eleganten Form, den abgerundeten Kanten und den metallisch schimmernden Oberflächen. Dieses Design kombiniert für Ihren mobilen Alltag flexible Portabilität mit einer dem Auge schmeichelnden Optik. Gleich zwei integrierte Kameras sorgen beim Samsung Galaxy Tab A (9.7, Wi-Fi) dafür, dass Sie Ihre Erinnerungen als Foto oder Video festhalten können. Die 5 Megapixel-Hauptkamera hat einen Autofokus, der für knackig scharfe Aufnahmen sorgt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -176,29209306,176_29209306,Samsung Galaxy Tab E SM-T560 8 GB,Samsung Galaxy Tab E SM-T560 8 GB,internal_storage_capacity,8 GB,,,,,,,//icecat.de/en/p/samsung/sm-t560nzkabtu/tablets-SM-T560-29209306.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -176,29381409,176_29381409,Samsung Galaxy Tab E SM-T560 16 GB,Samsung Galaxy Tab E SM-T560 16 GB,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/samsung/sm-t560nzkaphn/tablets-SM-T560-29381409.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -176,29536449,176_29536449,Samsung Galaxy Tab E SM-T560 32 GB,Samsung Galaxy Tab E SM-T560 32 GB,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/samsung/sm-t560nzka/tablets-SM-T560-29536449.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -177,24867659,177_24867659,Samsung Galaxy Tab Active 8.0 8 GB,Samsung Galaxy Tab Active 8.0,internal_storage_capacity,8 GB,,,,,,,//icecat.de/en/p/samsung/sm-t365nngabtu/tablets-8.0-24867659.html,"Water and Dust Resistance (IP67) Keep working continuously in virtually any environment with IP67 environmental sealing that protects against damage from water and dust. Gain toughness and stability without sacrificing a premium design with 9.75-mm thickness(without cover) and a 393-gram light weight with rugged reinforcement. Don’t worry about drops or impacts in active business environments. With its included cover, Samsung Galaxy Tab Active is designed to handle drops of up to 1.2 meters with protective cover (3.9 feet). Save time on communications and work process management with easy NFC device pairing and tag reading. A 3.1-megapixel (MP) Auto Focus (AF) camera with a Flash feature enables easy, efficient barcode scanning to facilitate communication and workflow. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -177,24422865,177_24422865,Samsung Galaxy Tab Active 8.0 16 GB,Samsung Galaxy Tab Active 8.0,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/samsung/sm-t365nnga/tablets-8806086421799-Samsung-Galaxy-Tab-Active-8-0-16GB-3G-4G-Titanium-24422865.html,"Water and Dust Resistance (IP67) Keep working continuously in virtually any environment with IP67 environmental sealing that protects against damage from water and dust. Gain toughness and stability without sacrificing a premium design with 9.75-mm thickness(without cover) and a 393-gram light weight with rugged reinforcement. Don’t worry about drops or impacts in active business environments. With its included cover, Samsung Galaxy Tab Active is designed to handle drops of up to 1.2 meters with protective cover (3.9 feet). Save time on communications and work process management with easy NFC device pairing and tag reading. A 3.1-megapixel (MP) Auto Focus (AF) camera with a Flash feature enables easy, efficient barcode scanning to facilitate communication and workflow. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -177,25913296,177_25913296,Samsung Galaxy Tab Active 8.0 32 GB,Samsung Galaxy Tab Active 8.0,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/samsung/sm-t365nngaxez/tablets-8806086550444-Samsung-Galaxy-Tab-Active-SM-T365-16GB-3G-4G-Titanium-25913296.html,"Water and Dust Resistance (IP67) Keep working continuously in virtually any environment with IP67 environmental sealing that protects against damage from water and dust. Gain toughness and stability without sacrificing a premium design with 9.75-mm thickness(without cover) and a 393-gram light weight with rugged reinforcement. Don’t worry about drops or impacts in active business environments. With its included cover, Samsung Galaxy Tab Active is designed to handle drops of up to 1.2 meters with protective cover (3.9 feet). Save time on communications and work process management with easy NFC device pairing and tag reading. A 3.1-megapixel (MP) Auto Focus (AF) camera with a Flash feature enables easy, efficient barcode scanning to facilitate communication and workflow. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -178,29658415,178_29658415,Samsung Galaxy Tab S2 SM-T715,Samsung Galaxy Tab S2 SM-T715,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -179,29658416,179_29658416,Samsung Galaxy Tab S2 SM-T715,Samsung Galaxy Tab S2 SM-T715,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -180,32127058,180_32127058,Samsung Galaxy Tab S2 SM-T813,Samsung Galaxy Tab S2 SM-T813,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -181,31995510,181_31995510,Samsung Galaxy Tab S2 SM-T813,Samsung Galaxy Tab S2 SM-T813,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -182,30345097,182_30345097,Samsung Galaxy View SM-T670,Samsung Galaxy View SM-T670,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Ihre Streaming-Videothek Per WLAN Verbindung erhalten Sie Zugang zu einer riesigen Auswahl an Streaming-Inhalten. Wählen Sie aus zahlreichen Anbietern wie z.B. Netflix oder Maxdome aus und nutzen Sie YouTube™ sowie die Mediatheken vieler TV-Sender. Mit dem Galaxy View bleiben Sie über die Family Square-App auch mit Ihrer Familie und Ihren Freunden in Kontakt. Teilen Sie im Handumdrehen Fotos, Videos oder handschriftliche Notizen. Zusammen mit dem integrierten Standfuß des Samsung Galaxy View haben Sie die Möglichkeit zwei unterschiedliche Betrachtungswinkel einzustellen. Nutzen Sie die aufrechte Position, wenn Sie vor dem Display sitzen und einen Film anschauen wollen. Die flache Position eignet sich sowohl zur Bedienung beim Surfen oder bei den Office-Anwendungen, als auch wenn Sie darauf hinabblicken, z.B. wenn das Tablet auf der Küchenarbeitsplatte liegt und sie Sie ein Kochvideo nachzaubern.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -183,21811723,183_21811723,Sony Xperia SGP512E1,Sony Xperia SGP512E1,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Ihre Streaming-Videothek Per WLAN Verbindung erhalten Sie Zugang zu einer riesigen Auswahl an Streaming-Inhalten. Wählen Sie aus zahlreichen Anbietern wie z.B. Netflix oder Maxdome aus und nutzen Sie YouTube™ sowie die Mediatheken vieler TV-Sender. Mit dem Galaxy View bleiben Sie über die Family Square-App auch mit Ihrer Familie und Ihren Freunden in Kontakt. Teilen Sie im Handumdrehen Fotos, Videos oder handschriftliche Notizen. Zusammen mit dem integrierten Standfuß des Samsung Galaxy View haben Sie die Möglichkeit zwei unterschiedliche Betrachtungswinkel einzustellen. Nutzen Sie die aufrechte Position, wenn Sie vor dem Display sitzen und einen Film anschauen wollen. Die flache Position eignet sich sowohl zur Bedienung beim Surfen oder bei den Office-Anwendungen, als auch wenn Sie darauf hinabblicken, z.B. wenn das Tablet auf der Küchenarbeitsplatte liegt und sie Sie ein Kochvideo nachzaubern.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -184,17365820,184_17365820,Canon LEGRIA HF G25,Canon LEGRIA HF G25,internal_storage_capacity,8 GB,,,,,,,//icecat.de/en/p/canon/8063b004/camcorders-HF+G25-17365820.html,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. Register up to three infants and easily capture and personalize moments as they grow up. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. ","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -184,17494387,184_17494387,Canon LEGRIA HF G25,Canon LEGRIA HF G25,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/canon/8063b011/camcorders-HF+G25-17494387.html,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. Register up to three infants and easily capture and personalize moments as they grow up. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. ","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -184,17560323,184_17560323,Canon LEGRIA HF G25,Canon LEGRIA HF G25,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/canon/8063b012/camcorders-HF+G25-17560323.html,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. Register up to three infants and easily capture and personalize moments as they grow up. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. ","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -185,25904533,185_25904533,Canon LEGRIA HF R606,Canon LEGRIA HF R606,,,,,,,,,,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. Slow motion images can be recorded at a speed down to 1/2x and fast motion images up to 1200x.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -186,25904506,186_25904506,Canon LEGRIA HF R606,Canon LEGRIA HF R606,,,,,,,,,,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. Slow motion images can be recorded at a speed down to 1/2x and fast motion images up to 1200x.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -187,26306352,187_26306352,Ricoh WG-5 GPS,Ricoh WG-5 GPS,,,,,,,,,,"Superior depiction and mobility. Superior image depiction under extreme conditions. The new WG-5 GPS. The camera has superior brightness with the folded optic zoom lens and is equipped with a high-performance 4.0x optical zoom lens of maximum aperture 2.0. Since the lens is bright, the sensitivity is suppressed even when shooting with the same shutter speed and allows recording in high image quality in dark scenes. [Auto Picture Mode] The camera automatically recognizes scenes and sets an optimal shooting mode. You can capture beautiful photos through automatic camera operations.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -188,26306353,188_26306353,Ricoh WG-5 GPS,Ricoh WG-5 GPS,,,,,,,,,,"Superior depiction and mobility. Superior image depiction under extreme conditions. The new WG-5 GPS. The camera has superior brightness with the folded optic zoom lens and is equipped with a high-performance 4.0x optical zoom lens of maximum aperture 2.0. Since the lens is bright, the sensitivity is suppressed even when shooting with the same shutter speed and allows recording in high image quality in dark scenes. [Auto Picture Mode] The camera automatically recognizes scenes and sets an optimal shooting mode. You can capture beautiful photos through automatic camera operations.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -189,30150732,189_30150732,Ricoh Theta,Ricoh Theta,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -190,25111746,190_25111746,Ricoh Theta,Ricoh Theta,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -191,17681791,191_17681791,Samsung F90BN,Samsung F90BN,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -192,17738941,192_17738941,Samsung F90BN,Samsung F90BN,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -193,32124735,193_32124735,Sony FDR-AX40,Sony FDR-AX40,,,,,,,,,,"Friendly features for fascinating movies The top-flight 4K Handycam® makes movies more magical. Balanced Optical SteadyShot™ and Fast Intelligent AF are reassuringly responsive. Surround sound recording enhances natural dimension. High-speed recording, Time-lapse Capture and other effects make movies more expressive. So many of the camcorder’s sophisticated functions are all so user-friendly. Superior image stabilisation lets you shoot steadily throughout the zoom range even as you walk. New mic structure captures sound from five directions with approximately 40% less noise for realistic ambience.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -194,25904145,194_25904145,Sony FDR-AXP33,Sony FDR-AXP33,,,,,,,,,,"Friendly features for fascinating movies The top-flight 4K Handycam® makes movies more magical. Balanced Optical SteadyShot™ and Fast Intelligent AF are reassuringly responsive. Surround sound recording enhances natural dimension. High-speed recording, Time-lapse Capture and other effects make movies more expressive. So many of the camcorder’s sophisticated functions are all so user-friendly. Superior image stabilisation lets you shoot steadily throughout the zoom range even as you walk. New mic structure captures sound from five directions with approximately 40% less noise for realistic ambience.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -195,25904159,195_25904159,Sony FDR-AXP33,Sony FDR-AXP33,,,,,,,,,,"Friendly features for fascinating movies The top-flight 4K Handycam® makes movies more magical. Balanced Optical SteadyShot™ and Fast Intelligent AF are reassuringly responsive. Surround sound recording enhances natural dimension. High-speed recording, Time-lapse Capture and other effects make movies more expressive. So many of the camcorder’s sophisticated functions are all so user-friendly. Superior image stabilisation lets you shoot steadily throughout the zoom range even as you walk. New mic structure captures sound from five directions with approximately 40% less noise for realistic ambience.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -196,23120327,196_23120327,Sony HDR-AS20,Sony HDR-AS20,,,,,,,,,,"Ideal for extreme sports and outdoor enthusiasts Exmor R™ CMOS sensor with enhanced sensitivity always gets the shot: Mountain-biking downhill at breakneck speed…at dusk? Kayaking at dawn? Your footage is still going to look great; thanks to the low-light sensitivity with improved image clarity and drastically reduced grain provided by Sony’s Exmor R™ CMOS sensor. Control up to five cameras with optional Live View Remote: Using the optional RM-LVR1 Live View Remote accessory you can control up to five cameras via Wi-Fi right from your wrist. Frame your shots, control the cameras’ recording settings, and start/stop recording to get impressive footage from five sources simultaneously. 4-video editing with Video Merge: Video Merge lets you combine up to four movie footage segments (even slow-motion parts) captured simultaneously by different cameras, and make a split-screen composite. With this unique feature anyone can create impressive movies without mastering complex editing software. (Available at PlayMemories Home: ver. 3.1.10 or later for Windows, and 1.1.10 or later for Mac.).","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -197,21421718,197_21421718,Sony HDR-AS20,Sony HDR-AS20,,,,,,,,,,"Ideal for extreme sports and outdoor enthusiasts Exmor R™ CMOS sensor with enhanced sensitivity always gets the shot: Mountain-biking downhill at breakneck speed…at dusk? Kayaking at dawn? Your footage is still going to look great; thanks to the low-light sensitivity with improved image clarity and drastically reduced grain provided by Sony’s Exmor R™ CMOS sensor. Control up to five cameras with optional Live View Remote: Using the optional RM-LVR1 Live View Remote accessory you can control up to five cameras via Wi-Fi right from your wrist. Frame your shots, control the cameras’ recording settings, and start/stop recording to get impressive footage from five sources simultaneously. 4-video editing with Video Merge: Video Merge lets you combine up to four movie footage segments (even slow-motion parts) captured simultaneously by different cameras, and make a split-screen composite. With this unique feature anyone can create impressive movies without mastering complex editing software. (Available at PlayMemories Home: ver. 3.1.10 or later for Windows, and 1.1.10 or later for Mac.).","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -198,19692589,198_19692589,Sony HDR-MV1,Sony HDR-MV1,,,,,,,,,,"Keep and treasure great performances HDR-MV1 lets you capture those magical musical moments in Full HD and better than CD-quality sound. Features such as a wide-angle Carl Zeiss lens, a sensitive Exmor R™ CMOS sensor and X-Y directional microphone system ensure great pictures and crisp, clear surround sound. Capture every detail of a musical performance in crisp, clear stereo sound. Record in Linear PCM format with no compression, and you'll enjoy sound quality that's better than CD. Or record in web-friendly AAC format – great for speedy Internet uploads. Whether in a music studio, rehearsal room or on stage, the HDR-MV1Music video recorder lets you capture every detail of the action in Full HD. And with audio lip sync your sound is always precisely matched to the video playback, with no irritating lag.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -199,7016823,199_7016823,Sony HXR-MC2500,Sony HXR-MC2500,flash_memory,16 GB,,,,,,,//icecat.de/en/p/sony/hxr-mc2000e/camcorders-HXR-MC2000E-7016823.html,"Keep and treasure great performances HDR-MV1 lets you capture those magical musical moments in Full HD and better than CD-quality sound. Features such as a wide-angle Carl Zeiss lens, a sensitive Exmor R™ CMOS sensor and X-Y directional microphone system ensure great pictures and crisp, clear surround sound. Capture every detail of a musical performance in crisp, clear stereo sound. Record in Linear PCM format with no compression, and you'll enjoy sound quality that's better than CD. Or record in web-friendly AAC format – great for speedy Internet uploads. Whether in a music studio, rehearsal room or on stage, the HDR-MV1Music video recorder lets you capture every detail of the action in Full HD. And with audio lip sync your sound is always precisely matched to the video playback, with no irritating lag.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -199,24788780,199_24788780,Sony HXR-MC2500,Sony HXR-MC2500,flash_memory,32 GB,,,,,,,,"Keep and treasure great performances HDR-MV1 lets you capture those magical musical moments in Full HD and better than CD-quality sound. Features such as a wide-angle Carl Zeiss lens, a sensitive Exmor R™ CMOS sensor and X-Y directional microphone system ensure great pictures and crisp, clear surround sound. Capture every detail of a musical performance in crisp, clear stereo sound. Record in Linear PCM format with no compression, and you'll enjoy sound quality that's better than CD. Or record in web-friendly AAC format – great for speedy Internet uploads. Whether in a music studio, rehearsal room or on stage, the HDR-MV1Music video recorder lets you capture every detail of the action in Full HD. And with audio lip sync your sound is always precisely matched to the video playback, with no irritating lag.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -200,5787536,200_5787536,Sony HXR-MC50E,Sony HXR-MC50E,,,,,,,,,,"Exceptional Optical Technologies With the HXR-MC50E you’ll see the difference in every shot, especially in those all important situations where lighting cannot be controlled. The HXR-MC50E is equipped with Optical SteadyShot Active Mode anti-shake technology which means you can capture steady, smooth, high-quality content with your camcorder, even when moving or zooming in or out. This product comes with the full PrimeSupport package. That’s fast, hassle-free repairs, a helpline offering expert technical advice, and a free loan unit while yours is repaired. Plus the peace of mind that Sony is looking after your equipment – and your business. ","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -201,11217755,201_11217755,Sony NEX-VG20EH,Sony NEX-VG20EH,total_megapixels,16.1 MP,,,,,,,,"Unlimited creative expression Shoot cinematic Full HD video with the pro-style creative flexibility of interchangeable lenses. Capture exquisite video and still photos with superb detail and shallow depth of field - just like a DSLR camera - plus high-quality stereo/5.1ch sound. Achieve that rich, cinematic look for your HD videos with sumptuous image quality, even in low light. Create stunning background defocus ('bokeh') effects - just like the expressive picture quality of a DSLR camera. Capture pristine dialogue and other sounds in stereo or 5.1 channel surround with the precision Quad Capsule Spatial Array Microphone. A handy level control plus jacks for an external mic and headphones add that extra professional touch.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -202,5782479,202_5782479,Sony NEX-VG20EH,Sony NEX-VG20EH,total_megapixels,14.6 MP,,,,,,,,"Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second. Add some power to your shots: Add an E-mount lens with a power zoom and smoothly focus in on your subject with up to 11x magnification. Capture it all in HD: Capture all the detail with Full HD 1920 x 1080 video shooting (AVCHD format) at 24mbs for increased detail and clarity. DSLR quality photos: Shoot stills with DSLR-like picture quality and shallow depth of field for professional looking shots.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -203,15619960,203_15619960,Sony NEX-VG30E,Sony NEX-VG30E,,,,,,,,,,"Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second. Add some power to your shots: Add an E-mount lens with a power zoom and smoothly focus in on your subject with up to 11x magnification. Capture it all in HD: Capture all the detail with Full HD 1920 x 1080 video shooting (AVCHD format) at 24mbs for increased detail and clarity. DSLR quality photos: Shoot stills with DSLR-like picture quality and shallow depth of field for professional looking shots.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -204,29851280,204_29851280,Sony PXW-FS5K,Sony PXW-FS5K,,,,,,,,,,"Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second. Add some power to your shots: Add an E-mount lens with a power zoom and smoothly focus in on your subject with up to 11x magnification. Capture it all in HD: Capture all the detail with Full HD 1920 x 1080 video shooting (AVCHD format) at 24mbs for increased detail and clarity. DSLR quality photos: Shoot stills with DSLR-like picture quality and shallow depth of field for professional looking shots.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -205,6350138,205_6350138,Toshiba CAMILEO S30,Toshiba Camileo S30,,,,,,,,,,"Reach out Reach out with your 10x digital zoom and control recordings on the large 3-inch touchscreen LCD monitor. Create multi-scene video files thanks to the new Pause feature button! Save the best moments of your life with your CAMILEO S30 camcorder. Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -206,6429825,206_6429825,Toshiba CAMILEO S30,Toshiba Camileo S30,,,,,,,,,,"Reach out Reach out with your 10x digital zoom and control recordings on the large 3-inch touchscreen LCD monitor. Create multi-scene video files thanks to the new Pause feature button! Save the best moments of your life with your CAMILEO S30 camcorder. Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -207,15721464,207_15721464,Toshiba CAMILEO P20,Toshiba CAMILEO P20,,,,,,,,,,"Experience it The Toshiba Full HD Camileo S40 is eye catching in more ways than one. Its attractive, super-slim design allows you to take it everywhere, so you can capture everything that pleases you. Featuring a choice of colour accents, it also doubles as an elegant 16 megapixel digital still camera. Just pull it out of your pocket, and shoot stunning 1920x1080p Full HD video with up to 5x digital zoom. 10x digital zoom is available for HD and VGA resolution. Electronic Image Stabilisation (EIS) is built in for great results -- and sharing to social networks is a breeze thanks to Camileo Uploader software.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -208,14678762,208_14678762,Toshiba CAMILEO P20,Toshiba CAMILEO P20,,,,,,,,,,"Experience it The Toshiba Full HD Camileo S40 is eye catching in more ways than one. Its attractive, super-slim design allows you to take it everywhere, so you can capture everything that pleases you. Featuring a choice of colour accents, it also doubles as an elegant 16 megapixel digital still camera. Just pull it out of your pocket, and shoot stunning 1920x1080p Full HD video with up to 5x digital zoom. 10x digital zoom is available for HD and VGA resolution. Electronic Image Stabilisation (EIS) is built in for great results -- and sharing to social networks is a breeze thanks to Camileo Uploader software.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -209,12554247,209_12554247,Toshiba CAMILEO S20,Toshiba CAMILEO S20,,,,,,,,,,"Capture. Edit. Share. Previewing, watching and sharing your videos don't get any easier. The S30 is equipped with a large 3"" swiveling LCD with touch for convenient access to menus. Share your memories with your family and friends by uploading to YouTube, Facebook, TwitVid, and Picasa with the one-touch Internet upload button, or watch them directly on your TV with the included HDMI® cable. The CAMILEO® S30 sports 1920x1080p Full HD Video, 16x digital zoom, and video stabilization. The S30 also doubles as an 8 Megapixel digital still camera. The S30 has multiple recording modes: macro for close-up shots, motion detection for surveillance, slow motion for sports, time lapse for condensing extended footage, and pre-record so you won't miss those special moments.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -210,123,210_123,Sony Bundle,Sony Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,Sony,//icecat.de/en/p/sony/hdras20b/action-sports-cameras-HDR-AS20-23120327.html,"This is a unique product bundle featuring various Sony products. Items in this bundle are 1 x Sony HDR-AS20, 1 x Sony SmartWatch 3, and 1 x Sony Xperia Z3 Compact.","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Sony beinhaltet. Diese sind 1 x Sony HDR-AS20, 1 x Sony SmartWatch 3,sowie 1 x Sony Xperia Z3 Compact.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","196_23120327/1, 090_24495844/1, 076_24394207/1" -211,123,211_123,HP Bundle,HP Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,HP,//icecat.de/en/p/hp/n1a81ea/notebooks-11+G4-29554292.html,"This is a unique product bundle featuring various HP products. Items in this bundle are 1 x HP Chromebook 11, 1 x HP Z 620, and 1 x HP 200 280 G1.","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von HP beinhaltet. Diese sind 1 x HP Chromebook 11, 1 x HP Z 620,sowie 1 x HP 200 280 G1.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","150_29554292/1, 127_22828284/1, 121_29406823/1" -212,123,212_123,ASUS Bundle,ASUS Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,ASUS,//uk.icecat.biz/en/p/asus/90hc0021-m00h10/sport-watches-ASUS-VivoWatch-27207215.html,"This is a unique product bundle featuring various Asus products. Items in this bundle are 2 x ASUS VivoWatch, and 1 x ASUS M.","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Asus beinhaltet. Diese sind 2 x ASUS VivoWatch, sowie 1 x ASUS M.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","099_27207215/2, 114_29911081/1" -213,123,213_123,Lenovo Bundle,Lenovo Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,Lenovo,//icecat.de/en/p/lenovo/30ah0047ge/pcs-workstations-P300-24725761.html,This is a unique product bundle featuring various Lenovo products. Items in this bundle are 3 x Lenovo ThinkStation P300.,"Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Lenovo beinhaltet. Diese sind 3 x Lenovo ThinkStation P300.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",130_24725761/3 -214,123,214_123,Samsung Bundle,Samsung Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,Samsung,//icecat.de/en/p/samsung/sm-t550nzkaphn/tablets-SM-T550N-26935356.html,"This is a unique product bundle featuring various Samsung products. Items in this bundle are 2 x Samsung Galaxy Tab A SM-T550N 32 GB, 3 x Samsung Galaxy Gear, and 1 x Samsung Galaxy S5 mini","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Samsung beinhaltet. Diese sind 2 x Samsung Galaxy Tab A SM-T550N 32 GB, 3 x Samsung Galaxy Gear,sowie 1 x Sony Xperia Z3 Compact",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","175_26935356/2, 110_19682159/3, 067_24241408/1" -215,,215_123,ASUS HDMI-HDMI Black,ASUS HDMI-HDMI Schwarz,color,black,,,,,brand,ASUS,//de.icecat.biz/p/asus/90xb00p0-bca010/hdmi-kabel-4716659427889-ASUS-HDMI-HDMI-3m-3m-HDMI-HDMI-Schwarz-HDMI-Kabel-20757150.html,HDMI to HDMI High Speed Cable,Hochgeschwindigkeits HDMI zu HDMI Kabel,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -215,,215_124,ASUS HDMI-HDMI Red,ASUS HDMI-HDMI Rot,color,red,,,,,brand,ASUS,//de.icecat.biz/p/asus/90xb00p0-bca010/hdmi-kabel-4716659427889-ASUS-HDMI-HDMI-3m-3m-HDMI-HDMI-Schwarz-HDMI-Kabel-20757150.html,HDMI to HDMI High Speed Cable,Hochgeschwindigkeits HDMI zu HDMI Kabel,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -216,,216_123,Neklan 500m Cat6 UTP Cable (DRUM),Neklan 500m Cat6 UTP Kabel (Trommel),,,,,,,brand,Neklan,//de.icecat.biz/prefere/de/p/neklan/3010099/networking-cables-Neklan-500m-Cat6-UTP-500m-Cat6-U-UTP-UTP-Grey-networking-cable-9509292.html,"Neklan 500m Cat6 UTP. Cable length: 500 m, Cable standard: Cat6, Cable shielding: U/UTP (UTP), Cable colour: Grey","Neklan 500m Cat6 UTP. Kabellänge: 500 m, Kabelstandard: Cat6, Kabelschirmung: U/UTP (UTP), Kabelfarbe: Grau",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -217,,217_123,APC Cable parallel printer bi-directional (Ring),APC Kabel parallel printer bi-directional (Ring),,,,,,,brand,Neklan,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -217,,217_1231,APC Cable parallel printer bi-directional (Ring 500m),,packaging_unit,Ring (500m),,,,,brand,Neklan,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -218,,218_123,Chocolate Bar ,Schokoladentafel,,,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Box of Chocolat Frey Splendor. Contents: From 3 until 5 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Chocolat Frey Splendor. Inhalt: 100 g, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.", -218,,218_1231,Chocolate Bar (Box 500g) ,Schokoladentafel (Box 500g),packaging_unit,Box,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Box of Chocolat Frey Splendor. Contents: From 3 until 5 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Box mit Chocolat Frey Splendor. Inhalt: Von 3 bis zu 5 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,, -218,,218_1232,Chocolate Bar (Palette) ,Schokoladentafel (Palette),packaging_unit,Palette,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Palette of Chocolat Frey Splendor. Contents: 5000 - 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Palette mit Chocolat Frey Splendor. Inhalt: 5000 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,, -218,,218_1233,Chocolate Bar (Giftbox) ,Schokoladentafel (Geschenkbox),packaging_unit,Giftbox,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Giftbox of Chocolat Frey Splendor. Contents: 5x100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Geschenkebox mit Chocolat Frey Splendor. Inhalt: 5 x 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,, -218,,218_1234,Chocolate Bar (Valentine's special) ,Schokoladentafel (Valentinstag spezial),packaging_unit,Valentine's special,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Valentine's special with Chocolat Frey Splendor. Contents: 10x100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Valentinstag spezial mit Überraschungsschokolade Inhalt: 10 x 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,, \ No newline at end of file +abstract_sku,old_sku,concrete_sku,name.en_US,name.de_DE,attribute_key_1,value_1,attribute_key_1.en_US,value_1.en_US,attribute_key_1.de_DE,value_1.de_DE,attribute_key_2,value_2,icecat_pdp_url,description.en_US,description.de_DE,is_searchable.en_US,is_searchable.de_DE,icecat_license,bundled,is_quantity_splittable +001,25904006,001_25904006,Canon IXUS 160,Canon IXUS 160,,,,,,,,,,"Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.","Beeindruckende Aufnahmen, ganz einfach Smart Auto ermöglicht die mühelose Aufnahme von fantastischen Fotos und Movies – die Kamera wählt in diesem Modus automatisch die idealen Einstellungen für die jeweilige Aufnahmesituation. Sie müssen nur noch das Motiv anvisieren und auslösen. Ein Druck auf die Hilfe-Taste führt zu leicht verständlichen Erklärungen der Kamerafunktionen. Zahlreiche Kreativfilter laden zum Experimentieren ein und bieten echten Fotospaß. So lässt sich neben vielen anderen Optionen der Verzeichnungseffekt eines Fisheye-Objektivs nachempfinden oder in Fotos und Movies werden die Dinge wie Miniaturmodelle dargestellt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +002,25904004,002_25904004,Canon IXUS 160,Canon IXUS 160,,,,,,,,,,"Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.","Beeindruckende Aufnahmen, ganz einfach Smart Auto ermöglicht die mühelose Aufnahme von fantastischen Fotos und Movies – die Kamera wählt in diesem Modus automatisch die idealen Einstellungen für die jeweilige Aufnahmesituation. Sie müssen nur noch das Motiv anvisieren und auslösen. Ein Druck auf die Hilfe-Taste führt zu leicht verständlichen Erklärungen der Kamerafunktionen. Zahlreiche Kreativfilter laden zum Experimentieren ein und bieten echten Fotospaß. So lässt sich neben vielen anderen Optionen der Verzeichnungseffekt eines Fisheye-Objektivs nachempfinden oder in Fotos und Movies werden die Dinge wie Miniaturmodelle dargestellt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +003,26138343,003_26138343,Canon IXUS 160,Canon IXUS 160,,,,,,,,,,"Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.","Beeindruckende Aufnahmen, ganz einfach Smart Auto ermöglicht die mühelose Aufnahme von fantastischen Fotos und Movies – die Kamera wählt in diesem Modus automatisch die idealen Einstellungen für die jeweilige Aufnahmesituation. Sie müssen nur noch das Motiv anvisieren und auslösen. Ein Druck auf die Hilfe-Taste führt zu leicht verständlichen Erklärungen der Kamerafunktionen. Zahlreiche Kreativfilter laden zum Experimentieren ein und bieten echten Fotospaß. So lässt sich neben vielen anderen Optionen der Verzeichnungseffekt eines Fisheye-Objektivs nachempfinden oder in Fotos und Movies werden die Dinge wie Miniaturmodelle dargestellt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +004,30663302,004_30663302,Canon IXUS 175,Canon IXUS 175,,,,,,,,,,"Creative play Play with your creativity using a range of Creative Filters. Re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more. Capture the stunning detail in everyday subjects using 1 cm Macro to get right up close. Enjoy exceptional quality, detailed images thanks to 20.0 Megapixels and DIGIC 4+ processing. Face Detection technology makes capturing great shots of friends effortless, while Auto Zoom intelligently helps you select the best framing at the touch of a button.","Stil im Taschenformat Diese ultraschlanke und schicke IXUS passt in jede Hand- oder Jackentasche und bietet dabei ein flexibles 28-mm-Weitwinkelobjektiv mit 8fach optischem Zoom (16fach ZoomPlus). Wo immer Sie also sind, können Sie jedes Motiv – von ganz nahen bis weit entfernt – in erstklassigen Fotos und Movies festhalten. Der Eco-Modus reduziert den Stromverbrauch der Kamera und ermöglicht längere Aufnahmezeiten. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Einfach nur die Taste drücken und schon beginnt die HD-Movieaufnahme (720p) im MP4-Format. Für kreative Vielseitigkeit lässt sich der optische Zoom auch im Movie-Modus einsetzen und die Aufnahmen werden hochwertig und gestochen scharf.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +005,30663301,005_30663301,Canon IXUS 175,Canon IXUS 175,,,,,,,,,,"Creative play Play with your creativity using a range of Creative Filters. Re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more. Capture the stunning detail in everyday subjects using 1 cm Macro to get right up close. Enjoy exceptional quality, detailed images thanks to 20.0 Megapixels and DIGIC 4+ processing. Face Detection technology makes capturing great shots of friends effortless, while Auto Zoom intelligently helps you select the best framing at the touch of a button.","Stil im Taschenformat Diese ultraschlanke und schicke IXUS passt in jede Hand- oder Jackentasche und bietet dabei ein flexibles 28-mm-Weitwinkelobjektiv mit 8fach optischem Zoom (16fach ZoomPlus). Wo immer Sie also sind, können Sie jedes Motiv – von ganz nahen bis weit entfernt – in erstklassigen Fotos und Movies festhalten. Der Eco-Modus reduziert den Stromverbrauch der Kamera und ermöglicht längere Aufnahmezeiten. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Einfach nur die Taste drücken und schon beginnt die HD-Movieaufnahme (720p) im MP4-Format. Für kreative Vielseitigkeit lässt sich der optische Zoom auch im Movie-Modus einsetzen und die Aufnahmen werden hochwertig und gestochen scharf.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +006,30692993,006_30692993,Canon IXUS 175,Canon IXUS 175,,,,,,,,,,"Creative play Play with your creativity using a range of Creative Filters. Re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more. Capture the stunning detail in everyday subjects using 1 cm Macro to get right up close. Enjoy exceptional quality, detailed images thanks to 20.0 Megapixels and DIGIC 4+ processing. Face Detection technology makes capturing great shots of friends effortless, while Auto Zoom intelligently helps you select the best framing at the touch of a button.","Stil im Taschenformat Diese ultraschlanke und schicke IXUS passt in jede Hand- oder Jackentasche und bietet dabei ein flexibles 28-mm-Weitwinkelobjektiv mit 8fach optischem Zoom (16fach ZoomPlus). Wo immer Sie also sind, können Sie jedes Motiv – von ganz nahen bis weit entfernt – in erstklassigen Fotos und Movies festhalten. Der Eco-Modus reduziert den Stromverbrauch der Kamera und ermöglicht längere Aufnahmezeiten. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Einfach nur die Taste drücken und schon beginnt die HD-Movieaufnahme (720p) im MP4-Format. Für kreative Vielseitigkeit lässt sich der optische Zoom auch im Movie-Modus einsetzen und die Aufnahmen werden hochwertig und gestochen scharf.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +007,30691822,007_30691822,Canon IXUS 285,Canon IXUS 285,,,,,,,,,,"Quick connections Connect to your compatible smart device with just one tap using Wi-Fi with Dynamic NFC for easy sharing. Use Image Sync to automatically back-up new images to cloud services and capture great group shots with wireless Remote Shooting from your smart device. The Wi-Fi Button offers a quick and easy shortcut to Wi-Fi functions. This ultra-slim and stylish metal-bodied IXUS is easy to carry with you wherever you go and features a flexible 25mm ultra-wide 12x optical zoom lens with 24x ZoomPlus; so you can easily capture every moment, near or far, in superb quality photos and movies. Auto Zoom helps you select the best framing at the touch of a button.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +008,30692992,008_30692992,Canon IXUS 285,Canon IXUS 285,,,,,,,,,,"Quick connections Connect to your compatible smart device with just one tap using Wi-Fi with Dynamic NFC for easy sharing. Use Image Sync to automatically back-up new images to cloud services and capture great group shots with wireless Remote Shooting from your smart device. The Wi-Fi Button offers a quick and easy shortcut to Wi-Fi functions. This ultra-slim and stylish metal-bodied IXUS is easy to carry with you wherever you go and features a flexible 25mm ultra-wide 12x optical zoom lens with 24x ZoomPlus; so you can easily capture every moment, near or far, in superb quality photos and movies. Auto Zoom helps you select the best framing at the touch of a button.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +009,30692991,009_30692991,Canon IXUS 285,Canon IXUS 285,,,,,,,,,,"Quick connections Connect to your compatible smart device with just one tap using Wi-Fi with Dynamic NFC for easy sharing. Use Image Sync to automatically back-up new images to cloud services and capture great group shots with wireless Remote Shooting from your smart device. The Wi-Fi Button offers a quick and easy shortcut to Wi-Fi functions. This ultra-slim and stylish metal-bodied IXUS is easy to carry with you wherever you go and features a flexible 25mm ultra-wide 12x optical zoom lens with 24x ZoomPlus; so you can easily capture every moment, near or far, in superb quality photos and movies. Auto Zoom helps you select the best framing at the touch of a button.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +010,30692994,010_30692994,Canon IXUS 180,Canon IXUS 180,,,,,,,,,,"Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control and choose the perfect camera settings for you. Play with your creativity in stills or movies using a range of Creative Filters such as Fish Eye, Miniature and Toy Camera. Enjoy exceptional quality, detailed images ideal for creating stunning poster sized prints thanks to 20.0 Megapixels and DIGIC 4+ processing. An intelligent optical Image Stabilizer ensures sharp stills and steady movies in any situation, while the 6.8 cm (2.7”) LCD screen allows easy viewing and sharing.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +011,30775359,011_30775359,Canon IXUS 180,Canon IXUS 180,,,,,,,,,,"Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control and choose the perfect camera settings for you. Play with your creativity in stills or movies using a range of Creative Filters such as Fish Eye, Miniature and Toy Camera. Enjoy exceptional quality, detailed images ideal for creating stunning poster sized prints thanks to 20.0 Megapixels and DIGIC 4+ processing. An intelligent optical Image Stabilizer ensures sharp stills and steady movies in any situation, while the 6.8 cm (2.7”) LCD screen allows easy viewing and sharing.",No Description,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +012,25904598,012_25904598,Canon IXUS 165,Canon IXUS 165,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +013,25904584,013_25904584,Canon IXUS 165,Canon IXUS 165,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +014,25919241,014_25919241,Canon IXUS 177,Canon IXUS 177,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +015,25904009,015_25904009,Canon IXUS 177,Canon IXUS 177,,,,,,,,,,"Stunning images with ease Easily shoot fantastic photos or movies with Smart Auto, which chooses the perfect camera settings for you – whatever the scene. All you have to do is point and shoot. Use the Help Button for quick, easy-to-follow guidance on using your camera and its functions. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions. Experiment and have fun with a range of Creative Filters. You can re-create the distortion of a fish-eye lens, make scenes in stills or movies look like miniature scale models and much more.a","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +016,21748907,016_21748907,Sony Cyber-shot DSC-W800,Sony Cyber-shot DSC-W800,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +017,21748906,017_21748906,Sony Cyber-shot DSC-W800,Sony Cyber-shot DSC-W800,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +018,21081477,018_21081477,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +019,21081473,019_21081473,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +020,21081478,020_21081478,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +021,21081475,021_21081475,Sony Cyber-shot DSC-W830,Sony Cyber-shot DSC-W830,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +022,21994751,022_21994751,Sony Cyber-shot DSC-WX220,Sony Cyber-shot DSC-WX220,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +023,21758366,023_21758366,Sony Cyber-shot DSC-WX220,Sony Cyber-shot DSC-WX220,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +024,21987578,024_21987578,Sony Cyber-shot DSC-WX350,Sony Cyber-shot DSC-WX350,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +025,21764665,025_21764665,Sony Cyber-shot DSC-WX350,Sony Cyber-shot DSC-WX350,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +026,21748904,026_21748904,Sony Cyber-shot DSC-WX350,Sony Cyber-shot DSC-WX350,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +027,26976107,027_26976107,Sony Cyber-shot DSC-WX500,Sony Cyber-shot DSC-WX500,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +028,26976108,028_26976108,Sony Cyber-shot DSC-WX500,Sony Cyber-shot DSC-WX500,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +029,26976109,029_26976109,Sony Cyber-shot DSC-WX500,Sony Cyber-shot DSC-WX500,,,,,,,,,,"Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +030,30021698,030_30021698,Canon PowerShot G9 X,Canon PowerShot G9 X,,,,,,,,,,"Impressive image quality Stunning videos. A camera that’s slim and comfortable. The PowerShot G9 X camera is all this and more, featuring a 20.2 Megapixel, 1.0-inch High-Sensitivity CMOS sensor, Canon’s powerful DIGIC 6 Image Processor and a fast, f/2.0–4.9 lens that helps you capture inspiring images – even in low light – with detail and color to match. Whether you carry it in your hand, a bag or inside a pocket, the PowerShot G9 X can accompany you anywhere you go and is slim enough to quickly be in your grasp when opportunity knocks. Subjects in the distance become closer with a 3x Optical Zoom lens (28–84mm equivalent). Movement can be captured in stunning Full HD video, or frozen in beautiful increments with up to 6.0 fps continuous shooting.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +031,30021637,031_30021637,Canon PowerShot G9 X,Canon PowerShot G9 X,,,,,,,,,,"Impressive image quality Stunning videos. A camera that’s slim and comfortable. The PowerShot G9 X camera is all this and more, featuring a 20.2 Megapixel, 1.0-inch High-Sensitivity CMOS sensor, Canon’s powerful DIGIC 6 Image Processor and a fast, f/2.0–4.9 lens that helps you capture inspiring images – even in low light – with detail and color to match. Whether you carry it in your hand, a bag or inside a pocket, the PowerShot G9 X can accompany you anywhere you go and is slim enough to quickly be in your grasp when opportunity knocks. Subjects in the distance become closer with a 3x Optical Zoom lens (28–84mm equivalent). Movement can be captured in stunning Full HD video, or frozen in beautiful increments with up to 6.0 fps continuous shooting.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +032,32125551,032_32125551,Canon PowerShot SC620,Canon PowerShot SC620,,,,,,,,,,"Intelligent IS Whether you're taking a vacation, celebrating a special family occasion or just having some everyday fun, the slim and sleek PowerShot SX620 HS camera is ready for your next shot. Enjoy the versatility of a powerful 25x (25-625mm) Optical Zoom for subjects both near and far. Equipped with Intelligent IS for optimized image stabilization, it helps capture everything from lovely close-ups to distant sights virtually shake-free, with confidence. You can then show off your photos with built-in Wi-Fi® and NFC, which lets you transfer them to your compatible devices and upload to select social networking sites for your family, friends and the world to see. Stunning image quality comes via a 20.2 Megapixel CMOS sensor and the DIGIC 4+ Image Processor for beautiful shots whether you're picnicking during the day or camping at night. If videos are more your thing, rest assured they'll have gorgeous detail with 1080p Full HD video at your fingertips.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +033,32125568,033_32125568,Canon PowerShot SC620,Canon PowerShot SC620,,,,,,,,,,"Intelligent IS Whether you're taking a vacation, celebrating a special family occasion or just having some everyday fun, the slim and sleek PowerShot SX620 HS camera is ready for your next shot. Enjoy the versatility of a powerful 25x (25-625mm) Optical Zoom for subjects both near and far. Equipped with Intelligent IS for optimized image stabilization, it helps capture everything from lovely close-ups to distant sights virtually shake-free, with confidence. You can then show off your photos with built-in Wi-Fi® and NFC, which lets you transfer them to your compatible devices and upload to select social networking sites for your family, friends and the world to see. Stunning image quality comes via a 20.2 Megapixel CMOS sensor and the DIGIC 4+ Image Processor for beautiful shots whether you're picnicking during the day or camping at night. If videos are more your thing, rest assured they'll have gorgeous detail with 1080p Full HD video at your fingertips.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +034,32125390,034_32125390,Canon PowerShot SC620,Canon PowerShot SC620,,,,,,,,,,"Intelligent IS Whether you're taking a vacation, celebrating a special family occasion or just having some everyday fun, the slim and sleek PowerShot SX620 HS camera is ready for your next shot. Enjoy the versatility of a powerful 25x (25-625mm) Optical Zoom for subjects both near and far. Equipped with Intelligent IS for optimized image stabilization, it helps capture everything from lovely close-ups to distant sights virtually shake-free, with confidence. You can then show off your photos with built-in Wi-Fi® and NFC, which lets you transfer them to your compatible devices and upload to select social networking sites for your family, friends and the world to see. Stunning image quality comes via a 20.2 Megapixel CMOS sensor and the DIGIC 4+ Image Processor for beautiful shots whether you're picnicking during the day or camping at night. If videos are more your thing, rest assured they'll have gorgeous detail with 1080p Full HD video at your fingertips.","Außergewöhnlicher Detailreichtum, damit alles in Erinnerung bleibt Die Kamera bietet außergewöhnliche Bildqualität mit hohem Detailreichtum. Ihre 20 Megapixel ermöglichen eine flexible Motivwahl, das Zuschneiden der Aufnahmen und brillante Drucke im Posterformat. Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera kompensiert derartige Verwacklungen und ermöglicht immer gestochen scharfe und detailreiche Aufnahmen. Großartige Movies aufnehmen macht Spaß und ist ein Kinderspiel. Auf Knopfdruck zeichnen Sie ganz einfach HD-Movies (720p) auf – selbst aus der Bewegung und bei vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +035,17360369,035_17360369,Canon PowerShot N,Canon PowerShot N,,,,,,,,,,"Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creative images plus the original unaltered photo - capturing the same subject in a variety of artistic and surprising ways. The unique symmetrical, metal-bodied design is strikingly different with an ultra-modern minimalist style - small enough to keep in your pocket and stylish enough to take anywhere. HS System excels in low light allowing you to capture the real atmosphere of the moment without flash or a tripod. Advanced DIGIC 5 processing and a high-sensitivity 12.1 Megapixel CMOS sensor give excellent image quality in all situations.","Creative Shot Mit der Funktion „Creative Shot“ ist es ganz einfach, originelle Aufnahmen zu machen. Sie nehmen ein ganz normales Foto auf und die Kamera analysiert die Szene und erstellt daraus 5 kreative Bilder, die sie mit der Originalaufnahme zusammen speichert – so wird ein und das selbe Motiv auf 5 künstlerische und oft überraschenden Arten interpretiert. Das einzigartige, symmetrische Metallgehäuse ist erfrischend anders und beeindruckt mit einem ultra-modernen, minimalistischem Design – so kompakt, dass es in jede Tasche passt und so schick, dass es auch sonst überall hin passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +036,17360368,036_17360368,Canon PowerShot N,Canon PowerShot N,,,,,,,,,,"Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creative images plus the original unaltered photo - capturing the same subject in a variety of artistic and surprising ways. The unique symmetrical, metal-bodied design is strikingly different with an ultra-modern minimalist style - small enough to keep in your pocket and stylish enough to take anywhere. HS System excels in low light allowing you to capture the real atmosphere of the moment without flash or a tripod. Advanced DIGIC 5 processing and a high-sensitivity 12.1 Megapixel CMOS sensor give excellent image quality in all situations.","Creative Shot Mit der Funktion „Creative Shot“ ist es ganz einfach, originelle Aufnahmen zu machen. Sie nehmen ein ganz normales Foto auf und die Kamera analysiert die Szene und erstellt daraus 5 kreative Bilder, die sie mit der Originalaufnahme zusammen speichert – so wird ein und das selbe Motiv auf 5 künstlerische und oft überraschenden Arten interpretiert. Das einzigartige, symmetrische Metallgehäuse ist erfrischend anders und beeindruckt mit einem ultra-modernen, minimalistischem Design – so kompakt, dass es in jede Tasche passt und so schick, dass es auch sonst überall hin passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +037,25904011,037_25904011,Canon PowerShot SX710,Canon PowerShot SX710,,,,,,,,,,"Compact 30x superzoom, easy to take everywhere The pocket-sized PowerShot SX710 HS is packed with our most powerful imaging technology and an impressive 30x zoom for capturing detail at a distance. It’s designed to let you travel light and capture superb quality images and movies wherever life takes you. Share more of your adventures. Wi-Fi with Dynamic NFC makes it simple to transfer images to compatible smartphones, tablets or the Canon Connect Station, while Image Sync automatically backs up all new images to the cloud, your smartphone and your PC. A 20.3 Megapixel sensor and our powerful DIGIC 6 processor are combined in HS System to give you vivid, crisp and clear shots in any situation. It lets you preserve the true atmosphere, even of dark scenes, with accurate colours, low noise and without having to use the flash.","Kompakte 30fach Zoomkamera, die man überall mitnehmen kann Diese ultra-kompakte Kamera ist so klein, dass sie in jede Tasche passt und so überall mit hingenommen werden kann – das macht sie zum idealen Reisebegleiter. Mit dem 30fach optischen Zoom und 60fach ZoomPlus kommen Sie ganz nah ans Geschehen ran und halten jedes beeindruckende Detail fest. Der erweiterte Zoom-Assistent hilft Ihnen dabei immer die perfekte Bildkomposition zu halten. Der 5-achsige, intelligente optische Bildstabilisator passt sich automatisch der Situation an und ermöglicht gestochen scharfe und detailreiche Fotos und Movies – selbst bei wenig Licht oder vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +038,25905593,038_25905593,Canon PowerShot SX710,Canon PowerShot SX710,,,,,,,,,,"Compact 30x superzoom, easy to take everywhere The pocket-sized PowerShot SX710 HS is packed with our most powerful imaging technology and an impressive 30x zoom for capturing detail at a distance. It’s designed to let you travel light and capture superb quality images and movies wherever life takes you. Share more of your adventures. Wi-Fi with Dynamic NFC makes it simple to transfer images to compatible smartphones, tablets or the Canon Connect Station, while Image Sync automatically backs up all new images to the cloud, your smartphone and your PC. A 20.3 Megapixel sensor and our powerful DIGIC 6 processor are combined in HS System to give you vivid, crisp and clear shots in any situation. It lets you preserve the true atmosphere, even of dark scenes, with accurate colours, low noise and without having to use the flash.","Kompakte 30fach Zoomkamera, die man überall mitnehmen kann Diese ultra-kompakte Kamera ist so klein, dass sie in jede Tasche passt und so überall mit hingenommen werden kann – das macht sie zum idealen Reisebegleiter. Mit dem 30fach optischen Zoom und 60fach ZoomPlus kommen Sie ganz nah ans Geschehen ran und halten jedes beeindruckende Detail fest. Der erweiterte Zoom-Assistent hilft Ihnen dabei immer die perfekte Bildkomposition zu halten. Der 5-achsige, intelligente optische Bildstabilisator passt sich automatisch der Situation an und ermöglicht gestochen scharfe und detailreiche Fotos und Movies – selbst bei wenig Licht oder vollem Zoom.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +039,25904010,039_25904010,Canon PowerShot SX610,Canon PowerShot SX610,,,,,,,,,,"Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording. ","Stets beste Ergebnisse Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera ermöglicht selbst bei wenig Licht oder hohen Zoomwerten gestochen scharfe und detailreiche Aufnahmen aus der freien Hand. WLAN bietet Ihnen zahlreiche Möglichkeiten. Fotos und Movies können direkt von der Kamera auf soziale Netzwerke hochgeladen werden und per dynamischem NFC auf Smartphone oder Tablet. Mit der Canon Camera Connect App wird eine Fernbedienung der Kamera über ein Smartphone ermöglicht. Backup auf einem PC oder in der Cloud ist dank Image Sync kein Problem. Verbindet man die Kamera mit einer Canon Connect Station, lassen sich Fotos und Movies mit Freunden und Familie am heimischen HD-Fernsehgerät betrachten oder man teilt sie von dort aus mit der ganzen Welt über soziale Netzwerke und Online-Alben wie irista.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +040,25904665,040_25904665,Canon PowerShot SX610,Canon PowerShot SX610,,,,,,,,,,"Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording. ","Stets beste Ergebnisse Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera ermöglicht selbst bei wenig Licht oder hohen Zoomwerten gestochen scharfe und detailreiche Aufnahmen aus der freien Hand. WLAN bietet Ihnen zahlreiche Möglichkeiten. Fotos und Movies können direkt von der Kamera auf soziale Netzwerke hochgeladen werden und per dynamischem NFC auf Smartphone oder Tablet. Mit der Canon Camera Connect App wird eine Fernbedienung der Kamera über ein Smartphone ermöglicht. Backup auf einem PC oder in der Cloud ist dank Image Sync kein Problem. Verbindet man die Kamera mit einer Canon Connect Station, lassen sich Fotos und Movies mit Freunden und Familie am heimischen HD-Fernsehgerät betrachten oder man teilt sie von dort aus mit der ganzen Welt über soziale Netzwerke und Online-Alben wie irista.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +041,25904691,041_25904691,Canon PowerShot SX610,Canon PowerShot SX610,,,,,,,,,,"Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording. ","Stets beste Ergebnisse Dank des optischen Bildstabilisators werden Kamerawackler, die eine Aufnahme ruinieren könnten, ausgeglichen. Diese Kamera ermöglicht selbst bei wenig Licht oder hohen Zoomwerten gestochen scharfe und detailreiche Aufnahmen aus der freien Hand. WLAN bietet Ihnen zahlreiche Möglichkeiten. Fotos und Movies können direkt von der Kamera auf soziale Netzwerke hochgeladen werden und per dynamischem NFC auf Smartphone oder Tablet. Mit der Canon Camera Connect App wird eine Fernbedienung der Kamera über ein Smartphone ermöglicht. Backup auf einem PC oder in der Cloud ist dank Image Sync kein Problem. Verbindet man die Kamera mit einer Canon Connect Station, lassen sich Fotos und Movies mit Freunden und Familie am heimischen HD-Fernsehgerät betrachten oder man teilt sie von dort aus mit der ganzen Welt über soziale Netzwerke und Online-Alben wie irista.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +042,31040075,042_31040075,Samsung Galaxy S7,Samsung Galaxy S7,,,,,,,,,,"Smart Design The beauty of what we've engineered is to give you the slimmest feel in your hand without compromising the big screen size. The elegantly curved front and back fit in your palm just right. It's as beautiful to look at as it is to use. We spent a long time perfecting the curves of the Galaxy S7 edge and S7. Using a proprietary process called 3D Thermoforming, we melted 3D glass to curve with such precision that it meets the curved metal alloy to create an exquisitely seamless and strong unibody. The dual-curve backs on the Galaxy S7 edge and S7 are the reason why they feel so comfortable when you hold them. Everything about the design, from the naturally flowing lines to the thin form factor, come together to deliver a grip that's so satisfying, you won't want to let go.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +043,31040074,043_31040074,Samsung Galaxy S7,Samsung Galaxy S7,,,,,,,,,,"Smart Design The beauty of what we've engineered is to give you the slimmest feel in your hand without compromising the big screen size. The elegantly curved front and back fit in your palm just right. It's as beautiful to look at as it is to use. We spent a long time perfecting the curves of the Galaxy S7 edge and S7. Using a proprietary process called 3D Thermoforming, we melted 3D glass to curve with such precision that it meets the curved metal alloy to create an exquisitely seamless and strong unibody. The dual-curve backs on the Galaxy S7 edge and S7 are the reason why they feel so comfortable when you hold them. Everything about the design, from the naturally flowing lines to the thin form factor, come together to deliver a grip that's so satisfying, you won't want to let go.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +044,31040076,044_31040076,Samsung Galaxy S7,Samsung Galaxy S7,,,,,,,,,,"Smart Design The beauty of what we've engineered is to give you the slimmest feel in your hand without compromising the big screen size. The elegantly curved front and back fit in your palm just right. It's as beautiful to look at as it is to use. We spent a long time perfecting the curves of the Galaxy S7 edge and S7. Using a proprietary process called 3D Thermoforming, we melted 3D glass to curve with such precision that it meets the curved metal alloy to create an exquisitely seamless and strong unibody. The dual-curve backs on the Galaxy S7 edge and S7 are the reason why they feel so comfortable when you hold them. Everything about the design, from the naturally flowing lines to the thin form factor, come together to deliver a grip that's so satisfying, you won't want to let go.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +045,26408558,045_26408558,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +046,26408563,046_26408563,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +047,26408568,047_26408568,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +048,26403666,048_26403666,Samsung Galaxy S6,Samsung Galaxy S6,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +049,30395396,049_30395396,Samsung Galaxy A5,Samsung Galaxy A5,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +050,31080444,050_31080444,Samsung Galaxy A5,Samsung Galaxy A5,,,,,,,,,,"Richer Interactions give you the edge Add some colour to your interactions with the Samsung Galaxy S6 edge. By colour-coding the five people you care most about, you can simply tab a contact’s colour on the edge display to call, text or email them. These innovative colour-coded notifications, let you easily see who is trying to get in touch, even when your device is upside down. Both of the Samsung Galaxy S6 edge's front and rear cameras feature higher resolution and F1.9 aperture, allowing you to take clearer images wherever you are. What's more, simply press the home button twice to go straight into camera mode – so you'll never miss an important moment again. Never worry about your battery again thanks to the Samsung Galaxy S6 Edge’s lightning-fast charging speed, which is up to 1.5 times faster than previous models. Its wireless charging compatibility means you can simply pop the Samsung Galaxy S6 Edge onto a compatible charging pad for a wire-free recharge.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +051,29567823,051_29567823,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,32 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +051,30107816,051_30107816,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,64 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +051,30614390,051_30614390,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,128 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +052,29567823,052_29567823,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,32 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +052,30107816,052_30107816,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,64 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +052,30614390,052_30614390,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,128 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +053,29567823,053_29567823,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,32 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +053,30107816,053_30107816,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,64 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +053,30614390,053_30614390,Samsung Galaxy S6 edge,Samsung Galaxy S6 edge,storage_capacity,128 GB,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Verbesserte Blende, schärfere Bilder Durch die hohe Auflösung und einer F1.9-Blende können Sie mit den beiden Kameras des SAMSUNG Galaxy S6 edge gestochen scharfe Bilder aufnehmen. Durch kurzes, zweimaliges Drücken der Home-Taste gelangen Sie direkt in den Kameramodus - so verpassen Sie keine wichtigen Momente. Das SAMSUNG Galaxy S6 edge überzeugt mit einer erhöhten Startgeschwindigkeit für Betriebssystem und Anwendungen sowie verbesserter Energieeffizienz gegenüber Vorgängermodellen. Durch seine 64-bit-Architektur, LPDDR4 und fortschrittliche GPU steht es für Leistung, Multitasking und Multimediafunktionen der neuen Generation. Ausgestattet mit einem 12,95 cm grossen Quad-HD-Super-AMOLED-Display (2.560 x 1.440 Pixel) beeindruckt das SAMSUNG Galaxy S6 edge mit einem unglaublich scharfen Seherlebnis, dank erhöhter Helligkeit und Pixeldichte.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +054,29406182,054_29406182,Acer Liquid Z630,Acer Liquid Z630,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Für mehr Spaß Das 13,97 cm (5,5 Zoll) große HD-Display wird von einem beeindruckenden 64-Bit-Quad-Core-Prozessor angetrieben, der schnelle Reaktionszeiten bietet und fehlerfreie Videos, Spiele sowie reibungsloses Surfen im Internet ermöglicht. Ein Akku mit 4000 mAh liefert mehr als genug Leistung für den ganzen Tag. Beeindrucken Sie Ihre Freunde mit einem Telefon, das schöne Weitwinkel-Selfies macht, sobald Sie „Cheese“ oder „Aufnahme“ oder „Lächeln“ sagen. Die 8-MP-Selfies machen sich sehr gut auf dem IPS1 -Display, auf dem Sie Bilder optimal aus jedem Winkel betrachten können. Seien Sie der Star, wenn Sie Ihren Freunden anbieten, mit Ihrem Telefon deren Telefone aufzuladen – das geht über den Micro-USB-Ladeanschluss2. Dieser Anschluss kann auch verwendet werden, um einen USB-Stick3 einzustecken – und dann Medien wiederzugeben, Dateien herunterzuladen, diese zu speichern und freizugeben. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +055,29406184,055_29406184,Acer Liquid Z630,Acer Liquid Z630,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Für mehr Spaß Das 13,97 cm (5,5 Zoll) große HD-Display wird von einem beeindruckenden 64-Bit-Quad-Core-Prozessor angetrieben, der schnelle Reaktionszeiten bietet und fehlerfreie Videos, Spiele sowie reibungsloses Surfen im Internet ermöglicht. Ein Akku mit 4000 mAh liefert mehr als genug Leistung für den ganzen Tag. Beeindrucken Sie Ihre Freunde mit einem Telefon, das schöne Weitwinkel-Selfies macht, sobald Sie „Cheese“ oder „Aufnahme“ oder „Lächeln“ sagen. Die 8-MP-Selfies machen sich sehr gut auf dem IPS1 -Display, auf dem Sie Bilder optimal aus jedem Winkel betrachten können. Seien Sie der Star, wenn Sie Ihren Freunden anbieten, mit Ihrem Telefon deren Telefone aufzuladen – das geht über den Micro-USB-Ladeanschluss2. Dieser Anschluss kann auch verwendet werden, um einen USB-Stick3 einzustecken – und dann Medien wiederzugeben, Dateien herunterzuladen, diese zu speichern und freizugeben. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +056,31714843,056_31714843,Acer Liquid Zest 4G,Acer Liquid Zest 4G,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Unvergessliche Momente einfangen Mit einer 8-MP-Kamera und 4G2 können Sie einzigartige Momente jederzeit einfangen und direkt mit anderen teilen, egal wo Sie sind. Dieser Moment ist nichts ohne Sie und Ihre Freunde? Kein Problem, denn dank des 85-Grad-Weitwinkelobjektivs der 5-MP-Frontkamera passen genügend Personen auf Ihre Fotos für unvergessliche Selfies. DTS® Studio Sound1 bietet satte Bässe und kristallklare Dialoge bei maximaler Lautstärke ohne jegliche Verzerrungen. Gleichzeitig sorgt DTS-HD® Premium für einen volleren Surround Sound und ein beeindruckendes 3D-Audioerlebnis über Ihre Kopfhörer. Erleben Sie grenzenlose Bildqualität aus fast jedem Betrachtungswinkel auf einem 12,7 cm (5-Zoll)-IPS-Display. Dank Zero Air Gap-Technologie bleibt die Bildqualität auch bei hellem Sonnenlicht gleich, während die On-Cell Touch-Technologie störende Bildschirmreflexionen reduziert. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +057,32007641,057_32007641,Acer Liquid Zest 4G,Acer Liquid Zest 4G,,,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Unvergessliche Momente einfangen Mit einer 8-MP-Kamera und 4G2 können Sie einzigartige Momente jederzeit einfangen und direkt mit anderen teilen, egal wo Sie sind. Dieser Moment ist nichts ohne Sie und Ihre Freunde? Kein Problem, denn dank des 85-Grad-Weitwinkelobjektivs der 5-MP-Frontkamera passen genügend Personen auf Ihre Fotos für unvergessliche Selfies. DTS® Studio Sound1 bietet satte Bässe und kristallklare Dialoge bei maximaler Lautstärke ohne jegliche Verzerrungen. Gleichzeitig sorgt DTS-HD® Premium für einen volleren Surround Sound und ein beeindruckendes 3D-Audioerlebnis über Ihre Kopfhörer. Erleben Sie grenzenlose Bildqualität aus fast jedem Betrachtungswinkel auf einem 12,7 cm (5-Zoll)-IPS-Display. Dank Zero Air Gap-Technologie bleibt die Bildqualität auch bei hellem Sonnenlicht gleich, während die On-Cell Touch-Technologie störende Bildschirmreflexionen reduziert. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +058,24245592,058_24245592,Acer Liquid Jade,Acer Liquid Jade,series,Jade Plus,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +058,26175504,058_26175504,Acer Liquid Jade,Acer Liquid Jade,series,Jade Z,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +059,24245592,059_24245592,Acer Liquid Jade,Acer Liquid Jade,series,Jade Plus,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +059,26175504,059_26175504,Acer Liquid Jade,Acer Liquid Jade,series,Jade Z,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +059,26027598,059_26027598,Acer Liquid Jade,Acer Liquid Jade,series,Jade S,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +060,24245592,060_24245592,Acer Liquid Jade,Acer Liquid Jade,series,Jade Plus,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +060,26175504,060_26175504,Acer Liquid Jade,Acer Liquid Jade,series,Jade Z,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +060,26027598,060_26027598,Acer Liquid Jade,Acer Liquid Jade,series,Jade S,,,,,,,,"Edge Handle Assign a colour and place on People Edge to five of your favourite contacts. Reach out to them at any time by simply swiping inwards from the Edge Handle. When words aren’t enough, send a poke or an emoticon to your People Edge contacts. OnCircle lets you communicate in ways that really count. When it comes to your favourite tracks, sound quality matters. Enjoy rich, balanced audio with Bluetooth audio accessories that support UHQ Audio. Celebrations are always better when you are sharing. Livestream the fun straight from your Galaxy S6 edge+ using the camera’s Live Broadcast function. 4GB RAM and LTE Cat.9 support ensure uninterrupted streaming. No more shaky handheld videos. Video Digital Imaging Stabilisation meets Optical Image Stabilisation to ensure you get clear and steady footage every time.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +061,24752508,061_24752508,Samsung Galaxy Note 4,Samsung Galaxy Note 4,,,,,,,,,,"Powerful Performance that Matters the Most to You ​The Galaxy Note 4 embraces Samsung’s heritage of an unrivaled Galaxy mobile experience. Its extraordinary 5.7-inch Quad HD (2560x1440) Super AMOLED display reproduces clearer and more vivid images with deep contrast, better viewing angles, and response times as fast as a millionth of a second, providing a tremendous viewing experience. Due to its large screen, the refined Multi Window feature is able to maximize the user’s experience providing them with the key to easier multi-tasking. Users can choose how they access their applications with full, split or pop-up screens, and easily change the size and positioning of apps on the screen with one intuitive swipe. ​The Galaxy Note 4 also offers an improved Fingerprint Scanner, to secure personal data and the world’s first UV sensor in a mobile device.​","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +062,24752467,062_24752467,Samsung Galaxy Note 4,Samsung Galaxy Note 4,,,,,,,,,,"Powerful Performance that Matters the Most to You ​The Galaxy Note 4 embraces Samsung’s heritage of an unrivaled Galaxy mobile experience. Its extraordinary 5.7-inch Quad HD (2560x1440) Super AMOLED display reproduces clearer and more vivid images with deep contrast, better viewing angles, and response times as fast as a millionth of a second, providing a tremendous viewing experience. Due to its large screen, the refined Multi Window feature is able to maximize the user’s experience providing them with the key to easier multi-tasking. Users can choose how they access their applications with full, split or pop-up screens, and easily change the size and positioning of apps on the screen with one intuitive swipe. ​The Galaxy Note 4 also offers an improved Fingerprint Scanner, to secure personal data and the world’s first UV sensor in a mobile device.​","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +063,29231675,063_29231675,Samsung Galaxy S4 Mini,Samsung Galaxy S4 Mini,,,,,,,,,,"Compact design that fits you perfectly well A more sleek and compact design has been integrated with the premium Samsung GALAXY S4. The beautifully slim design of the GALAXY S4 Mini means you can take it with you anywhere and anytime. Outstanding CMF with a vivid & wide 4.3 inch qHD sAMOLED display delivers great aesthetics without compromising performance. The artistically compact design delivers additional comfort and can perfectly fit in one hand. GALAXY S4 Mini is ready to fully support for any occasion. The outstanding hardware performance enables you to do more tasks easily and quickly. Upgraded processor, big enough memories, embedded high resolution camera system, and various connection options offer you a confidence to face endless challenge which turns daily routine into special moments. Even though you have no Wi-Fi or network connection, you can access to others and easily share all joys. The Group Play makes a group among Samsung GALAXY Series and offers various sharing options including becoming a part of speaker system, creating a photo collage, and playing a game against others and so on.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +064,18404924,064_18404924,Samsung Galaxy S4 Mini,Samsung Galaxy S4 Mini,,,,,,,,,,"Compact design that fits you perfectly well A more sleek and compact design has been integrated with the premium Samsung GALAXY S4. The beautifully slim design of the GALAXY S4 Mini means you can take it with you anywhere and anytime. Outstanding CMF with a vivid & wide 4.3 inch qHD sAMOLED display delivers great aesthetics without compromising performance. The artistically compact design delivers additional comfort and can perfectly fit in one hand. GALAXY S4 Mini is ready to fully support for any occasion. The outstanding hardware performance enables you to do more tasks easily and quickly. Upgraded processor, big enough memories, embedded high resolution camera system, and various connection options offer you a confidence to face endless challenge which turns daily routine into special moments. Even though you have no Wi-Fi or network connection, you can access to others and easily share all joys. The Group Play makes a group among Samsung GALAXY Series and offers various sharing options including becoming a part of speaker system, creating a photo collage, and playing a game against others and so on.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +065,23294027,065_23294027,Samsung Galaxy S5 mini,Samsung Galaxy S5 mini,,,,,,,,,,"Galaxy S5 mini continues Samsung design legacy and flagship experience Outfitted with a 4.5-inch HD Super AMOLED display, the Galaxy S5 mini delivers a wide and vivid viewing experience, and its compact size provides users with additional comfort, allowing for easy operation with only one hand. Like the Galaxy S5, the Galaxy S5 mini features a unique perforated pattern on the back cover creating a modern and sleek look, along with a premium, soft touch grip. The Galaxy S5 mini enables users to enjoy the same flagship experience as the Galaxy S5 with innovative features including IP67 certification, Ultra Power Saving Mode, a heart rate monitor, fingerprint scanner, and connectivity with the latest Samsung wearable devices.The Galaxy S5 mini comes equipped with a powerful Quad Core 1.4 GHz processor and 1.5GM RAM for seamless multi-tasking, faster webpage loading, softer UI transition, and quick power up. The high-resolution 8MP camera delivers crisp and clear photos and videos, while the Galaxy S5 mini’s support of LTE Category 4 provides users with ultra-fast downloads of movies and games on-the-go. ","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +066,23294028,066_23294028,Samsung Galaxy S5 mini,Samsung Galaxy S5 mini,,,,,,,,,,"Galaxy S5 mini continues Samsung design legacy and flagship experience Outfitted with a 4.5-inch HD Super AMOLED display, the Galaxy S5 mini delivers a wide and vivid viewing experience, and its compact size provides users with additional comfort, allowing for easy operation with only one hand. Like the Galaxy S5, the Galaxy S5 mini features a unique perforated pattern on the back cover creating a modern and sleek look, along with a premium, soft touch grip. The Galaxy S5 mini enables users to enjoy the same flagship experience as the Galaxy S5 with innovative features including IP67 certification, Ultra Power Saving Mode, a heart rate monitor, fingerprint scanner, and connectivity with the latest Samsung wearable devices.The Galaxy S5 mini comes equipped with a powerful Quad Core 1.4 GHz processor and 1.5GM RAM for seamless multi-tasking, faster webpage loading, softer UI transition, and quick power up. The high-resolution 8MP camera delivers crisp and clear photos and videos, while the Galaxy S5 mini’s support of LTE Category 4 provides users with ultra-fast downloads of movies and games on-the-go. ","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +067,24241408,067_24241408,Samsung Galaxy S5 mini,Samsung Galaxy S5 mini,,,,,,,,,,"Galaxy S5 mini continues Samsung design legacy and flagship experience Outfitted with a 4.5-inch HD Super AMOLED display, the Galaxy S5 mini delivers a wide and vivid viewing experience, and its compact size provides users with additional comfort, allowing for easy operation with only one hand. Like the Galaxy S5, the Galaxy S5 mini features a unique perforated pattern on the back cover creating a modern and sleek look, along with a premium, soft touch grip. The Galaxy S5 mini enables users to enjoy the same flagship experience as the Galaxy S5 with innovative features including IP67 certification, Ultra Power Saving Mode, a heart rate monitor, fingerprint scanner, and connectivity with the latest Samsung wearable devices.The Galaxy S5 mini comes equipped with a powerful Quad Core 1.4 GHz processor and 1.5GM RAM for seamless multi-tasking, faster webpage loading, softer UI transition, and quick power up. The high-resolution 8MP camera delivers crisp and clear photos and videos, while the Galaxy S5 mini’s support of LTE Category 4 provides users with ultra-fast downloads of movies and games on-the-go. ","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +068,21927453,068_21927453,Samsung Galaxy S5,Samsung Galaxy S5,,,,,,,,,,"Capture the moments that matter Capturing and saving precious memories is one of the most important smartphone features today. The new Galaxy S5 offers superior camera functionality, featuring a 16 megapixel camera with an enhanced menu and user interface that allow consumers to effortlessly take, edit and share photos. The Galaxy S5 offers the world’s fastest autofocus speed up to 0.3 seconds and the advanced High Dynamic Range (HDR), reproduce natural light and color with striking intensity at any circumstances. Also new Selective Focus feature allows users to focus on a specific area of an object while simultaneously blurring out the background. With this capability, consumers no longer need a special lens kit to create a shallow depth of field (DOF) effect. The Galaxy S5 offers the most advanced LTE experience and Wi-Fi performance available today, ensuring blazing fast data speeds for unrivaled media consumption and productivity.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +069,21919624,069_21919624,Samsung Galaxy S5,Samsung Galaxy S5,,,,,,,,,,"Capture the moments that matter Capturing and saving precious memories is one of the most important smartphone features today. The new Galaxy S5 offers superior camera functionality, featuring a 16 megapixel camera with an enhanced menu and user interface that allow consumers to effortlessly take, edit and share photos. The Galaxy S5 offers the world’s fastest autofocus speed up to 0.3 seconds and the advanced High Dynamic Range (HDR), reproduce natural light and color with striking intensity at any circumstances. Also new Selective Focus feature allows users to focus on a specific area of an object while simultaneously blurring out the background. With this capability, consumers no longer need a special lens kit to create a shallow depth of field (DOF) effect. The Galaxy S5 offers the most advanced LTE experience and Wi-Fi performance available today, ensuring blazing fast data speeds for unrivaled media consumption and productivity.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +070,133745031,070_133745031,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 2,,,,,internal_storage_capacity,2.1 GB,//uk.icecat.biz/en/p/samsung/gt-i8160okabtu/smartphones-8806085027312-Samsung-Galaxy-Ace-2-GT-I8160-2-1GB-16M-13374503.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +070,203704321,070_203704321,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 2,,,,,internal_storage_capacity,8 GB,//uk.icecat.biz/en/p/samsung/gt-s7275uwnbtu/smartphones-Samsung-Galaxy-Ace-3-GT-S7275-8GB-4G-White-20370432.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +070,133913221,070_133913221,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 3,,,,,internal_storage_capacity,2.1 GB,//uk.icecat.biz/en/p/samsung/gt-s7500ababtu/smartphones-Samsung-Galaxy-Ace-Plus-GT-S7500-2-7GB-Black-13391322.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +070,133745032,070_133745032,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 3,,,,,internal_storage_capacity,8 GB,//uk.icecat.biz/en/p/samsung/gt-i8160okabtu/smartphones-8806085027312-Samsung-Galaxy-Ace-2-GT-I8160-2-1GB-16M-13374503.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +070,203704322,070_203704322,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace 3,,,,,internal_storage_capacity,2.7 GB,//uk.icecat.biz/en/p/samsung/gt-s7275uwnbtu/smartphones-Samsung-Galaxy-Ace-3-GT-S7275-8GB-4G-White-20370432.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +070,133913222,070_133913222,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace Plus,,,,,internal_storage_capacity,8 GB,//uk.icecat.biz/en/p/samsung/gt-s7500ababtu/smartphones-Samsung-Galaxy-Ace-Plus-GT-S7500-2-7GB-Black-13391322.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +070,133745033,070_133745033,Samsung Galaxy Ace,Samsung Galaxy Ace,series,Ace Plus,,,,,internal_storage_capacity,2.7 GB,//uk.icecat.biz/en/p/samsung/gt-i8160okabtu/smartphones-8806085027312-Samsung-Galaxy-Ace-2-GT-I8160-2-1GB-16M-13374503.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Ein Kunstwerk Das 5-Zoll-Display des Liquid Jade ist ein ansprechender Anblick. Die HD-Auflösung in Kombination mit der IPS1-Technologie verleiht Videos, Bildern und Web-Inhalten noch mehr Leben. Außerdem lässt das Zero Air Gap-Design alle Bilder gut aussehen – auch bei Sonnenlicht. Der Name sagt alles: ein Smartphone, das ist so schön ist wie Jade. Dank der 7,5 mm flachen und geschwungenen, ergonomischen Oberflächen liegt das Liquid Jade angenehm in der Hand. Die geschwungene Corning® Gorilla® Glass-Display unterstreicht die robuste und doch ansprechende Bauweise des Liquid Jade.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +071,26974343,071_26974343,Samsung Galaxy Xcover 3,Samsung Galaxy Xcover 3,,,,,,,,,//uk.icecat.biz/en/p/samsung/sm-g388fdsaato/smartphones-Samsung-Galaxy-Xcover-3-8GB-4G-Grey-Silver-26974343.html,"Ace performance at an accessible price Choose a smartphone that offers great value and outstanding performance. The Samsung Galaxy Ace 2 packs a Dual Core 800MHz processor to handle all your games and applications smoothly and efficiently. You’ll see all your entertainment at its best too, via a spacious 3.8” WVGA display that offers great clarity. 4GB of memory and extended battery power mean that this is one phone that won’t let you down. The Galaxy Ace 2’s elegant and compact design means it will fit perfectly in your pocket, too – as well as fitting in with your style. GALAXY Ace 2 users enjoy unrivalled power and excellent performance thanks to robust dual core 800MHz processor that keeps up with heavy usage and demanding applications. Smart CPU manages power consumption across applications so your phone works efficiently and conserves energy, maximising your phone’s functionalities.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +072,19618271,072_19618271,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,32 GB,,,,,,,//uk.icecat.biz/en/p/samsung/sm-n9005zkebtu/smartphones-8806085777316-Samsung-Galaxy-Note-3-SM-N9005-32GB-4G-Black-19618271.html,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +072,21927455,072_21927455,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,16 GB,,,,,,,//uk.icecat.biz/en/p/samsung/sm-n7505zwabtu/smartphones-Samsung-Galaxy-Note-3-Neo-SM-N7505-16GB-4G-White-21927455.html,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +073,19618271,073_19618271,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,32 GB,,,,,,,,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +073,21927455,073_21927455,Samsung Galaxy Note 3,Samsung Galaxy Note 3,storage_capacity,16 GB,,,,,,,,"Leather stitch design Expanding the groundbreaking Galaxy Note experience, Note3 neo tilts the balance towards distinctive design factor and innovative, remarkably easy functionality. Its winning style starts with attractive leather-look design and fun colour option. Sensational S Pen combines striking “air commands” with powerful usability and awesome multitasking. Perfect host device to Galaxy Gear, a smartwatch companion that provides the most integrated Note experience yet. Galaxy Note3 Neo sports a distinctively sleek, leather-like back cover with top-stitch design that sets it apart -- it’s no ordinary device. Protective and pleasing to the palm, it’s secure to grip or lay on any surface without slippage.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +074,29641053,074_29641053,Samsung Galaxy Tab S2,Samsung Galaxy Tab S2,,,,,,,,,,"Seamless Multitasking Multitask like a pro with the Galaxy Tab S2. Watch HD movies while you are flicking through a digital magazine or an e-book, or surfing the net. Run multiple apps in split screen mode or in draggable pop-up windows. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. The Galaxy Tab S2’s 4 : 3 ratio display provides you with an ideal environment for performing office tasks. Use the Galaxy Tab S2’s Book Cover Keyboard, a desktop PC-like experience boon when you need to work on a range of documents. Enjoy greater flexibility than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +075,29401702,075_29401702,Samsung Galaxy Tab S2,Samsung Galaxy Tab S2,,,,,,,,,,"Seamless Multitasking Multitask like a pro with the Galaxy Tab S2. Watch HD movies while you are flicking through a digital magazine or an e-book, or surfing the net. Run multiple apps in split screen mode or in draggable pop-up windows. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. The Galaxy Tab S2’s 4 : 3 ratio display provides you with an ideal environment for performing office tasks. Use the Galaxy Tab S2’s Book Cover Keyboard, a desktop PC-like experience boon when you need to work on a range of documents. Enjoy greater flexibility than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +076,24394207,076_24394207,Sony Xperia Z3 Compact,Sony Xperia Z3 Compact,,,,,,,,,,"Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof rating*, Xperia Z3 Compact lets you answer calls in the rain or take pictures in the pool. And it can handle all the drops into the sink in between. Combined with a slim, compact design that’s easy to use with one hand, Xperia Z3 Compact is the Android smartphone that teams durability with beauty. Some of the best times happen in the lowest light. Years of Sony camera expertise have been brought to Xperia Z3 Compact, to deliver unparalleled low-light capability. Thanks to Cyber-shot and Handycam technologies you can record stunning videos on the move and take crisp shots under water. Want to take your shots to the next level? Get creative with our unique camera apps. It’s our best smartphone camera yet – for memories that deserve more than good.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +077,24584210,077_24584210,Sony Xperia Z3 Compact,Sony Xperia Z3 Compact,,,,,,,,,,"Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof rating*, Xperia Z3 Compact lets you answer calls in the rain or take pictures in the pool. And it can handle all the drops into the sink in between. Combined with a slim, compact design that’s easy to use with one hand, Xperia Z3 Compact is the Android smartphone that teams durability with beauty. Some of the best times happen in the lowest light. Years of Sony camera expertise have been brought to Xperia Z3 Compact, to deliver unparalleled low-light capability. Thanks to Cyber-shot and Handycam technologies you can record stunning videos on the move and take crisp shots under water. Want to take your shots to the next level? Get creative with our unique camera apps. It’s our best smartphone camera yet – for memories that deserve more than good.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +078,24602396,078_24602396,Sony Xperia Z3 Compact,Sony Xperia Z3 Compact,,,,,,,,,,"Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof rating*, Xperia Z3 Compact lets you answer calls in the rain or take pictures in the pool. And it can handle all the drops into the sink in between. Combined with a slim, compact design that’s easy to use with one hand, Xperia Z3 Compact is the Android smartphone that teams durability with beauty. Some of the best times happen in the lowest light. Years of Sony camera expertise have been brought to Xperia Z3 Compact, to deliver unparalleled low-light capability. Thanks to Cyber-shot and Handycam technologies you can record stunning videos on the move and take crisp shots under water. Want to take your shots to the next level? Get creative with our unique camera apps. It’s our best smartphone camera yet – for memories that deserve more than good.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +079,24394211,079_24394211,Sony Xperia Z3,Sony Xperia Z3,,,,,,,,,,"Dive into new experiences Xperia Z3 is the smartphone that does more and goes further – whether further is a run in the rain or a dive into the pool on a sunny summer holiday. With the highest waterproof rating*, you can find your way in a downpour, take pictures underwater or just wipe off your phone after an unexpected spill. Combined with a super-slim body and aluminium frame, Xperia Z3 is the Android smartphone that teams durability with beauty. Your best moments deserve more than dark, blurry shots. Years of Sony camera expertise have been brought to Xperia Z3, a premium phone with Cyber-shot and Handycam technologies. So you can capture the laughter in any light, shoot steady videos on the move and take crisp shots underwater. And when you want to make great pictures and videos even better? You can unleash your creativity with our widest ever choice of unique Xperia camera apps. It’s our best smartphone camera yet, to make sure your memories are as vibrant as real life.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +080,24394206,080_24394206,Sony Xperia Z3,Sony Xperia Z3,,,,,,,,,,"Dive into new experiences Xperia Z3 is the smartphone that does more and goes further – whether further is a run in the rain or a dive into the pool on a sunny summer holiday. With the highest waterproof rating*, you can find your way in a downpour, take pictures underwater or just wipe off your phone after an unexpected spill. Combined with a super-slim body and aluminium frame, Xperia Z3 is the Android smartphone that teams durability with beauty. Your best moments deserve more than dark, blurry shots. Years of Sony camera expertise have been brought to Xperia Z3, a premium phone with Cyber-shot and Handycam technologies. So you can capture the laughter in any light, shoot steady videos on the move and take crisp shots underwater. And when you want to make great pictures and videos even better? You can unleash your creativity with our widest ever choice of unique Xperia camera apps. It’s our best smartphone camera yet, to make sure your memories are as vibrant as real life.","Gut gewappnet Raue Umgebungen oder staubige Luft, für diese Herausforderungen zeigt sich das SAMSUNG GALAXY Xcover 3 gut gewappnet. Es bietet nicht nur Schutz vor kleinen Staubteilchen, sondern übersteht auch unbeschadet Stürze aus einer Höhe von bis zu 1,2 Metern* (MIL-STD 810G). Zudem ist es gemäß IP67-Zertifizierung staub- und wassergeschützt bis zu einem Meter Wassertiefe und 30 Minuten** Dauer. Mit gerade einmal 9,95 Millimeter und 154 Gramm ist es für ein Outdoor-Smartphone verblüffend schlank und fällt durch sein elegantes Design auf. Trotz der kompakten Maße bietet das GALAXY Xcover 3 viele technische Raffinessen. Haptische Bedienelemente – Home-, Menü- und Zurückknöpfe – erleichtern die Nutzung unter widrigen Bedingungen wie Feuchte oder Kälte. Die neue Xcover-Taste ermöglicht den Sofortzugriff auf wichtige Funktionen: Drücken Nutzer einmal kurz darauf, aktivieren Sie beispielsweise das LED-Licht, um sich auch im Dunkeln zu orientieren. Ein langer Knopfdruck öffnet unmittelbar die Kamera, damit Nutzer spontane Fotogelegenheiten nicht verpassen – und das nicht nur im Trockenen. Der Unterwassermodus erlaubt bei kleinen Tauchgängen Aufnahmen von unvergesslichen Momenten. GALAXY Xcover 3: Steckt viel ein, sieht schick aus.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +081,22196533,081_22196533,TomTom Multi-Sport Cardio,TomTom Multi-Sport Cardio,,,,,,,,,,"Multi-platform compatibility Get accurate heart-rate information without the need for a separate chest strap. Your heart rate is measured through a sensor in the watch that monitors changes in the blood flow in your wrist. This is done by shining light through the skin and detecting the changing light reflections. See real-time running, cycling and swimming information at a glance. Track your distance, time, pace, speed and calories burnt as you train on an extra-large display. Select a zone to match your training goal and always know whether you need to speed up or slow down.Heart rate monitoring is the single most accurate means to understand how your body is responding to exercise.","Innovative Technologie Erhalten Sie genaue Informationen zu Ihrer Herzfrequenz, ohne einen separaten Brustgurt tragen zu müssen. Ihre Herzfrequenz wird mithilfe eines Sensors in der Uhr gemessen, der Änderungen des Blutflusses an Ihrem Handgelenk feststellt. Dabei wird Licht durch die Haut geleitet, um Veränderungen bei den Lichtreflexionen festzustellen. Sehen Sie Echtzeitinformationen zu Ihrem Lauf, Ihrer Rad- und Schwimmeinheit auf einen Blick. Verfolgen Sie Ihre Distanz, Zeit, Ihr Tempo, Ihre Geschwindigkeit und Ihre verbrannten Kalorien während des Trainings auf einem extragroßen Display. Unabhängige Tests ergaben, dass der eingebaute Herzfrequenzmesser im Vergleich zur Elektrokardiografie „extrem präzise“ arbeitet. Die Überwachung der Herzfrequenz ist die beste Methode, um zu verstehen, wie Ihr Körper auf das Training reagiert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +082,22196536,082_22196536,TomTom Multi-Sport Cardio,TomTom Multi-Sport Cardio,,,,,,,,,,"Multi-platform compatibility Get accurate heart-rate information without the need for a separate chest strap. Your heart rate is measured through a sensor in the watch that monitors changes in the blood flow in your wrist. This is done by shining light through the skin and detecting the changing light reflections. See real-time running, cycling and swimming information at a glance. Track your distance, time, pace, speed and calories burnt as you train on an extra-large display. Select a zone to match your training goal and always know whether you need to speed up or slow down.Heart rate monitoring is the single most accurate means to understand how your body is responding to exercise.","Innovative Technologie Erhalten Sie genaue Informationen zu Ihrer Herzfrequenz, ohne einen separaten Brustgurt tragen zu müssen. Ihre Herzfrequenz wird mithilfe eines Sensors in der Uhr gemessen, der Änderungen des Blutflusses an Ihrem Handgelenk feststellt. Dabei wird Licht durch die Haut geleitet, um Veränderungen bei den Lichtreflexionen festzustellen. Sehen Sie Echtzeitinformationen zu Ihrem Lauf, Ihrer Rad- und Schwimmeinheit auf einen Blick. Verfolgen Sie Ihre Distanz, Zeit, Ihr Tempo, Ihre Geschwindigkeit und Ihre verbrannten Kalorien während des Trainings auf einem extragroßen Display. Unabhängige Tests ergaben, dass der eingebaute Herzfrequenzmesser im Vergleich zur Elektrokardiografie „extrem präzise“ arbeitet. Die Überwachung der Herzfrequenz ist die beste Methode, um zu verstehen, wie Ihr Körper auf das Training reagiert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +083,30964018,083_30964018,Samsung Gear 2 Classic,Samsung Gear 2 Classic,,,,,,,,,,"S Health Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages.Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. We've partnered up with a growing portfolio of amazing apps to make Gear S2 work for you. From going the distance to keeping your home secure, everything is possible. Gear S2 comes full circle with a durable stainless steel body that sits slim and sleek on your wrist. Customizing the watch face and changing watch bands is so easy, it's a device for all occasions. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Browse reviews to find the most highly recommended local businesses including restaurants, bars, shops and more. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","S Health In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +084,30964019,084_30964019,Samsung Gear 2 Classic,Samsung Gear 2 Classic,,,,,,,,,,"S Health Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages.Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. We've partnered up with a growing portfolio of amazing apps to make Gear S2 work for you. From going the distance to keeping your home secure, everything is possible. Gear S2 comes full circle with a durable stainless steel body that sits slim and sleek on your wrist. Customizing the watch face and changing watch bands is so easy, it's a device for all occasions. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Browse reviews to find the most highly recommended local businesses including restaurants, bars, shops and more. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","S Health In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +085,29901936,085_29901936,Samsung Gear 2 Classic,Samsung Gear 2 Classic,,,,,,,,,,"S Health Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages.Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. We've partnered up with a growing portfolio of amazing apps to make Gear S2 work for you. From going the distance to keeping your home secure, everything is possible. Gear S2 comes full circle with a durable stainless steel body that sits slim and sleek on your wrist. Customizing the watch face and changing watch bands is so easy, it's a device for all occasions. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Browse reviews to find the most highly recommended local businesses including restaurants, bars, shops and more. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","S Health In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +086,30521602,086_30521602,Samsung Gear S2,Samsung Gear S2,,,,,,,,,,"Gear S2 X Atelier Mendini In a beautiful partnership, Alessandro Mendini brings his taste, humor and sense of color to the Gear S2. The result is a range of watch faces and watch bands that completes your personal style. Things you need most from your smartphone are available with a simple twist on Gear S2. Gently turn the Bezel to scroll through long emails, zoom into a map and play the next track. Life keeps getting better with every turn. Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages. Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +087,29901938,087_29901938,Samsung Gear S2,Samsung Gear S2,,,,,,,,,,"Gear S2 X Atelier Mendini In a beautiful partnership, Alessandro Mendini brings his taste, humor and sense of color to the Gear S2. The result is a range of watch faces and watch bands that completes your personal style. Things you need most from your smartphone are available with a simple twist on Gear S2. Gently turn the Bezel to scroll through long emails, zoom into a map and play the next track. Life keeps getting better with every turn. Taking charge of your health is easy with Gear S2. Track your daily activity levels, heart rate and water vs. caffeine intake. Continue to stay fit with timely motivational messages. Stay in the loop, keep fit and even buy a latte with Gear S2. And when it's time for a recharge, simply place it on the wireless charging dock. Enrich your mobile life with LINE, a global messaging app that's both fast and easy to use. Pay for your coffee or grab a quick bite with a wave of your arm. Hold your wrist near the NFC reader and you're done.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +088,29634940,088_29634940,Sony SWR12,Sony SWR12,,,,,,,,,,"Be more you SmartBand 2 keeps an eye on your pulse and stress level, checking how your energy rises and falls. Then you can see what keeps you calm, what makes you excited and everything in between. So you can start doing more of what makes you, you. With an inbuilt heart rate monitor, the SmartBand 2 constantly checks your pulse, whether you’re on the move or sitting at a desk. See what activities raise your heart rate, and how your heart returns to its normal resting rate. Walking, running or just rushing between meetings. However you move, the SmartBand 2 captures it all so you can see how active you’ve been. Even while you sleep the tracker is still working hard, monitoring how long and how sound your zzz really is. Check SmartBand 2 data from the past week, month, year and beyond on the Lifelog app. View on the timeline alongside other Lifelog entries, including events, photos and music. See how different activities, like a holiday or listening to your favourite tune, can alter your pulse and stress levels and learn how to balance your life.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +089,29634947,089_29634947,Sony SWR12,Sony SWR12,,,,,,,,,,"Be more you SmartBand 2 keeps an eye on your pulse and stress level, checking how your energy rises and falls. Then you can see what keeps you calm, what makes you excited and everything in between. So you can start doing more of what makes you, you. With an inbuilt heart rate monitor, the SmartBand 2 constantly checks your pulse, whether you’re on the move or sitting at a desk. See what activities raise your heart rate, and how your heart returns to its normal resting rate. Walking, running or just rushing between meetings. However you move, the SmartBand 2 captures it all so you can see how active you’ve been. Even while you sleep the tracker is still working hard, monitoring how long and how sound your zzz really is. Check SmartBand 2 data from the past week, month, year and beyond on the Lifelog app. View on the timeline alongside other Lifelog entries, including events, photos and music. See how different activities, like a holiday or listening to your favourite tune, can alter your pulse and stress levels and learn how to balance your life.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +090,24495844,090_24495844,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +091,25873091,091_25873091,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +092,24495842,092_24495842,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +093,24495843,093_24495843,Sony SmartWatch 3,Sony SmartWatch 3,,,,,,,,,,"The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +094,27033003,094_27033003,Sony SWR50,Sony SWR50,,,,,,,,,,"Talk to it Tell the SmartWatch 3 SWR50 what you want and it will do it. Search. Command. Find. Even without your smartphone, SmartWatch 3 SWR50 is a fun and useful accessory. You can fill it with music to take with you if you’re going for a run. When you’re out, you can track your activity and movements as well as sync with your Lifelog when you come home. Even without your smartphone, SmartWatch 3 SWR50 is a fun and useful accessory. You can fill it with music to take with you if you’re going for a run. When you’re out, you can track your activity and movements as well as sync with your Lifelog when you come home. Designed to perform and impress, the SmartWatch 3 SWR50 delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it.","Gear S2 X Atelier Mendini In einer wunderbaren Partnerschaft bringt Alessandro Mendini seinen Geschmack, Humor und Farbsinn in die Gestaltung der Gear S2 ein. Das Ergebnis ist eine Reihe von Zifferblättern und Armbändern, die Ihren persönlichen Stil zum Ausdruck bringen. Die wesentlichen Smartphone-Funktionen sind mit einer einfachen Drehung an der Gear S2 verfügbar. Drehen Sie leicht an der Blende, um lange E-Mails zu durchblättern, eine Karte zu vergrössern oder bei der Musikwiedergabe ein Stück zu überspringen. Mit jeder Drehung wird das Leben noch interessanter und bunter. Mit der Gear S2 können Sie sich sehr leicht um Ihre Gesundheit kümmern. Verfolgen Sie Ihre täglichen Aktivitäten, Ihren Puls und Ihren Wasserkonsum verglichen mit Ihrem Koffeinkonsum. Bleiben Sie fit mit zeitgerechten motivierenden Botschaften. Bleiben Sie auf dem Laufenden und fit. Und wenn es Zeit ist, die Smartwatch wieder aufzuladen, stellen Sie sie einfach auf eine drahtlose Ladestation.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +095,24235707,095_24235707,TomTom Golf,TomTom Golf,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +096,30856274,096_30856274,TomTom Golf,TomTom Golf,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +097,27290499,097_27290499,TomTom Golf,TomTom Golf,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +098,26192836,098_26192836,Hannspree sport watch,Hannspree Sportuhren,,,,,,,,,,"One-Button Control Navigate easily through menus. Precise yardages to front, center and back of green. View unique green and hazard graphics before your shot. ","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +099,27207215,099_27207215,ASUS VivoWatch,ASUS VivoWatch,,,,,,,,,,"ASUS VivoPulse Technology Built-in heart rate sensor works in real time to help you exercise more efficiently, track calories burned, and measure your sleep quality more precisely. Convenient LED indicator informs you if you are performing aerobic exercise or are overexerting yourself. Learn about your sleep patterns and quality to feel your best. An easy-to-understand rating of overall wellbeing based on your amount of exercise and sleep quality. Stay up-to-date with your loved ones' well-being via app or website. 10 days under normal operation. ASUS VivoWatch can be submerged in up to 1 meter of water for 30 minutes. Regular aerobic exercise provides numerous health benefits. ASUS VivoWatch has a convenient LED indicator that turns green when you are doing aerobic exercise and burning calories. If you push yourself to the limit, the indicator alerts you by turning red.","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +100,24675726,100_24675726,Acer Liquid Leap,Acer Liquid Leap,,,,,,,,,,"ASUS VivoPulse Technology Built-in heart rate sensor works in real time to help you exercise more efficiently, track calories burned, and measure your sleep quality more precisely. Convenient LED indicator informs you if you are performing aerobic exercise or are overexerting yourself. Learn about your sleep patterns and quality to feel your best. An easy-to-understand rating of overall wellbeing based on your amount of exercise and sleep quality. Stay up-to-date with your loved ones' well-being via app or website. 10 days under normal operation. ASUS VivoWatch can be submerged in up to 1 meter of water for 30 minutes. Regular aerobic exercise provides numerous health benefits. ASUS VivoWatch has a convenient LED indicator that turns green when you are doing aerobic exercise and burning calories. If you push yourself to the limit, the indicator alerts you by turning red.","Handgearbeitetes Lederarmband „Made in Italy“ Unsere stylische Premium-Edition wird mit einem handgearbeiteten Lederarmband „Made in Italy“ geliefert. Inklusive praktischem Ball-Marker von TomTom und einer Ball-Marker-Halterung, die sich an dem Uhrenarmband anbringen lässt. Mit der Trolley-Halterung lässt sich die Uhr ganz einfach verstauen, wenn du sie nicht trägst. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +101,29727910,101_29727910,Acer Leap Active,Acer Leap Active,,,,,,,,,,"Everyday fitness Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down. Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +102,30727008,102_30727008,TomTom Runner 2 Music,TomTom Runner 2 Music,,,,,,,,,,"Get Active Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit. While paired with your smartphone2, Leap Active sends notifications from your social apps straight to your wrist. It’ll also alert you of incoming calls and upcoming calendar events so you don’t miss out on any fun. Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +103,30727011,103_30727011,TomTom Runner 2 Music,TomTom Runner 2 Music,,,,,,,,,,"Get Active Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit. While paired with your smartphone2, Leap Active sends notifications from your social apps straight to your wrist. It’ll also alert you of incoming calls and upcoming calendar events so you don’t miss out on any fun. Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +104,30727010,104_30727010,TomTom Runner 2 Music,TomTom Runner 2 Music,,,,,,,,,,"Get Active Liquid Leap Active is a cool companion that tracks daily activities and keeps you constantly connected to your social circle. Staying active and social has never been easier. Sync with your smartphone to send social notifications directly to your wrist and control your music player1 without pulling out your phone. Power-efficient hardware and a long battery life make sure you'll never miss a message. Leap Active also features colourful wrist bands to match your outfit. While paired with your smartphone2, Leap Active sends notifications from your social apps straight to your wrist. It’ll also alert you of incoming calls and upcoming calendar events so you don’t miss out on any fun. Track daily activities and get instant information about your active lifestyle. Liquid Leap Active can track your exercise and even monitor sleep patterns. Thanks to its splash-proof design3, bad weather won’t slow you down.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +105,30727013,105_30727013,TomTom Runner 2 Cardio,TomTom Runner 2 Cardio,,,,,,,,,,"Built-in Heart-Rate Monitor Get accurate heart rate information on your wrist. Train in bike, swim, gym and treadmill modes. Run in 5 different zones to get results faster. Track your time, pace, distance and calories burnt. Capture your steps, active minutes and calories burnt. Select one of your past performances to race against. Improve speed and fitness with custom work-rest sessions. Track your performance on the treadmill or in the gym. Set and track your progress on daily and weekly goals. ","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +106,30727014,106_30727014,TomTom Runner 2 Cardio,TomTom Runner 2 Cardio,,,,,,,,,,"Built-in Heart-Rate Monitor Get accurate heart rate information on your wrist. Train in bike, swim, gym and treadmill modes. Run in 5 different zones to get results faster. Track your time, pace, distance and calories burnt. Capture your steps, active minutes and calories burnt. Select one of your past performances to race against. Improve speed and fitness with custom work-rest sessions. Track your performance on the treadmill or in the gym. Set and track your progress on daily and weekly goals. ","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +107,30727016,107_30727016,TomTom Runner 2 Cardio,TomTom Runner 2 Cardio,,,,,,,,,,"Built-in Heart-Rate Monitor Get accurate heart rate information on your wrist. Train in bike, swim, gym and treadmill modes. Run in 5 different zones to get results faster. Track your time, pace, distance and calories burnt. Capture your steps, active minutes and calories burnt. Select one of your past performances to race against. Improve speed and fitness with custom work-rest sessions. Track your performance on the treadmill or in the gym. Set and track your progress on daily and weekly goals. ","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +108,21047360,108_21047360,Sony SW2 SmartWatch,Sony SW2 SmartWatch,,,,,,,,,,"Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +109,19416433,109_19416433,Sony SW2 SmartWatch,Sony SW2 SmartWatch,,,,,,,,,,"Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.","Multisport-Modus Im Rad-, Schwimm-, Fitness- und Laufbandmodus trainieren. Zeit, Tempo, Distanz und verbrannte Kalorien zum Nachverfolgen auf deiner Uhr. Erfasse deine Schritte, aktiven Minuten und verbrannten Kalorien. Wähle eine deiner vergangenen Leistungen aus, um dagegen anzutreten. Verbessere deine Geschwindigkeit und Ausdauer mit individuell zusammengestellten Trainings- und Ruhephasen. Motiviere dich selbst mit dem Audio-Feedback zu deiner Leistung. Überwache deine Leistung auf dem Laufband oder im Fitnessstudio. Setz dir Ziele und verfolge deinen Fortschritt, täglich oder wöchentlich. Über 500 Songs immer mit dabei, auch ohne Handy. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +110,19682159,110_19682159,Samsung Galaxy Gear,Samsung Galaxy Gear,,,,,,,,,,"Voice Operation With Samsung's latest groundbreaking innovation, the Galaxy Gear, it's clear that time's up on the traditional watch. It features the smart technology you love and the functionality that you still need, and is the perfect companion to the new Galaxy Note 3.","Voice Operation Der eingebaute Lautsprecher ermöglicht Anrufe direkt vom GALAXY Gear – ohne Benutzung der Hände. Auf diese Weise bleibt man stets erreichbar ohne in seiner alltäglichen Routine gestört zu werden. Ein Beispiel: Ein User verlässt den Supermarkt voll bepackt mit Einkaufstaschen. Kein Problem, denn mit GALAXY Gear kann man telefonieren ohne den Touchscreen berühren zu müssen. Textentwürfe, neue Kalendereinträge, Alarmeinstellungen und einen kurzen Wettercheck sind beim GALAXY Gear dank S Voice schnell gemacht. Mit dem Samsung GALAXY Gear lassen sich nicht nur Smart Devices bedienen, sondern es bietet auch zahlreiche Features, um die bedeutenden Momente im Leben festzuhalten. Mit dem Memographer Feature, einer 1,9 Megapixel Kamera, können User auch von unterwegs oder während sie sportlich aktiv sind, schnelle Aufnahmen wichtiger Ereignisse machen und diese auf ihren Social Network-Kanälen teilen. Das Konzept für Schnellaufnahmen wurde ausgebaut und mit Voice Memo können User wichtige Gedanken oder Gesprächsnotizen am Handgelenk speichern und diese Tonaufnahmen auf Samsung GALAXY Devices in Textform bringen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +111,12295890,111_12295890,Sony SmartWatch,Sony SmartWatch,,,,,,,,,,"Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your world’s just a tap, swipe or press away. Want to do more with your SmartWatch? Download compatible applications on Google Play™. And customise your SmartWatch to make it exclusively yours. Customise your SmartWatch with a 20mm wristband. Or wear its stylish wristband. You can even use it as a clip. This ultra-thin Android™ remote was designed to impress. An elegant Android watch that’ll keep you discreetly updated and your hands free. ","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,312526171,112_312526171,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.7 GHz,,,,,processor_cache,3 MB,//icecat.de/en/p/acer/dt.x0cet.035/pcs-workstations-4713392506673-Acer-Extensa-M2610-3-7GHz-i3-4170-Black-31252617.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,306918001,112_306918001,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.2 GHz,,,,,processor_cache,6 MB,//icecat.de/en/p/acer/dt.x0cek.009/pcs-workstations-4713392523120-Acer-Extensa-M2610-3-2GHz-i5-4460-Black-30691800.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,312526191,112_312526191,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.3 GHz,,,,,processor_cache,12 MB,//icecat.de/en/p/acer/dt.x0cet.039/pcs-workstations-4713392554308-Acer-Extensa-M2610-3-3GHz-G3260-1L-sized-PC-31252619.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,312526172,112_312526172,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.7 GHz,,,,,processor_cache,6 MB,//icecat.de/en/p/acer/dt.x0cet.035/pcs-workstations-4713392506673-Acer-Extensa-M2610-3-7GHz-i3-4170-Black-31252617.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,306918002,112_306918002,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.2 GHz,,,,,processor_cache,3 MB,//icecat.de/en/p/acer/dt.x0cek.009/pcs-workstations-4713392523120-Acer-Extensa-M2610-3-2GHz-i5-4460-Black-30691800.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,312526192,112_312526192,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.7 GHz,,,,,processor_cache,12 MB,//icecat.de/en/p/acer/dt.x0cet.039/pcs-workstations-4713392554308-Acer-Extensa-M2610-3-3GHz-G3260-1L-sized-PC-31252619.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,306918003,112_306918003,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.2 GHz,,,,,processor_cache,12 MB,//icecat.de/en/p/acer/dt.x0cet.035/pcs-workstations-4713392506673-Acer-Extensa-M2610-3-7GHz-i3-4170-Black-31252617.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +112,312526193,112_312526193,Acer Extensa M2610,Acer Extensa M2610,processor_frequency,3.3 GHz,,,,,processor_cache,3 MB,//icecat.de/en/p/acer/dt.x0cek.009/pcs-workstations-4713392523120-Acer-Extensa-M2610-3-2GHz-i5-4460-Black-30691800.html,"Get more done The latest Intel Core processors and HD graphics give you essential performance to power through the work day. Extensa M2 series PCs come with up to 8GB of DDR3 memory and 2TB HDD. They also offer optional 16X Super Multi drives that are compatible with various DVD formats and USB 3.0 ports. The PCs support multi monitor set-ups for additional viewing space. With Extensa M2 series PCs, you can rest assured and stay focused on getting work done. TPM 1.2 encryption protects files, passwords and vital data, and the Acer ProShield console unifies security and management features for easy administration. Plus, the PCs are Acer Commercial Reliability qualified and have been tested for maximum trustworthiness.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +113,29885591,113_29885591,Acer Veriton 6,Acer Veriton 6,,,,,,,,,//icecat.de/en/p/acer/dt.vn1eh.002/pcs-workstations-4713392396762-Acer-Veriton-6-M6640G-29885591.html,"Rock-solid technology drives business The Veriton 6 Series comes in a wide range of form factors to meet various business needs. Intel® Core™ processors and fast DDR4 memory deliver premium performance, while a powerful software suite offers security and manageability to drive business efficiency. The Veriton 6 Series comes in form factors ranging from 3 to 30 liters, to fit all office spaces and business demands. Perform more tasks at once with 3 rd generation Intel ® Core ™ processors supporting Intel ™ vPro Technology plus up to 32 GB of fast DDR4 memory. Storage options from a DVD drive to Intel ® Rapid Storage Technology with RAID ensure a solid match for your needs. The 100% solid capacitor design provides the stability, reliability and longevity essential to meet the power needs of the high-end processors and other components in the Veriton 6 Series, enabling them to run today's most demanding applications. A convenient, modular design allows components to be easily swapped or upgraded.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +114,29911081,114_29911081,ASUS M,ASUS M,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/asus/90pd00u3-m13260/pcs-workstations-M32AD-BE012T-29911081.html,"The Perfect Home Computer ASUS M32 desktop PC performs everything from your daily tasks to playing 4K Ultra HD video with enhanced energy efficiency. Multitask with several apps at once thanks to the 4th gen Intel® Core™ processor. Power visually demanding programs with discrete NVIDIA graphics. Whatever you choose to do, M32 makes it happen with unique optimization for increased performance or energy savings when you need it. M32 desktop PC features discrete NVIDIA or AMD graphics card that delivers twice the performance of the previous generation. Watch up to 4K Ultra HD video and enjoy smoother visuals and more responsiveness when playing the latest games. Giving you reliability with convenience, M32 desktop PC monitors internal temperatures and intelligently adjusts fan speed to ensure efficient cooling while staying under 25dB of sound at idle—quieter than a library.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +114,30580483,114_30580483,ASUS M,ASUS M,processor_frequency,2.7 GHz,,,,,,,//icecat.de/en/p/asus/90pd01j4-m07300/pcs-workstations-M32CD-NL019T-30580483.html,"The Perfect Home Computer ASUS M32 desktop PC performs everything from your daily tasks to playing 4K Ultra HD video with enhanced energy efficiency. Multitask with several apps at once thanks to the 4th gen Intel® Core™ processor. Power visually demanding programs with discrete NVIDIA graphics. Whatever you choose to do, M32 makes it happen with unique optimization for increased performance or energy savings when you need it. M32 desktop PC features discrete NVIDIA or AMD graphics card that delivers twice the performance of the previous generation. Watch up to 4K Ultra HD video and enjoy smoother visuals and more responsiveness when playing the latest games. Giving you reliability with convenience, M32 desktop PC monitors internal temperatures and intelligently adjusts fan speed to ensure efficient cooling while staying under 25dB of sound at idle—quieter than a library.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +115,27295368,115_27295368,DELL OptiPlex 3020,DELL OptiPlex 3020,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/dell/tky32/pcs-workstations-3020-27295368.html,"Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and easy serviceability. Stop advanced threats and zero-day attacks with Dell Data Protection | Protected Workspace — a proactive, real-time solution for malware protection. Ensure authorized access through multifactor, single sign-on (SSO) and preboot authentication with Dell Data Protection | Security Tools. Streamline administration with integration into Dell KACE appliances, Microsoft System Center and industry-standard tools. Deploy with flexibility through multiple chassis options. Select the small form factor chassis, optimized for constrained workspaces, or the expandable mini tower with support for up to four PCIe cards.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +115,26440118,115_26440118,DELL OptiPlex 3020,DELL OptiPlex 3020,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/dell/3020-8260/pcs-workstations-3020-26440118.html,"Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and easy serviceability. Stop advanced threats and zero-day attacks with Dell Data Protection | Protected Workspace — a proactive, real-time solution for malware protection. Ensure authorized access through multifactor, single sign-on (SSO) and preboot authentication with Dell Data Protection | Security Tools. Streamline administration with integration into Dell KACE appliances, Microsoft System Center and industry-standard tools. Deploy with flexibility through multiple chassis options. Select the small form factor chassis, optimized for constrained workspaces, or the expandable mini tower with support for up to four PCIe cards.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +115,26408656,115_26408656,DELL OptiPlex 3020,DELL OptiPlex 3020,processor_frequency,3.3 GHz,,,,,,,//icecat.de/en/p/dell/3020-8291/pcs-workstations-3020-26408656.html,"Great performance. Outstanding value Get the job done with business-ready desktops offering superb value with strong performance, exceptional security and easy serviceability. Stop advanced threats and zero-day attacks with Dell Data Protection | Protected Workspace — a proactive, real-time solution for malware protection. Ensure authorized access through multifactor, single sign-on (SSO) and preboot authentication with Dell Data Protection | Security Tools. Streamline administration with integration into Dell KACE appliances, Microsoft System Center and industry-standard tools. Deploy with flexibility through multiple chassis options. Select the small form factor chassis, optimized for constrained workspaces, or the expandable mini tower with support for up to four PCIe cards.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +116,29743424,116_29743424,Fujitsu CELSIUS M740,Fujitsu CELSIUS M740,processor_frequency,3.1 GHZ,,,,,,,//icecat.de/en/p/fujitsu/vfy-m7400w78abit/pcs-workstations-M740-29743424.html,"Perfomance you can count on. Next generation Intel® Xeon® processors, high performing graphics subsystems, quad-channel memory technology and high-speed hard disk drives. The CELSIUS M740 desktop workstation has been optimized to combat today’s professional and technical challenges. It can be individually configured, helping you to enhance your productivity. The CELSIUS M740power is certified for Medical EMC standards IEC60601-1-2 to perform in healthcare environments. To round things off, a near-silent noise emission of 20 dB(A) allows you to work comfortably in the most quiet of working environments. High product standards thanks to top-quality components and comprehensive testing in certified in-house laboratories for 24/7 operation.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +116,28684053,116_28684053,Fujitsu CELSIUS M740,Fujitsu CELSIUS M740,processor_frequency,3.4 GHZ,,,,,,,//icecat.de/en/p/fujitsu/vfy-m7400w48dbgb/pcs-workstations-M740-28684053.html,"Perfomance you can count on. Next generation Intel® Xeon® processors, high performing graphics subsystems, quad-channel memory technology and high-speed hard disk drives. The CELSIUS M740 desktop workstation has been optimized to combat today’s professional and technical challenges. It can be individually configured, helping you to enhance your productivity. The CELSIUS M740power is certified for Medical EMC standards IEC60601-1-2 to perform in healthcare environments. To round things off, a near-silent noise emission of 20 dB(A) allows you to work comfortably in the most quiet of working environments. High product standards thanks to top-quality components and comprehensive testing in certified in-house laboratories for 24/7 operation.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +117,29890338,117_29890338,Fujitsu ESPRIMO D556,Fujitsu ESPRIMO D556,internal_memory,8 GB,,,,,,,//icecat.de/en/p/fujitsu/vfy-d0556p73yogb/pcs-workstations-D556-29890338.html,The FUJITSU ESPRIMO Desktop provides high-quality computing for your daily office tasks. It supports attractive price points and delivers the continuity needed for daily operations. Your valuable business data is protected by the latest TPM controller and the Erasedisk option. To meet your specific hardware needs it can be either individually configured or customized.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +117,30585828,117_30585828,Fujitsu ESPRIMO D556,Fujitsu ESPRIMO D556,internal_memory,4 GB,,,,,,,//icecat.de/en/p/fujitsu/vfy-d0556p735ode/pcs-workstations-D556-30585828.html,The FUJITSU ESPRIMO Desktop provides high-quality computing for your daily office tasks. It supports attractive price points and delivers the continuity needed for daily operations. Your valuable business data is protected by the latest TPM controller and the Erasedisk option. To meet your specific hardware needs it can be either individually configured or customized.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +118,29804739,118_29804739,Fujitsu ESPRIMO E420,Fujitsu ESPRIMO E420,,,,,,,,,//icecat.de/en/p/fujitsu/vfy-e0420p751obe/pcs-workstations-4054681970738-E420-29804739.html,"Energy Efficiency As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E420 features proven technology regarding Intel® chipset and processor and an 85% energy efficient power supply. Fujitsu is committed to eliminating the use of harmful and potentially harmful substances in its products and production processes in order to minimize risk to end users and to the environment. This strategy is captured in Environmental Guideline FTS03230 and forms the basis on which all Fujitsu's products are designed. Especially for Fujitsu ESPRIMO PCs this means that all used printed circuit boards are halogen free. Furthermore they are compliant with several certificates awarding environmental conscience such as ENERGY STAR® and EPEAT.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +119,29804808,119_29804808,Fujitsu ESPRIMO E920,Fujitsu ESPRIMO E920,,,,,,,,,//icecat.de/en/p/fujitsu/vfy-e0920p75sgbe/pcs-workstations-4054681970776-E920-29804808.html,"Green IT Fujitsu is committed to eliminating the use of harmful and potentially harmful substances in its products and production processes in order to minimize risk to end users and to the environment. This strategy is captured in Environmental Guideline FTS03230 and forms the basis on which all Fujitsu's products are designed. Especially for Fujitsu ESPRIMO PCs this means that all used printed circuit boards are halogen free. Furthermore they are compliant with several certificates awarding environmental conscience such as ENERGY STAR® and EPEAT. As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +120,29890350,120_29890350,Fujitsu ESPRIMO P556,Fujitsu ESPRIMO P556,processor_frequency,3.7 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-p0556p735ogb/pcs-workstations-P556-29890350.html,"High performance and best price/performance ratio As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode. Outstanding quality and stable functions based on German production standards. The development, production and functionality tests - all under one roof in Germany","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +120,30069636,120_30069636,Fujitsu ESPRIMO P556,Fujitsu ESPRIMO P556,processor_frequency,3.4 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-p0556p77aoit/pcs-workstations-P556-30069636.html,"High performance and best price/performance ratio As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode. Outstanding quality and stable functions based on German production standards. The development, production and functionality tests - all under one roof in Germany","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +120,30069631,120_30069631,Fujitsu ESPRIMO P556,Fujitsu ESPRIMO P556,processor_frequency,2.7 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-p0556p75a5it/pcs-workstations-P556-30069631.html,"High performance and best price/performance ratio As energy saving is one of the core components of Fujitsu’ approach to the environment, we permanently try to improve the energy efficiency of our products. The Fujitsu ESPRIMO E920 features latest technology regarding Intel® chipset and processor and optional an up to 94% energy efficient power supply. Furthermore it delivers enhanced power management settings and optional 0-Watt power consumption in off-mode. Outstanding quality and stable functions based on German production standards. The development, production and functionality tests - all under one roof in Germany","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +121,29406823,121_29406823,HP 200 280 G1,HP 200 280 G1,processor_frequency,3 GHz,,,,,,,//icecat.de/en/p/hp/n9e78ea/pcs-workstations-280+G1-29406823.html,Ready for work The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take on your everyday work at an affordable price with the HP 280 G1 desktop PC. Get the computing power you need while minimizing the total cost of ownership—now that’s a smart investment. The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take up less space than a traditional tower with the HP 280 G1 Micro Tower with a stylish design to compliment your workspace.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +121,28542963,121_28542963,HP 200 280 G1,HP 200 280 G1,processor_frequency,2.8 GHz,,,,,,,//icecat.de/en/p/hp/n9e67ea/pcs-workstations-280+G1-28542963.html,Ready for work The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take on your everyday work at an affordable price with the HP 280 G1 desktop PC. Get the computing power you need while minimizing the total cost of ownership—now that’s a smart investment. The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take up less space than a traditional tower with the HP 280 G1 Micro Tower with a stylish design to compliment your workspace.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +121,28549476,121_28549476,HP 200 280 G1,HP 200 280 G1,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/hp/n0d97ea-abh/pcs-workstations-280+G1+MT-28549476.html,Ready for work The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take on your everyday work at an affordable price with the HP 280 G1 desktop PC. Get the computing power you need while minimizing the total cost of ownership—now that’s a smart investment. The HP 280 G1 MT provides a strong performing PC for your agency with the tools you need to accomplish your everyday tasks. Take up less space than a traditional tower with the HP 280 G1 Micro Tower with a stylish design to compliment your workspace.,"Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +122,22308524,122_22308524,HP EliteDesk 800 G1 Mini,HP EliteDesk 800 G1 Mini,processor_frequency,2.9 GHz,,,,,,,//icecat.de/en/p/hp/f6x31ea/pcs-workstations-800+G1+Mini-22308524.html,"Big power. Space saving design. Smaller than some desk phones, this Desktop Mini can fit almost anywhere vertically or horizontally. The clean, easily serviceable design with integrated wireless antenna allows flexible deployment options1 to help optimize the workspace. Keep productivity high and downtime low with HP BIOSphere firmware-level automation. Your PCs have extra protection thanks to automatic updates and security checks. Enjoy customization that allows your PC to evolve with your business.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +122,26145672,122_26145672,HP EliteDesk 800 G1 Mini,HP EliteDesk 800 G1 Mini,processor_frequency,3.1 GHz,,,,,,,//icecat.de/en/p/hp/j7d10ea/pcs-workstations-800+G1+Mini-26145672.html,"Big power. Space saving design. Smaller than some desk phones, this Desktop Mini can fit almost anywhere vertically or horizontally. The clean, easily serviceable design with integrated wireless antenna allows flexible deployment options1 to help optimize the workspace. Keep productivity high and downtime low with HP BIOSphere firmware-level automation. Your PCs have extra protection thanks to automatic updates and security checks. Enjoy customization that allows your PC to evolve with your business.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +123,29866607,123_29866607,HP EliteDesk 800 G2,HP EliteDesk 800 G2,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/t4j17et/pcs-workstations-800+G2+SFF-29866607.html,"Designed for every demand Experience top-notch productivity plus industry-leading reliability, security, and manageability, plus a unique portfolio of solutions in a compact, space-saving design with the powerful HP EliteDesk 800 SFF. Extend the life of your investment with a tool-less chassis and a range of expansion slots, bays, ports, and connectors for the most demanding business needs. Help protect your PC and maintain maximum uptime with a suite of solutions that help stop security breaches, including HP BIOSphere4 with SureStart.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +123,30610368,123_30610368,HP EliteDesk 800 G2,HP EliteDesk 800 G2,total_storage_capacity,500 GB,,,,,,,//icecat.de/en/p/hp/v1e82et/pcs-workstations-800+G2+MT-30610368.html,"Designed for every demand Experience top-notch productivity plus industry-leading reliability, security, and manageability, plus a unique portfolio of solutions in a compact, space-saving design with the powerful HP EliteDesk 800 SFF. Extend the life of your investment with a tool-less chassis and a range of expansion slots, bays, ports, and connectors for the most demanding business needs. Help protect your PC and maintain maximum uptime with a suite of solutions that help stop security breaches, including HP BIOSphere4 with SureStart.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +123,29866603,123_29866603,HP EliteDesk 800 G2,HP EliteDesk 800 G2,total_storage_capacity,1000 GB,,,,,,,//icecat.de/en/p/hp/p1g93et/pcs-workstations-800+G2-29866603.html,"Designed for every demand Experience top-notch productivity plus industry-leading reliability, security, and manageability, plus a unique portfolio of solutions in a compact, space-saving design with the powerful HP EliteDesk 800 SFF. Extend the life of your investment with a tool-less chassis and a range of expansion slots, bays, ports, and connectors for the most demanding business needs. Help protect your PC and maintain maximum uptime with a suite of solutions that help stop security breaches, including HP BIOSphere4 with SureStart.","Erfüllt jede Anforderung Mit dem leistungsstarken HP EliteDesk 800 SFF erhalten Sie erstklassige Produktivität, branchenführende Zuverlässigkeit, Sicherheit und Verwaltbarkeit sowie ein einzigartiges Lösungsportfolio in einem kompakten, platzsparenden Design. - Schützen Sie Ihren PC und sorgen Sie für kontinuierlichen Betrieb mit verschiedenen Sicherheitslösungen, die Sicherheitslücken verhindern, darunter HP BIOSphere mit Sure Start. Erweitern Sie die Lebensdauer Ihrer Investitionen mit einem werkzeugfreien Gehäuse und einer Reihe von Erweiterungssteckplätzen, Einschüben und Anschlüssen für Ihre anspruchsvollsten Geschäftsanforderungen. Genießen Sie die Sicherheit eines PCs, der 120.000 Stunden im HP Total Test Process durchlaufen hat und die MIL-STD-Teststandards erfüllt. Erhöhen Sie die Zuverlässigkeit in staubigen Umgebungen mit dem optionalen Staubfilter.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +124,31623088,124_31623088,HP ProDesk 400 G3,HP ProDesk 400 G3,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/t4r73ea-abd-cp/pcs-workstations-400+G3+SFF-31623088.html,"New powerful processors Give your business the strong foundation it needs for growth with the affordable and reliable HP ProDesk 400 SFF. Designed with essential security and manageability features, the HP ProDesk 400 helps keep your business growing. New 6th Gen Intel® Core™ processors bring powerful processing with Intel® HD 530 Graphics. Available DDR4 memory helps meet the demands of today’s businesses. HP ProDesks are rigorously tested to help ensure reliability. During the HP Total Test Process, PCs experience 120,000 hours of performance trials to help get you through your business day. The HP ProDesk 400 SFF helps affordably build a solid IT infrastructure for your growing business and fits in smaller workspaces for easy deployment. ","Neue leistungsstarke Prozessoren Verleihen Sie Ihrem Unternehmen mit dem kostengünstigen und zuverlässigen HP ProDesk 400 SFF eine solide Grundlage, auf der es wachsen kann. Der HP ProDesk 400 wurde mit grundlegenden Sicherheits- und Verwaltungsfunktionen konzipiert, die das Unternehmenswachstum unterstützen. Die neuen Intel® Core™ Prozessoren der 6. Generation sorgen für hervorragende Verarbeitungsleistung mit Intel® HD-Grafikkarte 530. Der verfügbare DDR4-Speicher trägt zur Erfüllung der modernen Unternehmensanforderungen bei. HP BIOSphere und HP Client Security erhöhen die Sicherheit und halten geschäftskritische Daten und Systeme mit individuell anpassbarer Authentifizierung und Kennwörtern auf BIOS-Ebene sicher unter Verschluss.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +124,29866591,124_29866591,HP ProDesk 400 G3,HP ProDesk 400 G3,total_storage_capacity,500 GB,,,,,,,//icecat.de/en/p/hp/p5k01et/pcs-workstations-400+G3+MT-29866591.html,"New powerful processors Give your business the strong foundation it needs for growth with the affordable and reliable HP ProDesk 400 SFF. Designed with essential security and manageability features, the HP ProDesk 400 helps keep your business growing. New 6th Gen Intel® Core™ processors bring powerful processing with Intel® HD 530 Graphics. Available DDR4 memory helps meet the demands of today’s businesses. HP ProDesks are rigorously tested to help ensure reliability. During the HP Total Test Process, PCs experience 120,000 hours of performance trials to help get you through your business day. The HP ProDesk 400 SFF helps affordably build a solid IT infrastructure for your growing business and fits in smaller workspaces for easy deployment. ","Neue leistungsstarke Prozessoren Verleihen Sie Ihrem Unternehmen mit dem kostengünstigen und zuverlässigen HP ProDesk 400 SFF eine solide Grundlage, auf der es wachsen kann. Der HP ProDesk 400 wurde mit grundlegenden Sicherheits- und Verwaltungsfunktionen konzipiert, die das Unternehmenswachstum unterstützen. Die neuen Intel® Core™ Prozessoren der 6. Generation sorgen für hervorragende Verarbeitungsleistung mit Intel® HD-Grafikkarte 530. Der verfügbare DDR4-Speicher trägt zur Erfüllung der modernen Unternehmensanforderungen bei. HP BIOSphere und HP Client Security erhöhen die Sicherheit und halten geschäftskritische Daten und Systeme mit individuell anpassbarer Authentifizierung und Kennwörtern auf BIOS-Ebene sicher unter Verschluss.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +125,30703764,125_30703764,HP ProDesk 600 G2,HP ProDesk 600 G2,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/hp/t6g01aw/pcs-workstations-600+G2-30703764.html,"Perform at the speed of work Power through your day with speed and performance. Get the latest in processing technology with your choice of 6th Generation Intel® Core™ processors and Intel® HD 530 Graphics. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. The HP ProDesk 600 Desktop MT/SFF delivers powerful performance, security, and manageability at a value that enables you to keep focused on your businesses. ","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +125,30350012,125_30350012,HP ProDesk 600 G2,HP ProDesk 600 G2,processor_frequency,3.7 GHz,,,,,,,//icecat.de/en/p/hp/t4j52ea/pcs-workstations-600+G2+SFF-30350012.html,"Perform at the speed of work Power through your day with speed and performance. Get the latest in processing technology with your choice of 6th Generation Intel® Core™ processors and Intel® HD 530 Graphics. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. IT efficiency reigns supreme when it’s backed by a full portfolio of security solutions, including HP BIOSphere and Device Guard4 available on Windows 101 Enterprise Edition. The HP ProDesk 600 Desktop MT/SFF delivers powerful performance, security, and manageability at a value that enables you to keep focused on your businesses. ","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +126,24722439,126_24722439,HP Z 440,HP Z 440,processor_frequency,3 GHz,,,,,,,//icecat.de/en/p/hp/g1x60ea/pcs-workstations-440+MT-24722439.html,"Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation delivering support for up to 8 cores of processing power. Add in powerful graphics and performance features like optional Thunderbolt™ 23, HP Z Turbo Drive4, and HP Remote Graphics Software, and you get a world-class workstation experience that never slows you down. Take your business to the next level of performance, expandability, and no compromise reliability in one complete package. Featuring a perfect mix of HP Z DNA in a performance workstation package with up to 8 discrete processor cores, up to 128 GB of RAM, and multiple storage and PCIe configuration options. Protect your investment and make downtime a thing of the past. Get no-compromise reliability and a standard 3/3/3 limited warranty from the HP Z440 Workstation.","Aufgaben sind schnell erledigt Erledigen Sie Ihre Aufgaben noch schneller. Erzielen Sie eine hohe Rechenleistung dank einer Personal Workstation mit nur einem Prozessor, der bis zu 8 Prozessorkerne unterstützt. Ergänzen Sie Grafik- und Leistungsmerkmale wie optionales Thunderbolt™ 21, ein HP Z Turbo Drive2 und HP Remote Graphics Software2 und profitieren Sie von einer erstklassigen Workstation-Leistung, mit der Sie schneller arbeiten können. Bieten Sie Ihrem Business mehr Leistung, Erweiterbarkeit und kompromisslose Zuverlässigkeit in einem Komplettpaket. Eine perfekte Kombination aus Funktionen der HP Z Modellreihe in einem Performance-Workstation-Paket mit bis zu acht separaten Prozessorkernen, bis zu 128 GB RAM sowie mehreren Speicher- und PCIe-Konfigurationsoptionen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +126,30407844,126_30407844,HP Z 440,HP Z 440,processor_frequency,3.5 GHz,,,,,,,//icecat.de/en/p/hp/j9b88ea/pcs-workstations-440+MT-30407844.html,"Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation delivering support for up to 8 cores of processing power. Add in powerful graphics and performance features like optional Thunderbolt™ 23, HP Z Turbo Drive4, and HP Remote Graphics Software, and you get a world-class workstation experience that never slows you down. Take your business to the next level of performance, expandability, and no compromise reliability in one complete package. Featuring a perfect mix of HP Z DNA in a performance workstation package with up to 8 discrete processor cores, up to 128 GB of RAM, and multiple storage and PCIe configuration options. Protect your investment and make downtime a thing of the past. Get no-compromise reliability and a standard 3/3/3 limited warranty from the HP Z440 Workstation.","Aufgaben sind schnell erledigt Erledigen Sie Ihre Aufgaben noch schneller. Erzielen Sie eine hohe Rechenleistung dank einer Personal Workstation mit nur einem Prozessor, der bis zu 8 Prozessorkerne unterstützt. Ergänzen Sie Grafik- und Leistungsmerkmale wie optionales Thunderbolt™ 21, ein HP Z Turbo Drive2 und HP Remote Graphics Software2 und profitieren Sie von einer erstklassigen Workstation-Leistung, mit der Sie schneller arbeiten können. Bieten Sie Ihrem Business mehr Leistung, Erweiterbarkeit und kompromisslose Zuverlässigkeit in einem Komplettpaket. Eine perfekte Kombination aus Funktionen der HP Z Modellreihe in einem Performance-Workstation-Paket mit bis zu acht separaten Prozessorkernen, bis zu 128 GB RAM sowie mehreren Speicher- und PCIe-Konfigurationsoptionen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +126,26280142,126_26280142,HP Z 440,HP Z 440,processor_frequency,2.8 GHz,,,,,,,//icecat.de/en/p/hp/j9b45ea/pcs-workstations-Z440-26280142.html,"Get the job done fast Cross items off your to-do list fast. Achieve massive computational performance with a single processor personal workstation delivering support for up to 8 cores of processing power. Add in powerful graphics and performance features like optional Thunderbolt™ 23, HP Z Turbo Drive4, and HP Remote Graphics Software, and you get a world-class workstation experience that never slows you down. Take your business to the next level of performance, expandability, and no compromise reliability in one complete package. Featuring a perfect mix of HP Z DNA in a performance workstation package with up to 8 discrete processor cores, up to 128 GB of RAM, and multiple storage and PCIe configuration options. Protect your investment and make downtime a thing of the past. Get no-compromise reliability and a standard 3/3/3 limited warranty from the HP Z440 Workstation.","Aufgaben sind schnell erledigt Erledigen Sie Ihre Aufgaben noch schneller. Erzielen Sie eine hohe Rechenleistung dank einer Personal Workstation mit nur einem Prozessor, der bis zu 8 Prozessorkerne unterstützt. Ergänzen Sie Grafik- und Leistungsmerkmale wie optionales Thunderbolt™ 21, ein HP Z Turbo Drive2 und HP Remote Graphics Software2 und profitieren Sie von einer erstklassigen Workstation-Leistung, mit der Sie schneller arbeiten können. Bieten Sie Ihrem Business mehr Leistung, Erweiterbarkeit und kompromisslose Zuverlässigkeit in einem Komplettpaket. Eine perfekte Kombination aus Funktionen der HP Z Modellreihe in einem Performance-Workstation-Paket mit bis zu acht separaten Prozessorkernen, bis zu 128 GB RAM sowie mehreren Speicher- und PCIe-Konfigurationsoptionen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +127,22828284,127_22828284,HP Z 620,HP Z 620,total_storage_capacity,240 GB,,,,,,,//icecat.de/en/p/hp/bwm678ea10-aby/pcs-workstations-620-22828284.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +127,22613708,127_22613708,HP Z 620,HP Z 620,total_storage_capacity,256 GB,,,,,,,//icecat.de/en/p/hp/wm682ea/pcs-workstations-620-22613708.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +127,20723326,127_20723326,HP Z 620,HP Z 620,total_storage_capacity,1000 GB,,,,,,,//icecat.de/en/p/hp/bwm596et1/pcs-workstations-620-20723326.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +127,22613709,127_22613709,HP Z 620,HP Z 620,total_storage_capacity,512 GB,,,,,,,//icecat.de/en/p/hp/wm683ea/pcs-workstations-620-22613709.html,"Big Possibilities. Compact Form Factor. More versatile than ever before. With up to 16 discrete processor cores, the HP Z620 Workstation packs a ton of computing and visualization power into a quiet, compact footprint. This dual-socket system helps you boost productivity with next-generation Intel® Xeon® processors and support for up to 8 displays. Get massive system performance with a small footprint. The HP Z620 features the next evolution in processor technology and system architecture, setting the standard for versatility with support for a single Intel E5-1600 Series Xeon® processor or dual Intel E5-2600 Series Xeon® processors. With 800W 90% efficient power supply and support for up to 8 displays, the HP Z620 gives you the freedom of doing and seeing more.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +128,29955336,128_29955336,Lenovo ThinkCentre E73,Lenovo ThinkCentre E73,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/lenovo/10du0010ix/pcs-workstations-E73-29955336.html,"Small Form Factor Small Form Factor desktops provide the ultimate performance with full-featured scalability, yet weigh as little as 13.2 lbs / 6 kgs. Keep your business-critical information safe through USB port disablement and the password-protected BIOS and HDD. You can also safeguard your hardware by physically securing your mouse and keyboard, while the Kensington slot enables you to lock down your E73. Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +128,27314278,128_27314278,Lenovo ThinkCentre E73,Lenovo ThinkCentre E73,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/lenovo/10ds000hmh/pcs-workstations-E73-27314278.html,"Small Form Factor Small Form Factor desktops provide the ultimate performance with full-featured scalability, yet weigh as little as 13.2 lbs / 6 kgs. Keep your business-critical information safe through USB port disablement and the password-protected BIOS and HDD. You can also safeguard your hardware by physically securing your mouse and keyboard, while the Kensington slot enables you to lock down your E73. Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +129,30706500,129_30706500,Lenovo ThinkCenter E73,Lenovo ThinkCenter E73,processor_frequency,3.2 GHz,,,,,,,//icecat.de/en/p/lenovo/10ds000yuk/pcs-workstations-E73-30706500.html,"Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology. With 10% more processing power, 4th generation Intel® Core™ processors deliver the performance to increase business productivity for your business. They can also guard against identity theft and ensure safe access to your network with built-in security features.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +129,27107297,129_27107297,Lenovo ThinkCenter E73,Lenovo ThinkCenter E73,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/lenovo/10b5000yuk/pcs-workstations-M73-27107297.html,"Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology. With 10% more processing power, 4th generation Intel® Core™ processors deliver the performance to increase business productivity for your business. They can also guard against identity theft and ensure safe access to your network with built-in security features.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +129,24325712,129_24325712,Lenovo ThinkCenter E73,Lenovo ThinkCenter E73,processor_frequency,3 GHz,,,,,,,//icecat.de/en/p/lenovo/10b1a0f3pb/pcs-workstations-M73-24325712.html,"Eco-friendly and Energy Efficient Lenovo Desktop Power Manager lets you balance power management and performance to save energy and lower costs. The E73 is also ENERGY STAR compliant, EPEAT® Gold and Cisco EnergyWise™ certified—so you can feel good about the planet and your bottom line. With SuperSpeed USB 3.0, transfer data up to 10 times faster than previous USB technologies. You can also connect to audio- and video-related devices with WiFi and Bluetooth® technology. With 10% more processing power, 4th generation Intel® Core™ processors deliver the performance to increase business productivity for your business. They can also guard against identity theft and ensure safe access to your network with built-in security features.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +130,29285281,130_29285281,Lenovo ThinkStation P300,Lenovo ThinkStation P300,processor_frequency,3.6 GHz,,,,,,,//icecat.de/en/p/lenovo/30ah005rix/pcs-workstations-P300-29285281.html,"Optional Flex Module The innovative Flex Module lets you customize I/O ports, so you add only what you need. With the 2 available 5.25"" bays on the P300 Tower, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA – up to 8 configurations among an ODD, HDD, and Flex Module. We've redesigned our ThinkStations. No more bulky handles, just a clean-looking, functional design. An extended lip on the top lid that includes a red touch point, combined with a ledge on the back-side, make the P300 exceptionally easy to lift and carry. The P300 workstation features a 15-month life cycle with no planned hardware changes that affect the preloaded software image. Image stability for long-term deployments helps to reduce transition, qualification, and testing costs to ensure savings for your business.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +130,24326086,130_24326086,Lenovo ThinkStation P300,Lenovo ThinkStation P300,processor_frequency,3.3 GHz,,,,,,,//icecat.de/en/p/lenovo/30ak000cmc/pcs-workstations-P300+SFF-24326086.html,"Optional Flex Module The innovative Flex Module lets you customize I/O ports, so you add only what you need. With the 2 available 5.25"" bays on the P300 Tower, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA – up to 8 configurations among an ODD, HDD, and Flex Module. We've redesigned our ThinkStations. No more bulky handles, just a clean-looking, functional design. An extended lip on the top lid that includes a red touch point, combined with a ledge on the back-side, make the P300 exceptionally easy to lift and carry. The P300 workstation features a 15-month life cycle with no planned hardware changes that affect the preloaded software image. Image stability for long-term deployments helps to reduce transition, qualification, and testing costs to ensure savings for your business.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +130,24725761,130_24725761,Lenovo ThinkStation P300,Lenovo ThinkStation P300,processor_frequency,3.5 GHz,,,,,,,//icecat.de/en/p/lenovo/30ah0047ge/pcs-workstations-P300-24725761.html,"Optional Flex Module The innovative Flex Module lets you customize I/O ports, so you add only what you need. With the 2 available 5.25"" bays on the P300 Tower, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA – up to 8 configurations among an ODD, HDD, and Flex Module. We've redesigned our ThinkStations. No more bulky handles, just a clean-looking, functional design. An extended lip on the top lid that includes a red touch point, combined with a ledge on the back-side, make the P300 exceptionally easy to lift and carry. The P300 workstation features a 15-month life cycle with no planned hardware changes that affect the preloaded software image. Image stability for long-term deployments helps to reduce transition, qualification, and testing costs to ensure savings for your business.","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +131,24872891,131_24872891,Lenovo ThinkStation P900,Lenovo ThinkStation P900,,,,,,,,,//icecat.de/en/p/lenovo/30a5000ege/pcs-workstations-P900-24872891.html,"Thermal Design: Elegant & Efficient. Patented tri-channel cooling with just 3 system fans – as opposed to 10 that other workstations typically rely on — and a direct cooling air baffle directs fresh air into the CPU and memory. ThinkStation P900 delivers new technologies and design to keep your workstation cool and quiet. The innovative Flex Module lets you customize I/O ports, so you add only what you need. Using the 5.25"" bays, you can mix and match components including an ultraslim ODD, 29-in-1 media card reader, Firewire, and eSATA. The Flex Connector is a mezzanine card that fits into the motherboard and allows for expanded storage and I/O, without sacrificing the use of rear PCI. It supports SATA/SAS/PCIe advanced RAID solution. ThinkStation P900 includes two available connectors (enabled with each CPU).","Optionales Flex Modul Das innovative Flex Modul ermöglicht die flexible Konfiguration der E/A-Anschlüsse. Nutzen Sie einfach, was Sie benötigen. Die beiden 5,25-Zoll-Schächte nehmen verschiedene Komponenten auf, zum Beispiel ein ultraflaches optisches Laufwerk, einen 29-in-1-Kartenleser, Firewire und eSATA. Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert). Der Flex Connector ist eine Mezzanine-Karte, die ins Motherboard passt und erweiterte Speicherkapazität und E/A-Optionen bereitstellt, ohne dass hierfür der PCI-Anschluss an der Rückseite verwendet werden muss. Er unterstützt eine Advanced RAID-Lösung mit SATA/SAS/PCIe. Die ThinkStation P900 umfasst zwei Anschlussmöglichkeiten (mit jeder CPU aktiviert).",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +132,30619567,132_30619567,Acer Aspire Switch 10 E,Acer Aspire Switch 10 E,,,,,,,,,,"Eye-catching trendsetter The Aspire Switch 10 E comes in a range of trendy colours that all work perfectly with its dynamic shape and elegant textile-pattern texturing to create one great-looking device. Choose the colour that suits you and watch your friends turn green with envy. This device’s perfectly designed Acer Snap Hinge 2 lets you snap the keyboard part on or off with a simple push or pull. Switch effortlessly between four very useful modes: notebook, tablet, tent, and display. Acer SwitchLock lets you lock this keyboard dock’s HDD so it only works with the tablet part. Use the tablet as the HDD’s key – simply snap the tablet off the keyboard to lock the HDD. All your HDD data is now protected and can’t be stolen. Simply snap the tablet back on to unlock all that data.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +133,31743669,133_31743669,Acer Aspire Switch 10 E,Acer Aspire Switch 10 E,,,,,,,,,,"Eye-catching trendsetter The Aspire Switch 10 E comes in a range of trendy colours that all work perfectly with its dynamic shape and elegant textile-pattern texturing to create one great-looking device. Choose the colour that suits you and watch your friends turn green with envy. This device’s perfectly designed Acer Snap Hinge 2 lets you snap the keyboard part on or off with a simple push or pull. Switch effortlessly between four very useful modes: notebook, tablet, tent, and display. Acer SwitchLock lets you lock this keyboard dock’s HDD so it only works with the tablet part. Use the tablet as the HDD’s key – simply snap the tablet off the keyboard to lock the HDD. All your HDD data is now protected and can’t be stolen. Simply snap the tablet back on to unlock all that data.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +134,29759322,134_29759322,Acer Aspire S7,Acer Aspire S7,os_installed,Windows 10 Home,,,,,,,//icecat.de/en/p/acer/nx.mt2ek.016/notebooks-393-75508G25-29759322.html,"MORE power The new Aspire S7 (the S7-393 to be precise) comes with your choice of Intel's new 5th Generation Core™ processors. These deliver improved overall performance and graphics, while also using less power. That's why the new Aspire S7 is even more powerful, and has a longer battery life. You can now go even longer between charge times. The new Aspire S7’s improved hardware doesn’t just make it more powerful, it also helps it score even higher in battery-life tests. With up to 8.5 hours2 of on-the-road power, you can go all day and do it all. With cutting-edge 802.11ac wireless technology firing on dual channels, the new Aspire S7 transmits and receives airborne data up to three times faster than the average laptop does3. Download and upload movies (and do pretty much anything on the web) at breathtaking speeds. The new Aspire S7 is beautifully thin and delightfully light. With a thickness of only 12.9 mm, and a weight of only 1.3 kg, this slender-but-strong beauty disappears into your carry bag without a whisper. It's so easy to carry; you'll forget it's there.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +134,26145012,134_26145012,Acer Aspire S7,Acer Aspire S7,os_installed,Windows 8.1 Pro,,,,,,,//icecat.de/en/p/acer/nx.mt5ek.002/notebooks-S7-393-75508G12ews-26145012.html,"MORE power The new Aspire S7 (the S7-393 to be precise) comes with your choice of Intel's new 5th Generation Core™ processors. These deliver improved overall performance and graphics, while also using less power. That's why the new Aspire S7 is even more powerful, and has a longer battery life. You can now go even longer between charge times. The new Aspire S7’s improved hardware doesn’t just make it more powerful, it also helps it score even higher in battery-life tests. With up to 8.5 hours2 of on-the-road power, you can go all day and do it all. With cutting-edge 802.11ac wireless technology firing on dual channels, the new Aspire S7 transmits and receives airborne data up to three times faster than the average laptop does3. Download and upload movies (and do pretty much anything on the web) at breathtaking speeds. The new Aspire S7 is beautifully thin and delightfully light. With a thickness of only 12.9 mm, and a weight of only 1.3 kg, this slender-but-strong beauty disappears into your carry bag without a whisper. It's so easy to carry; you'll forget it's there.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +135,29836399,135_29836399,Acer Chromebook CB5-311,Acer Chromebook CB5-311,storage_media,SSD,,,,,,,//icecat.de/en/p/acer/nx.mpreh.009/notebooks-CB5-311-T17X-29836399.html,"Amazing mobility Slip the Acer Chromebook into your bag and work from anywhere, without recharging, because it has enough battery life to last all day long on a single charge. Indulge your eyes and see everything in vivid detail on the Acer Chromebook's Full HD display. The Acer Chromebook features the latest 802.11ac wireless technology, for a smooth internet experience at connection speeds that are up to three times faster than that of previous-generation wireless technologies. The Acer Chromebook starts within 8 seconds, so you can wait less and do more. At less than an inch thin and extremely light, the Acer Chromebook is the perfect tool for on-the-go computing. Plus, it sports a fanless design for whisper-quiet computing.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +135,30359386,135_30359386,Acer Chromebook CB5-311,Acer Chromebook CB5-311,storage_media,Flash,,,,,,,//icecat.de/en/p/acer/nx.mpreh.006-nl/notebooks-CB5-311-T4S0-30359386.html,"Amazing mobility Slip the Acer Chromebook into your bag and work from anywhere, without recharging, because it has enough battery life to last all day long on a single charge. Indulge your eyes and see everything in vivid detail on the Acer Chromebook's Full HD display. The Acer Chromebook features the latest 802.11ac wireless technology, for a smooth internet experience at connection speeds that are up to three times faster than that of previous-generation wireless technologies. The Acer Chromebook starts within 8 seconds, so you can wait less and do more. At less than an inch thin and extremely light, the Acer Chromebook is the perfect tool for on-the-go computing. Plus, it sports a fanless design for whisper-quiet computing.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +136,24425591,136_24425591,Acer Chromebook C730-C8T7,Acer Chromebook C730-C8T7,,,,,,,,,//icecat.co.uk/en/p/acer/nx.g85ek.001/notebooks-4713392480010-Acer-Chromebook-11-CB3-131-C8D2-2-16GHz-N2840-11-6-1366-x-768pixels-White-31250836.html,"Amazing mobility Slip the Acer Chromebook into your bag and work from anywhere, without recharging, because it has enough battery life to last all day long on a single charge. Indulge your eyes and see everything in vivid detail on the Acer Chromebook's Full HD display. The Acer Chromebook features the latest 802.11ac wireless technology, for a smooth internet experience at connection speeds that are up to three times faster than that of previous-generation wireless technologies. The Acer Chromebook starts within 8 seconds, so you can wait less and do more. At less than an inch thin and extremely light, the Acer Chromebook is the perfect tool for on-the-go computing. Plus, it sports a fanless design for whisper-quiet computing.","Geschwindigkeit ist keine Hexerei. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. Profitieren Sie von Geschwindigkeit und Leistung während des ganzen Tages. Nutzen Sie die neueste Prozessortechnologie mit Intel® Core™-Prozessoren der 6. Generation und Intel® HD-Grafikkarten 530. HP ProDesks wurden mit strikten Vorgaben auf Zuverlässigkeit getestet. Beim HP Total Test Process wird die Leistung von PCs während einer Dauer von 120.000 Stunden getestet, um sicherzustellen, dass unsere Geräte Sie an Ihrem Arbeitstag nicht im Stich lassen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +137,29283479,137_29283479,Acer TravelMate P246-M,Acer TravelMate P246-M,total_storage_capacity,500 GB,,,,,,,//icecat.de/en/p/acer/nx.v9vek.014/notebooks-P246-M-50JL-29283479.html,"Work with style and simplicity The TravelMate P2 Series comes in 13.3"", 14"", 15.6"" and 17.3"" sizes to meet various business needs. Clad in a refined textile finish that both looks and feels great, these notebooks pack the latest Intel® Core™ processors1 and discrete graphics1 to keep you at your productive best. They are also loaded with tailor-made management and security software for easy, centralised control. The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality.",,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +137,29283480,137_29283480,Acer TravelMate P246-M,Acer TravelMate P246-M,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/acer/nx.v9vek.016/notebooks-P246-M-29283480.html,"Work with style and simplicity The TravelMate P2 Series comes in 13.3"", 14"", 15.6"" and 17.3"" sizes to meet various business needs. Clad in a refined textile finish that both looks and feels great, these notebooks pack the latest Intel® Core™ processors1 and discrete graphics1 to keep you at your productive best. They are also loaded with tailor-made management and security software for easy, centralised control. The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality.",,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +138,30046855,138_30046855,Acer TravelMate P258-M,Acer TravelMate P258-M,processor_frequency,2.8 GHz,,,,,,,//icecat.de/en/p/acer/nx.vc7eg.002/notebooks-P258-M-53Z3-30046855.html,"Tactile textile The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality. The TravelMate P2 is packed with features that make it easier to do business. Work faster with smoother gestures on the large Precision Touchpad. Quickly share business contacts with a smartphone via Contact Pickup. Log in to the TravelMate P2 faster thanks to Face Login. ","Einzigartige Haptik Die P2-Serie verfügt jetzt über ein Textilmuster auf dem äußeren Cover. Dies verleiht den Produkten einen professionellen, edlen Look und ist so die perfekte Ergänzung zu ihrer Funktionalität. Dies hat auch einen praktischen Nutzen, da die Struktur Kratzern widersteht und dafür sorgt, dass Sie auch unterwegs alles im Griff haben. Die TravelMate P2-Serie erfüllt die hohen Audio- und Grafik-Standards der Skype-Zertifizierung für Unternehmen1. Dank der optimierten Hardware kann jedes Wort klar und ohne Echo, Lücken oder Verzögerungen bei minimalen Hintergrundgeräuschen verstanden werden. Das bedeutet, Sie können Anrufe oder Videochats mit überragender Audio- und Grafikqualität tätigen. Das TravelMate P2 verfügt über unzählige Funktionen, die Ihre Aufgaben vereinfachen. Das große Precison-Touchpad lässt Sie dank fließender Gesten ihre Arbeit auf intuitive Art und Weise bewältigen. Geben Sie mit Ihrem Smartphone per Contact Pickup Geschäftskontakte im Handumdrehen frei oder melden Sie sich dank Face Login schneller bei Ihrem TravelMate P2 an. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +138,30657838,138_30657838,Acer TravelMate P258-M,Acer TravelMate P258-M,processor_frequency,3.1 GHz,,,,,,,//icecat.de/en/p/acer/nx.vc7eh.012/notebooks-P258-M-785T-30657838.html,"Tactile textile The P2 series now comes with a fine linen textile pattern embossed on the outer covers. This lends a professional refined look and feel to the line that adds distinction to functionality. There are also practical benefits, as the pattern makes it a bit easier to keep a firm grip on the go, while also resisting scratches. The TravelMate P2 Series is certified to deliver the high audio and visual standards of Skype for Business1. Optimised hardware ensures that every word will be heard clearly with no gap or lag in speech, minimal background noise and zero echo. That means you can call or video chat with superior audio and visual quality. The TravelMate P2 is packed with features that make it easier to do business. Work faster with smoother gestures on the large Precision Touchpad. Quickly share business contacts with a smartphone via Contact Pickup. Log in to the TravelMate P2 faster thanks to Face Login. ","Einzigartige Haptik Die P2-Serie verfügt jetzt über ein Textilmuster auf dem äußeren Cover. Dies verleiht den Produkten einen professionellen, edlen Look und ist so die perfekte Ergänzung zu ihrer Funktionalität. Dies hat auch einen praktischen Nutzen, da die Struktur Kratzern widersteht und dafür sorgt, dass Sie auch unterwegs alles im Griff haben. Die TravelMate P2-Serie erfüllt die hohen Audio- und Grafik-Standards der Skype-Zertifizierung für Unternehmen1. Dank der optimierten Hardware kann jedes Wort klar und ohne Echo, Lücken oder Verzögerungen bei minimalen Hintergrundgeräuschen verstanden werden. Das bedeutet, Sie können Anrufe oder Videochats mit überragender Audio- und Grafikqualität tätigen. Das TravelMate P2 verfügt über unzählige Funktionen, die Ihre Aufgaben vereinfachen. Das große Precison-Touchpad lässt Sie dank fließender Gesten ihre Arbeit auf intuitive Art und Weise bewältigen. Geben Sie mit Ihrem Smartphone per Contact Pickup Geschäftskontakte im Handumdrehen frei oder melden Sie sich dank Face Login schneller bei Ihrem TravelMate P2 an. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +139,24699831,139_24699831,Asus Transformer Book T200TA,Asus Transformer Book T200TA,,,,,,,,,,"As light as you like Transformer Book T200 is sleek, slim and oh so light — just 26mm tall and 1.5kg docked. And when need to travel even lighter, detach the 11.6-inch tablet for 11.95mm slenderness and a mere 750g weight! With up to 10.4 hours of battery life that lasts all day long, you’re free to work or play from dawn to dusk. And ASUS Instant On technology ensures that Transformer Book T200 is always responsive and ready for action! Experience outstanding performance from the latest Intel® quad-core processor. You’ll multitask seamlessly and get more done in less time. Transformer Book T200 also delivers exceptional graphics performance — with Intel HD graphics that are up to 30% faster than ever before! Transformer Book T200 is equipped with USB 3.0 connectivity for data transfers that never leave you waiting. Just attach your USB 3.0 devices to enjoy speeds that are up to 10X faster than USB 2.0!","Einfach zweifach brillant Das ASUS Transformer Book T200 ist ein aufregendes 11,6“ Entertainment-Tablet, das zugleich ein hocheffizientes, voll vernetztes und voll ausgestattetes Windows 8.1 Notebook ist. Und es ist noch mehr: Es ist die perfekte Kombination von Funktion und Leistung, Spaß und Produktivität, Style und Flexibilität. Von früh bis spät, im Businesseinsatz oder rein zu Ihrer Unterhaltung – das T200 hält Sie mit gewaltigen Akkulaufzeiten den ganzen Tag über in Bewegung. Und dank ASUS Instant-On-Technologie ist es immer sofort einsatzbereit. Damit jedes Detail beeindruckt und jede Toucheingabe mit extremer Präzision erkannt wird, kommt das T200 mit einem exzellenten 16:9 HD (1366 x 768) Multi-Touch-Display. Dank IPS-Technologie und breitem 178°-Betrachtungswinkel werden sämtliche Inhalte aus nahezu jeder Perspektive gestochen scharf wiedergegeben.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +140,22766487,140_22766487,Asus Transformer Book T200TA,Asus Transformer Book T200TA,,,,,,,,,,"As light as you like Transformer Book T200 is sleek, slim and oh so light — just 26mm tall and 1.5kg docked. And when need to travel even lighter, detach the 11.6-inch tablet for 11.95mm slenderness and a mere 750g weight! With up to 10.4 hours of battery life that lasts all day long, you’re free to work or play from dawn to dusk. And ASUS Instant On technology ensures that Transformer Book T200 is always responsive and ready for action! Experience outstanding performance from the latest Intel® quad-core processor. You’ll multitask seamlessly and get more done in less time. Transformer Book T200 also delivers exceptional graphics performance — with Intel HD graphics that are up to 30% faster than ever before! Transformer Book T200 is equipped with USB 3.0 connectivity for data transfers that never leave you waiting. Just attach your USB 3.0 devices to enjoy speeds that are up to 10X faster than USB 2.0!","Einfach zweifach brillant Das ASUS Transformer Book T200 ist ein aufregendes 11,6“ Entertainment-Tablet, das zugleich ein hocheffizientes, voll vernetztes und voll ausgestattetes Windows 8.1 Notebook ist. Und es ist noch mehr: Es ist die perfekte Kombination von Funktion und Leistung, Spaß und Produktivität, Style und Flexibilität. Von früh bis spät, im Businesseinsatz oder rein zu Ihrer Unterhaltung – das T200 hält Sie mit gewaltigen Akkulaufzeiten den ganzen Tag über in Bewegung. Und dank ASUS Instant-On-Technologie ist es immer sofort einsatzbereit. Damit jedes Detail beeindruckt und jede Toucheingabe mit extremer Präzision erkannt wird, kommt das T200 mit einem exzellenten 16:9 HD (1366 x 768) Multi-Touch-Display. Dank IPS-Technologie und breitem 178°-Betrachtungswinkel werden sämtliche Inhalte aus nahezu jeder Perspektive gestochen scharf wiedergegeben.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +141,29380410,141_29380410,Asus Zenbook US303UB,Asus Zenbook US303UB,,,,,,,,,,"Classic design,stylish new color ASUS ZenBook series represents the essence of ASUS design spirit, and UX303 takes this to another level of sophistication with fresh and gorgeous color Smoky Brown. The elegant color is further enhanced by the iconic spun-metal finish that echoes the spirit of Zen. The classic lines of the ultra-light, all-aluminum ZenBook have been enhanced with a slimmer profile, tapering to just 3mm at the front. It's chic, elegant, timeless, and powerful — it's ZenBook UX303. Developed by the ASUS Golden Eye team, exclusive ASUS Splendid technology gives you vivid, accurate colors no matter what you're watching. It works by automatically fine-tuning various display settings to optimize all kinds of images. The result is richer, deeper colors and stunning visuals whether you're watching videos and movies, playing games or browsing through your photos.","Einfach noch mehr sehen Dank Wide View IPS-Paneltechnologie ermöglicht das UX303 mit breitem 170° Betrachtungswinkel kontrastreiche Bilder, lebendige, intensive Farben, eine herausragende Farbtreue und eine unvergleichliche Detailschärfe aus nahezu jeder Blickperspektive. Das 13,3“ QHD Display des ASUS ZENBOOK™ UX303 begeistert mit einer akkuraten Farbdarstellung, einer hohen Leuchtkraft und ausgezeichneten Kontrasten. Websites und Texte werden knackscharf dargestellt - Filme, Games oder Fotos werden atemberaubend brillant wiedergegeben. Das ZENBOOK™ UX303UB sorgt dafür, dass Sie mit Ihren Lieben bestens verbunden bleiben. Ergänzend zur hohen Displayqualität garantiert die leistungsstarke HD-Webcam, dass Sie in Videochats, selbst bei ungünstigen Lichtverhältnissen, umwerfend aussehen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +142,30943081,142_30943081,Asus Zenbook US303UB,Asus Zenbook US303UB,,,,,,,,,,"Classic design,stylish new color ASUS ZenBook series represents the essence of ASUS design spirit, and UX303 takes this to another level of sophistication with fresh and gorgeous color Smoky Brown. The elegant color is further enhanced by the iconic spun-metal finish that echoes the spirit of Zen. The classic lines of the ultra-light, all-aluminum ZenBook have been enhanced with a slimmer profile, tapering to just 3mm at the front. It's chic, elegant, timeless, and powerful — it's ZenBook UX303. Developed by the ASUS Golden Eye team, exclusive ASUS Splendid technology gives you vivid, accurate colors no matter what you're watching. It works by automatically fine-tuning various display settings to optimize all kinds of images. The result is richer, deeper colors and stunning visuals whether you're watching videos and movies, playing games or browsing through your photos.","Einfach noch mehr sehen Dank Wide View IPS-Paneltechnologie ermöglicht das UX303 mit breitem 170° Betrachtungswinkel kontrastreiche Bilder, lebendige, intensive Farben, eine herausragende Farbtreue und eine unvergleichliche Detailschärfe aus nahezu jeder Blickperspektive. Das 13,3“ QHD Display des ASUS ZENBOOK™ UX303 begeistert mit einer akkuraten Farbdarstellung, einer hohen Leuchtkraft und ausgezeichneten Kontrasten. Websites und Texte werden knackscharf dargestellt - Filme, Games oder Fotos werden atemberaubend brillant wiedergegeben. Das ZENBOOK™ UX303UB sorgt dafür, dass Sie mit Ihren Lieben bestens verbunden bleiben. Ergänzend zur hohen Displayqualität garantiert die leistungsstarke HD-Webcam, dass Sie in Videochats, selbst bei ungünstigen Lichtverhältnissen, umwerfend aussehen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +143,31035196,143_31035196,Asus Zenbook US303UB,Asus Zenbook US303UB,,,,,,,,,,"Classic design,stylish new color ASUS ZenBook series represents the essence of ASUS design spirit, and UX303 takes this to another level of sophistication with fresh and gorgeous color Smoky Brown. The elegant color is further enhanced by the iconic spun-metal finish that echoes the spirit of Zen. The classic lines of the ultra-light, all-aluminum ZenBook have been enhanced with a slimmer profile, tapering to just 3mm at the front. It's chic, elegant, timeless, and powerful — it's ZenBook UX303. Developed by the ASUS Golden Eye team, exclusive ASUS Splendid technology gives you vivid, accurate colors no matter what you're watching. It works by automatically fine-tuning various display settings to optimize all kinds of images. The result is richer, deeper colors and stunning visuals whether you're watching videos and movies, playing games or browsing through your photos.","Einfach noch mehr sehen Dank Wide View IPS-Paneltechnologie ermöglicht das UX303 mit breitem 170° Betrachtungswinkel kontrastreiche Bilder, lebendige, intensive Farben, eine herausragende Farbtreue und eine unvergleichliche Detailschärfe aus nahezu jeder Blickperspektive. Das 13,3“ QHD Display des ASUS ZENBOOK™ UX303 begeistert mit einer akkuraten Farbdarstellung, einer hohen Leuchtkraft und ausgezeichneten Kontrasten. Websites und Texte werden knackscharf dargestellt - Filme, Games oder Fotos werden atemberaubend brillant wiedergegeben. Das ZENBOOK™ UX303UB sorgt dafür, dass Sie mit Ihren Lieben bestens verbunden bleiben. Ergänzend zur hohen Displayqualität garantiert die leistungsstarke HD-Webcam, dass Sie in Videochats, selbst bei ungünstigen Lichtverhältnissen, umwerfend aussehen.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +144,29804740,144_29804740,Asus Zenbook UX301LA,Asus Zenbook UX301LA,total_storage_capacity,512 GB,,,,,,,//icecat.de/en/p/asus/90nb0193-m05560/notebooks-UX301LA-DE150H-26516355.html,"Technology with a human touch Zenbook UX301 is wonderfully tactile, but that goes well beyond just the feel of its sleek, smooth and durable glass design. Windows 8 is designed with touch in mind and a dedicated ASUS Human Computer Interface team help make it even more intuitive to use with features like a responsive multi-touch display, and a large touch pad with multi-touch support. The backlit keyboard with automatic brightness control also means you'll always have a clear view of the keys, so you can stay productive, even in complete darkness. So whichever way you like to work, Zenbook UX301 has you covered. Creating the perfect Ultrabook™ means striking a perfect balance between form and function. Zenbook UX301 has a strikingly gorgeous design refined with crystalline glass and classic hairline metallic finish that's just 15.5mm thick — 14% thinner than the previous Zenbook. Lift the lid and inside is a vibrant 13.3-inch WQHD display that brings images to life and makes everything from browsing the web to working with documents an absolute pleasure. Zenbook UX301is the Ultrabook™ you'll want with you, wherever you go.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +144,30312874,144_30312874,Asus Zenbook UX301LA,Asus Zenbook UX301LA,total_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/asus/ux301la-c4161t/notebooks-UX301LA-C4161T-30312874.html,"Technology with a human touch Zenbook UX301 is wonderfully tactile, but that goes well beyond just the feel of its sleek, smooth and durable glass design. Windows 8 is designed with touch in mind and a dedicated ASUS Human Computer Interface team help make it even more intuitive to use with features like a responsive multi-touch display, and a large touch pad with multi-touch support. The backlit keyboard with automatic brightness control also means you'll always have a clear view of the keys, so you can stay productive, even in complete darkness. So whichever way you like to work, Zenbook UX301 has you covered. Creating the perfect Ultrabook™ means striking a perfect balance between form and function. Zenbook UX301 has a strikingly gorgeous design refined with crystalline glass and classic hairline metallic finish that's just 15.5mm thick — 14% thinner than the previous Zenbook. Lift the lid and inside is a vibrant 13.3-inch WQHD display that brings images to life and makes everything from browsing the web to working with documents an absolute pleasure. Zenbook UX301is the Ultrabook™ you'll want with you, wherever you go.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +144,29804741,144_29804741,Asus Zenbook UX301LA,Asus Zenbook UX301LA,total_storage_capacity,256 GB,,,,,,,//icecat.de/en/p/asus/90nb0193-m06560/notebooks-UX301LA-C4145T-29804740.html,"Technology with a human touch Zenbook UX301 is wonderfully tactile, but that goes well beyond just the feel of its sleek, smooth and durable glass design. Windows 8 is designed with touch in mind and a dedicated ASUS Human Computer Interface team help make it even more intuitive to use with features like a responsive multi-touch display, and a large touch pad with multi-touch support. The backlit keyboard with automatic brightness control also means you'll always have a clear view of the keys, so you can stay productive, even in complete darkness. So whichever way you like to work, Zenbook UX301 has you covered. Creating the perfect Ultrabook™ means striking a perfect balance between form and function. Zenbook UX301 has a strikingly gorgeous design refined with crystalline glass and classic hairline metallic finish that's just 15.5mm thick — 14% thinner than the previous Zenbook. Lift the lid and inside is a vibrant 13.3-inch WQHD display that brings images to life and makes everything from browsing the web to working with documents an absolute pleasure. Zenbook UX301is the Ultrabook™ you'll want with you, wherever you go.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +145,29885470,145_29885470,DELL Chromebook 13,DELL Chromebook 13,processor_frequency,2 GHz,,,,,,,//icecat.de/en/p/dell/7310-6719/notebooks-13-29885470.html,"The industry’s finest Sleek. Smooth. Strong: The carbon fiber finish with magnesium alloy is light, durable, cool to the touch and designed to impress. The Google ecosystem at your service: Expect Speed - boots in seconds, Simplicity - easy to use and manage, Secure - with virus protection built-in, encrypted user data and automated updates. A wide range of magnificence: Bring business projects to full light with industry leading brightness and viewing angles on a 13.3"" FHD IPS display with optional scratch-resistant Corning® Gorilla® Glass NBT™ touch display. Business class performance - Browse faster using up to core i5 5th gen intel Core processors and experience the performance of Dell's most powerful chromebook. Professional looks and productivity: Thoughtfully designed to be sleek and useful with a carbon fiber lid, dark gray alloy chassis, backlit keyboard, glass track pad and 1080p display. Work on the go: Securely and easily access servers, mirror desktops and improve lifecycle management with Dell unique IP from KACE, SonicWALL (VPN) and Wyse.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +145,29885471,145_29885471,DELL Chromebook 13,DELL Chromebook 13,processor_frequency,1.5 GHz,,,,,,,//icecat.de/en/p/dell/7310-6696/notebooks-13-29885471.html,"The industry’s finest Sleek. Smooth. Strong: The carbon fiber finish with magnesium alloy is light, durable, cool to the touch and designed to impress. The Google ecosystem at your service: Expect Speed - boots in seconds, Simplicity - easy to use and manage, Secure - with virus protection built-in, encrypted user data and automated updates. A wide range of magnificence: Bring business projects to full light with industry leading brightness and viewing angles on a 13.3"" FHD IPS display with optional scratch-resistant Corning® Gorilla® Glass NBT™ touch display. Business class performance - Browse faster using up to core i5 5th gen intel Core processors and experience the performance of Dell's most powerful chromebook. Professional looks and productivity: Thoughtfully designed to be sleek and useful with a carbon fiber lid, dark gray alloy chassis, backlit keyboard, glass track pad and 1080p display. Work on the go: Securely and easily access servers, mirror desktops and improve lifecycle management with Dell unique IP from KACE, SonicWALL (VPN) and Wyse.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +145,29885473,145_29885473,DELL Chromebook 13,DELL Chromebook 13,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/dell/7310-6740/notebooks-13-29885473.html,"The industry’s finest Sleek. Smooth. Strong: The carbon fiber finish with magnesium alloy is light, durable, cool to the touch and designed to impress. The Google ecosystem at your service: Expect Speed - boots in seconds, Simplicity - easy to use and manage, Secure - with virus protection built-in, encrypted user data and automated updates. A wide range of magnificence: Bring business projects to full light with industry leading brightness and viewing angles on a 13.3"" FHD IPS display with optional scratch-resistant Corning® Gorilla® Glass NBT™ touch display. Business class performance - Browse faster using up to core i5 5th gen intel Core processors and experience the performance of Dell's most powerful chromebook. Professional looks and productivity: Thoughtfully designed to be sleek and useful with a carbon fiber lid, dark gray alloy chassis, backlit keyboard, glass track pad and 1080p display. Work on the go: Securely and easily access servers, mirror desktops and improve lifecycle management with Dell unique IP from KACE, SonicWALL (VPN) and Wyse.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +146,30706737,146_30706737,DELL Inspiron 7359,DELL Inspiron 7359,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/dell/wgwy0/notebooks-7359-30706737.html,"Two powerful devices. One elegant design The new Inspiron 13 7000 Series 2-in-1 combines the powerful performance of a premium laptop and the versatility of a 13.3"" tablet with built-in stylus. The best Windows ever meets the best Dell ever. The result? A whole new era of power, performance and productivity. Windows 10 gives you all the features you know from the world’s most popular operating system, plus great improvements you’ll love. Enhance all you do with new Windows 10 features: Start it up - You’ll feel like an expert from the get-go since your Windows Start menu is back in an expanded form.Plus, all your pinned applications will carry over so your experience is familiar, productive and better than ever. The speed you need - Windows 10 starts up and resumes fast with InstaGo so there’s no buffer between you and your to-do list. Even your updates reach you as soon as they are available so you always have the latest and greatest features that are built to keep up with your on-the-go lifestyle.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +146,30213351,146_30213351,DELL Inspiron 7359,DELL Inspiron 7359,processor_frequency,2.5 GHz,,,,,,,//icecat.de/en/p/dell/7359-8577/notebooks-7359-30213351.html,"Two powerful devices. One elegant design The new Inspiron 13 7000 Series 2-in-1 combines the powerful performance of a premium laptop and the versatility of a 13.3"" tablet with built-in stylus. The best Windows ever meets the best Dell ever. The result? A whole new era of power, performance and productivity. Windows 10 gives you all the features you know from the world’s most popular operating system, plus great improvements you’ll love. Enhance all you do with new Windows 10 features: Start it up - You’ll feel like an expert from the get-go since your Windows Start menu is back in an expanded form.Plus, all your pinned applications will carry over so your experience is familiar, productive and better than ever. The speed you need - Windows 10 starts up and resumes fast with InstaGo so there’s no buffer between you and your to-do list. Even your updates reach you as soon as they are available so you always have the latest and greatest features that are built to keep up with your on-the-go lifestyle.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +147,27295351,147_27295351,DELL Latitude E5450,DELL Latitude E5450,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/dell/9g66n/notebooks-E5450-27295351.html,"Built for work. Designed to impress. Thin and light for mobile productivity: Introducing Dell’s thinnest and lightest mainstream laptop yet. With all-day battery life, you can stay productive wherever your work takes you with the Dell Latitude 14 5000 Series. Full features for business professionals: Get the latest generation of Intel® Core™ processors, optional backlit keyboard, and the most options of ports, storage, connectivity and displays of any Latitude. Durability you can depend on: Your Dell Latitude 14 5000 Series is built to last, with spill-proof keyboard and vigorous anodized hinge solution, plus an optional structure enhanced Magnesium display cover for touch models. E-family docking: Work seamlessly with an e-dock and charging solution that is consistent across multi-generations.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +147,30046188,147_30046188,DELL Latitude E5450,DELL Latitude E5450,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/dell/yn9r3/notebooks-E5450-30046188.html,"Built for work. Designed to impress. Thin and light for mobile productivity: Introducing Dell’s thinnest and lightest mainstream laptop yet. With all-day battery life, you can stay productive wherever your work takes you with the Dell Latitude 14 5000 Series. Full features for business professionals: Get the latest generation of Intel® Core™ processors, optional backlit keyboard, and the most options of ports, storage, connectivity and displays of any Latitude. Durability you can depend on: Your Dell Latitude 14 5000 Series is built to last, with spill-proof keyboard and vigorous anodized hinge solution, plus an optional structure enhanced Magnesium display cover for touch models. E-family docking: Work seamlessly with an e-dock and charging solution that is consistent across multi-generations.","Intensität trifft Einfachheit Wenn Sie das ZENBOOK anfassen, wird es Sie mit seinen perfekten Formen, seinem geringen Gewicht und seinen edlen Oberflächenmaterialien berühren. Wenn Sie es aufklappen und es anmachen, wird es Sie packen und nicht mehr loslassen. Die gesamte Bedienung ist darauf ausgerichtet, dass Sie uneingeschränkt und auf einfachste Art immer genau das erleben können, was Sie erleben möchten. Ganz gleich, ob Sie entspannt durchs Web surfen, Entertainment genießen oder mit allen Möglichkeiten von Windows 8 konzentriert arbeiten wollen – mit dem ZENBOOK wird jede Berührung zum Erlebnis. Ohne den richtigen Sound ist Multimedia-Entertainment nur halb so packend. Für das volle Erlebnis und eine Klangqualität, die im Ultrabook™-Bereich Maßstäbe setzt, sorgt im neuen ZENBOOK die exklusive Kooperation von ASUS, Bang & Olufsen® ICEpower® und Waves. Dank speziell designter Lautsprecher und leistungsstarker Audiosoftware klingt jeder Song, jeder Film, jedes Game und jeder Ton so einzigartig umwerfend, dass Sie Ihren Ohren kaum trauen werden.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +148,25977678,148_25977678,Fujitsu LIFEBOOK U745,Fujitsu LIFEBOOK U745,processor_frequency,2.6 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-u7450m47bbgb/notebooks-U745-25977678.html,"The FUJITSU Notebook LIFEBOOK U745 is a slim and light Ultrabook™ for professionals supporting optimum mobility for business trips and ergonomics in the office. Its low weight from 1.55 kg combined with a 35.6 cm (14-inch) anti-glare display with touch panel and backlit keyboard options offers you mobile comfort. The 4G/LTE or 3G/UMTS option and the pull-out LAN connector grant you added connectivity. Moreover, an embedded palm vein sensor option guarantees ultimate protection of your data. The common port replicator with the LIFEBOOK E family facilitates workplace sharing; the VGA port allows you to present on demand. ","Das FUJITSU Notebook LIFEBOOK U745 ist ein schlankes und leichtes Ultrabook™ für berufliche Nutzer, das optimale Mobilität auf Geschäftsreisen und Ergonomie im Büro gewährleistet. Das geringe Gewicht ab 1,55 kg in Verbindung mit dem 35,6 cm (14 Zoll)-Anti-Glare-Display mit Touchpanel und der optional beleuchteten Tastatur steigern den Komfort, wenn Sie unterwegs sind. Das optionale 4G/LTE oder 3G/UMTS und der herausziehbare LAN-Stecker sorgen für eine bessere Konnektivität. Darüber hinaus gewährleistet ein optional integrierter Palm-Vein-Sensor den ultimativen Schutz Ihrer Daten. Der gemeinsame Port-Replikator mit der LIFEBOOK E Familie vereinfacht die gemeinsame Nutzung von Arbeitsplätzen, und der VGA-Anschluss ermöglicht Ihnen, bei Bedarf Inhalte zu präsentieren.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +148,25977676,148_25977676,Fujitsu LIFEBOOK U745,Fujitsu LIFEBOOK U745,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-u7450m45cbgb/notebooks-U745-25977676.html,"The FUJITSU Notebook LIFEBOOK U745 is a slim and light Ultrabook™ for professionals supporting optimum mobility for business trips and ergonomics in the office. Its low weight from 1.55 kg combined with a 35.6 cm (14-inch) anti-glare display with touch panel and backlit keyboard options offers you mobile comfort. The 4G/LTE or 3G/UMTS option and the pull-out LAN connector grant you added connectivity. Moreover, an embedded palm vein sensor option guarantees ultimate protection of your data. The common port replicator with the LIFEBOOK E family facilitates workplace sharing; the VGA port allows you to present on demand. ","Das FUJITSU Notebook LIFEBOOK U745 ist ein schlankes und leichtes Ultrabook™ für berufliche Nutzer, das optimale Mobilität auf Geschäftsreisen und Ergonomie im Büro gewährleistet. Das geringe Gewicht ab 1,55 kg in Verbindung mit dem 35,6 cm (14 Zoll)-Anti-Glare-Display mit Touchpanel und der optional beleuchteten Tastatur steigern den Komfort, wenn Sie unterwegs sind. Das optionale 4G/LTE oder 3G/UMTS und der herausziehbare LAN-Stecker sorgen für eine bessere Konnektivität. Darüber hinaus gewährleistet ein optional integrierter Palm-Vein-Sensor den ultimativen Schutz Ihrer Daten. Der gemeinsame Port-Replikator mit der LIFEBOOK E Familie vereinfacht die gemeinsame Nutzung von Arbeitsplätzen, und der VGA-Anschluss ermöglicht Ihnen, bei Bedarf Inhalte zu präsentieren.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +148,27282150,148_27282150,Fujitsu LIFEBOOK U745,Fujitsu LIFEBOOK U745,processor_frequency,2.1 GHz,,,,,,,//icecat.de/en/p/fujitsu/vfy-u7450m63sbde/notebooks-U745-27282150.html,"The FUJITSU Notebook LIFEBOOK U745 is a slim and light Ultrabook™ for professionals supporting optimum mobility for business trips and ergonomics in the office. Its low weight from 1.55 kg combined with a 35.6 cm (14-inch) anti-glare display with touch panel and backlit keyboard options offers you mobile comfort. The 4G/LTE or 3G/UMTS option and the pull-out LAN connector grant you added connectivity. Moreover, an embedded palm vein sensor option guarantees ultimate protection of your data. The common port replicator with the LIFEBOOK E family facilitates workplace sharing; the VGA port allows you to present on demand. ","Das FUJITSU Notebook LIFEBOOK U745 ist ein schlankes und leichtes Ultrabook™ für berufliche Nutzer, das optimale Mobilität auf Geschäftsreisen und Ergonomie im Büro gewährleistet. Das geringe Gewicht ab 1,55 kg in Verbindung mit dem 35,6 cm (14 Zoll)-Anti-Glare-Display mit Touchpanel und der optional beleuchteten Tastatur steigern den Komfort, wenn Sie unterwegs sind. Das optionale 4G/LTE oder 3G/UMTS und der herausziehbare LAN-Stecker sorgen für eine bessere Konnektivität. Darüber hinaus gewährleistet ein optional integrierter Palm-Vein-Sensor den ultimativen Schutz Ihrer Daten. Der gemeinsame Port-Replikator mit der LIFEBOOK E Familie vereinfacht die gemeinsame Nutzung von Arbeitsplätzen, und der VGA-Anschluss ermöglicht Ihnen, bei Bedarf Inhalte zu präsentieren.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +149,30283566,149_30283566,HP 200 250 G4,HP 200 250 G4,processor_frequency,2 GHz,,,,,,,//icecat.de/en/p/hp/p5t03ea/notebooks-250+G4-30283566.html,"Durable mobile design Rest assured that the HP 250 can keep up with assignments on the run. The durable chassis protects the notebook so it looks as professional as you do. Get connected with the value-priced HP 250 Notebook PC. Complete business tasks with Intel technology, essential multimedia tools and Windows 8.1 loaded on the HP 250. The durable chassis helps protect the notebook from the rigors of the day. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. ","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +149,28346778,149_28346778,HP 200 250 G4,HP 200 250 G4,processor_frequency,1.6 GHz,,,,,,,//icecat.de/en/p/hp/m9s73ea/notebooks-250+G4-28346778.html,"Durable mobile design Rest assured that the HP 250 can keep up with assignments on the run. The durable chassis protects the notebook so it looks as professional as you do. Get connected with the value-priced HP 250 Notebook PC. Complete business tasks with Intel technology, essential multimedia tools and Windows 8.1 loaded on the HP 250. The durable chassis helps protect the notebook from the rigors of the day. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. ","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +150,29554292,150_29554292,HP Chromebook 11,HP Chromebook 11,,,,,,,,,,"Processing power Get trusted processing power from an Intel® Celeron® processor2 that quickly launches apps, allows fast web browsing, and efficiently manages battery power. Enhance visual connections during collaboration and group discussions with an optional IPS panel1 for a wide viewing angle. Optimize Google Hangouts and video collaboration with noise suppression software for improved audio clarity. Inspire learning and help elevate productivity to the next level with HP Chromebook 11. Affordable collaboration at school and work has never been so easy with Intel® processors, long battery life, and an optional HD IPS panel.1 The Chrome OS™ delivers a low maintenance highly manageable platform with automatic software updates and virus protection built in. The optional Chrome Management Console1 provides easy and comprehensive web-based management tools.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +151,30983682,151_30983682,HP Chromebook 11,HP Chromebook 11,,,,,,,,,,"Processing power Get trusted processing power from an Intel® Celeron® processor2 that quickly launches apps, allows fast web browsing, and efficiently manages battery power. Enhance visual connections during collaboration and group discussions with an optional IPS panel1 for a wide viewing angle. Optimize Google Hangouts and video collaboration with noise suppression software for improved audio clarity. Inspire learning and help elevate productivity to the next level with HP Chromebook 11. Affordable collaboration at school and work has never been so easy with Intel® processors, long battery life, and an optional HD IPS panel.1 The Chrome OS™ delivers a low maintenance highly manageable platform with automatic software updates and virus protection built in. The optional Chrome Management Console1 provides easy and comprehensive web-based management tools.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +152,27104941,152_27104941,Lenovo Essential B70-80,Lenovo Essential B70-80,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/lenovo/80mr0008ix/notebooks-B70-80-27104941.html,"Multimedia Powerhouse A perfect business companion and desktop replacement, the B70 laptop also delivers great cinema-style multimedia features - a DVD Rambo drive, 2GB of video RAM and Dolby® certified speakers for an immersive surround sound experience. So whether you're catching up on work, gaming or relaxing to your favourite music, the B70 ticks all the boxes. Premium performance, powerful possibilities. With stunning visuals and performance, the new 5th gen Intel® Core™ processor delivers processing power that takes your computing to the next level so that you can work smarter and play harder. Enjoy amazing battery life that keeps you productive on the go so that you don’t have to worry about recharging. That’s serious processing. Only with Intel Inside®. The B70 spares nothing when it comes to robust graphics performance. With up to NVIDIA® GeForce® 920M graphics, you'll encounter enhanced graphics when work demands it, and a vivid gaming and video experience when it’s time for fun.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +152,29810130,152_29810130,Lenovo Essential B70-80,Lenovo Essential B70-80,processor_frequency,1.9 GHz,,,,,,,//icecat.de/en/p/lenovo/80mr00rlge/notebooks-B70-80-29810130.html,"Multimedia Powerhouse A perfect business companion and desktop replacement, the B70 laptop also delivers great cinema-style multimedia features - a DVD Rambo drive, 2GB of video RAM and Dolby® certified speakers for an immersive surround sound experience. So whether you're catching up on work, gaming or relaxing to your favourite music, the B70 ticks all the boxes. Premium performance, powerful possibilities. With stunning visuals and performance, the new 5th gen Intel® Core™ processor delivers processing power that takes your computing to the next level so that you can work smarter and play harder. Enjoy amazing battery life that keeps you productive on the go so that you don’t have to worry about recharging. That’s serious processing. Only with Intel Inside®. The B70 spares nothing when it comes to robust graphics performance. With up to NVIDIA® GeForce® 920M graphics, you'll encounter enhanced graphics when work demands it, and a vivid gaming and video experience when it’s time for fun.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +153,26178487,153_26178487,Lenovo Essential G50-80,Lenovo Essential G50-80,processor_frequency,1.7 GHz,,,,,,,//icecat.de/en/p/lenovo/80l00023ge/notebooks-G50-80-26178487.html,"Epic Sound and Vision Thanks to its stereo speakers with Dolby® Advanced Audio™, and Intel® HD Gaphics, the G50 offers stunning, stutter-free visuals and immersive sound for a fuller, more satisfying home entertainment experience. Optimized for Windows 8.1 features, this touchpad lets you toggle charms and apps, switch between apps, rotate, zoom, and use other functions with various easy swipes and gestures. Featuring a modern look and feel, the acclaimed AccuType keyboard has island-style, ergonomic keys that allow a more fluid, spacious, comfortable, and accurate typing experience than standard keyboard designs. Move data between the G50 and other devices quickly with USB 3.0 SuperSpeed; it's up to ten times faster than previous USB technologies, and it's backward-compatible.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +153,29805122,153_29805122,Lenovo Essential G50-80,Lenovo Essential G50-80,processor_frequency,2.2 GHz,,,,,,,//icecat.de/en/p/lenovo/80e502ufnx/notebooks-G50-80-29805122.html,"Epic Sound and Vision Thanks to its stereo speakers with Dolby® Advanced Audio™, and Intel® HD Gaphics, the G50 offers stunning, stutter-free visuals and immersive sound for a fuller, more satisfying home entertainment experience. Optimized for Windows 8.1 features, this touchpad lets you toggle charms and apps, switch between apps, rotate, zoom, and use other functions with various easy swipes and gestures. Featuring a modern look and feel, the acclaimed AccuType keyboard has island-style, ergonomic keys that allow a more fluid, spacious, comfortable, and accurate typing experience than standard keyboard designs. Move data between the G50 and other devices quickly with USB 3.0 SuperSpeed; it's up to ten times faster than previous USB technologies, and it's backward-compatible.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +153,29805124,153_29805124,Lenovo Essential G50-80,Lenovo Essential G50-80,processor_frequency,2.4 GHz,,,,,,,//icecat.de/en/p/lenovo/80e50350nx/notebooks-G50-80-29805124.html,"Epic Sound and Vision Thanks to its stereo speakers with Dolby® Advanced Audio™, and Intel® HD Gaphics, the G50 offers stunning, stutter-free visuals and immersive sound for a fuller, more satisfying home entertainment experience. Optimized for Windows 8.1 features, this touchpad lets you toggle charms and apps, switch between apps, rotate, zoom, and use other functions with various easy swipes and gestures. Featuring a modern look and feel, the acclaimed AccuType keyboard has island-style, ergonomic keys that allow a more fluid, spacious, comfortable, and accurate typing experience than standard keyboard designs. Move data between the G50 and other devices quickly with USB 3.0 SuperSpeed; it's up to ten times faster than previous USB technologies, and it's backward-compatible.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +154,31980499,154_31980499,Lenovo Yoga 500 14,Lenovo Yoga 500 14,processor_frequency,2.3 GHz,,,,,,,//icecat.de/en/p/lenovo/80r5009tsp/notebooks-Yoga+500+14-31980499.html,"360-Degree Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's innovative design and touchscreen display, which allows the screen to flip around 360 degrees. That means Yoga 500 adapts to you with four ways to do almost anything. With the blazing-fast 802.11 a/c WiFi option, you'll be able to connect to the internet wherever you go.802.11 a/c WiFi delivers up to 3 times the connection speeds of 802.11 b/g/n. Enjoy a PC with the new Intel® processor. Experience brilliant PC performance as you multitask effortlessly – communicate with friends and family, enjoy entertainment, and get your work done. Get the impressive performance and quality you’ve come to expect with an Intel® processor. That’s serious processing. Only with Intel Inside®.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +154,31266921,154_31266921,Lenovo Yoga 500 14,Lenovo Yoga 500 14,processor_frequency,2 GHz,,,,,,,//icecat.de/en/p/lenovo/80n400tnsp/notebooks-500+14-31266921.html,"360-Degree Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's innovative design and touchscreen display, which allows the screen to flip around 360 degrees. That means Yoga 500 adapts to you with four ways to do almost anything. With the blazing-fast 802.11 a/c WiFi option, you'll be able to connect to the internet wherever you go.802.11 a/c WiFi delivers up to 3 times the connection speeds of 802.11 b/g/n. Enjoy a PC with the new Intel® processor. Experience brilliant PC performance as you multitask effortlessly – communicate with friends and family, enjoy entertainment, and get your work done. Get the impressive performance and quality you’ve come to expect with an Intel® processor. That’s serious processing. Only with Intel Inside®.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +155,32122450,155_32122450,Lenovo IdeaPad Yoga 500,Lenovo IdeaPad Yoga 500,internal_memory,4 GB,,,,,,,//icecat.de/en/p/lenovo/80r60092ck/notebooks-Yoga+500+15-32122450.html,"360º Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's unique design and touchscreen display. It allows the screen to flip around 360º, which means you can select the mode you use based on what you choose to Do. Starting at a mere 4.3 lbs and just 2.15cm (0.85) thin, the Yoga 500 is ultra portable — it's perfect for doers on the go. And with up to 8 hours on a standard battery, you can go all day without recharging. Lenovo Harmony adapts to you by intuitively optimizing settings, making app recommendations by mode, and sharing statistics about how you use your device. Built for business. Built for life. Windows 8.1 brings together everything you do across all your devices — whether at home, at work, or on the go.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +155,30149933,155_30149933,Lenovo IdeaPad Yoga 500,Lenovo IdeaPad Yoga 500,internal_memory,8 GB,,,,,,,//icecat.de/en/p/lenovo/80r6002uck/notebooks-Yoga+500+15-30149933.html,"360º Flip-and-Fold Design A PC when you need it, a tablet when you want it, and more. Easily change between four modes — Laptop, Stand, Tent, and Tablet. The secret: Yoga 500's unique design and touchscreen display. It allows the screen to flip around 360º, which means you can select the mode you use based on what you choose to Do. Starting at a mere 4.3 lbs and just 2.15cm (0.85) thin, the Yoga 500 is ultra portable — it's perfect for doers on the go. And with up to 8 hours on a standard battery, you can go all day without recharging. Lenovo Harmony adapts to you by intuitively optimizing settings, making app recommendations by mode, and sharing statistics about how you use your device. Built for business. Built for life. Windows 8.1 brings together everything you do across all your devices — whether at home, at work, or on the go.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +156,32018944,156_32018944,Acer Iconia B1-850,Acer Iconia B1-850,form_factor,Slate,,,,,,,//icecat.de/en/p/acer/nt.lc3eg.001/tablets-B1-850-32018944.html,"Portable charm With a bevy of trendy, eye catching colours to suit any lifestyle and show your personality, this slim and lightweight tablet designed to be travel friendly. Plus its beautifully textured anti-slip finish helps you keep a firm grip wherever you go. Looks sharp and stays sharp. The HD LCD with IPS1 technology brings out every detail of the display from any angle. Put that together with Zero Air Gap technology and you get brighter and crisper images with higher contrast and considerably better visibility in sunlight. A highly effective anti-fingerprint coating reduces messy fingerprints and smudges, and makes the screen much easier to clean. Add to that Acer’s innovative Touch WakeApp which adds new one-touch gestures to both wake the tablet up and pop it right into whatever app you want instant access to.","ERSCHWINGLICHES 39,6 CM (15,6"") NOTEBOOK MIT OPTISCHEM LAUFWERK Arbeiten/spielen, wo immer du gerade bist. Erledige mehr mit den neuesten Prozessoren und Grafikeinheiten. Exzellentes HD-Display, brillanter Stereo-Sound. Einfache Navigation mit innovativem Touchpad. Nahtloser Videochat über HD-Webkamera. Unterwegs DVDs anschauen und Musik hören.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +157,29525342,157_29525342,Asus ZenPad Z170C,Asus ZenPad Z170C,,,,,,,,,,"Portable charm With a bevy of trendy, eye catching colours to suit any lifestyle and show your personality, this slim and lightweight tablet designed to be travel friendly. Plus its beautifully textured anti-slip finish helps you keep a firm grip wherever you go. Looks sharp and stays sharp. The HD LCD with IPS1 technology brings out every detail of the display from any angle. Put that together with Zero Air Gap technology and you get brighter and crisper images with higher contrast and considerably better visibility in sunlight. A highly effective anti-fingerprint coating reduces messy fingerprints and smudges, and makes the screen much easier to clean. Add to that Acer’s innovative Touch WakeApp which adds new one-touch gestures to both wake the tablet up and pop it right into whatever app you want instant access to. ","Gestochen scharfe Videos Sieht scharf aus und bleibt auch scharf. Das HD-LCD mit IPS-Technologie bringt jedes Detail des Displays aus jedem Blickwinkel perfekt zur Geltung. Zusammen mit der Zero Air Gap-Technologie erhalten Sie hellere und schärfere Bilder mit höheren Kontrasten und wesentlich besserer Sichtbarkeit bei Sonnenlicht. Mit Intel Quad-Core-Leistung für Spiele, Videos und Internet liefert Ihnen das Iconia One 8 die Leistung, die Sie benötigen. Einen zusätzlichen Schub erhalten Sie durch die verbesserte Leistung von Android 4.4 und bis zu 7 Stunden Akkuleistung. Die ausgeklügelte Beschichtung gegen Fingerabdrücke reduziert unschöne Fingerabdrücke sowie Verschmutzungen und sorgt für eine einfachere Reinigung des Bildschirms. Hinzu kommt noch die innovative Touch WakeApp von Acer: Mit nur einer Berührung können Sie sowohl das Tablet wieder aktivieren als auch direkt Ihre Lieblings-App öffnen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +158,29885222,158_29885222,Asus ZenPad Z170C,Asus ZenPad Z170C,,,,,,,,,,"Portable charm With a bevy of trendy, eye catching colours to suit any lifestyle and show your personality, this slim and lightweight tablet designed to be travel friendly. Plus its beautifully textured anti-slip finish helps you keep a firm grip wherever you go. Looks sharp and stays sharp. The HD LCD with IPS1 technology brings out every detail of the display from any angle. Put that together with Zero Air Gap technology and you get brighter and crisper images with higher contrast and considerably better visibility in sunlight. A highly effective anti-fingerprint coating reduces messy fingerprints and smudges, and makes the screen much easier to clean. Add to that Acer’s innovative Touch WakeApp which adds new one-touch gestures to both wake the tablet up and pop it right into whatever app you want instant access to. ","Gestochen scharfe Videos Sieht scharf aus und bleibt auch scharf. Das HD-LCD mit IPS-Technologie bringt jedes Detail des Displays aus jedem Blickwinkel perfekt zur Geltung. Zusammen mit der Zero Air Gap-Technologie erhalten Sie hellere und schärfere Bilder mit höheren Kontrasten und wesentlich besserer Sichtbarkeit bei Sonnenlicht. Mit Intel Quad-Core-Leistung für Spiele, Videos und Internet liefert Ihnen das Iconia One 8 die Leistung, die Sie benötigen. Einen zusätzlichen Schub erhalten Sie durch die verbesserte Leistung von Android 4.4 und bis zu 7 Stunden Akkuleistung. Die ausgeklügelte Beschichtung gegen Fingerabdrücke reduziert unschöne Fingerabdrücke sowie Verschmutzungen und sorgt für eine einfachere Reinigung des Bildschirms. Hinzu kommt noch die innovative Touch WakeApp von Acer: Mit nur einer Berührung können Sie sowohl das Tablet wieder aktivieren als auch direkt Ihre Lieblings-App öffnen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +159,29885260,159_29885260,Asus ZenPad Z370C,Asus ZenPad Z370C,internal_memory,2 GB,,,,,,,//icecat.de/en/p/asus/90np01w3-m01060/tablets-Z370C-1L039A-29885260.html,"Fashion-inspired design The design of ASUS ZenPad 7.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad 7.0 is a 7-inch tablet with a 72% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. Dramatically-enhanced detail for sharper, more lifelike images. ASUS ZenPad 7.0’s PixelMaster camera captures stunning, high-resolution photos. PixelMaster Camera comes with best technology that combines software and optical design to deliver incredible images.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +159,29885269,159_29885269,Asus ZenPad Z370C,Asus ZenPad Z370C,internal_memory,8 GB,,,,,,,//icecat.de/en/p/asus/90np01w3-m01090/tablets-Z370C-1L040A-29885269.html,"Fashion-inspired design The design of ASUS ZenPad 7.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad 7.0 is a 7-inch tablet with a 72% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. Dramatically-enhanced detail for sharper, more lifelike images. ASUS ZenPad 7.0’s PixelMaster camera captures stunning, high-resolution photos. PixelMaster Camera comes with best technology that combines software and optical design to deliver incredible images.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +160,29533301,160_29533301,Asus ZenPad Z370C-1A,Asus ZenPad Z370C-1A,,,,,,,,,//icecat.de/en/p/asus/z370c-1l048a/tablets-Z370C-1L048A-29533301.html,"Fashion-inspired design The design of ASUS ZenPad 7.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad 7.0 is a 7-inch tablet with a 72% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. Dramatically-enhanced detail for sharper, more lifelike images. ASUS ZenPad 7.0’s PixelMaster camera captures stunning, high-resolution photos. PixelMaster Camera comes with best technology that combines software and optical design to deliver incredible images.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +161,29533300,161_29533300,Asus ZenPad Z370C-1A,Asus ZenPad Z370C-1A,,,,,,,,,//icecat.de/en/p/asus/z370c-1b045a/tablets-Z370C-1B045A-29533300.html,"Bigger while smaller ASUS ZenPad 7.0 is a 7-inch tablet with a body that’s as small as that of a traditional 7-inch device. This incredible engineering achievement was made possible by reducing the bezel width to the bare minimum, giving ASUS ZenPad 7.0 a remarkable 72% screen-to-body ratio. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 7.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 7.0.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +162,29533299,162_29533299,Asus ZenPad Z370C-1A,Asus ZenPad Z370C-1A,,,,,,,,,//icecat.de/en/p/asus/z370c-1a054a/tablets-Z370C-1A054A-29533299.html,"Bigger while smaller ASUS ZenPad 7.0 is a 7-inch tablet with a body that’s as small as that of a traditional 7-inch device. This incredible engineering achievement was made possible by reducing the bezel width to the bare minimum, giving ASUS ZenPad 7.0 a remarkable 72% screen-to-body ratio. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 7.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 7.0.",Großartige Aussichten Das ZenPad 7.0 ist ein besonders kompaktes 7-Zoll-Tablet mit einem besonders schmalen Rahmen. Das Display dominiert nahezu die gesamte Frontseite. Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 7“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 7.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab.,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +163,29728850,163_29728850,Asus ZenPad Z380C-1B,Asus ZenPad Z380C-1B,,,,,,,,,//icecat.de/en/p/asus/90np0221-m01320/tablets-Z380C-1A038A-29728850.html,"Bigger while smaller ASUS ZenPad 8.0 is an 8-inch tablet with a 76.5% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 8.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 8.0. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures.","ASUS VisualMaster IPS-Display Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 8“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 8.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab. Das ASUS ZenPad 8.0 folgt, wie der Name verspricht, der ASUS ZEN-Designphilosophie. Es ist elegant, dünn, leicht und durchdacht - gleichzeitig setzt es mit seinem Clutchbag-Look und der Möglichkeit die Rückschale auszutauschen einzigartige Akzente.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +164,29565390,164_29565390,Asus ZenPad Z380C-1B,Asus ZenPad Z380C-1B,,,,,,,,,//icecat.de/en/p/asus/90np0222-m01870/tablets-Z380C-1B055A-29565390.html,"Bigger while smaller ASUS ZenPad 8.0 is an 8-inch tablet with a 76.5% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS Audio Cover is an entertainment accessory that brings cinematic, 5.1-channel surround sound to ASUS ZenPad 8.0. DTS-HD Premium Sound and SonicMaster technology provide further enhancement, ensuring the ultimate audio experience on ASUS ZenPad 8.0. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures.","ASUS VisualMaster IPS-Display Wesentlich bei einem Tablet ist vor allem eines: das Display. Aus diesem Grund wurde beim 8“ 16:10 WXGA (1280 x 800) VisualMaster-Display des ZenPad 8.0 besonderes Augenmerk auf die Qualität gelegt. Exklusive Technologien sorgen für eine sichtbar natürlichere und farbbrillantere Darstellung. Die Tru2Life Kontrast-Optimierung analysiert jeden einzelnen Pixel eines Bildes vor der Wiedergabe und stimmt helle und dunkle Bereiche automatisch ideal aufeinander ab. Das ASUS ZenPad 8.0 folgt, wie der Name verspricht, der ASUS ZEN-Designphilosophie. Es ist elegant, dünn, leicht und durchdacht - gleichzeitig setzt es mit seinem Clutchbag-Look und der Möglichkeit die Rückschale auszutauschen einzigartige Akzente.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +165,29879507,165_29879507,Asus ZenPad Z580CA,Asus ZenPad Z580CA,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/asus/90np01m1-m00660/tablets-Z580CA-1A027A-29879507.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad S 8.0 is an 8-inch tablet that is only 6.6mm thin, weighs just 298g, and has a 74% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Großartige Aussichten Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster. Erhältlich in drei aufregenden Farben und für passgenauen Schutz mit praktischer Stand-Funktionalität gibt es das ultradünne und hochrobuste TriCover als Originalzubehör für das ZenPad S 8.0. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +165,29879528,165_29879528,Asus ZenPad Z580CA,Asus ZenPad Z580CA,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/asus/90np01m1-m00990/tablets-Z580CA-1A046A-29879528.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS ZenPad S 8.0 is an 8-inch tablet that is only 6.6mm thin, weighs just 298g, and has a 74% screen-to-body ratio — an incredible engineering achievement made possible by reducing the bezel width to the bare minimum. Intelligent contrast enhancement analyzes and optimizes each pixel in an image before it is reproduced, rendering more detail in the highlights and shadows to reveal the true beauty in your pictures. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Großartige Aussichten Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster. Erhältlich in drei aufregenden Farben und für passgenauen Schutz mit praktischer Stand-Funktionalität gibt es das ultradünne und hochrobuste TriCover als Originalzubehör für das ZenPad S 8.0. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +166,30230575,166_30230575,Asus ZenPad Z580CA-1B,Asus ZenPad Z580CA-1B,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/asus/90np01m2-m01130/tablets-Z580CA-1B035A-30230575.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Leistung für heute und morgen Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +166,29565389,166_29565389,Asus ZenPad Z580CA-1B,Asus ZenPad Z580CA-1B,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/asus/90np01m2-m00760/tablets-Z580CA-1B024A-29565389.html,"Fashion-inspired design The design of ASUS ZenPad S 8.0 carries modern influences and a simple, clean look that gives it a universal and stylish appeal. These elements are inspired by our Zen design philosophy of balancing beauty and strength. ASUS VisualMaster is a suite of exclusive visual enhancement technologies that combine hardware and software to optimize all aspects of the display — including contrast, sharpness, color, clarity, and brightness — resulting in an incredibly realistic viewing experience. With ASUS VisualMaster, it’s just like being there. ASUS ZenPad S 8.0 is equipped with ASUS Tru2Life+ technology, which improves video with fast action scenes — such as sports — by increasing the screen refresh rate, resulting in reduced blur and smooth, detailed motion.","Leistung für heute und morgen Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Das ZenPad S 8.0 ist ein besonders kompaktes, wunderbar leichtes 8-Zoll-Tablet, mit einem besonders schmalen Rahmen. Das exzellente 2K-Display dominiert nahezu die gesamte Frontseite. Bis zu 4 GB Arbeitsspeicher, schnelles ac-WLAN, das 8“ IPS-Display mit beeindruckender 2K-Auflösung und nicht zuletzt der enorm leistungsfähige Intel® Atom™ Z3580* 64-Bit Quad-Core Prozessor inklusive kraftvoller PowerVR-Grafik sorgen für kompromissloses Tablet-Computing. Für Entertainment vom Feinsten und Tablet-Sound der Extraklasse bietet das ZenPad S 8.0 DTS-HD Premium Sound – powered by ASUS SonicMaster.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +167,30375366,167_30375366,HP Elite x2 1012 G1,HP Elite x2 1012 G1,internal_storage_capacity,512 GB,,,,,,,//icecat.de/en/p/hp/l5h05ea/notebooks-Elite+x2+1012+G1-30375366.html,"Mobility and style without compromise Strikingly thin and elegant, the Elite x2 1012 is a 2 in 1 for the mobile workforce and executives who want no compromises when it comes to enterprise-class power, durability, optional LTE connectivity4 and productivity on the go, in a stylish design. Stunning IT friendly design. Elite x2 1012 incorporates Elite global enterprise-class security and manageability features, enterprise-class durability, on-site serviceability,2 global sku availability and support across 180 countries. At your desk or on the road, meet the specific needs of your work day with the included HP Active Pen with App Launch that uses Wacom technology. Accessorize to boost your efficiency. Add optional enterprise docking solutions3 and advanced keyboards.","Mobilität und Design ohne Kompromisse Das auffallend schlanke und elegante 2-in-1-Tablet Elite x2 1012 eignet sich optimal für mobile Mitarbeiter und Führungskräfte, die Wert auf erstklassige Leistung, Haltbarkeit, optionale LTE-Technologie 4 und Produktivität unterwegs sowie ein ansprechendes Design legen. Erfüllen Sie am Schreibtisch oder unterwegs die spezifischen Anforderungen Ihres Arbeitstages mit dem im Lieferumfang enthaltenen HP Active-Stift mit App Launch, der die Wacom-Technologie verwendet. Steigern Sie mit diesem Zubehör Ihre Produktivität. Nutzen Sie zudem die optionalen Unternehmens-Dockinglösungen3 und Tastaturerweiterungen. Erleben Sie mit dem HP Elite x2 1012 Eleganz und Leistung, die Sie nicht erwarten. Dieses getestete 2-in-1-Tablet mit präzisionsgefertigten Tastaturen ist ein schlankes und leichtes Kraftpaket für höchste Qualitätsstandards im Unternehmen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +167,30375364,167_30375364,HP Elite x2 1012 G1,HP Elite x2 1012 G1,internal_storage_capacity,256 GB,,,,,,,//icecat.de/en/p/hp/l5h04ea/notebooks-Elite+x2+1012+G1-30375364.html,"Mobility and style without compromise Strikingly thin and elegant, the Elite x2 1012 is a 2 in 1 for the mobile workforce and executives who want no compromises when it comes to enterprise-class power, durability, optional LTE connectivity4 and productivity on the go, in a stylish design. Stunning IT friendly design. Elite x2 1012 incorporates Elite global enterprise-class security and manageability features, enterprise-class durability, on-site serviceability,2 global sku availability and support across 180 countries. At your desk or on the road, meet the specific needs of your work day with the included HP Active Pen with App Launch that uses Wacom technology. Accessorize to boost your efficiency. Add optional enterprise docking solutions3 and advanced keyboards.","Mobilität und Design ohne Kompromisse Das auffallend schlanke und elegante 2-in-1-Tablet Elite x2 1012 eignet sich optimal für mobile Mitarbeiter und Führungskräfte, die Wert auf erstklassige Leistung, Haltbarkeit, optionale LTE-Technologie 4 und Produktivität unterwegs sowie ein ansprechendes Design legen. Erfüllen Sie am Schreibtisch oder unterwegs die spezifischen Anforderungen Ihres Arbeitstages mit dem im Lieferumfang enthaltenen HP Active-Stift mit App Launch, der die Wacom-Technologie verwendet. Steigern Sie mit diesem Zubehör Ihre Produktivität. Nutzen Sie zudem die optionalen Unternehmens-Dockinglösungen3 und Tastaturerweiterungen. Erleben Sie mit dem HP Elite x2 1012 Eleganz und Leistung, die Sie nicht erwarten. Dieses getestete 2-in-1-Tablet mit präzisionsgefertigten Tastaturen ist ein schlankes und leichtes Kraftpaket für höchste Qualitätsstandards im Unternehmen. ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +168,29379693,168_29379693,HP ElitePad 1000 G2,HP ElitePad 1000 G2,internal_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/h9x49ea/tablets-1000+G2-29379693.html,"Powerful productivity. Take the next step in productivity with the HP ElitePad 1000 G2 Tablet equipped with a 64-bit Intel® processor and the features you need to stay productive in the office or on the go. Control wireless connection, including optional worldwide 4G LTE,1 with HP Connection Manager. Dual cameras help you collaborate or capture the moment. Work the way that suits you best. The ElitePad 1000 G2 supports touch, pen or voice-based input. More than a tablet—a total business solution. The elegant and sleek HP ElitePad 1000 G2 has the performance and flexibility to transform the way you work. Redefine productivity and stay light with the confidence of the leading manageability, security, and support you expect from HP.","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +168,21844742,168_21844742,HP ElitePad 1000 G2,HP ElitePad 1000 G2,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/hp/g5f94aw/tablets-1000+G2-21844742.html,"Powerful productivity. Take the next step in productivity with the HP ElitePad 1000 G2 Tablet equipped with a 64-bit Intel® processor and the features you need to stay productive in the office or on the go. Control wireless connection, including optional worldwide 4G LTE,1 with HP Connection Manager. Dual cameras help you collaborate or capture the moment. Work the way that suits you best. The ElitePad 1000 G2 supports touch, pen or voice-based input. More than a tablet—a total business solution. The elegant and sleek HP ElitePad 1000 G2 has the performance and flexibility to transform the way you work. Redefine productivity and stay light with the confidence of the leading manageability, security, and support you expect from HP.","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +169,25880805,169_25880805,HP Slate 10 Pro EE,HP Slate 10 Pro EE,,,,,,,,,//icecat.de/en/p/hp/l2j96aa/tablets-0889296097754-HP-Slate-10-Pro-10-EE-G1-32GB-Grey-25880805.html,"Let tablet Improve 1:1 learning and elevate student engagement with the Android™ tablet built for schools. The mobility and durability of the HP Pro Slate 10 EE includes learning tools and flexible connectivity to expand education beyond the walls of the classroom, plus professional support and services to help educators confidently incorporate new IT. ","Für Schulen entwickelt Stellen Sie ein Tablet bereit, das speziell für die hohen Anforderungen im Schulalltag entwickelt wurde und dank Intel® Quad-Core-Prozessor, einem entspiegelten HD Touch-Display mit 25,65 cm (10 Zoll) Diagonale und Handschriftunterstützung (mit optimalem Eingabestift) ein 1:1-Lernerlebnis zu einem erschwinglichen Preis bietet. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +170,28516206,170_28516206,HP Pro Tablet 608 G1,HP Pro Tablet 608 G1,internal_storage_capacity,128 GB,,,,,,,//icecat.de/en/p/hp/h9x41ea/tablets-608+G1-28516206.html,"Create efficiencies with mobile solutions Tailor your experience to the needs of your business with a keyboard, cases, portable docking station and more to customize your tablet. Transform your business with this small stylish business tablet equipped with a brilliant, high definition display and the pervasive connectivity to mobilize most any business process. Choose from an expansive choice of accessories for a customized experience. Get business-class security and manageability options on the HP Pro Tablet 608 with HP Client Security, HP Touchpoint Manager and more. ","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +170,28549472,170_28549472,HP Pro Tablet 608 G1,HP Pro Tablet 608 G1,internal_storage_capacity,64 GB,,,,,,,//icecat.de/en/p/hp/h9x40ea-abh/tablets-608+G1-28549472.html,"Create efficiencies with mobile solutions Tailor your experience to the needs of your business with a keyboard, cases, portable docking station and more to customize your tablet. Transform your business with this small stylish business tablet equipped with a brilliant, high definition display and the pervasive connectivity to mobilize most any business process. Choose from an expansive choice of accessories for a customized experience. Get business-class security and manageability options on the HP Pro Tablet 608 with HP Client Security, HP Touchpoint Manager and more. ","Zum Lernen konzipiert Profitieren Sie von sofortiger Einsatzfähigkeit mit den neuen HP School Pack Tools und Inhalten zur Unterstützung neuer Lernmethoden, darunter HP Classroom Manager, mit dem Lehrer das Klassenzimmer steuern, Klassen-PCs verwalten und mit Schülern kommunizieren können. Erzielen Sie ein 1:1-Lernerlebnis und steigern Sie das Engagement der Schüler mit diesem Android™-Tablet, das speziell für Schulen entwickelt wurde. Das zuverlässige und robuste HP Pro Tablet 10 EE umfasst Lerntools und flexible Konnektivitätsoptionen für ein Lernerlebnis über das Klassenzimmer hinweg. Darüber hinaus unterstützen professionelle Support- und Serviceleistungen das Lehrpersonal bei der Einbindung neuer IT-Komponenten.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +171,27262160,171_27262160,Lenovo TAB 2 A10,Lenovo TAB 2 A10,,,,,,,,,//de.icecat.biz/en/p/lenovo/za000049de/tablets-0889233451984-A10-70-27262160.html,"Be Immersed. You'll get the best audio experience the A Series line has to offer with the TAB 2 A10's exclusive multi-speaker sound bar. And, available exclusively on 8"" and 10"" TAB 2 models is Dolby Atmos® Cinematic Moving Audio. This unique technology delivers a profound audio experience that seemingly wraps itself around you Enjoy a surround sound-like experience and incredible multimedia immersion all on-the-go with the TAB 2 A8. Work, play, watch, or just tap away on the TAB 2 A10's Full HD (1920 x 1200) IPS display. IPS technology makes it easy to share what you're viewing with friends, and with an ultra-thin, high-transparent touchscreen, every image appears closer, clearer, and sharper. Carry the TAB 2 A10 wherever you go. It's incredibly light at just over a pound, and slim enough that you can store it just about anywhere for convenient mobility. The TAB 2 A10 is easy to keep by your side wherever life takes you. So when you need it, you’ll be reading, listening to music, watching videos, or surfing the Web, all in a snap.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +172,29801891,172_29801891,Lenovo Yoga Tablet 3,Lenovo Yoga Tablet 3,,,,,,,,,//icecat.de/en/p/lenovo/za0a0010de/tablets-3+8-29801891.html,"IMMERSIVE AUDIO The YOGA Tab 3 8 delivers rich home theater sound that you will not experience on any other tablet. The two integrated front-facing speakers and powerfully immersive Dolby Atmos® sound give louder, clearer and dynamic audio… even without headphones! The YOGA Tab 3 8 keeps going and going with its outstanding battery life. With up to 20 hours on one charge, it’s enough to watch two series of your favorite TV show back to back. Scroll through recipes while you cook, check your social feeds while you eat, and watch movies while you work out. The unique kickstand works in four ways to Stand, Tilt, Hold or even Hang the YOGA Tab 3 8 to a way that suits you.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +173,26973306,173_26973306,Samsung Galaxy Tab A SM-T550N,Samsung Galaxy Tab A SM-T550N,,,,,,,,,,"IMMERSIVE AUDIO The YOGA Tab 3 8 delivers rich home theater sound that you will not experience on any other tablet. The two integrated front-facing speakers and powerfully immersive Dolby Atmos® sound give louder, clearer and dynamic audio… even without headphones! The YOGA Tab 3 8 keeps going and going with its outstanding battery life. With up to 20 hours on one charge, it’s enough to watch two series of your favorite TV show back to back. Scroll through recipes while you cook, check your social feeds while you eat, and watch movies while you work out. The unique kickstand works in four ways to Stand, Tilt, Hold or even Hang the YOGA Tab 3 8 to a way that suits you.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +174,27253016,174_27253016,Samsung Galaxy Tab A SM-T550N,Samsung Galaxy Tab A SM-T550N,,,,,,,,,,"IMMERSIVE AUDIO The YOGA Tab 3 8 delivers rich home theater sound that you will not experience on any other tablet. The two integrated front-facing speakers and powerfully immersive Dolby Atmos® sound give louder, clearer and dynamic audio… even without headphones! The YOGA Tab 3 8 keeps going and going with its outstanding battery life. With up to 20 hours on one charge, it’s enough to watch two series of your favorite TV show back to back. Scroll through recipes while you cook, check your social feeds while you eat, and watch movies while you work out. The unique kickstand works in four ways to Stand, Tilt, Hold or even Hang the YOGA Tab 3 8 to a way that suits you.","Fesselndes Klangerlebnis Eine Soundbar mit mehreren Lautsprechern und Dolby Atmos® Cinematic Moving Audio sorgen für fesselnden Sound, der von allen Seiten zu kommen scheint. In Verbindung mit dem brillanten Full HD-Display ist das TAB 2 A10-70 das perfekte Tablet für Gaming und Multimedia. Für hohe Rechenleistung und flüssige Darstellung ist das TAB 2 A10-70 mit einem schnellen 64-Bit-Quad-Core-Prozessor ausgestattet. Der 7.000-mAh-Akku ermöglicht bis zu 10 Stunden unterbrechungsfreien Betrieb. Nutze dein Tablet einen ganzen Tag lang ohne aufzuladen. Das handliche TAB 2 A10-70 ist nicht einmal 9 mm dick. Wähle aus zwei verschiedenen Farben – Pearl White und Midnight Blue – das Modell, das am besten zu deinem Lebensstil passt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +175,26564922,175_26564922,Samsung Galaxy Tab A SM-T550N 16 GB,Samsung Galaxy Tab A SM-T550N 16 GB,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/samsung/sm-t550nzka/tablets-SM-T550N-26564922.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Schlankes und modernes Design Das 7,5 mm schlanke Gehäuse verleiht dem Samsung Galaxy Tab A (9.7, Wi-Fi) seine leichte Grazilität, die erkennen lässt wie bequem und griffig es in der Hand gehalten werden kann. Auch das Verstauen fällt dadurch leicht und Sie können es überall hin mitnehmen. Zudem überzeugt das Samsung Galaxy Tab A (9.7, Wi-Fi) mit seiner eleganten Form, den abgerundeten Kanten und den metallisch schimmernden Oberflächen. Dieses Design kombiniert für Ihren mobilen Alltag flexible Portabilität mit einer dem Auge schmeichelnden Optik. Gleich zwei integrierte Kameras sorgen beim Samsung Galaxy Tab A (9.7, Wi-Fi) dafür, dass Sie Ihre Erinnerungen als Foto oder Video festhalten können. Die 5 Megapixel-Hauptkamera hat einen Autofokus, der für knackig scharfe Aufnahmen sorgt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +175,26935356,175_26935356,Samsung Galaxy Tab A SM-T550N 32 GB,Samsung Galaxy Tab A SM-T550N 32 GB,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/samsung/sm-t550nzkaphn/tablets-SM-T550N-26935356.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Schlankes und modernes Design Das 7,5 mm schlanke Gehäuse verleiht dem Samsung Galaxy Tab A (9.7, Wi-Fi) seine leichte Grazilität, die erkennen lässt wie bequem und griffig es in der Hand gehalten werden kann. Auch das Verstauen fällt dadurch leicht und Sie können es überall hin mitnehmen. Zudem überzeugt das Samsung Galaxy Tab A (9.7, Wi-Fi) mit seiner eleganten Form, den abgerundeten Kanten und den metallisch schimmernden Oberflächen. Dieses Design kombiniert für Ihren mobilen Alltag flexible Portabilität mit einer dem Auge schmeichelnden Optik. Gleich zwei integrierte Kameras sorgen beim Samsung Galaxy Tab A (9.7, Wi-Fi) dafür, dass Sie Ihre Erinnerungen als Foto oder Video festhalten können. Die 5 Megapixel-Hauptkamera hat einen Autofokus, der für knackig scharfe Aufnahmen sorgt.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +176,29209306,176_29209306,Samsung Galaxy Tab E SM-T560 8 GB,Samsung Galaxy Tab E SM-T560 8 GB,internal_storage_capacity,8 GB,,,,,,,//icecat.de/en/p/samsung/sm-t560nzkabtu/tablets-SM-T560-29209306.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +176,29381409,176_29381409,Samsung Galaxy Tab E SM-T560 16 GB,Samsung Galaxy Tab E SM-T560 16 GB,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/samsung/sm-t560nzkaphn/tablets-SM-T560-29381409.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +176,29536449,176_29536449,Samsung Galaxy Tab E SM-T560 32 GB,Samsung Galaxy Tab E SM-T560 32 GB,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/samsung/sm-t560nzka/tablets-SM-T560-29536449.html,"Do Two Things at Once Make the most out of your tablet time with advanced multitasking tools. Easily open two apps side by side so you can flip through your photos while browsing online. Check social media and your social calendar at the same time. With Multi Window™ on the Galaxy Tab A, you can do more, faster. Kids Mode gives parents peace of mind while providing a colorful, engaging place for kids to play. Easily manage what your kids access and how long they spend using it, all while keeping your own documents private. Available for free from Samsung Galaxy Essentials™, Kids Mode keeps your content—and more importantly, your kids— safe and secure. Connecting your Samsung devices is easier than ever. With Samsung SideSync 3.0 and Quick Connect™, you can share content and work effortlessly between your Samsung tablet, smartphone and personal computer.","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +177,24867659,177_24867659,Samsung Galaxy Tab Active 8.0 8 GB,Samsung Galaxy Tab Active 8.0,internal_storage_capacity,8 GB,,,,,,,//icecat.de/en/p/samsung/sm-t365nngabtu/tablets-8.0-24867659.html,"Water and Dust Resistance (IP67) Keep working continuously in virtually any environment with IP67 environmental sealing that protects against damage from water and dust. Gain toughness and stability without sacrificing a premium design with 9.75-mm thickness(without cover) and a 393-gram light weight with rugged reinforcement. Don’t worry about drops or impacts in active business environments. With its included cover, Samsung Galaxy Tab Active is designed to handle drops of up to 1.2 meters with protective cover (3.9 feet). Save time on communications and work process management with easy NFC device pairing and tag reading. A 3.1-megapixel (MP) Auto Focus (AF) camera with a Flash feature enables easy, efficient barcode scanning to facilitate communication and workflow. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +177,24422865,177_24422865,Samsung Galaxy Tab Active 8.0 16 GB,Samsung Galaxy Tab Active 8.0,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/samsung/sm-t365nnga/tablets-8806086421799-Samsung-Galaxy-Tab-Active-8-0-16GB-3G-4G-Titanium-24422865.html,"Water and Dust Resistance (IP67) Keep working continuously in virtually any environment with IP67 environmental sealing that protects against damage from water and dust. Gain toughness and stability without sacrificing a premium design with 9.75-mm thickness(without cover) and a 393-gram light weight with rugged reinforcement. Don’t worry about drops or impacts in active business environments. With its included cover, Samsung Galaxy Tab Active is designed to handle drops of up to 1.2 meters with protective cover (3.9 feet). Save time on communications and work process management with easy NFC device pairing and tag reading. A 3.1-megapixel (MP) Auto Focus (AF) camera with a Flash feature enables easy, efficient barcode scanning to facilitate communication and workflow. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +177,25913296,177_25913296,Samsung Galaxy Tab Active 8.0 32 GB,Samsung Galaxy Tab Active 8.0,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/samsung/sm-t365nngaxez/tablets-8806086550444-Samsung-Galaxy-Tab-Active-SM-T365-16GB-3G-4G-Titanium-25913296.html,"Water and Dust Resistance (IP67) Keep working continuously in virtually any environment with IP67 environmental sealing that protects against damage from water and dust. Gain toughness and stability without sacrificing a premium design with 9.75-mm thickness(without cover) and a 393-gram light weight with rugged reinforcement. Don’t worry about drops or impacts in active business environments. With its included cover, Samsung Galaxy Tab Active is designed to handle drops of up to 1.2 meters with protective cover (3.9 feet). Save time on communications and work process management with easy NFC device pairing and tag reading. A 3.1-megapixel (MP) Auto Focus (AF) camera with a Flash feature enables easy, efficient barcode scanning to facilitate communication and workflow. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +178,29658415,178_29658415,Samsung Galaxy Tab S2 SM-T715,Samsung Galaxy Tab S2 SM-T715,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +179,29658416,179_29658416,Samsung Galaxy Tab S2 SM-T715,Samsung Galaxy Tab S2 SM-T715,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +180,32127058,180_32127058,Samsung Galaxy Tab S2 SM-T813,Samsung Galaxy Tab S2 SM-T813,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +181,31995510,181_31995510,Samsung Galaxy Tab S2 SM-T813,Samsung Galaxy Tab S2 SM-T813,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Powerful Performance Beim Samsung Galaxy Tab A (9.7, Wi-Fi) sorgt ein 1,2 GHz Quad-Core-Prozessor, der 1,5 GB Arbeitsspeicher und die aktuellste Android™-Plattform 5.0 zusammen mit einer vereinfachten Nutzeroberfläche und dem neuen Displayformat für seine hohe Leistungsfähigkeit. Genießen Sie den direkten Zugang zu vielfältigen Multimedia-Inhalten wie Filme, Musik und Internet in atemberaubender Geschwindigkeit. Das Display des Samsung Galaxy Tab A (9.7, Wi-Fi) hat ein Seitenverhältnis von 4:3 und dadurch gegenüber einem Display im Format 16:10 bei gleicher Breite eine größere Anzeigefläche. Den Vorteil bemerken Sie, wenn Sie gerne lesen. Auf Webseiten wird mehr angezeigt und Sie müssen weniger scrollen. Bei E-Books fallen formatbedingte Leerflächen weg und werden stattdessen für eine angenehm vergrößerte Darstellung verwendet. Auch beim Lesen und Verfassen von E-Mails und Chats haben Sie einfach mehr Text im Blick, auch dann wenn die Tastatur eingeblendet ist.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +182,30345097,182_30345097,Samsung Galaxy View SM-T670,Samsung Galaxy View SM-T670,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Ihre Streaming-Videothek Per WLAN Verbindung erhalten Sie Zugang zu einer riesigen Auswahl an Streaming-Inhalten. Wählen Sie aus zahlreichen Anbietern wie z.B. Netflix oder Maxdome aus und nutzen Sie YouTube™ sowie die Mediatheken vieler TV-Sender. Mit dem Galaxy View bleiben Sie über die Family Square-App auch mit Ihrer Familie und Ihren Freunden in Kontakt. Teilen Sie im Handumdrehen Fotos, Videos oder handschriftliche Notizen. Zusammen mit dem integrierten Standfuß des Samsung Galaxy View haben Sie die Möglichkeit zwei unterschiedliche Betrachtungswinkel einzustellen. Nutzen Sie die aufrechte Position, wenn Sie vor dem Display sitzen und einen Film anschauen wollen. Die flache Position eignet sich sowohl zur Bedienung beim Surfen oder bei den Office-Anwendungen, als auch wenn Sie darauf hinabblicken, z.B. wenn das Tablet auf der Küchenarbeitsplatte liegt und sie Sie ein Kochvideo nachzaubern.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +183,21811723,183_21811723,Sony Xperia SGP512E1,Sony Xperia SGP512E1,,,,,,,,,,"Enjoy greater flexibility ...than ever before with the Galaxy Tab S2. Remarkably slim and ultra-lightweight, use this device to take your e-books, photos, videos and work-related files with you wherever you need to go. The Galaxy Tab S2’s 4:3 ratio display is optimised for magazine reading and web use. Switch to Reading Mode to adjust screen brightness and change wallpaper - create an ideal eBook reading environment designed to reduce the strain on your eyes. Get greater security with convenient and accurate fingerprint functionality. Activate fingerprint lock by pressing the home button. Use fingerprint verification to restrict / allow access to your web browser, screen lock mode and your Samsung account. ","Ihre Streaming-Videothek Per WLAN Verbindung erhalten Sie Zugang zu einer riesigen Auswahl an Streaming-Inhalten. Wählen Sie aus zahlreichen Anbietern wie z.B. Netflix oder Maxdome aus und nutzen Sie YouTube™ sowie die Mediatheken vieler TV-Sender. Mit dem Galaxy View bleiben Sie über die Family Square-App auch mit Ihrer Familie und Ihren Freunden in Kontakt. Teilen Sie im Handumdrehen Fotos, Videos oder handschriftliche Notizen. Zusammen mit dem integrierten Standfuß des Samsung Galaxy View haben Sie die Möglichkeit zwei unterschiedliche Betrachtungswinkel einzustellen. Nutzen Sie die aufrechte Position, wenn Sie vor dem Display sitzen und einen Film anschauen wollen. Die flache Position eignet sich sowohl zur Bedienung beim Surfen oder bei den Office-Anwendungen, als auch wenn Sie darauf hinabblicken, z.B. wenn das Tablet auf der Küchenarbeitsplatte liegt und sie Sie ein Kochvideo nachzaubern.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +184,17365820,184_17365820,Canon LEGRIA HF G25,Canon LEGRIA HF G25,internal_storage_capacity,8 GB,,,,,,,//icecat.de/en/p/canon/8063b004/camcorders-HF+G25-17365820.html,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. Register up to three infants and easily capture and personalize moments as they grow up. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. ","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +184,17494387,184_17494387,Canon LEGRIA HF G25,Canon LEGRIA HF G25,internal_storage_capacity,16 GB,,,,,,,//icecat.de/en/p/canon/8063b011/camcorders-HF+G25-17494387.html,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. Register up to three infants and easily capture and personalize moments as they grow up. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. ","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +184,17560323,184_17560323,Canon LEGRIA HF G25,Canon LEGRIA HF G25,internal_storage_capacity,32 GB,,,,,,,//icecat.de/en/p/canon/8063b012/camcorders-HF+G25-17560323.html,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. Register up to three infants and easily capture and personalize moments as they grow up. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. ","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +185,25904533,185_25904533,Canon LEGRIA HF R606,Canon LEGRIA HF R606,,,,,,,,,,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. Slow motion images can be recorded at a speed down to 1/2x and fast motion images up to 1200x.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +186,25904506,186_25904506,Canon LEGRIA HF R606,Canon LEGRIA HF R606,,,,,,,,,,"Image Stabilization Technology With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. Capture those moments you cherish. You will never miss those special moments with the LEGRIA HF R606. Featuring advanced baby mode you can capture footage just before recording starts, to ensure you don’t miss your baby’s first steps. Parents can register up to three children and track their growth over the years. With Intelligent IS and an advanced DIGIC DV4 processor, capture those moments you cherish with the HF R606. With four types of Intelligent Image Stabilization technology the HF R606 will give you sharp videos every time. The HFR606 will automatically pan out to help you relocate your subject, before zooming in again. Slow motion images can be recorded at a speed down to 1/2x and fast motion images up to 1200x.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +187,26306352,187_26306352,Ricoh WG-5 GPS,Ricoh WG-5 GPS,,,,,,,,,,"Superior depiction and mobility. Superior image depiction under extreme conditions. The new WG-5 GPS. The camera has superior brightness with the folded optic zoom lens and is equipped with a high-performance 4.0x optical zoom lens of maximum aperture 2.0. Since the lens is bright, the sensitivity is suppressed even when shooting with the same shutter speed and allows recording in high image quality in dark scenes. [Auto Picture Mode] The camera automatically recognizes scenes and sets an optimal shooting mode. You can capture beautiful photos through automatic camera operations.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +188,26306353,188_26306353,Ricoh WG-5 GPS,Ricoh WG-5 GPS,,,,,,,,,,"Superior depiction and mobility. Superior image depiction under extreme conditions. The new WG-5 GPS. The camera has superior brightness with the folded optic zoom lens and is equipped with a high-performance 4.0x optical zoom lens of maximum aperture 2.0. Since the lens is bright, the sensitivity is suppressed even when shooting with the same shutter speed and allows recording in high image quality in dark scenes. [Auto Picture Mode] The camera automatically recognizes scenes and sets an optimal shooting mode. You can capture beautiful photos through automatic camera operations.","Zoomobjektiv mit besonders großem Weitwinkel Die WG-5 GPS verfügt über ein 4-faches optisches Zoomobjektiv. Der Brennweitenbereich beginnt bereits bei 25 mm (entsprechend zum KB-Format) und bietet somit einen besonderen Aufnahmewinkel, der im Zusammenspiel mit einem der zahlreichen Kamerahalter tolle Per-spektiven ermöglicht. Mit der 100 mm Brennweite (entsprechend zum KB-Format) gelingen spannende Detailbilder. Der Nahaufnahmemodus ermöglicht faszinierende Fotos im Makrobereich. Mit einem Abstand von gerade mal 1 cm gelingen völlig neue Sichtweisen von Pflanzen, Insekten und vielen anderen kleinen Motiven. Ein im Lieferumfang enthaltener Makroring sorgt für die präzise Einhaltung des Aufnahmeabstands von 1 cm.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +189,30150732,189_30150732,Ricoh Theta,Ricoh Theta,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +190,25111746,190_25111746,Ricoh Theta,Ricoh Theta,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +191,17681791,191_17681791,Samsung F90BN,Samsung F90BN,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +192,17738941,192_17738941,Samsung F90BN,Samsung F90BN,,,,,,,,,,"High-spec model that captures the 360° world in spectacular beauty. Beauty as far as the eye can see, and a breathtaking sense of presence making you feel you are ""right there, right now"". From still images to long movies (max. 25 minutes long), record your memories in a vivid, high resolution 360° world. The new RICOH THETA S gives you even higher quality and performance. RICOH THETA S enables 25 minutes continuous shooting with 30fps.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +193,32124735,193_32124735,Sony FDR-AX40,Sony FDR-AX40,,,,,,,,,,"Friendly features for fascinating movies The top-flight 4K Handycam® makes movies more magical. Balanced Optical SteadyShot™ and Fast Intelligent AF are reassuringly responsive. Surround sound recording enhances natural dimension. High-speed recording, Time-lapse Capture and other effects make movies more expressive. So many of the camcorder’s sophisticated functions are all so user-friendly. Superior image stabilisation lets you shoot steadily throughout the zoom range even as you walk. New mic structure captures sound from five directions with approximately 40% less noise for realistic ambience.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +194,25904145,194_25904145,Sony FDR-AXP33,Sony FDR-AXP33,,,,,,,,,,"Friendly features for fascinating movies The top-flight 4K Handycam® makes movies more magical. Balanced Optical SteadyShot™ and Fast Intelligent AF are reassuringly responsive. Surround sound recording enhances natural dimension. High-speed recording, Time-lapse Capture and other effects make movies more expressive. So many of the camcorder’s sophisticated functions are all so user-friendly. Superior image stabilisation lets you shoot steadily throughout the zoom range even as you walk. New mic structure captures sound from five directions with approximately 40% less noise for realistic ambience.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +195,25904159,195_25904159,Sony FDR-AXP33,Sony FDR-AXP33,,,,,,,,,,"Friendly features for fascinating movies The top-flight 4K Handycam® makes movies more magical. Balanced Optical SteadyShot™ and Fast Intelligent AF are reassuringly responsive. Surround sound recording enhances natural dimension. High-speed recording, Time-lapse Capture and other effects make movies more expressive. So many of the camcorder’s sophisticated functions are all so user-friendly. Superior image stabilisation lets you shoot steadily throughout the zoom range even as you walk. New mic structure captures sound from five directions with approximately 40% less noise for realistic ambience.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +196,23120327,196_23120327,Sony HDR-AS20,Sony HDR-AS20,,,,,,,,,,"Ideal for extreme sports and outdoor enthusiasts Exmor R™ CMOS sensor with enhanced sensitivity always gets the shot: Mountain-biking downhill at breakneck speed…at dusk? Kayaking at dawn? Your footage is still going to look great; thanks to the low-light sensitivity with improved image clarity and drastically reduced grain provided by Sony’s Exmor R™ CMOS sensor. Control up to five cameras with optional Live View Remote: Using the optional RM-LVR1 Live View Remote accessory you can control up to five cameras via Wi-Fi right from your wrist. Frame your shots, control the cameras’ recording settings, and start/stop recording to get impressive footage from five sources simultaneously. 4-video editing with Video Merge: Video Merge lets you combine up to four movie footage segments (even slow-motion parts) captured simultaneously by different cameras, and make a split-screen composite. With this unique feature anyone can create impressive movies without mastering complex editing software. (Available at PlayMemories Home: ver. 3.1.10 or later for Windows, and 1.1.10 or later for Mac.).","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +197,21421718,197_21421718,Sony HDR-AS20,Sony HDR-AS20,,,,,,,,,,"Ideal for extreme sports and outdoor enthusiasts Exmor R™ CMOS sensor with enhanced sensitivity always gets the shot: Mountain-biking downhill at breakneck speed…at dusk? Kayaking at dawn? Your footage is still going to look great; thanks to the low-light sensitivity with improved image clarity and drastically reduced grain provided by Sony’s Exmor R™ CMOS sensor. Control up to five cameras with optional Live View Remote: Using the optional RM-LVR1 Live View Remote accessory you can control up to five cameras via Wi-Fi right from your wrist. Frame your shots, control the cameras’ recording settings, and start/stop recording to get impressive footage from five sources simultaneously. 4-video editing with Video Merge: Video Merge lets you combine up to four movie footage segments (even slow-motion parts) captured simultaneously by different cameras, and make a split-screen composite. With this unique feature anyone can create impressive movies without mastering complex editing software. (Available at PlayMemories Home: ver. 3.1.10 or later for Windows, and 1.1.10 or later for Mac.).","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +198,19692589,198_19692589,Sony HDR-MV1,Sony HDR-MV1,,,,,,,,,,"Keep and treasure great performances HDR-MV1 lets you capture those magical musical moments in Full HD and better than CD-quality sound. Features such as a wide-angle Carl Zeiss lens, a sensitive Exmor R™ CMOS sensor and X-Y directional microphone system ensure great pictures and crisp, clear surround sound. Capture every detail of a musical performance in crisp, clear stereo sound. Record in Linear PCM format with no compression, and you'll enjoy sound quality that's better than CD. Or record in web-friendly AAC format – great for speedy Internet uploads. Whether in a music studio, rehearsal room or on stage, the HDR-MV1Music video recorder lets you capture every detail of the action in Full HD. And with audio lip sync your sound is always precisely matched to the video playback, with no irritating lag.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +199,7016823,199_7016823,Sony HXR-MC2500,Sony HXR-MC2500,flash_memory,16 GB,,,,,,,//icecat.de/en/p/sony/hxr-mc2000e/camcorders-HXR-MC2000E-7016823.html,"Keep and treasure great performances HDR-MV1 lets you capture those magical musical moments in Full HD and better than CD-quality sound. Features such as a wide-angle Carl Zeiss lens, a sensitive Exmor R™ CMOS sensor and X-Y directional microphone system ensure great pictures and crisp, clear surround sound. Capture every detail of a musical performance in crisp, clear stereo sound. Record in Linear PCM format with no compression, and you'll enjoy sound quality that's better than CD. Or record in web-friendly AAC format – great for speedy Internet uploads. Whether in a music studio, rehearsal room or on stage, the HDR-MV1Music video recorder lets you capture every detail of the action in Full HD. And with audio lip sync your sound is always precisely matched to the video playback, with no irritating lag.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +199,24788780,199_24788780,Sony HXR-MC2500,Sony HXR-MC2500,flash_memory,32 GB,,,,,,,,"Keep and treasure great performances HDR-MV1 lets you capture those magical musical moments in Full HD and better than CD-quality sound. Features such as a wide-angle Carl Zeiss lens, a sensitive Exmor R™ CMOS sensor and X-Y directional microphone system ensure great pictures and crisp, clear surround sound. Capture every detail of a musical performance in crisp, clear stereo sound. Record in Linear PCM format with no compression, and you'll enjoy sound quality that's better than CD. Or record in web-friendly AAC format – great for speedy Internet uploads. Whether in a music studio, rehearsal room or on stage, the HDR-MV1Music video recorder lets you capture every detail of the action in Full HD. And with audio lip sync your sound is always precisely matched to the video playback, with no irritating lag.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +200,5787536,200_5787536,Sony HXR-MC50E,Sony HXR-MC50E,,,,,,,,,,"Exceptional Optical Technologies With the HXR-MC50E you’ll see the difference in every shot, especially in those all important situations where lighting cannot be controlled. The HXR-MC50E is equipped with Optical SteadyShot Active Mode anti-shake technology which means you can capture steady, smooth, high-quality content with your camcorder, even when moving or zooming in or out. This product comes with the full PrimeSupport package. That’s fast, hassle-free repairs, a helpline offering expert technical advice, and a free loan unit while yours is repaired. Plus the peace of mind that Sony is looking after your equipment – and your business. ","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +201,11217755,201_11217755,Sony NEX-VG20EH,Sony NEX-VG20EH,total_megapixels,16.1 MP,,,,,,,,"Unlimited creative expression Shoot cinematic Full HD video with the pro-style creative flexibility of interchangeable lenses. Capture exquisite video and still photos with superb detail and shallow depth of field - just like a DSLR camera - plus high-quality stereo/5.1ch sound. Achieve that rich, cinematic look for your HD videos with sumptuous image quality, even in low light. Create stunning background defocus ('bokeh') effects - just like the expressive picture quality of a DSLR camera. Capture pristine dialogue and other sounds in stereo or 5.1 channel surround with the precision Quad Capsule Spatial Array Microphone. A handy level control plus jacks for an external mic and headphones add that extra professional touch.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +202,5782479,202_5782479,Sony NEX-VG20EH,Sony NEX-VG20EH,total_megapixels,14.6 MP,,,,,,,,"Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second. Add some power to your shots: Add an E-mount lens with a power zoom and smoothly focus in on your subject with up to 11x magnification. Capture it all in HD: Capture all the detail with Full HD 1920 x 1080 video shooting (AVCHD format) at 24mbs for increased detail and clarity. DSLR quality photos: Shoot stills with DSLR-like picture quality and shallow depth of field for professional looking shots.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +203,15619960,203_15619960,Sony NEX-VG30E,Sony NEX-VG30E,,,,,,,,,,"Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second. Add some power to your shots: Add an E-mount lens with a power zoom and smoothly focus in on your subject with up to 11x magnification. Capture it all in HD: Capture all the detail with Full HD 1920 x 1080 video shooting (AVCHD format) at 24mbs for increased detail and clarity. DSLR quality photos: Shoot stills with DSLR-like picture quality and shallow depth of field for professional looking shots.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +204,29851280,204_29851280,Sony PXW-FS5K,Sony PXW-FS5K,,,,,,,,,,"Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second. Add some power to your shots: Add an E-mount lens with a power zoom and smoothly focus in on your subject with up to 11x magnification. Capture it all in HD: Capture all the detail with Full HD 1920 x 1080 video shooting (AVCHD format) at 24mbs for increased detail and clarity. DSLR quality photos: Shoot stills with DSLR-like picture quality and shallow depth of field for professional looking shots.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +205,6350138,205_6350138,Toshiba CAMILEO S30,Toshiba Camileo S30,,,,,,,,,,"Reach out Reach out with your 10x digital zoom and control recordings on the large 3-inch touchscreen LCD monitor. Create multi-scene video files thanks to the new Pause feature button! Save the best moments of your life with your CAMILEO S30 camcorder. Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +206,6429825,206_6429825,Toshiba CAMILEO S30,Toshiba Camileo S30,,,,,,,,,,"Reach out Reach out with your 10x digital zoom and control recordings on the large 3-inch touchscreen LCD monitor. Create multi-scene video files thanks to the new Pause feature button! Save the best moments of your life with your CAMILEO S30 camcorder. Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +207,15721464,207_15721464,Toshiba CAMILEO P20,Toshiba CAMILEO P20,,,,,,,,,,"Experience it The Toshiba Full HD Camileo S40 is eye catching in more ways than one. Its attractive, super-slim design allows you to take it everywhere, so you can capture everything that pleases you. Featuring a choice of colour accents, it also doubles as an elegant 16 megapixel digital still camera. Just pull it out of your pocket, and shoot stunning 1920x1080p Full HD video with up to 5x digital zoom. 10x digital zoom is available for HD and VGA resolution. Electronic Image Stabilisation (EIS) is built in for great results -- and sharing to social networks is a breeze thanks to Camileo Uploader software.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +208,14678762,208_14678762,Toshiba CAMILEO P20,Toshiba CAMILEO P20,,,,,,,,,,"Experience it The Toshiba Full HD Camileo S40 is eye catching in more ways than one. Its attractive, super-slim design allows you to take it everywhere, so you can capture everything that pleases you. Featuring a choice of colour accents, it also doubles as an elegant 16 megapixel digital still camera. Just pull it out of your pocket, and shoot stunning 1920x1080p Full HD video with up to 5x digital zoom. 10x digital zoom is available for HD and VGA resolution. Electronic Image Stabilisation (EIS) is built in for great results -- and sharing to social networks is a breeze thanks to Camileo Uploader software.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +209,12554247,209_12554247,Toshiba CAMILEO S20,Toshiba CAMILEO S20,,,,,,,,,,"Capture. Edit. Share. Previewing, watching and sharing your videos don't get any easier. The S30 is equipped with a large 3"" swiveling LCD with touch for convenient access to menus. Share your memories with your family and friends by uploading to YouTube, Facebook, TwitVid, and Picasa with the one-touch Internet upload button, or watch them directly on your TV with the included HDMI® cable. The CAMILEO® S30 sports 1920x1080p Full HD Video, 16x digital zoom, and video stabilization. The S30 also doubles as an 8 Megapixel digital still camera. The S30 has multiple recording modes: macro for close-up shots, motion detection for surveillance, slow motion for sports, time lapse for condensing extended footage, and pre-record so you won't miss those special moments.","Bilder in einer neuen Form erleben und genießen. Fangen Sie Ihren ganz eigenen Eindruck der Umgebung mit einem Tastendruck ein - und zwar einmal rundum 360°. Mit der neuen RICOH THETA S nehmen Sie Fotos und Videos auf und teilen diese per Internet mit der ganzen Welt. Dabei benötigen Sie keinen Computer mehr, um Videodateien zu erstellen. Mit der RICOH THETA S geschieht das direkt mit dem Smartphone oder dem Tablet. Die RICOH THETA S nimmt Bilder oder Videos bis zu 25 Minuten in Full-HD mit 30 B/Sek. im Vollsphärenformat auf. Diese 360° Rundumbilder und Videos können von der RICOH THETA S auf ein Smartphone übertragen und dann ganz einfach in den sozialen Netzwerken geteilt werden oder lokal gespeichert werden. Die neue RICOH THETA S ist mit einem neuen Prozessor ausgestattet, der die Rechenleistung deutlich verbessert. In Verbindung mit dem viermal schnelleren WiFi-Modul sind jetzt Videoaufnahmen bis 25 Minuten möglich, die direkt mit dem Smartphone oder einem Tablet in ein universelles Videoformat konvertiert werden. Gleichzeitig ist der Sensor verbessert, der jetzt mit 14 Megapixel aufzeichnet. Das notwendige Licht wird bei der neuen RICOH THETA S durch das lichtstarke F 2,0 Objektiv geliefert.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +210,123,210_123,Sony Bundle,Sony Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,Sony,//icecat.de/en/p/sony/hdras20b/action-sports-cameras-HDR-AS20-23120327.html,"This is a unique product bundle featuring various Sony products. Items in this bundle are 1 x Sony HDR-AS20, 1 x Sony SmartWatch 3, and 1 x Sony Xperia Z3 Compact.","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Sony beinhaltet. Diese sind 1 x Sony HDR-AS20, 1 x Sony SmartWatch 3,sowie 1 x Sony Xperia Z3 Compact.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","196_23120327/1, 090_24495844/1, 076_24394207/1", +211,123,211_123,HP Bundle,HP Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,HP,//icecat.de/en/p/hp/n1a81ea/notebooks-11+G4-29554292.html,"This is a unique product bundle featuring various HP products. Items in this bundle are 1 x HP Chromebook 11, 1 x HP Z 620, and 1 x HP 200 280 G1.","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von HP beinhaltet. Diese sind 1 x HP Chromebook 11, 1 x HP Z 620,sowie 1 x HP 200 280 G1.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","150_29554292/1, 127_22828284/1, 121_29406823/1", +212,123,212_123,ASUS Bundle,ASUS Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,ASUS,//uk.icecat.biz/en/p/asus/90hc0021-m00h10/sport-watches-ASUS-VivoWatch-27207215.html,"This is a unique product bundle featuring various Asus products. Items in this bundle are 2 x ASUS VivoWatch, and 1 x ASUS M.","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Asus beinhaltet. Diese sind 2 x ASUS VivoWatch, sowie 1 x ASUS M.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","099_27207215/2, 114_29911081/1", +213,123,213_123,Lenovo Bundle,Lenovo Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,Lenovo,//icecat.de/en/p/lenovo/30ah0047ge/pcs-workstations-P300-24725761.html,This is a unique product bundle featuring various Lenovo products. Items in this bundle are 3 x Lenovo ThinkStation P300.,"Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Lenovo beinhaltet. Diese sind 3 x Lenovo ThinkStation P300.",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",130_24725761/3, +214,123,214_123,Samsung Bundle,Samsung Bündel,,,bundled_product,Yes,bundled_product,Ja,brand,Samsung,//icecat.de/en/p/samsung/sm-t550nzkaphn/tablets-SM-T550N-26935356.html,"This is a unique product bundle featuring various Samsung products. Items in this bundle are 2 x Samsung Galaxy Tab A SM-T550N 32 GB, 3 x Samsung Galaxy Gear, and 1 x Samsung Galaxy S5 mini","Dies ist ein einzigartiges Produktbündel, welches verschiedene Produkte von Samsung beinhaltet. Diese sind 2 x Samsung Galaxy Tab A SM-T550N 32 GB, 3 x Samsung Galaxy Gear,sowie 1 x Sony Xperia Z3 Compact",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.","175_26935356/2, 110_19682159/3, 067_24241408/1", +215,,215_123,ASUS HDMI-HDMI Black,ASUS HDMI-HDMI Schwarz,color,black,,,,,brand,ASUS,//de.icecat.biz/p/asus/90xb00p0-bca010/hdmi-kabel-4716659427889-ASUS-HDMI-HDMI-3m-3m-HDMI-HDMI-Schwarz-HDMI-Kabel-20757150.html,HDMI to HDMI High Speed Cable,Hochgeschwindigkeits HDMI zu HDMI Kabel,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +215,,215_124,ASUS HDMI-HDMI Red,ASUS HDMI-HDMI Rot,color,red,,,,,brand,ASUS,//de.icecat.biz/p/asus/90xb00p0-bca010/hdmi-kabel-4716659427889-ASUS-HDMI-HDMI-3m-3m-HDMI-HDMI-Schwarz-HDMI-Kabel-20757150.html,HDMI to HDMI High Speed Cable,Hochgeschwindigkeits HDMI zu HDMI Kabel,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +216,,216_123,Neklan 500m Cat6 UTP Cable (DRUM),Neklan 500m Cat6 UTP Kabel (Trommel),,,,,,,brand,Neklan,//de.icecat.biz/prefere/de/p/neklan/3010099/networking-cables-Neklan-500m-Cat6-UTP-500m-Cat6-U-UTP-UTP-Grey-networking-cable-9509292.html,"Neklan 500m Cat6 UTP. Cable length: 500 m, Cable standard: Cat6, Cable shielding: U/UTP (UTP), Cable colour: Grey","Neklan 500m Cat6 UTP. Kabellänge: 500 m, Kabelstandard: Cat6, Kabelschirmung: U/UTP (UTP), Kabelfarbe: Grau",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +217,,217_123,APC Cable parallel printer bi-directional (Ring),APC Kabel parallel printer bi-directional (Ring),,,,,,,brand,Neklan,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +217,,217_1231,APC Cable parallel printer bi-directional (Ring 500m),,packaging_unit,Ring (500m),,,,,brand,Neklan,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +218,,218_123,Chocolate Bar,Schokoladentafel,,,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Box of Chocolat Frey Splendor. Contents: From 3 until 5 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Chocolat Frey Splendor. Inhalt: 100 g, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",, +218,,218_1230,Chocolate Bar (Box 100g) ,Schokoladentafel (Box 500g),packaging_unit,Item,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Box of Chocolat Frey Splendor. Contents: From 3 until 5 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Box mit Chocolat Frey Splendor. Inhalt: Von 3 bis zu 5 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 +218,,218_1231,Chocolate Bar (Box 500g),Schokoladentafel (Box 500g),packaging_unit,Box,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Box of Chocolat Frey Splendor. Contents: From 3 until 5 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Box mit Chocolat Frey Splendor. Inhalt: Von 3 bis zu 5 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 +218,,218_1232,Chocolate Bar (Palette),Schokoladentafel (Palette),packaging_unit,Palette,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Palette of Chocolat Frey Splendor. Contents: 5000 - 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Palette mit Chocolat Frey Splendor. Inhalt: 5000 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 +218,,218_1233,Chocolate Bar (Giftbox),Schokoladentafel (Geschenkbox),packaging_unit,Giftbox,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Giftbox of Chocolat Frey Splendor. Contents: 5x100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Geschenkebox mit Chocolat Frey Splendor. Inhalt: 5 x 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 +218,,218_1234,Chocolate Bar (Valentine's special) ,Schokoladentafel (Valentinstag spezial),packaging_unit,Valentine's special,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Valentine's special with Chocolat Frey Splendor. Contents: 10x100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Valentinstag spezial mit Überraschungsschokolade Inhalt: 10 x 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 +219,,219_01,Coca Cola 1.5L,Coca Cola 1.5L,,,,,,,,,//de.icecat.biz/p/coca-cola/5449000051981/sprudelwasser-soda-5449000051981-Coca-Cola-Coca-Cola-1-5L-1500ml-33303896.html,"Coca-Cola Coca Cola 1.5L. Contents: 1500 ml, Softdrink Flavour: Cola, Packaging type: Plastic bottle. Energy (per 100 ml): 42 kcal, Energy (pro 100 ml): 180 kJ, Sugar (per 100 ml): 10,6 g","Coca-Cola Coca Cola 1.5L. Inhalt: 1500 ml, Softdrink Geschmack: Cola, Verpackungsart: Plastikflasche. Brennwert (pro 100 ml): 42 kcal, Brennwert (pro 100 ml): 180 kJ, Zuckergehalt (pro 100 ml): 10,6 g",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",0,0 \ No newline at end of file diff --git a/data/import/icecat_biz_data/product_image.csv b/data/import/icecat_biz_data/product_image.csv index 95c6a3f891..eb944d178b 100644 --- a/data/import/icecat_biz_data/product_image.csv +++ b/data/import/icecat_biz_data/product_image.csv @@ -1019,3 +1019,5 @@ default,//images.icecat.biz/img/norm/high/24725761-8168.jpg,//images.icecat.biz/ default,//images.icecat.biz/img/norm/high/24725761-8168.jpg,//images.icecat.biz/img/norm/medium/24725761-8168.jpg,en_US,,213_123 default,//images.icecat.biz/img/norm/high/26935356-6244.jpg,//images.icecat.biz/img/norm/medium/26935356-6244.jpg,de_DE,,214_123 default,//images.icecat.biz/img/norm/high/26935356-6244.jpg,//images.icecat.biz/img/norm/medium/26935356-6244.jpg,en_US,,214_123 +default,//images.icecat.biz/img/norm/high/25904006-8438.jpg,//images.icecat.biz/img/norm/medium/25904006-8438.jpg,de_DE,,219_01 +default,//images.icecat.biz/img/norm/high/25904006-8438.jpg,//images.icecat.biz/img/norm/medium/25904006-8438.jpg,en_US,,219_01 \ No newline at end of file diff --git a/data/import/navigation_node.csv b/data/import/navigation_node.csv index da7e04190f..e929a6b65f 100644 --- a/data/import/navigation_node.csv +++ b/data/import/navigation_node.csv @@ -41,4 +41,4 @@ SHIPMENT_PROVIDERS,node_key_35,,label,Rocket,,rocket,Rocket,,rocket,, SOCIAL_LINKS,node_key_36,,external_url,Twitter,https://twitter.com/sprysys?lang=de,twitter,Twitter,https://twitter.com/sprysys?lang=de,twitter,, SOCIAL_LINKS,node_key_37,,external_url,Xing,https://www.xing.com/companies/sprykersystemsgmbh,xing,Xing,https://www.xing.com/companies/sprykersystemsgmbh,xing,, SOCIAL_LINKS,node_key_38,,external_url,LinkedIn,https://www.linkedin.com/company/spryker-systems-gmbh,linkedin,LinkedIn,https://www.linkedin.com/company/spryker-systems-gmbh,linkedin,, -SOCIAL_LINKS,node_key_39,,external_url,YouTube,https://www.youtube.com/channel/UC6lVOEbqXxUh0W5FMTvlPDQ,youtube,YouTube,https://www.youtube.com,youtube,, +SOCIAL_LINKS,node_key_39,,external_url,YouTube,https://www.youtube.com,youtube,YouTube,https://www.youtube.com,youtube,, diff --git a/data/import/product_price.csv b/data/import/product_price.csv index d3b3e5509d..e7400efde3 100644 --- a/data/import/product_price.csv +++ b/data/import/product_price.csv @@ -1428,11 +1428,26 @@ abstract_sku,concrete_sku,price_type,store,currency,value_net,value_gross 216,,DEFAULT,AT,EUR,2500,2750 216,,ORIGINAL,AT,CHF,3000,3500 216,,DEFAULT,AT,CHF,3500,3750 -217,,ORIGINAL,DE,EUR,3000,3250 -217,,DEFAULT,DE,EUR,3500,3750 -217,,ORIGINAL,DE,CHF,4000,4500 -217,,DEFAULT,DE,CHF,4500,4750 -217,,ORIGINAL,AT,EUR,3000,3250 -217,,DEFAULT,AT,EUR,3500,3750 -217,,ORIGINAL,AT,CHF,4000,4500 -217,,DEFAULT,AT,CHF,4500,4750 \ No newline at end of file +217,,DEFAULT,DE,EUR,3000,3250 +217,,ORIGINAL,DE,EUR,3500,3750 +217,,DEFAULT,DE,CHF,4000,4500 +217,,ORIGINAL,DE,CHF,4500,4750 +217,,DEFAULT,AT,EUR,3000,3250 +217,,ORIGINAL,AT,EUR,3500,3750 +217,,DEFAULT,AT,CHF,4000,4500 +217,,ORIGINAL,AT,CHF,4500,4750 +218,,DEFAULT,DE,EUR,3000,3250 +218,,ORIGINAL,DE,EUR,3500,3750 +218,,DEFAULT,DE,CHF,4000,4500 +218,,ORIGINAL,DE,CHF,4500,4750 +218,,DEFAULT,AT,EUR,3000,3250 +218,,ORIGINAL,AT,EUR,3500,3750 +218,,DEFAULT,AT,CHF,4000,4500 +218,,ORIGINAL,AT,CHF,4500,4750 +219,,DEFAULT,DE,EUR,150,162 +219,,ORIGINAL,DE,EUR,175,185 +219,,DEFAULT,DE,CHF,200,225 +219,,DEFAULT,AT,EUR,150,175 +219,,ORIGINAL,AT,EUR,175,185 +219,,DEFAULT,AT,CHF,200,225 +219,,ORIGINAL,AT,CHF,225,235 \ No newline at end of file diff --git a/data/import/product_stock.csv b/data/import/product_stock.csv index d6706e197e..86c0b3d408 100644 --- a/data/import/product_stock.csv +++ b/data/import/product_stock.csv @@ -299,9 +299,12 @@ concrete_sku,name,quantity,is_never_out_of_stock,is_bundle 215_124,Warehouse1,0,1,0 216_123,Warehouse1,0,1,0 217_123,Warehouse1,0,1,0 -217_1231,Warehouse 1,0,1,0 -218_123,Warehouse 1,0,1,0 -218_1231,Warehouse 1,100,0,0 -218_1232,Warehouse 1,0,1,0 -218_1233,Warehouse 1,0,1,0 -218_1234,Warehouse 1,10,0,0 \ No newline at end of file +217_1231,Warehouse1,0,1,0 +218_123,Warehouse1,0,1,0 +218_1230,Warehouse1,100,1,0 +218_1230,Warehouse2,100,1,0 +218_1231,Warehouse1,100,0,0 +218_1232,Warehouse1,0,1,0 +218_1233,Warehouse1,0,1,0 +218_1234,Warehouse1,10,0,0 +219_01,Warehouse1,100,1,0 \ No newline at end of file diff --git a/src/Orm/Zed/PriceProduct/Persistence/SpyPriceProductDefault.php b/src/Orm/Zed/PriceProduct/Persistence/SpyPriceProductDefault.php new file mode 100644 index 0000000000..db51dbcc42 --- /dev/null +++ b/src/Orm/Zed/PriceProduct/Persistence/SpyPriceProductDefault.php @@ -0,0 +1,24 @@ +getLocator()->propel()->facade()->getConsoleCommands(); @@ -250,6 +263,9 @@ protected function getConsoleCommands(Container $container) $commands[] = new DataBuilderGeneratorConsole(); $commands[] = new PropelSchemaValidatorConsole(); $commands[] = new DataImportDumpConsole(); + $commands[] = new GenerateGlueIdeAutoCompletionConsole(); + $commands[] = new PropelAbstractValidateConsole(); + $commands[] = new PluginUsageFinderConsole(); } return $commands; diff --git a/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php b/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php index 34b6819580..b0011dbdb6 100644 --- a/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php +++ b/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php @@ -49,7 +49,6 @@ use Pyz\Zed\DataImport\Business\Model\ProductManagementAttribute\ProductManagementLocalizedAttributesExtractorStep; use Pyz\Zed\DataImport\Business\Model\ProductOption\ProductOptionWriterStep; use Pyz\Zed\DataImport\Business\Model\ProductOptionPrice\ProductOptionPriceWriterStep; -use Pyz\Zed\DataImport\Business\Model\ProductPrice\ProductPriceWriterStep; use Pyz\Zed\DataImport\Business\Model\ProductRelation\Hook\ProductRelationAfterImportHook; use Pyz\Zed\DataImport\Business\Model\ProductRelation\ProductRelationWriter; use Pyz\Zed\DataImport\Business\Model\ProductReview\ProductReviewWriterStep; @@ -81,10 +80,11 @@ class DataImportBusinessFactory extends SprykerDataImportBusinessFactory { /** - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterCollectionInterface */ public function getImporter() { + /** @var \Spryker\Zed\DataImport\Business\Model\DataImporterPluginCollectionInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterCollectionInterface $dataImporterCollection */ $dataImporterCollection = $this->createDataImporterCollection(); $dataImporterCollection ->addDataImporter($this->createStoreImporter()) @@ -110,7 +110,6 @@ public function getImporter() ->addDataImporter($this->createProductOptionImporter()) ->addDataImporter($this->createProductOptionPriceImporter()) ->addDataImporter($this->createProductGroupImporter()) - ->addDataImporter($this->createProductPriceImporter()) ->addDataImporter($this->createProductRelationImporter()) ->addDataImporter($this->createProductReviewImporter()) ->addDataImporter($this->createProductLabelImporter()) @@ -167,6 +166,7 @@ protected function createOrderSourceImporter() */ protected function createStoreImporter() { + /** @var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterInterface $dataImporter */ $dataImporter = $this->createDataImporter( $this->getConfig()->getStoreDataImporterConfiguration()->getImportType(), new StoreReader( @@ -434,22 +434,6 @@ protected function createDiscountConfig() return new DiscountConfig(); } - /** - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface - */ - protected function createProductPriceImporter() - { - $dataImporter = $this->getCsvDataImporterFromConfig($this->getConfig()->getProductPriceDataImporterConfiguration()); - - $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker(ProductPriceWriterStep::BULK_SIZE); - $dataSetStepBroker - ->addStep(new ProductPriceWriterStep($this->createProductRepository())); - - $dataImporter->addDataSetStepBroker($dataSetStepBroker); - - return $dataImporter; - } - /** * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface */ diff --git a/src/Pyz/Zed/DataImport/Business/Model/CategoryTemplate/CategoryTemplateWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CategoryTemplate/CategoryTemplateWriterStep.php index cb14d22f2c..a958c22d4f 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CategoryTemplate/CategoryTemplateWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CategoryTemplate/CategoryTemplateWriterStep.php @@ -13,8 +13,8 @@ class CategoryTemplateWriterStep implements DataImportStepInterface { - const KEY_NAME = 'template_name'; - const KEY_PATH = 'template_path'; + public const KEY_NAME = 'template_name'; + public const KEY_PATH = 'template_path'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/Category/Repository/CategoryRepository.php b/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/Category/Repository/CategoryRepository.php index c21f198131..796226c541 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/Category/Repository/CategoryRepository.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/Category/Repository/CategoryRepository.php @@ -13,10 +13,10 @@ class CategoryRepository implements CategoryRepositoryInterface { - const ID_CATEGORY_NODE = 'id_category_node'; - const ID_LOCALE = 'idLocale'; - const URL = 'url'; - const ID_CATEGORY = 'id_category'; + public const ID_CATEGORY_NODE = 'id_category_node'; + public const ID_LOCALE = 'idLocale'; + public const URL = 'url'; + public const ID_CATEGORY = 'id_category'; /** * @var \ArrayObject diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php index 2894c52311..d8170d5e3d 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php @@ -33,18 +33,18 @@ */ class CmsBlockWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - - const KEY_BLOCK_NAME = 'block_name'; - const KEY_BLOCK_TYPE = 'type'; - const KEY_BLOCK_VALUE = 'value'; - const KEY_TEMPLATE_NAME = 'template_name'; - const KEY_TEMPLATE_PATH = 'template_path'; - const KEY_CATEGORIES = 'categories'; - const KEY_PRODUCTS = 'products'; - const KEY_ACTIVE = 'active'; - const KEY_PLACEHOLDER_TITLE = 'placeholder.title'; - const KEY_PLACEHOLDER_DESCRIPTION = 'placeholder.description'; + public const BULK_SIZE = 100; + + public const KEY_BLOCK_NAME = 'block_name'; + public const KEY_BLOCK_TYPE = 'type'; + public const KEY_BLOCK_VALUE = 'value'; + public const KEY_TEMPLATE_NAME = 'template_name'; + public const KEY_TEMPLATE_PATH = 'template_path'; + public const KEY_CATEGORIES = 'categories'; + public const KEY_PRODUCTS = 'products'; + public const KEY_ACTIVE = 'active'; + public const KEY_PLACEHOLDER_TITLE = 'placeholder.title'; + public const KEY_PLACEHOLDER_DESCRIPTION = 'placeholder.description'; /** * @var \Pyz\Zed\DataImport\Business\Model\CmsBlock\Category\Repository\CategoryRepositoryInterface diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategory/CmsBlockCategoryWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategory/CmsBlockCategoryWriterStep.php index 7b882df9d8..3c1d5317be 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategory/CmsBlockCategoryWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategory/CmsBlockCategoryWriterStep.php @@ -20,10 +20,10 @@ class CmsBlockCategoryWriterStep extends PublishAwareStep implements DataImportStepInterface { - const KEY_BLOCK_NAME = 'block_name'; - const KEY_CATEGORY_KEY = 'category_key'; - const KEY_CATEGORY_TEMPLATE_NAME = 'template_name'; - const KEY_CMS_BLOCK_CATEGORY_POSITION_NAME = 'cms_block_category_position_name'; + public const KEY_BLOCK_NAME = 'block_name'; + public const KEY_CATEGORY_KEY = 'category_key'; + public const KEY_CATEGORY_TEMPLATE_NAME = 'template_name'; + public const KEY_CMS_BLOCK_CATEGORY_POSITION_NAME = 'cms_block_category_position_name'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategoryPosition/CmsBlockCategoryPositionWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategoryPosition/CmsBlockCategoryPositionWriterStep.php index 350e3143f1..f61e3cf3c8 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategoryPosition/CmsBlockCategoryPositionWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategoryPosition/CmsBlockCategoryPositionWriterStep.php @@ -13,7 +13,7 @@ class CmsBlockCategoryPositionWriterStep implements DataImportStepInterface { - const KEY_POSITION_NAME = 'cms_block_category_position_name'; + public const KEY_POSITION_NAME = 'cms_block_category_position_name'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsBlockStore/CmsBlockStoreWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsBlockStore/CmsBlockStoreWriterStep.php index 63c8b2a874..2276a0e949 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsBlockStore/CmsBlockStoreWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsBlockStore/CmsBlockStoreWriterStep.php @@ -15,9 +15,9 @@ class CmsBlockStoreWriterStep implements DataImportStepInterface { - const BULK_SIZE = 100; - const KEY_BLOCK_NAME = 'block_name'; - const KEY_STORE_NAME = 'store_name'; + public const BULK_SIZE = 100; + public const KEY_BLOCK_NAME = 'block_name'; + public const KEY_STORE_NAME = 'store_name'; /** * @var int[] Keys are CMS Block names, values are CMS Block IDs. diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsPage/CmsPageWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsPage/CmsPageWriterStep.php index bf5b7b3e01..054fe291db 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsPage/CmsPageWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsPage/CmsPageWriterStep.php @@ -38,21 +38,21 @@ */ class CmsPageWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - - const KEY_TEMPLATE_NAME = 'template_name'; - const KEY_PAGE_KEY = 'page_key'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_IS_SEARCHABLE = 'is_searchable'; - const KEY_NAME = 'name'; - const KEY_META_TITLE = 'meta_title'; - const KEY_META_DESCRIPTION = 'meta_description'; - const KEY_META_KEYWORDS = 'meta_keywords'; - const KEY_URL = 'url'; - const KEY_PUBLISH = 'publish'; - - const KEY_PLACEHOLDER_TITLE = 'placeholder.title'; - const KEY_PLACEHOLDER_CONTENT = 'placeholder.content'; + public const BULK_SIZE = 100; + + public const KEY_TEMPLATE_NAME = 'template_name'; + public const KEY_PAGE_KEY = 'page_key'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_IS_SEARCHABLE = 'is_searchable'; + public const KEY_NAME = 'name'; + public const KEY_META_TITLE = 'meta_title'; + public const KEY_META_DESCRIPTION = 'meta_description'; + public const KEY_META_KEYWORDS = 'meta_keywords'; + public const KEY_URL = 'url'; + public const KEY_PUBLISH = 'publish'; + + public const KEY_PLACEHOLDER_TITLE = 'placeholder.title'; + public const KEY_PLACEHOLDER_CONTENT = 'placeholder.content'; /** * @var \Spryker\Zed\Cms\Business\Version\Mapper\VersionDataMapperInterface diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsPage/PlaceholderExtractorStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsPage/PlaceholderExtractorStep.php index 11651d17cd..ec1a620f37 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsPage/PlaceholderExtractorStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsPage/PlaceholderExtractorStep.php @@ -13,7 +13,7 @@ class PlaceholderExtractorStep implements DataImportStepInterface { - const KEY_PLACEHOLDER = 'placeholder'; + public const KEY_PLACEHOLDER = 'placeholder'; /** * @var array diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsTemplate/CmsTemplateWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsTemplate/CmsTemplateWriterStep.php index eee1b5c42f..9143d02603 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsTemplate/CmsTemplateWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsTemplate/CmsTemplateWriterStep.php @@ -13,8 +13,8 @@ class CmsTemplateWriterStep implements DataImportStepInterface { - const KEY_TEMPLATE_NAME = 'template_name'; - const KEY_TEMPLATE_PATH = 'template_path'; + public const KEY_TEMPLATE_NAME = 'template_name'; + public const KEY_TEMPLATE_PATH = 'template_path'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/Currency/CurrencyWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Currency/CurrencyWriterStep.php index a43b9de09a..a9e7456c46 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Currency/CurrencyWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Currency/CurrencyWriterStep.php @@ -13,9 +13,9 @@ class CurrencyWriterStep implements DataImportStepInterface { - const KEY_ISO_CODE = 'iso_code'; - const KEY_CURRENCY_SYMBOL = 'currency_symbol'; - const KEY_NAME = 'name'; + public const KEY_ISO_CODE = 'iso_code'; + public const KEY_CURRENCY_SYMBOL = 'currency_symbol'; + public const KEY_NAME = 'name'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/Customer/CustomerWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Customer/CustomerWriterStep.php index c0288fea64..6425b2f36e 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Customer/CustomerWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Customer/CustomerWriterStep.php @@ -16,7 +16,7 @@ class CustomerWriterStep implements DataImportStepInterface { - const COL_CUSTOMER_REFERENCE = 'customer_reference'; + public const COL_CUSTOMER_REFERENCE = 'customer_reference'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/Discount/DiscountWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Discount/DiscountWriterStep.php index 12d28b25e5..7cd0883cb0 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Discount/DiscountWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Discount/DiscountWriterStep.php @@ -20,21 +20,21 @@ class DiscountWriterStep implements DataImportStepInterface { - const BULK_SIZE = 100; - const KEY_DISCOUNT_KEY = 'discount_key'; - const KEY_DISPLAY_NAME = 'display_name'; - const KEY_DESCRIPTION = 'description'; - const KEY_AMOUNT = 'amount'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_IS_EXCLUSIVE = 'is_exclusive'; - const KEY_VALID_FROM = 'valid_from'; - const KEY_VALID_TO = 'valid_to'; - const KEY_CALCULATOR_PLUGIN = 'calculator_plugin'; - const KEY_DISCOUNT_TYPE = 'discount_type'; - const KEY_DECISION_RULE_QUERY_STRING = 'decision_rule_query_string'; - const KEY_COLLECTOR_QUERY_STRING = 'collector_query_string'; - const KEY_PROMOTION_SKU = 'promotion_sku'; - const KEY_PROMOTION_QUANTITY = 'promotion_quantity'; + public const BULK_SIZE = 100; + public const KEY_DISCOUNT_KEY = 'discount_key'; + public const KEY_DISPLAY_NAME = 'display_name'; + public const KEY_DESCRIPTION = 'description'; + public const KEY_AMOUNT = 'amount'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_IS_EXCLUSIVE = 'is_exclusive'; + public const KEY_VALID_FROM = 'valid_from'; + public const KEY_VALID_TO = 'valid_to'; + public const KEY_CALCULATOR_PLUGIN = 'calculator_plugin'; + public const KEY_DISCOUNT_TYPE = 'discount_type'; + public const KEY_DECISION_RULE_QUERY_STRING = 'decision_rule_query_string'; + public const KEY_COLLECTOR_QUERY_STRING = 'collector_query_string'; + public const KEY_PROMOTION_SKU = 'promotion_sku'; + public const KEY_PROMOTION_QUANTITY = 'promotion_quantity'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/DiscountAmount/DiscountAmountWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/DiscountAmount/DiscountAmountWriterStep.php index 142b26e93c..7fd4d45d77 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/DiscountAmount/DiscountAmountWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/DiscountAmount/DiscountAmountWriterStep.php @@ -15,12 +15,12 @@ class DiscountAmountWriterStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_DISCOUNT_KEY = 'discount_key'; - const KEY_CURRENCY = 'currency'; - const KEY_VALUE_NET = 'value_net'; - const KEY_VALUE_GROSS = 'value_gross'; + public const KEY_DISCOUNT_KEY = 'discount_key'; + public const KEY_CURRENCY = 'currency'; + public const KEY_VALUE_NET = 'value_net'; + public const KEY_VALUE_GROSS = 'value_gross'; protected static $currencyCache = []; diff --git a/src/Pyz/Zed/DataImport/Business/Model/DiscountStore/DiscountStoreWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/DiscountStore/DiscountStoreWriterStep.php index 06085a7f0f..4cbe9db4e0 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/DiscountStore/DiscountStoreWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/DiscountStore/DiscountStoreWriterStep.php @@ -15,9 +15,9 @@ class DiscountStoreWriterStep implements DataImportStepInterface { - const BULK_SIZE = 100; - const KEY_DISCOUNT_KEY = 'discount_key'; - const KEY_STORE_NAME = 'store_name'; + public const BULK_SIZE = 100; + public const KEY_DISCOUNT_KEY = 'discount_key'; + public const KEY_STORE_NAME = 'store_name'; /** * @var int[] Keys are discount keys, values are discount IDs. diff --git a/src/Pyz/Zed/DataImport/Business/Model/DiscountVoucher/DiscountVoucherWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/DiscountVoucher/DiscountVoucherWriterStep.php index 205ef26271..d98fc81f61 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/DiscountVoucher/DiscountVoucherWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/DiscountVoucher/DiscountVoucherWriterStep.php @@ -18,15 +18,15 @@ class DiscountVoucherWriterStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_DISCOUNT_KEY = 'discount_key'; - const KEY_RANDOM_GENERATED_CODE_LENGTH = 'random_generated_code_length'; - const KEY_QUANTITY = 'quantity'; - const KEY_CUSTOM_CODE = 'custom_code'; - const KEY_VOUCHER_BATCH = 'voucher_batch'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_MAX_NUMBER_OF_USES = 'max_number_of_uses'; + public const KEY_DISCOUNT_KEY = 'discount_key'; + public const KEY_RANDOM_GENERATED_CODE_LENGTH = 'random_generated_code_length'; + public const KEY_QUANTITY = 'quantity'; + public const KEY_CUSTOM_CODE = 'custom_code'; + public const KEY_VOUCHER_BATCH = 'voucher_batch'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_MAX_NUMBER_OF_USES = 'max_number_of_uses'; /** * @var \Spryker\Zed\Discount\DiscountConfig @@ -95,7 +95,7 @@ protected function voucherBatchExists(SpyDiscount $discountEntity, $voucherBatch /** * @param int $length * @param int $quantity - * @param null|string $customCode + * @param string|null $customCode * * @return array */ diff --git a/src/Pyz/Zed/DataImport/Business/Model/Glossary/GlossaryWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Glossary/GlossaryWriterStep.php index a05f3977b3..e12e19abca 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Glossary/GlossaryWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Glossary/GlossaryWriterStep.php @@ -16,12 +16,12 @@ class GlossaryWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_KEY = 'key'; - const KEY_TRANSLATION = 'translation'; - const KEY_ID_LOCALE = 'idLocale'; - const KEY_LOCALE = 'locale'; + public const KEY_KEY = 'key'; + public const KEY_TRANSLATION = 'translation'; + public const KEY_ID_LOCALE = 'idLocale'; + public const KEY_LOCALE = 'locale'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/Locale/AddLocalesStep.php b/src/Pyz/Zed/DataImport/Business/Model/Locale/AddLocalesStep.php index be5711bc8d..9579c17743 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Locale/AddLocalesStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Locale/AddLocalesStep.php @@ -15,7 +15,7 @@ class AddLocalesStep implements DataImportStepInterface { - const KEY_LOCALES = 'locales'; + public const KEY_LOCALES = 'locales'; /** * @var array diff --git a/src/Pyz/Zed/DataImport/Business/Model/Locale/LocaleNameToIdLocaleStep.php b/src/Pyz/Zed/DataImport/Business/Model/Locale/LocaleNameToIdLocaleStep.php index e35cb04760..21c36e3c8f 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Locale/LocaleNameToIdLocaleStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Locale/LocaleNameToIdLocaleStep.php @@ -15,8 +15,8 @@ class LocaleNameToIdLocaleStep implements DataImportStepInterface { - const KEY_SOURCE = 'localeName'; - const KEY_TARGET = 'idLocale'; + public const KEY_SOURCE = 'localeName'; + public const KEY_TARGET = 'idLocale'; /** * @var string diff --git a/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationKeyToIdNavigationStep.php b/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationKeyToIdNavigationStep.php index 9bd0410041..96fa507f35 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationKeyToIdNavigationStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationKeyToIdNavigationStep.php @@ -15,8 +15,8 @@ class NavigationKeyToIdNavigationStep implements DataImportStepInterface { - const KEY_SOURCE = 'navigationKey'; - const KEY_TARGET = 'idNavigation'; + public const KEY_SOURCE = 'navigationKey'; + public const KEY_TARGET = 'idNavigation'; /** * @var string diff --git a/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationWriterStep.php index 450e5daa7d..cd80aa04f1 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Navigation/NavigationWriterStep.php @@ -16,10 +16,10 @@ class NavigationWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const NAME = 'name'; - const KEY = 'key'; + public const NAME = 'name'; + public const KEY = 'key'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/NavigationNode/NavigationNodeWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/NavigationNode/NavigationNodeWriterStep.php index 4234a1bd45..43a879dada 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/NavigationNode/NavigationNodeWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/NavigationNode/NavigationNodeWriterStep.php @@ -22,26 +22,26 @@ class NavigationNodeWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - - const DEFAULT_IS_ACTIVE = true; - - const KEY_NAVIGATION_KEY = 'navigation_key'; - const KEY_NODE_KEY = 'node_key'; - const KEY_PARENT_NODE_KEY = 'parent_node_key'; - const KEY_POSITION = 'position'; - const KEY_NODE_TYPE = 'node_type'; - const KEY_TITLE = 'title'; - const KEY_URL = 'url'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_CSS_CLASS = 'css_class'; - const KEY_VALID_FROM = 'valid_from'; - const KEY_VALID_TO = 'valid_to'; - - const NODE_TYPE_LINK = 'link'; - const NODE_TYPE_EXTERNAL_URL = 'external_url'; - const NODE_TYPE_CATEGORY = 'category'; - const NODE_TYPE_CMS_PAGE = 'cms_page'; + public const BULK_SIZE = 100; + + public const DEFAULT_IS_ACTIVE = true; + + public const KEY_NAVIGATION_KEY = 'navigation_key'; + public const KEY_NODE_KEY = 'node_key'; + public const KEY_PARENT_NODE_KEY = 'parent_node_key'; + public const KEY_POSITION = 'position'; + public const KEY_NODE_TYPE = 'node_type'; + public const KEY_TITLE = 'title'; + public const KEY_URL = 'url'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_CSS_CLASS = 'css_class'; + public const KEY_VALID_FROM = 'valid_from'; + public const KEY_VALID_TO = 'valid_to'; + + public const NODE_TYPE_LINK = 'link'; + public const NODE_TYPE_EXTERNAL_URL = 'external_url'; + public const NODE_TYPE_CATEGORY = 'category'; + public const NODE_TYPE_CMS_PAGE = 'cms_page'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet @@ -57,7 +57,7 @@ public function execute(DataSetInterface $dataSet) $navigationNodeEntity ->setPosition($this->getPosition($navigationNodeEntity, $dataSet)) - ->setIsActive($this->getIsActive($navigationNodeEntity, $dataSet)) + ->setIsActive($this->isActive($navigationNodeEntity, $dataSet)) ->setNodeType($this->getNodeType($navigationNodeEntity, $dataSet)); if ($dataSet[static::KEY_VALID_FROM] !== "") { @@ -145,9 +145,9 @@ protected function getPosition(SpyNavigationNode $navigationNodeEntity, DataSetI * @param \Orm\Zed\Navigation\Persistence\SpyNavigationNode $navigationNodeEntity * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet * - * @return int + * @return bool */ - protected function getIsActive(SpyNavigationNode $navigationNodeEntity, DataSetInterface $dataSet) + protected function isActive(SpyNavigationNode $navigationNodeEntity, DataSetInterface $dataSet) { if (isset($dataSet[static::KEY_IS_ACTIVE]) && !empty($dataSet[static::KEY_IS_ACTIVE])) { return (bool)$dataSet[static::KEY_IS_ACTIVE]; diff --git a/src/Pyz/Zed/DataImport/Business/Model/OrderSource/OrderSourceWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/OrderSource/OrderSourceWriterStep.php index cf0301f9ce..9d115029cb 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/OrderSource/OrderSourceWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/OrderSource/OrderSourceWriterStep.php @@ -14,7 +14,7 @@ class OrderSourceWriterStep implements DataImportStepInterface { - const KEY_ORDER_SOURCE_NAME = 'order_source_name'; + public const KEY_ORDER_SOURCE_NAME = 'order_source_name'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/Product/AttributesExtractorStep.php b/src/Pyz/Zed/DataImport/Business/Model/Product/AttributesExtractorStep.php index 4b2b449587..f03391e245 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Product/AttributesExtractorStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Product/AttributesExtractorStep.php @@ -12,7 +12,7 @@ class AttributesExtractorStep implements DataImportStepInterface { - const KEY_ATTRIBUTES = 'attributes'; + public const KEY_ATTRIBUTES = 'attributes'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/Product/ProductLocalizedAttributesExtractorStep.php b/src/Pyz/Zed/DataImport/Business/Model/Product/ProductLocalizedAttributesExtractorStep.php index d6a383a2f0..61e9ced7a0 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Product/ProductLocalizedAttributesExtractorStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Product/ProductLocalizedAttributesExtractorStep.php @@ -12,7 +12,7 @@ class ProductLocalizedAttributesExtractorStep implements DataImportStepInterface { - const KEY_LOCALIZED_ATTRIBUTES = 'localizedAttributes'; + public const KEY_LOCALIZED_ATTRIBUTES = 'localizedAttributes'; /** * @var array diff --git a/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php b/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php index e44315085f..4965e99ff1 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php @@ -15,9 +15,9 @@ class ProductRepository implements ProductRepositoryInterface { - const ID_PRODUCT = 'idProduct'; - const ID_PRODUCT_ABSTRACT = 'idProductAbstract'; - const ABSTRACT_SKU = 'abstractSku'; + public const ID_PRODUCT = 'idProduct'; + public const ID_PRODUCT_ABSTRACT = 'idProductAbstract'; + public const ABSTRACT_SKU = 'abstractSku'; /** * @var array diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddCategoryKeysStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddCategoryKeysStep.php index 2122404599..005842298c 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddCategoryKeysStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddCategoryKeysStep.php @@ -13,7 +13,7 @@ class AddCategoryKeysStep implements DataImportStepInterface { - const KEY_CATEGORY_KEYS = 'categoryKeys'; + public const KEY_CATEGORY_KEYS = 'categoryKeys'; /** * @var array diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddProductAbstractSkusStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddProductAbstractSkusStep.php index 0c845a4721..73cf7c0c5b 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddProductAbstractSkusStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/AddProductAbstractSkusStep.php @@ -15,7 +15,7 @@ class AddProductAbstractSkusStep implements DataImportStepInterface { - const KEY_PRODUCT_ABSTRACT_SKUS = 'productAbstractSkus'; + public const KEY_PRODUCT_ABSTRACT_SKUS = 'productAbstractSkus'; /** * @var array @@ -36,9 +36,12 @@ public function execute(DataSetInterface $dataSet) SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT, ])->setFormatter(new SimpleArrayFormatter()); - foreach ($query->find() as $productAbstract) { - $key = $productAbstract[SpyProductAbstractTableMap::COL_SKU]; - $value = $productAbstract[SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT]; + /** @var array $productAbstractEntities */ + $productAbstractEntities = $query->find(); + + foreach ($productAbstractEntities as $productAbstractEntity) { + $key = $productAbstractEntity[SpyProductAbstractTableMap::COL_SKU]; + $value = $productAbstractEntity[SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT]; $this->productAbstractSkus[$key] = $value; } } diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractWriterStep.php index 21fe76640b..6211a7e95a 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractWriterStep.php @@ -23,29 +23,27 @@ use Spryker\Zed\ProductCategory\Dependency\ProductCategoryEvents; use Spryker\Zed\Url\Dependency\UrlEvents; -/** - */ class ProductAbstractWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - - const KEY_ABSTRACT_SKU = 'abstract_sku'; - const KEY_COLOR_CODE = 'color_code'; - const KEY_ID_TAX_SET = 'idTaxSet'; - const KEY_ATTRIBUTES = 'attributes'; - const KEY_NAME = 'name'; - const KEY_URL = 'url'; - const KEY_DESCRIPTION = 'description'; - const KEY_META_TITLE = 'meta_title'; - const KEY_META_DESCRIPTION = 'meta_description'; - const KEY_META_KEYWORDS = 'meta_keywords'; - const KEY_TAX_SET_NAME = 'tax_set_name'; - const KEY_CATEGORY_KEY = 'category_key'; - const KEY_CATEGORY_KEYS = 'categoryKeys'; - const KEY_CATEGORY_PRODUCT_ORDER = 'category_product_order'; - const KEY_LOCALES = 'locales'; - const KEY_NEW_FROM = 'new_from'; - const KEY_NEW_TO = 'new_to'; + public const BULK_SIZE = 100; + + public const KEY_ABSTRACT_SKU = 'abstract_sku'; + public const KEY_COLOR_CODE = 'color_code'; + public const KEY_ID_TAX_SET = 'idTaxSet'; + public const KEY_ATTRIBUTES = 'attributes'; + public const KEY_NAME = 'name'; + public const KEY_URL = 'url'; + public const KEY_DESCRIPTION = 'description'; + public const KEY_META_TITLE = 'meta_title'; + public const KEY_META_DESCRIPTION = 'meta_description'; + public const KEY_META_KEYWORDS = 'meta_keywords'; + public const KEY_TAX_SET_NAME = 'tax_set_name'; + public const KEY_CATEGORY_KEY = 'category_key'; + public const KEY_CATEGORY_KEYS = 'categoryKeys'; + public const KEY_CATEGORY_PRODUCT_ORDER = 'category_product_order'; + public const KEY_LOCALES = 'locales'; + public const KEY_NEW_FROM = 'new_from'; + public const KEY_NEW_TO = 'new_to'; /** * @var \Pyz\Zed\DataImport\Business\Model\Product\Repository\ProductRepository diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstractStore/ProductAbstractStoreWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstractStore/ProductAbstractStoreWriterStep.php index 6b245ccbb0..db88f951ff 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstractStore/ProductAbstractStoreWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstractStore/ProductAbstractStoreWriterStep.php @@ -16,10 +16,10 @@ class ProductAbstractStoreWriterStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_PRODUCT_ABSTRACT_SKU = 'product_abstract_sku'; - const KEY_STORE_NAME = 'store_name'; + public const KEY_PRODUCT_ABSTRACT_SKU = 'product_abstract_sku'; + public const KEY_STORE_NAME = 'store_name'; /** * @var int[] Keys are SKUs, values are product abstract ids. diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/AddProductAttributeKeysStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/AddProductAttributeKeysStep.php index b60756ae49..773ef2e69d 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/AddProductAttributeKeysStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/AddProductAttributeKeysStep.php @@ -15,7 +15,7 @@ class AddProductAttributeKeysStep implements DataImportStepInterface { - const KEY_TARGET = 'attributeKeys'; + public const KEY_TARGET = 'attributeKeys'; /** * @var array diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/ProductAttributeKeyWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/ProductAttributeKeyWriter.php index 78fe453358..35bacc0e07 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/ProductAttributeKeyWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductAttributeKey/ProductAttributeKeyWriter.php @@ -13,8 +13,8 @@ class ProductAttributeKeyWriter implements DataImportStepInterface { - const ATTRIBUTE_KEY = 'attribute_key'; - const IS_SUPER = 'is_super'; + public const ATTRIBUTE_KEY = 'attribute_key'; + public const IS_SUPER = 'is_super'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteWriter.php index a080eb6269..a1e16143a7 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteWriter.php @@ -7,6 +7,7 @@ namespace Pyz\Zed\DataImport\Business\Model\ProductConcrete; +use Orm\Zed\Product\Persistence\Map\SpyProductTableMap; use Orm\Zed\Product\Persistence\SpyProduct; use Orm\Zed\Product\Persistence\SpyProductLocalizedAttributesQuery; use Orm\Zed\Product\Persistence\SpyProductQuery; @@ -20,25 +21,31 @@ class ProductConcreteWriter extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - - const KEY_ATTRIBUTES = 'attributes'; - const KEY_LOCALIZED_ATTRIBUTES = 'localizedAttributes'; - const KEY_NAME = 'name'; - const KEY_DESCRIPTION = 'description'; - const KEY_LOCALES = 'locales'; - const KEY_CONCRETE_SKU = 'concrete_sku'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_ABSTRACT_SKU = 'abstract_sku'; - const KEY_IS_COMPLETE = 'is_complete'; - const KEY_IS_SEARCHABLE = 'is_searchable'; - const KEY_BUNDLES = 'bundled'; + public const BULK_SIZE = 100; + + public const KEY_ATTRIBUTES = 'attributes'; + public const KEY_LOCALIZED_ATTRIBUTES = 'localizedAttributes'; + public const KEY_NAME = 'name'; + public const KEY_DESCRIPTION = 'description'; + public const KEY_LOCALES = 'locales'; + public const KEY_CONCRETE_SKU = 'concrete_sku'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_ABSTRACT_SKU = 'abstract_sku'; + public const KEY_IS_COMPLETE = 'is_complete'; + public const KEY_IS_SEARCHABLE = 'is_searchable'; + public const KEY_BUNDLES = 'bundled'; + public const KEY_IS_QUANTITY_SPLITTABLE = 'is_quantity_splittable'; /** * @var \Pyz\Zed\DataImport\Business\Model\Product\Repository\ProductRepository */ protected $productRepository; + /** + * @var bool[] Keys are product column names + */ + protected static $isProductColumnBuffer = []; + /** * @param \Pyz\Zed\DataImport\Business\Model\Product\Repository\ProductRepository $productRepository */ @@ -82,11 +89,33 @@ protected function importProduct(DataSetInterface $dataSet) ->setFkProductAbstract($idAbstract) ->setAttributes(json_encode($dataSet[static::KEY_ATTRIBUTES])); + if ($this->isProductColumn(static::KEY_IS_QUANTITY_SPLITTABLE)) { + $isQuantitySplittable = $dataSet[static::KEY_IS_QUANTITY_SPLITTABLE] === "" ? true : $dataSet[static::KEY_IS_QUANTITY_SPLITTABLE]; + $productEntity->setIsQuantitySplittable($isQuantitySplittable); + } + $productEntity->save(); return $productEntity; } + /** + * @param string $columnName + * + * @return bool + */ + protected function isProductColumn(string $columnName): bool + { + if (isset(static::$isProductColumnBuffer[$columnName])) { + return static::$isProductColumnBuffer[$columnName]; + } + + $isColumnExists = SpyProductTableMap::getTableMap()->hasColumn($columnName); + static::$isProductColumnBuffer[$columnName] = $isColumnExists; + + return $isColumnExists; + } + /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet * @param \Orm\Zed\Product\Persistence\SpyProduct $productEntity @@ -132,7 +161,7 @@ protected function importBundles(DataSetInterface $dataSet, SpyProduct $productE $bundleProducts = explode(',', $dataSet[static::KEY_BUNDLES]); foreach ($bundleProducts as $bundleProduct) { $bundleProduct = trim($bundleProduct); - list($sku, $quantity) = explode('/', $bundleProduct); + [$sku, $quantity] = explode('/', $bundleProduct); $idProduct = $this->productRepository->getIdProductByConcreteSku($sku); $productBundleEntity = SpyProductBundleQuery::create() diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductGroup/ProductGroupWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductGroup/ProductGroupWriter.php index 50f3c4e7c3..bdf211aaa0 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductGroup/ProductGroupWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductGroup/ProductGroupWriter.php @@ -17,11 +17,11 @@ class ProductGroupWriter extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_ABSTRACT_SKU = 'abstract_sku'; - const KEY_PRODUCT_GROUP_KEY = 'group_key'; - const KEY_POSITION = 'position'; + public const KEY_ABSTRACT_SKU = 'abstract_sku'; + public const KEY_PRODUCT_GROUP_KEY = 'group_key'; + public const KEY_POSITION = 'position'; /** * @var \Pyz\Zed\DataImport\Business\Model\Product\Repository\ProductRepository diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductImage/ProductImageWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductImage/ProductImageWriterStep.php index ec097694d8..ded6830e0c 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductImage/ProductImageWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductImage/ProductImageWriterStep.php @@ -22,14 +22,14 @@ class ProductImageWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - - const KEY_LOCALE = 'locale'; - const KEY_IMAGE_SET_NAME = 'image_set_name'; - const KEY_ABSTRACT_SKU = 'abstract_sku'; - const KEY_CONCRETE_SKU = 'concrete_sku'; - const KEY_EXTERNAL_URL_LARGE = 'external_url_large'; - const KEY_EXTERNAL_URL_SMALL = 'external_url_small'; + public const BULK_SIZE = 100; + + public const KEY_LOCALE = 'locale'; + public const KEY_IMAGE_SET_NAME = 'image_set_name'; + public const KEY_ABSTRACT_SKU = 'abstract_sku'; + public const KEY_CONCRETE_SKU = 'concrete_sku'; + public const KEY_EXTERNAL_URL_LARGE = 'external_url_large'; + public const KEY_EXTERNAL_URL_SMALL = 'external_url_small'; /** * @var \Pyz\Zed\DataImport\Business\Model\Locale\Repository\LocaleRepositoryInterface diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/Hook/ProductLabelAfterImportPublishHook.php b/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/Hook/ProductLabelAfterImportPublishHook.php index 7ba02c60be..8ad2141389 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/Hook/ProductLabelAfterImportPublishHook.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/Hook/ProductLabelAfterImportPublishHook.php @@ -13,7 +13,7 @@ class ProductLabelAfterImportPublishHook implements DataImporterAfterImportInterface { - const ID_DEFAULT = 0; + public const ID_DEFAULT = 0; /** * @return void diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/ProductLabelWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/ProductLabelWriterStep.php index 2fa2ffbec5..160c196cb4 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/ProductLabelWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductLabel/ProductLabelWriterStep.php @@ -22,19 +22,19 @@ class ProductLabelWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_NAME = 'name'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_IS_EXCLUSIVE = 'is_exclusive'; - const KEY_IS_DYNAMIC = 'is_dynamic'; - const KEY_FRONT_END_REFERENCE = 'front_end_reference'; + public const KEY_NAME = 'name'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_IS_EXCLUSIVE = 'is_exclusive'; + public const KEY_IS_DYNAMIC = 'is_dynamic'; + public const KEY_FRONT_END_REFERENCE = 'front_end_reference'; - const KEY_VALID_FROM = 'valid_from'; - const KEY_VALID_TO = 'valid_to'; + public const KEY_VALID_FROM = 'valid_from'; + public const KEY_VALID_TO = 'valid_to'; - const COL_MAX_POSITION = 'max_position'; - const KEY_PRODUCT_ABSTRACT_SKUS = 'product_abstract_skus'; + public const COL_MAX_POSITION = 'max_position'; + public const KEY_PRODUCT_ABSTRACT_SKUS = 'product_abstract_skus'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementAttributeWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementAttributeWriter.php index 1bdc13f843..3eecacc6e9 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementAttributeWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementAttributeWriter.php @@ -21,7 +21,7 @@ class ProductManagementAttributeWriter extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementLocalizedAttributesExtractorStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementLocalizedAttributesExtractorStep.php index 1c123c61ee..8a850084c2 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementLocalizedAttributesExtractorStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductManagementAttribute/ProductManagementLocalizedAttributesExtractorStep.php @@ -13,7 +13,7 @@ class ProductManagementLocalizedAttributesExtractorStep implements DataImportStepInterface { - const KEY_LOCALIZED_ATTRIBUTES = 'localizedAttributes'; + public const KEY_LOCALIZED_ATTRIBUTES = 'localizedAttributes'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductOption/ProductOptionWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductOption/ProductOptionWriterStep.php index 958bdc9239..bc8700e7d2 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductOption/ProductOptionWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductOption/ProductOptionWriterStep.php @@ -11,8 +11,8 @@ use Orm\Zed\Glossary\Persistence\SpyGlossaryTranslationQuery; use Orm\Zed\Product\Persistence\Map\SpyProductAbstractTableMap; use Orm\Zed\Product\Persistence\SpyProductAbstractQuery; -use Orm\Zed\ProductOption\Persistence\Base\SpyProductOptionGroup; use Orm\Zed\ProductOption\Persistence\SpyProductAbstractProductOptionGroupQuery; +use Orm\Zed\ProductOption\Persistence\SpyProductOptionGroup; use Orm\Zed\ProductOption\Persistence\SpyProductOptionGroupQuery; use Orm\Zed\ProductOption\Persistence\SpyProductOptionValueQuery; use Propel\Runtime\ActiveQuery\Criteria; @@ -29,16 +29,16 @@ */ class ProductOptionWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_ABSTRACT_PRODUCT_SKUS = 'abstract_product_skus'; - const KEY_GROUP_NAME_TRANSLATION_KEY = 'group_name_translation_key'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_SKU = 'sku'; - const KEY_OPTION_NAME_TRANSLATION_KEY = 'option_name_translation_key'; - const KEY_OPTION_NAME = 'option_name'; - const KEY_GROUP_NAME = 'group_name'; - const KEY_TAX_SET_NAME = 'tax_set_name'; + public const KEY_ABSTRACT_PRODUCT_SKUS = 'abstract_product_skus'; + public const KEY_GROUP_NAME_TRANSLATION_KEY = 'group_name_translation_key'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_SKU = 'sku'; + public const KEY_OPTION_NAME_TRANSLATION_KEY = 'option_name_translation_key'; + public const KEY_OPTION_NAME = 'option_name'; + public const KEY_GROUP_NAME = 'group_name'; + public const KEY_TAX_SET_NAME = 'tax_set_name'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet @@ -92,7 +92,7 @@ public function execute(DataSetInterface $dataSet) /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet - * @param \Orm\Zed\ProductOption\Persistence\Base\SpyProductOptionGroup $productOptionGroupEntity + * @param \Orm\Zed\ProductOption\Persistence\SpyProductOptionGroup $productOptionGroupEntity * * @return bool */ diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductOptionPrice/ProductOptionPriceWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductOptionPrice/ProductOptionPriceWriterStep.php index d09fbfbaa0..03840fe817 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductOptionPrice/ProductOptionPriceWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductOptionPrice/ProductOptionPriceWriterStep.php @@ -20,13 +20,13 @@ class ProductOptionPriceWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_PRODUCT_OPTION_SKU = 'product_option_sku'; - const KEY_STORE = 'store'; - const KEY_CURRENCY = 'currency'; - const KEY_NET_AMOUNT = 'value_net'; - const KEY_GROSS_AMOUNT = 'value_gross'; + public const KEY_PRODUCT_OPTION_SKU = 'product_option_sku'; + public const KEY_STORE = 'store'; + public const KEY_CURRENCY = 'currency'; + public const KEY_NET_AMOUNT = 'value_net'; + public const KEY_GROSS_AMOUNT = 'value_gross'; /** * @var int[] Keys are store names diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductRelation/ProductRelationWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductRelation/ProductRelationWriter.php index b33cbf15b0..f49c04c87c 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductRelation/ProductRelationWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductRelation/ProductRelationWriter.php @@ -16,10 +16,10 @@ class ProductRelationWriter extends PublishAwareStep implements DataImportStepInterface { - const KEY_RELATION_TYPE = 'relation_type'; - const KEY_RULE = 'rule'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_IS_REBUILD_SCHEDULED = 'is_rebuild_scheduled'; + public const KEY_RELATION_TYPE = 'relation_type'; + public const KEY_RULE = 'rule'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_IS_REBUILD_SCHEDULED = 'is_rebuild_scheduled'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/Hook/ProductSearchAfterImportHook.php b/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/Hook/ProductSearchAfterImportHook.php index 99ea90c579..48c5ca8199 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/Hook/ProductSearchAfterImportHook.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/Hook/ProductSearchAfterImportHook.php @@ -13,7 +13,7 @@ class ProductSearchAfterImportHook implements DataImporterAfterImportInterface { - const ID_DEFAULT = 0; + public const ID_DEFAULT = 0; /** * @return void diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/ProductSearchAttributeWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/ProductSearchAttributeWriter.php index 0817eac2e7..e923ff13ae 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/ProductSearchAttributeWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttribute/ProductSearchAttributeWriter.php @@ -20,9 +20,9 @@ class ProductSearchAttributeWriter extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY = 'key'; + public const KEY = 'key'; /** * @var \Spryker\Shared\ProductSearch\Code\KeyBuilder\GlossaryKeyBuilderInterface diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttributeMap/ProductSearchAttributeMapWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttributeMap/ProductSearchAttributeMapWriter.php index 5828f9558b..5c6494a773 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttributeMap/ProductSearchAttributeMapWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductSearchAttributeMap/ProductSearchAttributeMapWriter.php @@ -16,9 +16,9 @@ class ProductSearchAttributeMapWriter implements DataImportStepInterface { - const KEY_TARGET_FIELD = 'target_field'; - const KEY_ATTRIBUTE_KEY = 'attribute_key'; - const KEY_SYNCED = 'synced'; + public const KEY_TARGET_FIELD = 'target_field'; + public const KEY_ATTRIBUTE_KEY = 'attribute_key'; + public const KEY_SYNCED = 'synced'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetImageExtractorStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetImageExtractorStep.php index 1993164b18..b670b57dee 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetImageExtractorStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetImageExtractorStep.php @@ -12,11 +12,11 @@ class ProductSetImageExtractorStep implements DataImportStepInterface { - const KEY_TARGET = 'productImageSets'; + public const KEY_TARGET = 'productImageSets'; - const IMAGE_SET_KEY_PREFIX = 'image_set.'; - const IMAGE_SMALL_KEY_PREFIX = 'image_small.'; - const IMAGE_LARGE_KEY_PREFIX = 'image_large.'; + public const IMAGE_SET_KEY_PREFIX = 'image_set.'; + public const IMAGE_SMALL_KEY_PREFIX = 'image_small.'; + public const IMAGE_LARGE_KEY_PREFIX = 'image_large.'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetWriterStep.php index f48c80aa1e..4fa205159a 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductSet/ProductSetWriterStep.php @@ -28,21 +28,21 @@ */ class ProductSetWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - - const KEY_PRODUCT_SET_KEY = 'product_set_key'; - const KEY_NAME = 'name'; - const KEY_DESCRIPTION = 'description'; - const KEY_META_TITLE = 'meta_title'; - const KEY_META_DESCRIPTION = 'meta_description'; - const KEY_META_KEYWORDS = 'meta_keywords'; - const KEY_URL = 'url'; - const KEY_IS_ACTIVE = 'is_active'; - const KEY_WEIGHT = 'weight'; - const KEY_ABSTRACT_SKUS = 'abstract_skus'; - const KEY_IMAGE_SET = 'image_set'; - const KEY_IMAGES = 'images'; - const KEY_IMAGE_LARGE = 'image_large'; + public const BULK_SIZE = 100; + + public const KEY_PRODUCT_SET_KEY = 'product_set_key'; + public const KEY_NAME = 'name'; + public const KEY_DESCRIPTION = 'description'; + public const KEY_META_TITLE = 'meta_title'; + public const KEY_META_DESCRIPTION = 'meta_description'; + public const KEY_META_KEYWORDS = 'meta_keywords'; + public const KEY_URL = 'url'; + public const KEY_IS_ACTIVE = 'is_active'; + public const KEY_WEIGHT = 'weight'; + public const KEY_ABSTRACT_SKUS = 'abstract_skus'; + public const KEY_IMAGE_SET = 'image_set'; + public const KEY_IMAGES = 'images'; + public const KEY_IMAGE_LARGE = 'image_large'; /** * @var \Pyz\Zed\DataImport\Business\Model\Product\Repository\ProductRepositoryInterface diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductStock/ProductStockWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductStock/ProductStockWriterStep.php index 9df7d9fc9b..501fa82b13 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductStock/ProductStockWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductStock/ProductStockWriterStep.php @@ -18,12 +18,12 @@ class ProductStockWriterStep extends PublishAwareStep implements DataImportStepInterface { - const BULK_SIZE = 100; - const KEY_NAME = 'name'; - const KEY_CONCRETE_SKU = 'concrete_sku'; - const KEY_QUANTITY = 'quantity'; - const KEY_IS_NEVER_OUT_OF_STOCK = 'is_never_out_of_stock'; - const KEY_IS_BUNDLE = 'is_bundle'; + public const BULK_SIZE = 100; + public const KEY_NAME = 'name'; + public const KEY_CONCRETE_SKU = 'concrete_sku'; + public const KEY_QUANTITY = 'quantity'; + public const KEY_IS_NEVER_OUT_OF_STOCK = 'is_never_out_of_stock'; + public const KEY_IS_BUNDLE = 'is_bundle'; /** * @var \Pyz\Zed\DataImport\Business\Model\Product\Repository\ProductRepository diff --git a/src/Pyz/Zed/DataImport/Business/Model/Shipment/ShipmentWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Shipment/ShipmentWriterStep.php index a1b74c1934..8ab26f210c 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Shipment/ShipmentWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Shipment/ShipmentWriterStep.php @@ -14,12 +14,12 @@ class ShipmentWriterStep implements DataImportStepInterface { - const COL_CARRIER = 'carrier'; - const COL_SHIPMENT_METHOD_KEY = 'shipment_method_key'; - const COL_NAME = 'name'; - const COL_ID_TAX_SET = 'idTaxSet'; + public const COL_CARRIER = 'carrier'; + public const COL_SHIPMENT_METHOD_KEY = 'shipment_method_key'; + public const COL_NAME = 'name'; + public const COL_ID_TAX_SET = 'idTaxSet'; - const BULK_SIZE = 100; + public const BULK_SIZE = 100; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/ShipmentPrice/ShipmentPriceWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/ShipmentPrice/ShipmentPriceWriterStep.php index 708f0653be..567332fecd 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ShipmentPrice/ShipmentPriceWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ShipmentPrice/ShipmentPriceWriterStep.php @@ -16,11 +16,11 @@ class ShipmentPriceWriterStep implements DataImportStepInterface { - const COL_STORE = 'store'; - const COL_CURRENCY = 'currency'; - const COL_SHIPMENT_METHOD_KEY = 'shipment_method_key'; - const COL_NET_AMOUNT = 'value_net'; - const COL_GROSS_AMOUNT = 'value_gross'; + public const COL_STORE = 'store'; + public const COL_CURRENCY = 'currency'; + public const COL_SHIPMENT_METHOD_KEY = 'shipment_method_key'; + public const COL_NET_AMOUNT = 'value_net'; + public const COL_GROSS_AMOUNT = 'value_gross'; /** * @var int[] Keys are shipment method keys, values are shipment method ids. @@ -96,7 +96,8 @@ protected function getIdStoreByStoreName($storeName) { if (!isset(static::$idStoreCache[$storeName])) { static::$idStoreCache[$storeName] = SpyStoreQuery::create() - ->findOneByName(strtoupper($storeName)) + ->setIgnoreCase(true) + ->findOneByName($storeName) ->getIdStore(); } diff --git a/src/Pyz/Zed/DataImport/Business/Model/Stock/StockWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Stock/StockWriterStep.php index 06983b9df5..4bf9632e39 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Stock/StockWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Stock/StockWriterStep.php @@ -13,7 +13,7 @@ class StockWriterStep implements DataImportStepInterface { - const KEY_NAME = 'name'; + public const KEY_NAME = 'name'; /** * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet diff --git a/src/Pyz/Zed/DataImport/Business/Model/Store/StoreReader.php b/src/Pyz/Zed/DataImport/Business/Model/Store/StoreReader.php index b934ea9890..ef0a12dc33 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Store/StoreReader.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Store/StoreReader.php @@ -42,7 +42,7 @@ public function __construct(DataSetInterface $dataSet) * * @since 5.0.0 * - * @return void Any returned value is ignored. + * @return void */ public function next() { @@ -70,7 +70,7 @@ public function key() * * @since 5.0.0 * - * @return boolean The return value will be casted to boolean and then evaluated. + * @return bool The return value will be casted to boolean and then evaluated. * Returns true on success or false on failure. */ public function valid() @@ -85,7 +85,7 @@ public function valid() * * @since 5.0.0 * - * @return void Any returned value is ignored. + * @return void */ public function rewind() { diff --git a/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php b/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php index 7e8bd79f90..4e4eb5e90d 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php @@ -8,15 +8,14 @@ namespace Pyz\Zed\DataImport\Business\Model\Tax; use Orm\Zed\Tax\Persistence\SpyTaxSetQuery; -use Pyz\Zed\DataImport\Business\Exception\EntityNotFoundException; use Spryker\Zed\DataImport\Business\Exception\DataKeyNotFoundInDataSetException; use Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface; use Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface; class TaxSetNameToIdTaxSetStep implements DataImportStepInterface { - const KEY_SOURCE = 'taxSetName'; - const KEY_TARGET = 'idTaxSet'; + public const KEY_SOURCE = 'taxSetName'; + public const KEY_TARGET = 'idTaxSet'; /** * @var string @@ -70,8 +69,6 @@ public function execute(DataSetInterface $dataSet) /** * @param string $taxSetName * - * @throws \Pyz\Zed\DataImport\Business\Exception\EntityNotFoundException - * * @return int */ protected function resolveIdStock($taxSetName) @@ -80,10 +77,6 @@ protected function resolveIdStock($taxSetName) ->filterByName($taxSetName) ->findOneOrCreate(); - if (!$taxSetEntity) { - throw new EntityNotFoundException(sprintf('Tax set by name "%s" not found.', $taxSetName)); - } - $taxSetEntity->save(); return $taxSetEntity->getIdTaxSet(); diff --git a/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxWriterStep.php index c1f6795374..35e178d492 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxWriterStep.php @@ -20,12 +20,12 @@ class TaxWriterStep implements DataImportStepInterface { - const BULK_SIZE = 100; + public const BULK_SIZE = 100; - const KEY_COUNTRY_NAME = 'country_name'; - const KEY_TAX_RATE_NAME = 'tax_rate_name'; - const KEY_TAX_RATE_PERCENT = 'tax_rate_percent'; - const KEY_TAX_SET_NAME = 'tax_set_name'; + public const KEY_COUNTRY_NAME = 'country_name'; + public const KEY_TAX_RATE_NAME = 'tax_rate_name'; + public const KEY_TAX_RATE_PERCENT = 'tax_rate_percent'; + public const KEY_TAX_SET_NAME = 'tax_set_name'; /** * @var \Pyz\Zed\DataImport\Business\Model\Country\Repository\CountryRepositoryInterface diff --git a/src/Pyz/Zed/DataImport/DataImportConfig.php b/src/Pyz/Zed/DataImport/DataImportConfig.php index ea9b3f9091..af33f84b61 100644 --- a/src/Pyz/Zed/DataImport/DataImportConfig.php +++ b/src/Pyz/Zed/DataImport/DataImportConfig.php @@ -14,45 +14,45 @@ */ class DataImportConfig extends SprykerDataImportConfig { - const IMPORT_TYPE_CATEGORY_TEMPLATE = 'category-template'; - const IMPORT_TYPE_CUSTOMER = 'customer'; - const IMPORT_TYPE_GLOSSARY = 'glossary'; - const IMPORT_TYPE_NAVIGATION = 'navigation'; - const IMPORT_TYPE_NAVIGATION_NODE = 'navigation-node'; - const IMPORT_TYPE_PRODUCT_PRICE = 'product-price'; - const IMPORT_TYPE_PRODUCT_STOCK = 'product-stock'; - const IMPORT_TYPE_PRODUCT_ABSTRACT = 'product-abstract'; - const IMPORT_TYPE_PRODUCT_ABSTRACT_STORE = 'product-abstract-store'; - const IMPORT_TYPE_PRODUCT_CONCRETE = 'product-concrete'; - const IMPORT_TYPE_PRODUCT_ATTRIBUTE_KEY = 'product-attribute-key'; - const IMPORT_TYPE_PRODUCT_MANAGEMENT_ATTRIBUTE = 'product-management-attribute'; - const IMPORT_TYPE_PRODUCT_RELATION = 'product-relation'; - const IMPORT_TYPE_PRODUCT_REVIEW = 'product-review'; - const IMPORT_TYPE_PRODUCT_LABEL = 'product-label'; - const IMPORT_TYPE_PRODUCT_SET = 'product-set'; - const IMPORT_TYPE_PRODUCT_GROUP = 'product-group'; - const IMPORT_TYPE_PRODUCT_OPTION = 'product-option'; - const IMPORT_TYPE_PRODUCT_OPTION_PRICE = 'product-option-price'; - const IMPORT_TYPE_PRODUCT_IMAGE = 'product-image'; - const IMPORT_TYPE_PRODUCT_SEARCH_ATTRIBUTE_MAP = 'product-search-attribute-map'; - const IMPORT_TYPE_PRODUCT_SEARCH_ATTRIBUTE = 'product-search-attribute'; - const IMPORT_TYPE_CMS_TEMPLATE = 'cms-template'; - const IMPORT_TYPE_CMS_PAGE = 'cms-page'; - const IMPORT_TYPE_CMS_BLOCK = 'cms-block'; - const IMPORT_TYPE_CMS_BLOCK_STORE = 'cms-block-store'; - const IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION = 'cms-block-category-position'; - const IMPORT_TYPE_CMS_BLOCK_CATEGORY = 'cms-block-category'; - const IMPORT_TYPE_DISCOUNT = 'discount'; - const IMPORT_TYPE_DISCOUNT_STORE = 'discount-store'; - const IMPORT_TYPE_DISCOUNT_AMOUNT = 'discount-amount'; - const IMPORT_TYPE_DISCOUNT_VOUCHER = 'discount-voucher'; - const IMPORT_TYPE_SHIPMENT = 'shipment'; - const IMPORT_TYPE_SHIPMENT_PRICE = 'shipment-price'; - const IMPORT_TYPE_STOCK = 'stock'; - const IMPORT_TYPE_TAX = 'tax'; - const IMPORT_TYPE_CURRENCY = 'currency'; - const IMPORT_TYPE_STORE = 'store'; - const IMPORT_TYPE_ORDER_SOURCE = 'order-source'; + public const IMPORT_TYPE_CATEGORY_TEMPLATE = 'category-template'; + public const IMPORT_TYPE_CUSTOMER = 'customer'; + public const IMPORT_TYPE_GLOSSARY = 'glossary'; + public const IMPORT_TYPE_NAVIGATION = 'navigation'; + public const IMPORT_TYPE_NAVIGATION_NODE = 'navigation-node'; + public const IMPORT_TYPE_PRODUCT_PRICE = 'product-price'; + public const IMPORT_TYPE_PRODUCT_STOCK = 'product-stock'; + public const IMPORT_TYPE_PRODUCT_ABSTRACT = 'product-abstract'; + public const IMPORT_TYPE_PRODUCT_ABSTRACT_STORE = 'product-abstract-store'; + public const IMPORT_TYPE_PRODUCT_CONCRETE = 'product-concrete'; + public const IMPORT_TYPE_PRODUCT_ATTRIBUTE_KEY = 'product-attribute-key'; + public const IMPORT_TYPE_PRODUCT_MANAGEMENT_ATTRIBUTE = 'product-management-attribute'; + public const IMPORT_TYPE_PRODUCT_RELATION = 'product-relation'; + public const IMPORT_TYPE_PRODUCT_REVIEW = 'product-review'; + public const IMPORT_TYPE_PRODUCT_LABEL = 'product-label'; + public const IMPORT_TYPE_PRODUCT_SET = 'product-set'; + public const IMPORT_TYPE_PRODUCT_GROUP = 'product-group'; + public const IMPORT_TYPE_PRODUCT_OPTION = 'product-option'; + public const IMPORT_TYPE_PRODUCT_OPTION_PRICE = 'product-option-price'; + public const IMPORT_TYPE_PRODUCT_IMAGE = 'product-image'; + public const IMPORT_TYPE_PRODUCT_SEARCH_ATTRIBUTE_MAP = 'product-search-attribute-map'; + public const IMPORT_TYPE_PRODUCT_SEARCH_ATTRIBUTE = 'product-search-attribute'; + public const IMPORT_TYPE_CMS_TEMPLATE = 'cms-template'; + public const IMPORT_TYPE_CMS_PAGE = 'cms-page'; + public const IMPORT_TYPE_CMS_BLOCK = 'cms-block'; + public const IMPORT_TYPE_CMS_BLOCK_STORE = 'cms-block-store'; + public const IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION = 'cms-block-category-position'; + public const IMPORT_TYPE_CMS_BLOCK_CATEGORY = 'cms-block-category'; + public const IMPORT_TYPE_DISCOUNT = 'discount'; + public const IMPORT_TYPE_DISCOUNT_STORE = 'discount-store'; + public const IMPORT_TYPE_DISCOUNT_AMOUNT = 'discount-amount'; + public const IMPORT_TYPE_DISCOUNT_VOUCHER = 'discount-voucher'; + public const IMPORT_TYPE_SHIPMENT = 'shipment'; + public const IMPORT_TYPE_SHIPMENT_PRICE = 'shipment-price'; + public const IMPORT_TYPE_STOCK = 'stock'; + public const IMPORT_TYPE_TAX = 'tax'; + public const IMPORT_TYPE_CURRENCY = 'currency'; + public const IMPORT_TYPE_STORE = 'store'; + public const IMPORT_TYPE_ORDER_SOURCE = 'order-source'; /** * @return \Generated\Shared\Transfer\DataImporterConfigurationTransfer diff --git a/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php b/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php index e4c942f7f7..7b1a7428d2 100644 --- a/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php +++ b/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php @@ -12,14 +12,16 @@ use Spryker\Zed\DataImport\Communication\Plugin\DataImportPublisherPlugin; use Spryker\Zed\DataImport\DataImportDependencyProvider as SprykerDataImportDependencyProvider; use Spryker\Zed\Kernel\Container; +use Spryker\Zed\PriceProductDataImport\Communication\Plugin\PriceProductDataImportPlugin; +use Spryker\Zed\ProductQuantityDataImport\Communication\Plugin\ProductQuantityDataImportPlugin; class DataImportDependencyProvider extends SprykerDataImportDependencyProvider { - const FACADE_AVAILABILITY = 'availability facade'; - const FACADE_CATEGORY = 'category facade'; - const FACADE_PRODUCT_BUNDLE = 'product bundle facade'; - const FACADE_PRODUCT_RELATION = 'product relation facade'; - const FACADE_PRODUCT_SEARCH = 'product search facade'; + public const FACADE_AVAILABILITY = 'availability facade'; + public const FACADE_CATEGORY = 'category facade'; + public const FACADE_PRODUCT_BUNDLE = 'product bundle facade'; + public const FACADE_PRODUCT_RELATION = 'product relation facade'; + public const FACADE_PRODUCT_SEARCH = 'product search facade'; /** * @param \Spryker\Zed\Kernel\Container $container @@ -116,6 +118,9 @@ protected function getDataImporterPlugins(): array { return [ [new CategoryDataImportPlugin(), DataImportConfig::IMPORT_TYPE_CATEGORY_TEMPLATE], + new PriceProductDataImportPlugin(), + new ProductQuantityDataImportPlugin(), + new PriceProductDataImportPlugin(), ]; } diff --git a/src/Pyz/Zed/ProductPageSearch/ProductPageSearchDependencyProvider.php b/src/Pyz/Zed/ProductPageSearch/ProductPageSearchDependencyProvider.php index 5615e93a47..a03d702aa7 100644 --- a/src/Pyz/Zed/ProductPageSearch/ProductPageSearchDependencyProvider.php +++ b/src/Pyz/Zed/ProductPageSearch/ProductPageSearchDependencyProvider.php @@ -8,25 +8,41 @@ namespace Pyz\Zed\ProductPageSearch; use Spryker\Shared\ProductLabelSearch\ProductLabelSearchConfig; +use Spryker\Shared\ProductPageSearch\ProductPageSearchConfig; use Spryker\Shared\ProductReviewSearch\ProductReviewSearchConfig; -use Spryker\Zed\ProductLabelSearch\Communication\Plugin\PageDataExpander\ProductLabelDataExpanderPlugin; +use Spryker\Zed\ProductLabelSearch\Communication\Plugin\PageDataExpander\ProductLabelDataLoaderExpanderPlugin; +use Spryker\Zed\ProductLabelSearch\Communication\Plugin\PageDataLoader\ProductLabelDataLoaderPlugin; use Spryker\Zed\ProductLabelSearch\Communication\Plugin\PageMapExpander\ProductLabelMapExpanderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageDataExpander\PricePageDataLoaderExpanderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageDataExpander\ProductCategoryPageDataLoaderExpanderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageDataExpander\ProductImagePageDataLoaderExpanderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageDataLoader\CategoryPageDataLoaderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageDataLoader\ImagePageDataLoaderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageDataLoader\PricePageDataLoaderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageMapExpander\PricePageMapExpanderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageMapExpander\ProductCategoryPageMapExpanderPlugin; +use Spryker\Zed\ProductPageSearch\Communication\Plugin\PageMapExpander\ProductImagePageMapExpanderPlugin; use Spryker\Zed\ProductPageSearch\ProductPageSearchDependencyProvider as SprykerProductPageSearchDependencyProvider; -use Spryker\Zed\ProductReviewSearch\Communication\Plugin\PageDataExpander\ProductReviewDataExpanderPlugin; +use Spryker\Zed\ProductReviewSearch\Communication\Plugin\PageDataExpander\ProductReviewDataLoaderExpanderPlugin; +use Spryker\Zed\ProductReviewSearch\Communication\Plugin\PageDataLoader\ProductReviewPageDataLoaderPlugin; use Spryker\Zed\ProductReviewSearch\Communication\Plugin\PageMapExpander\ProductReviewMapExpanderPlugin; class ProductPageSearchDependencyProvider extends SprykerProductPageSearchDependencyProvider { - const PLUGIN_PRODUCT_LABEL_DATA = 'PLUGIN_PRODUCT_LABEL_DATA'; + public const PLUGIN_PRODUCT_LABEL_DATA = 'PLUGIN_PRODUCT_LABEL_DATA'; /** - * @return \Spryker\Zed\ProductPageSearch\Dependency\Plugin\ProductPageMapExpanderInterface[] + * @return \Spryker\Zed\ProductPageSearch\Dependency\Plugin\ProductPageDataExpanderInterface[] */ protected function getDataExpanderPlugins() { - $dataExpanderPlugins = parent::getDataExpanderPlugins(); - $dataExpanderPlugins[ProductLabelSearchConfig::PLUGIN_PRODUCT_LABEL_DATA] = new ProductLabelDataExpanderPlugin(); - $dataExpanderPlugins[ProductReviewSearchConfig::PLUGIN_PRODUCT_PAGE_RATING_DATA] = new ProductReviewDataExpanderPlugin(); + $dataExpanderPlugins = []; + + $dataExpanderPlugins[ProductLabelSearchConfig::PLUGIN_PRODUCT_LABEL_DATA] = new ProductLabelDataLoaderExpanderPlugin(); + $dataExpanderPlugins[ProductReviewSearchConfig::PLUGIN_PRODUCT_PAGE_RATING_DATA] = new ProductReviewDataLoaderExpanderPlugin(); + $dataExpanderPlugins[ProductPageSearchConfig::PLUGIN_PRODUCT_CATEGORY_PAGE_DATA] = new ProductCategoryPageDataLoaderExpanderPlugin(); + $dataExpanderPlugins[ProductPageSearchConfig::PLUGIN_PRODUCT_PRICE_PAGE_DATA] = new PricePageDataLoaderExpanderPlugin(); + $dataExpanderPlugins[ProductPageSearchConfig::PLUGIN_PRODUCT_IMAGE_PAGE_DATA] = new ProductImagePageDataLoaderExpanderPlugin(); return $dataExpanderPlugins; } @@ -36,10 +52,26 @@ protected function getDataExpanderPlugins() */ protected function getMapExpanderPlugins() { - $mapExpanderPlugins = parent::getMapExpanderPlugins(); - $mapExpanderPlugins[] = new ProductLabelMapExpanderPlugin(); - $mapExpanderPlugins[] = new ProductReviewMapExpanderPlugin(); + return [ + new PricePageMapExpanderPlugin(), + new ProductCategoryPageMapExpanderPlugin(), + new ProductImagePageMapExpanderPlugin(), + new ProductLabelMapExpanderPlugin(), + new ProductReviewMapExpanderPlugin(), + ]; + } - return $mapExpanderPlugins; + /** + * @return \Spryker\Zed\ProductPageSearchExtension\Dependency\Plugin\ProductPageDataLoaderPluginInterface[] + */ + protected function getDataLoaderPlugins() + { + return [ + new ImagePageDataLoaderPlugin(), + new CategoryPageDataLoaderPlugin(), + new PricePageDataLoaderPlugin(), + new ProductLabelDataLoaderPlugin(), + new ProductReviewPageDataLoaderPlugin(), + ]; } } diff --git a/src/Pyz/Zed/Synchronization/SynchronizationConfig.php b/src/Pyz/Zed/Synchronization/SynchronizationConfig.php new file mode 100644 index 0000000000..eb484dbbd2 --- /dev/null +++ b/src/Pyz/Zed/Synchronization/SynchronizationConfig.php @@ -0,0 +1,14 @@ +createCheckoutClientMock(); $checkoutResponseTransfer = new CheckoutResponseTransfer(); - $checkoutResponseTransfer->addError(new CheckoutErrorTransfer()); - $checkoutResponseTransfer->addError(new CheckoutErrorTransfer()); + $checkoutResponseTransfer->addError( + (new CheckoutErrorTransfer())->setMessage(static::MESSAGE_CHECKOUT_ERROR_TRANSFER) + ); + $checkoutResponseTransfer->addError( + (new CheckoutErrorTransfer())->setMessage(static::MESSAGE_CHECKOUT_ERROR_TRANSFER) + ); $checkoutClientMock->expects($this->once())->method('placeOrder')->willReturn($checkoutResponseTransfer); @@ -138,11 +146,21 @@ protected function createPlaceOrderStep(CheckoutPageToCheckoutClientInterface $c return new PlaceOrderStep( $checkoutClientMock, $flashMessengerMock, + static::LOCALE_NAME_PLACE_ORDER_STEP, + $this->createGlossaryStorageClientMock(), 'place_order', 'escape_route' ); } + /** + * @return \PHPUnit_Framework_MockObject_MockObject|\SprykerShop\Yves\CheckoutPage\Dependency\Client\CheckoutPageToGlossaryStorageClientInterface + */ + protected function createGlossaryStorageClientMock(): CheckoutPageToGlossaryStorageClientInterface + { + return $this->getMockBuilder(CheckoutPageToGlossaryStorageClientInterface::class)->getMock(); + } + /** * @return \Symfony\Component\HttpFoundation\Request */ diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/Customer.php b/tests/PyzTest/Yves/Customer/_support/PageObject/Customer.php index 1a5d6f4df0..c0a5249fa8 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/Customer.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/Customer.php @@ -11,8 +11,8 @@ class Customer { - const NEW_CUSTOMER_EMAIL = 'new-customer@spryker.com'; - const REGISTERED_CUSTOMER_EMAIL = 'registered-customer@spryker.com'; + public const NEW_CUSTOMER_EMAIL = 'new-customer@spryker.com'; + public const REGISTERED_CUSTOMER_EMAIL = 'registered-customer@spryker.com'; /** * @var array diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressPage.php index 3c0996342d..2a02a2f8fd 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressPage.php @@ -9,24 +9,24 @@ class CustomerAddressPage extends Customer { - const URL = '/customer/address/new'; + public const URL = '/customer/address/new'; - const FORM_FIELD_SELECTOR_SALUTATION = 'addressForm[salutation]'; - const FORM_FIELD_SELECTOR_FIRST_NAME = 'addressForm[first_name]'; - const FORM_FIELD_SELECTOR_LAST_NAME = 'addressForm[last_name]'; - const FORM_FIELD_SELECTOR_COMPANY = 'addressForm[company]'; - const FORM_FIELD_SELECTOR_PHONE = 'addressForm[phone]'; - const FORM_FIELD_SELECTOR_STREET = 'addressForm[address1]'; - const FORM_FIELD_SELECTOR_NUMBER = 'addressForm[address2]'; - const FORM_FIELD_SELECTOR_ADDITION_TO_ADDRESS = 'addressForm[address3]'; - const FORM_FIELD_SELECTOR_ZIP_CODE = 'addressForm[zip_code]'; - const FORM_FIELD_SELECTOR_CITY = 'addressForm[city]'; - const FORM_FIELD_SELECTOR_COUNTRY = 'addressForm[iso2_code]'; - const FORM_FIELD_SELECTOR_DEFAULT_SHIPPING = 'addressForm[is_default_shipping]'; - const FORM_FIELD_SELECTOR_DEFAULT_BILLING = 'addressForm[is_default_billing]'; + public const FORM_FIELD_SELECTOR_SALUTATION = 'addressForm[salutation]'; + public const FORM_FIELD_SELECTOR_FIRST_NAME = 'addressForm[first_name]'; + public const FORM_FIELD_SELECTOR_LAST_NAME = 'addressForm[last_name]'; + public const FORM_FIELD_SELECTOR_COMPANY = 'addressForm[company]'; + public const FORM_FIELD_SELECTOR_PHONE = 'addressForm[phone]'; + public const FORM_FIELD_SELECTOR_STREET = 'addressForm[address1]'; + public const FORM_FIELD_SELECTOR_NUMBER = 'addressForm[address2]'; + public const FORM_FIELD_SELECTOR_ADDITION_TO_ADDRESS = 'addressForm[address3]'; + public const FORM_FIELD_SELECTOR_ZIP_CODE = 'addressForm[zip_code]'; + public const FORM_FIELD_SELECTOR_CITY = 'addressForm[city]'; + public const FORM_FIELD_SELECTOR_COUNTRY = 'addressForm[iso2_code]'; + public const FORM_FIELD_SELECTOR_DEFAULT_SHIPPING = 'addressForm[is_default_shipping]'; + public const FORM_FIELD_SELECTOR_DEFAULT_BILLING = 'addressForm[is_default_billing]'; - const BUTTON_BACK = 'Back'; - const BUTTON_SUBMIT = 'Submit'; + public const BUTTON_BACK = 'Back'; + public const BUTTON_SUBMIT = 'Submit'; - const SUCCESS_MESSAGE = 'Address was successfully added'; + public const SUCCESS_MESSAGE = 'Address was successfully added'; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressesPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressesPage.php index 93cd1a6596..316c07ddcf 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressesPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerAddressesPage.php @@ -11,12 +11,12 @@ class CustomerAddressesPage extends Customer { - const URL = '/customer/address'; + public const URL = '/customer/address'; - const ADD_ADDRESS_LINK = '[data-qa="customer-add-new-address"]'; + public const ADD_ADDRESS_LINK = '[data-qa="customer-add-new-address"]'; - const ADDRESS_A = 'address a'; - const ADDRESS_B = 'address b'; + public const ADDRESS_A = 'address a'; + public const ADDRESS_B = 'address b'; /** * @var array diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLoginPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLoginPage.php index eadefc9157..7214e6cd93 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLoginPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLoginPage.php @@ -9,17 +9,17 @@ class CustomerLoginPage extends Customer { - const URL = '/register'; + public const URL = '/register'; - const FORGOT_PASSWORD_LINK = '[data-qa="customer-forgot-password-link"]'; + public const FORGOT_PASSWORD_LINK = '[data-qa="customer-forgot-password-link"]'; - const TITLE_LOGIN = 'Access your account'; - const TITLE_FORGOT_PASSWORD = 'Recover my password'; + public const TITLE_LOGIN = 'Access your account'; + public const TITLE_FORGOT_PASSWORD = 'Recover my password'; - const FORM_FIELD_SELECTOR_EMAIL = 'loginForm[email]'; - const FORM_FIELD_SELECTOR_PASSWORD = 'loginForm[password]'; + public const FORM_FIELD_SELECTOR_EMAIL = 'loginForm[email]'; + public const FORM_FIELD_SELECTOR_PASSWORD = 'loginForm[password]'; - const FORM_NAME_LOGIN_FORM = 'loginForm'; + public const FORM_NAME_LOGIN_FORM = 'loginForm'; - const LOGOUT_LINK = ['id' => 'logout-link']; + public const LOGOUT_LINK = ['id' => 'logout-link']; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLogoutPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLogoutPage.php index edfa275182..dc1f8aac50 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLogoutPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerLogoutPage.php @@ -9,5 +9,5 @@ class CustomerLogoutPage extends Customer { - const URL = '/logout'; + public const URL = '/logout'; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerNewsletterPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerNewsletterPage.php index e9368604b4..0b78d286ff 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerNewsletterPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerNewsletterPage.php @@ -9,14 +9,14 @@ class CustomerNewsletterPage extends Customer { - const URL = '/customer/newsletter'; + public const URL = '/customer/newsletter'; - const FORM_FIELD_SELECTOR_NEWSLETTER_SUBSCRIPTION = '[data-qa*="newsletterSubscriptionForm_subscribe"] label'; - const FORM_FIELD_SELECTOR_NEWSLETTER_SUBSCRIPTION_INPUT = '[data-qa*="newsletterSubscriptionForm_subscribe"] input'; + public const FORM_FIELD_SELECTOR_NEWSLETTER_SUBSCRIPTION = '[data-qa*="newsletterSubscriptionForm_subscribe"] label'; + public const FORM_FIELD_SELECTOR_NEWSLETTER_SUBSCRIPTION_INPUT = '[data-qa*="newsletterSubscriptionForm_subscribe"] input'; - const BUTTON_SUBMIT = 'Submit'; + public const BUTTON_SUBMIT = 'Submit'; - const SUCCESS_MESSAGE_SUBSCRIBED = 'You successfully subscribed to the newsletter'; - const SUCCESS_MESSAGE_UN_SUBSCRIBED = 'You successfully unsubscribed from the newsletter'; - const ERROR_MESSAGE = 'You are already subscribed to the newsletter'; + public const SUCCESS_MESSAGE_SUBSCRIBED = 'You successfully subscribed to the newsletter'; + public const SUCCESS_MESSAGE_UN_SUBSCRIBED = 'You successfully unsubscribed from the newsletter'; + public const ERROR_MESSAGE = 'You are already subscribed to the newsletter'; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOrdersPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOrdersPage.php index f238868225..bfc9d3047a 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOrdersPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOrdersPage.php @@ -9,5 +9,5 @@ class CustomerOrdersPage extends Customer { - const URL = '/customer/orders'; + public const URL = '/customer/orders'; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOverviewPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOverviewPage.php index 742c678801..8b47c74d96 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOverviewPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerOverviewPage.php @@ -9,20 +9,20 @@ class CustomerOverviewPage extends Customer { - const URL = '/customer/overview'; + public const URL = '/customer/overview'; - const BOX_HEADLINE_ORDERS = 'Last orders'; - const BOX_HEADLINE_PROFILE = 'Profile'; - const BOX_HEADLINE_NEWSLETTER = 'Newsletter'; - const NEWSLETTER_SUBSCRIBED = 'Newsletter subscribed'; - const BOX_HEADLINE_BILLING_ADDRESS = 'Default Billing Address'; - const BOX_HEADLINE_SHIPPING_ADDRESS = 'Default Shipping Address'; + public const BOX_HEADLINE_ORDERS = 'Last orders'; + public const BOX_HEADLINE_PROFILE = 'Profile'; + public const BOX_HEADLINE_NEWSLETTER = 'Newsletter'; + public const NEWSLETTER_SUBSCRIBED = 'Newsletter subscribed'; + public const BOX_HEADLINE_BILLING_ADDRESS = 'Default Billing Address'; + public const BOX_HEADLINE_SHIPPING_ADDRESS = 'Default Shipping Address'; - const LINK_TO_PROFILE_PAGE = '//a[@data-id="sidebar-profile"]';//'Profile'; - const LINK_TO_ADDRESSES_PAGE = '//a[@data-id="sidebar-address"]';//'Addresses'; - const LINK_TO_ORDERS_PAGE = '//a[@data-id="sidebar-order"]';//'Orders History'; - const LINK_TO_NEWSLETTER_PAGE = '//a[@data-id="sidebar-newsletter"]';//'Newsletter'; + public const LINK_TO_PROFILE_PAGE = '//a[@data-id="sidebar-profile"]';//'Profile'; + public const LINK_TO_ADDRESSES_PAGE = '//a[@data-id="sidebar-address"]';//'Addresses'; + public const LINK_TO_ORDERS_PAGE = '//a[@data-id="sidebar-order"]';//'Orders History'; + public const LINK_TO_NEWSLETTER_PAGE = '//a[@data-id="sidebar-newsletter"]';//'Newsletter'; - const INFO_TEXT_ADD_SHIPPING_ADDRESS = 'Please Specify Shipping Address'; - const INFO_TEXT_ADD_BILLING_ADDRESS = 'Please Specify Billing Address'; + public const INFO_TEXT_ADD_SHIPPING_ADDRESS = 'Please Specify Shipping Address'; + public const INFO_TEXT_ADD_BILLING_ADDRESS = 'Please Specify Billing Address'; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerPasswordForgottenPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerPasswordForgottenPage.php index 66f01b3a87..52cd16a6f1 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerPasswordForgottenPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerPasswordForgottenPage.php @@ -9,12 +9,12 @@ class CustomerPasswordForgottenPage extends Customer { - const URL = '/password/forgotten'; + public const URL = '/password/forgotten'; - const TITLE_FORGOT_PASSWORD = 'Recover my password'; + public const TITLE_FORGOT_PASSWORD = 'Recover my password'; - const BUTTON_BACK = 'Back'; - const BUTTON_SUBMIT = 'Submit'; + public const BUTTON_BACK = 'Back'; + public const BUTTON_SUBMIT = 'Submit'; - const EMAIL_FIELD_SELECTOR = 'forgottenPassword[email]'; + public const EMAIL_FIELD_SELECTOR = 'forgottenPassword[email]'; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerProfilePage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerProfilePage.php index 2a1118b1a1..c3da0ab6a0 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerProfilePage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerProfilePage.php @@ -9,30 +9,30 @@ class CustomerProfilePage extends Customer { - const URL = '/customer/profile'; + public const URL = '/customer/profile'; - const FORM_FIELD_SELECTOR_SALUTATION = 'profileForm[salutation]'; - const FORM_FIELD_SELECTOR_FIRST_NAME = 'profileForm[first_name]'; - const FORM_FIELD_SELECTOR_LAST_NAME = 'profileForm[last_name]'; - const FORM_FIELD_SELECTOR_EMAIL = 'profileForm[email]'; + public const FORM_FIELD_SELECTOR_SALUTATION = 'profileForm[salutation]'; + public const FORM_FIELD_SELECTOR_FIRST_NAME = 'profileForm[first_name]'; + public const FORM_FIELD_SELECTOR_LAST_NAME = 'profileForm[last_name]'; + public const FORM_FIELD_SELECTOR_EMAIL = 'profileForm[email]'; - const FORM_FIELD_SELECTOR_PASSWORD = 'profileForm[password][pass]'; - const FORM_FIELD_SELECTOR_PASSWORD_CONFIRM = 'profileForm[password][confirm]'; + public const FORM_FIELD_SELECTOR_PASSWORD = 'profileForm[password][pass]'; + public const FORM_FIELD_SELECTOR_PASSWORD_CONFIRM = 'profileForm[password][confirm]'; - const BUTTON_PROFILE_FORM_SUBMIT_SELECTOR = ['name' => 'profileForm']; - const BUTTON_PROFILE_FORM_SUBMIT_TEXT = 'Submit'; + public const BUTTON_PROFILE_FORM_SUBMIT_SELECTOR = ['name' => 'profileForm']; + public const BUTTON_PROFILE_FORM_SUBMIT_TEXT = 'Submit'; - const SUCCESS_MESSAGE = 'Profile was successfully saved'; - const ERROR_MESSAGE_EMAIL = 'Email already used'; + public const SUCCESS_MESSAGE = 'Profile was successfully saved'; + public const ERROR_MESSAGE_EMAIL = 'Email already used'; - const FORM_FIELD_CHANGE_PASSWORD_SELECTOR_PASSWORD = 'passwordForm[password]'; - const FORM_FIELD_CHANGE_PASSWORD_SELECTOR_NEW_PASSWORD = 'passwordForm[new_password][password]'; + public const FORM_FIELD_CHANGE_PASSWORD_SELECTOR_PASSWORD = 'passwordForm[password]'; + public const FORM_FIELD_CHANGE_PASSWORD_SELECTOR_NEW_PASSWORD = 'passwordForm[new_password][password]'; - const FORM_FIELD_CHANGE_PASSWORD_SELECTOR_NEW_PASSWORD_CONFIRM = 'passwordForm[new_password][confirm]'; - const BUTTON_PROFILE_FORM_CHANGE_PASSWORD_SUBMIT_SELECTOR = '[name=passwordForm] [data-qa="submit-button"]'; + public const FORM_FIELD_CHANGE_PASSWORD_SELECTOR_NEW_PASSWORD_CONFIRM = 'passwordForm[new_password][confirm]'; + public const BUTTON_PROFILE_FORM_CHANGE_PASSWORD_SUBMIT_SELECTOR = '[name=passwordForm] [data-qa="submit-button"]'; - const BUTTON_PROFILE_FORM_CHANGE_PASSWORD_SUBMIT_TEXT = 'Submit'; + public const BUTTON_PROFILE_FORM_CHANGE_PASSWORD_SUBMIT_TEXT = 'Submit'; - const SUCCESS_MESSAGE_CHANGE_PASSWORD = 'Password change successful'; - const ERROR_MESSAGE_CHANGE_PASSWORD = 'Passwords don\'t match'; + public const SUCCESS_MESSAGE_CHANGE_PASSWORD = 'Password change successful'; + public const ERROR_MESSAGE_CHANGE_PASSWORD = 'Passwords don\'t match'; } diff --git a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerRegistrationPage.php b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerRegistrationPage.php index 71ac16e0bf..638ac1283b 100644 --- a/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerRegistrationPage.php +++ b/tests/PyzTest/Yves/Customer/_support/PageObject/CustomerRegistrationPage.php @@ -9,19 +9,19 @@ class CustomerRegistrationPage extends Customer { - const URL = '/register'; + public const URL = '/register'; - const TITLE_CREATE_ACCOUNT = 'Create account'; + public const TITLE_CREATE_ACCOUNT = 'Create account'; - const BUTTON_REGISTER = 'Register'; + public const BUTTON_REGISTER = 'Register'; - const FORM_FIELD_SELECTOR_SALUTATION = 'registerForm[salutation]'; - const FORM_FIELD_SELECTOR_FIRST_NAME = 'registerForm[first_name]'; - const FORM_FIELD_SELECTOR_LAST_NAME = 'registerForm[last_name]'; - const FORM_FIELD_SELECTOR_EMAIL = 'registerForm[email]'; - const FORM_FIELD_SELECTOR_PASSWORD = 'registerForm[password][pass]'; - const FORM_FIELD_SELECTOR_PASSWORD_CONFIRM = 'registerForm[password][confirm]'; - const FORM_FIELD_SELECTOR_ACCEPT_TERMS = '[data-qa*="registerForm_accept_terms"] label'; + public const FORM_FIELD_SELECTOR_SALUTATION = 'registerForm[salutation]'; + public const FORM_FIELD_SELECTOR_FIRST_NAME = 'registerForm[first_name]'; + public const FORM_FIELD_SELECTOR_LAST_NAME = 'registerForm[last_name]'; + public const FORM_FIELD_SELECTOR_EMAIL = 'registerForm[email]'; + public const FORM_FIELD_SELECTOR_PASSWORD = 'registerForm[password][pass]'; + public const FORM_FIELD_SELECTOR_PASSWORD_CONFIRM = 'registerForm[password][confirm]'; + public const FORM_FIELD_SELECTOR_ACCEPT_TERMS = '[data-qa*="registerForm_accept_terms"] label'; - const SUCCESS_MESSAGE = 'Registration Successful'; + public const SUCCESS_MESSAGE = 'Registration Successful'; } diff --git a/tests/PyzTest/Yves/Newsletter/_support/PageObject/NewsletterSubscriptionHomePage.php b/tests/PyzTest/Yves/Newsletter/_support/PageObject/NewsletterSubscriptionHomePage.php index d3600f0cfd..a5ba212c99 100644 --- a/tests/PyzTest/Yves/Newsletter/_support/PageObject/NewsletterSubscriptionHomePage.php +++ b/tests/PyzTest/Yves/Newsletter/_support/PageObject/NewsletterSubscriptionHomePage.php @@ -9,13 +9,13 @@ class NewsletterSubscriptionHomePage { - const NEW_EMAIL = 'foo@bar.com'; - const EXISTING_EMAIL = 'bar@foo.com'; + public const NEW_EMAIL = 'foo@bar.com'; + public const EXISTING_EMAIL = 'bar@foo.com'; - const FORM_SELECTOR = ['id' => 'newsletterSubscriptionForm_subscribe']; + public const FORM_SELECTOR = ['id' => 'newsletterSubscriptionForm_subscribe']; - const ERROR_MESSAGE = 'You are already subscribed to the newsletter'; - const SUCCESS_MESSAGE = 'You successfully subscribed to the newsletter'; + public const ERROR_MESSAGE = 'You are already subscribed to the newsletter'; + public const SUCCESS_MESSAGE = 'You successfully subscribed to the newsletter'; - const FORM_SUBMIT = 'Subscribe'; + public const FORM_SUBMIT = 'Subscribe'; } diff --git a/tests/PyzTest/Yves/Product/_support/PageObject/ProductDetailPage.php b/tests/PyzTest/Yves/Product/_support/PageObject/ProductDetailPage.php index 50bb5b62fa..0b384e3c0f 100644 --- a/tests/PyzTest/Yves/Product/_support/PageObject/ProductDetailPage.php +++ b/tests/PyzTest/Yves/Product/_support/PageObject/ProductDetailPage.php @@ -9,5 +9,5 @@ class ProductDetailPage { - const ADD_TO_CART_XPATH = '[data-qa*="add-to-cart-button"]'; + public const ADD_TO_CART_XPATH = '[data-qa*="add-to-cart-button"]'; } diff --git a/tests/PyzTest/Zed/Availability/_support/PageObject/AvailabilityViewPage.php b/tests/PyzTest/Zed/Availability/_support/PageObject/AvailabilityViewPage.php index 0209345b57..19f9c20521 100644 --- a/tests/PyzTest/Zed/Availability/_support/PageObject/AvailabilityViewPage.php +++ b/tests/PyzTest/Zed/Availability/_support/PageObject/AvailabilityViewPage.php @@ -9,6 +9,6 @@ class AvailabilityViewPage { - const VIEW_PRODUCT_AVAILABILITY_URL = '/availability-gui/index/view?id-product=%d&id-store=1'; - const AVAILABILITY_RESERVATION_XPATH = '//*[@id="availability-table"]/tbody/tr/td[5]'; + public const VIEW_PRODUCT_AVAILABILITY_URL = '/availability-gui/index/view?id-product=%d&id-store=1'; + public const AVAILABILITY_RESERVATION_XPATH = '//*[@id="availability-table"]/tbody/tr/td[5]'; } diff --git a/tests/PyzTest/Zed/CmsGui/Presentation/CmsGuiPageListCest.php b/tests/PyzTest/Zed/CmsGui/Presentation/CmsGuiPageListCest.php index cefbcec1e1..97f311ad75 100644 --- a/tests/PyzTest/Zed/CmsGui/Presentation/CmsGuiPageListCest.php +++ b/tests/PyzTest/Zed/CmsGui/Presentation/CmsGuiPageListCest.php @@ -7,8 +7,6 @@ namespace PyzTest\Zed\CmsGui\Presentation; -; - use PyzTest\Zed\CmsGui\CmsGuiPresentationTester; use PyzTest\Zed\CmsGui\PageObject\CmsListPage; diff --git a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreateGlossaryPage.php b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreateGlossaryPage.php index 1b079f79d9..049fbe275e 100644 --- a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreateGlossaryPage.php +++ b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreateGlossaryPage.php @@ -9,7 +9,7 @@ class CmsCreateGlossaryPage { - const URL = 'cms-gui/create-glossary/index?id-cms-page=%d'; + public const URL = 'cms-gui/create-glossary/index?id-cms-page=%d'; /** * @var array diff --git a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreatePage.php b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreatePage.php index e49b716c8d..f44a9cd97e 100644 --- a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreatePage.php +++ b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsCreatePage.php @@ -9,8 +9,8 @@ class CmsCreatePage { - const URL = '/cms-gui/create-page'; - const PAGE_CREATED_SUCCESS_MESSAGE = 'Page was created successfully.'; + public const URL = '/cms-gui/create-page'; + public const PAGE_CREATED_SUCCESS_MESSAGE = 'Page was created successfully.'; /** * @var array diff --git a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsEditPage.php b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsEditPage.php index e7087b3757..75671b67fc 100644 --- a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsEditPage.php +++ b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsEditPage.php @@ -9,8 +9,8 @@ class CmsEditPage { - const URL = 'cms-gui/edit-page?id-cms-page=%d'; + public const URL = 'cms-gui/edit-page?id-cms-page=%d'; - const PAGE_ACTIVATE_SUCCESS_MESSAGE = 'Page was created successfully.'; - const PAGE_PUBLISH_SUCCESS_MESSAGE = 'Page with version 1 successfully published.'; + public const PAGE_ACTIVATE_SUCCESS_MESSAGE = 'Page was created successfully.'; + public const PAGE_PUBLISH_SUCCESS_MESSAGE = 'Page with version 1 successfully published.'; } diff --git a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsListPage.php b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsListPage.php index 465b95304c..44930f8920 100644 --- a/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsListPage.php +++ b/tests/PyzTest/Zed/CmsGui/_support/PageObject/CmsListPage.php @@ -9,6 +9,6 @@ class CmsListPage { - const URL = '/cms-gui/list-page'; - const PAGE_LIST_TABLE_XPATH = '//*[@class="dataTables_scrollBody"]/table/tbody/tr[1]/td[1]'; + public const URL = '/cms-gui/list-page'; + public const PAGE_LIST_TABLE_XPATH = '//*[@class="dataTables_scrollBody"]/table/tbody/tr[1]/td[1]'; } diff --git a/tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryk.yml b/tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryk.yml new file mode 100644 index 0000000000..c2a4bb38e1 --- /dev/null +++ b/tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryk.yml @@ -0,0 +1,7 @@ +arguments: + repository: + value: spryker/spryker + + targetPath: + value: "vendor/%repository%/Bundles/" + type: prepend diff --git a/tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryks/dummySpryk.yml b/tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryks/dummySpryk.yml new file mode 100644 index 0000000000..ed83db69d0 --- /dev/null +++ b/tests/PyzTest/Zed/Console/_data/cli_sandbox/config/spryk/spryks/dummySpryk.yml @@ -0,0 +1,18 @@ +spryk: structure +description: "Creates a new *module* structure." +priority: 1 + +arguments: + module: + type: NewModuleType + + organization: + default: Spryker + + targetPath: + default: "%module%/" + + directories: + value: + - "src/%organization%/" + diff --git a/tests/PyzTest/Zed/Console/_support/Helper/ConsoleHelper.php b/tests/PyzTest/Zed/Console/_support/Helper/ConsoleHelper.php index f03ad44d88..0881dcfd48 100644 --- a/tests/PyzTest/Zed/Console/_support/Helper/ConsoleHelper.php +++ b/tests/PyzTest/Zed/Console/_support/Helper/ConsoleHelper.php @@ -13,8 +13,8 @@ class ConsoleHelper extends Module { - const RUNNER = 'console_runner.php'; - const SANDBOX_DIR = 'cli_sandbox/'; + public const RUNNER = 'console_runner.php'; + public const SANDBOX_DIR = 'cli_sandbox/'; /** * @var array diff --git a/tests/PyzTest/Zed/NavigationGui/Presentation/NavigationTreeCest.php b/tests/PyzTest/Zed/NavigationGui/Presentation/NavigationTreeCest.php index d418f33dd6..770b91c3a7 100644 --- a/tests/PyzTest/Zed/NavigationGui/Presentation/NavigationTreeCest.php +++ b/tests/PyzTest/Zed/NavigationGui/Presentation/NavigationTreeCest.php @@ -264,7 +264,6 @@ public function testDeleteNavigationNode(NavigationGuiPresentationTester $i) * TODO: once we have Selenium, enable this test case. */ return; -// // $i->wantTo('Remove child node.'); // $i->expect('Node should be removed from Zed.'); // diff --git a/tests/PyzTest/Zed/NavigationGui/_support/NavigationGuiPresentationTester.php b/tests/PyzTest/Zed/NavigationGui/_support/NavigationGuiPresentationTester.php index 949b31ad49..9e44519454 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/NavigationGuiPresentationTester.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/NavigationGuiPresentationTester.php @@ -38,21 +38,21 @@ class NavigationGuiPresentationTester extends Actor { use _generated\NavigationGuiPresentationTesterActions; - const ROOT_NODE_ANCHOR_SELECTOR = '#navigation-node-0_anchor'; - const CHILD_NODE_ANCHOR_SELECTOR = '#navigation-node-%d_anchor'; - const NAVIGATION_NODE_SELECTOR = '.jstree-node'; - const NAVIGATION_TREE_SELECTOR = '#navigation-tree'; - const NAVIGATION_TREE_SAVE_BUTTON_SELECTOR = '#navigation-tree-save-btn'; - const REMOVE_NODE_BUTTON_SELECTOR = '#remove-selected-node-btn'; - const ADD_CHILD_NODE_BUTTON_SELECTOR = '#add-child-node-btn'; - const LOCALIZED_FORM_CONTAINER_SELECTOR = '#localized_attributes_container-%s .collapse-link'; - const NODE_CHILD_SELECTOR = '#navigation-node-%d #navigation-node-%d'; - const NODE_NAME_CHILD_SELECTOR = "//*[@id=\"navigation-node-%d\"]//*[text()[contains(.,'%s')]]"; - const NODE_FORM_IFRAME_NAME = 'navigation-node-form-iframe'; - const SUCCESS_MESSAGE_SELECTOR = '.flash-messages .alert-success'; - const SWEET_ALERT_SELECTOR = '.sweet-alert'; - const SWEET_ALERT_CONFIRM_SELECTOR = '.sweet-alert button.confirm'; - const NODE_FORM_SELECTOR = 'form'; + public const ROOT_NODE_ANCHOR_SELECTOR = '#navigation-node-0_anchor'; + public const CHILD_NODE_ANCHOR_SELECTOR = '#navigation-node-%d_anchor'; + public const NAVIGATION_NODE_SELECTOR = '.jstree-node'; + public const NAVIGATION_TREE_SELECTOR = '#navigation-tree'; + public const NAVIGATION_TREE_SAVE_BUTTON_SELECTOR = '#navigation-tree-save-btn'; + public const REMOVE_NODE_BUTTON_SELECTOR = '#remove-selected-node-btn'; + public const ADD_CHILD_NODE_BUTTON_SELECTOR = '#add-child-node-btn'; + public const LOCALIZED_FORM_CONTAINER_SELECTOR = '#localized_attributes_container-%s .collapse-link'; + public const NODE_CHILD_SELECTOR = '#navigation-node-%d #navigation-node-%d'; + public const NODE_NAME_CHILD_SELECTOR = "//*[@id=\"navigation-node-%d\"]//*[text()[contains(.,'%s')]]"; + public const NODE_FORM_IFRAME_NAME = 'navigation-node-form-iframe'; + public const SUCCESS_MESSAGE_SELECTOR = '.flash-messages .alert-success'; + public const SWEET_ALERT_SELECTOR = '.sweet-alert'; + public const SWEET_ALERT_CONFIRM_SELECTOR = '.sweet-alert button.confirm'; + public const NODE_FORM_SELECTOR = 'form'; /** * @param \Codeception\Scenario $scenario @@ -384,7 +384,6 @@ public function testDeleteNavigationNode() * TODO: once we have Selenium, enable this test case. */ return; -// // $i->wantTo('Remove child node.'); // $i->expect('Node should be removed from Zed.'); // diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationCreatePage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationCreatePage.php index aac58b00bf..583474c02e 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationCreatePage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationCreatePage.php @@ -9,6 +9,6 @@ class NavigationCreatePage { - const URL = '/navigation-gui/create'; - const MESSAGE_SUCCESS = '/Navigation element (\d+) was created successfully\\./'; + public const URL = '/navigation-gui/create'; + public const MESSAGE_SUCCESS = '/Navigation element (\d+) was created successfully\\./'; } diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationDeletePage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationDeletePage.php index e3f3886e29..5401a63d91 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationDeletePage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationDeletePage.php @@ -9,6 +9,6 @@ class NavigationDeletePage { - const URL = '/navigation-gui/delete?id-navigation=%d'; - const MESSAGE_SUCCESS = '/Navigation element (\d+) was deleted successfully\\./'; + public const URL = '/navigation-gui/delete?id-navigation=%d'; + public const MESSAGE_SUCCESS = '/Navigation element (\d+) was deleted successfully\\./'; } diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeCreatePage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeCreatePage.php index e9475caf67..aba22780f0 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeCreatePage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeCreatePage.php @@ -9,6 +9,6 @@ class NavigationNodeCreatePage { - const URL = '/navigation-gui/node/create'; - const MESSAGE_SUCCESS = '/Navigation node "([^"]*)" was created successfully\\./'; + public const URL = '/navigation-gui/node/create'; + public const MESSAGE_SUCCESS = '/Navigation node "([^"]*)" was created successfully\\./'; } diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeDeletePage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeDeletePage.php index 72fe38331b..833c1d01ba 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeDeletePage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeDeletePage.php @@ -9,5 +9,5 @@ class NavigationNodeDeletePage { - const MESSAGE_SUCCESS = '/Navigation node "([^"]*)" was deleted successfully./'; + public const MESSAGE_SUCCESS = '/Navigation node "([^"]*)" was deleted successfully./'; } diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeUpdatePage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeUpdatePage.php index d8118d68d9..45e7803305 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeUpdatePage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationNodeUpdatePage.php @@ -9,5 +9,5 @@ class NavigationNodeUpdatePage { - const MESSAGE_SUCCESS = '/Navigation node "([^"]*)" was updated successfully./'; + public const MESSAGE_SUCCESS = '/Navigation node "([^"]*)" was updated successfully./'; } diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationPage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationPage.php index f7485c214a..6cc56f7476 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationPage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationPage.php @@ -9,7 +9,7 @@ class NavigationPage { - const URL = '/navigation-gui'; - const PAGE_LIST_TABLE_XPATH = '//*[@class="dataTables_scrollBody"]/table/tbody/tr[1]/td[1]'; - const MESSAGE_TREE_UPDATE_SUCCESS = 'Navigation tree updated successfully.'; + public const URL = '/navigation-gui'; + public const PAGE_LIST_TABLE_XPATH = '//*[@class="dataTables_scrollBody"]/table/tbody/tr[1]/td[1]'; + public const MESSAGE_TREE_UPDATE_SUCCESS = 'Navigation tree updated successfully.'; } diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationStatusTogglePage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationStatusTogglePage.php index b6d11a59f5..c7bc8d5694 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationStatusTogglePage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationStatusTogglePage.php @@ -9,6 +9,6 @@ class NavigationStatusTogglePage { - const URL = '/navigation-gui/toggle-status?id-navigation=%d'; - const MESSAGE_ACTIVE_SUCCESS = '/Navigation element (\d+) was activated successfully\\./'; + public const URL = '/navigation-gui/toggle-status?id-navigation=%d'; + public const MESSAGE_ACTIVE_SUCCESS = '/Navigation element (\d+) was activated successfully\\./'; } diff --git a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationUpdatePage.php b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationUpdatePage.php index e5f4b79880..70ee20567f 100644 --- a/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationUpdatePage.php +++ b/tests/PyzTest/Zed/NavigationGui/_support/PageObject/NavigationUpdatePage.php @@ -9,6 +9,6 @@ class NavigationUpdatePage { - const URL = '/navigation-gui/update?id-navigation=%d'; - const MESSAGE_SUCCESS = '/Navigation element (\d+) was updated successfully\\./'; + public const URL = '/navigation-gui/update?id-navigation=%d'; + public const MESSAGE_SUCCESS = '/Navigation element (\d+) was updated successfully\\./'; } diff --git a/tests/PyzTest/Zed/Product/Business/ProductTestAbstract.php b/tests/PyzTest/Zed/Product/Business/ProductTestAbstract.php index b6509fa4ec..de6ab8f260 100644 --- a/tests/PyzTest/Zed/Product/Business/ProductTestAbstract.php +++ b/tests/PyzTest/Zed/Product/Business/ProductTestAbstract.php @@ -47,34 +47,34 @@ abstract class ProductTestAbstract extends Unit { - const PRODUCT_ABSTRACT_NAME = [ + public const PRODUCT_ABSTRACT_NAME = [ 'en_US' => 'Product name en_US', 'de_DE' => 'Product name de_DE', ]; - const PRODUCT_CONCRETE_NAME = [ + public const PRODUCT_CONCRETE_NAME = [ 'en_US' => 'Product concrete name en_US', 'de_DE' => 'Product concrete name de_DE', ]; - const UPDATED_PRODUCT_ABSTRACT_NAME = [ + public const UPDATED_PRODUCT_ABSTRACT_NAME = [ 'en_US' => 'Updated Product name en_US', 'de_DE' => 'Updated Product name de_DE', ]; - const UPDATED_PRODUCT_CONCRETE_NAME = [ + public const UPDATED_PRODUCT_CONCRETE_NAME = [ 'en_US' => 'Updated Product concrete name en_US', 'de_DE' => 'Updated Product concrete name de_DE', ]; - const ABSTRACT_SKU = 'foo'; - const CONCRETE_SKU = 'foo-concrete'; - const IMAGE_SET_NAME = 'Default'; - const IMAGE_URL_LARGE = 'large'; - const IMAGE_URL_SMALL = 'small'; - const PRICE = 1234; - const STOCK_QUANTITY = 99; - const CURRENCY_ISO_CODE = 'EUR'; + public const ABSTRACT_SKU = 'foo'; + public const CONCRETE_SKU = 'foo-concrete'; + public const IMAGE_SET_NAME = 'Default'; + public const IMAGE_URL_LARGE = 'large'; + public const IMAGE_URL_SMALL = 'small'; + public const PRICE = 1234; + public const STOCK_QUANTITY = 99; + public const CURRENCY_ISO_CODE = 'EUR'; /** * @var \Generated\Shared\Transfer\LocaleTransfer[] diff --git a/tests/PyzTest/Zed/ProductOption/Business/ProductOptionFacadeAggregatorTest.php b/tests/PyzTest/Zed/ProductOption/Business/ProductOptionFacadeAggregatorTest.php index d71d08b6fa..a4f57bbb25 100644 --- a/tests/PyzTest/Zed/ProductOption/Business/ProductOptionFacadeAggregatorTest.php +++ b/tests/PyzTest/Zed/ProductOption/Business/ProductOptionFacadeAggregatorTest.php @@ -61,7 +61,7 @@ public function testSaveSaleOrderProductOptionsShouldPersistProvidedOptions() $productOptionTransfer = $orderTransfer->getItems()[0]->getProductOptions()[0]; $this->assertNotEmpty($salesOrderItemOptionEntity); - $this->assertSame($salesOrderItemOptionEntity->getGrossPrice(), $productOptionTransfer->getUnitGrossPrice()); + $this->assertSame($salesOrderItemOptionEntity->getGrossPrice(), $productOptionTransfer->getSumGrossPrice()); } /** @@ -212,7 +212,7 @@ protected function createOrderTransferWithRelatedPersistedData($createOptions = $itemTransfer->setIdSalesOrderItem($salesOrderItemEntity->getIdSalesOrderItem()); $productOptionTransfer = new ProductOptionTransfer(); - $productOptionTransfer->setUnitGrossPrice(200); + $productOptionTransfer->setSumGrossPrice(200); $productOptionTransfer->setValue('value'); $productOptionTransfer->setGroupName('group name'); $productOptionTransfer->setTaxRate(19); diff --git a/tests/PyzTest/Zed/ProductRelation/_support/PageObject/ProductRelationCreatePage.php b/tests/PyzTest/Zed/ProductRelation/_support/PageObject/ProductRelationCreatePage.php index 88206e9806..1f0ba09caf 100644 --- a/tests/PyzTest/Zed/ProductRelation/_support/PageObject/ProductRelationCreatePage.php +++ b/tests/PyzTest/Zed/ProductRelation/_support/PageObject/ProductRelationCreatePage.php @@ -9,7 +9,7 @@ class ProductRelationCreatePage { - const URL = 'product-relation/create/index'; + public const URL = 'product-relation/create/index'; - const PRODUCT_SUCCESS_FULLY_CREATED_MESSAGE = 'Product relation successfully created'; + public const PRODUCT_SUCCESS_FULLY_CREATED_MESSAGE = 'Product relation successfully created'; } diff --git a/tests/PyzTest/Zed/PropelOrm/Business/PropelOrmTransactionHandlerTest.php b/tests/PyzTest/Zed/PropelOrm/Business/PropelOrmTransactionHandlerTest.php index 2f672be49e..e8684613df 100644 --- a/tests/PyzTest/Zed/PropelOrm/Business/PropelOrmTransactionHandlerTest.php +++ b/tests/PyzTest/Zed/PropelOrm/Business/PropelOrmTransactionHandlerTest.php @@ -25,8 +25,8 @@ */ class PropelOrmTransactionHandlerTest extends Unit { - const TEST_SKU = 'foo'; - const TEST_NAME = 'Foo Bar'; + public const TEST_SKU = 'foo'; + public const TEST_NAME = 'Foo Bar'; /** * @var \Spryker\Zed\Product\Persistence\ProductQueryContainerInterface diff --git a/tests/PyzTest/Zed/Sales/_support/PageObject/OrderDetailPage.php b/tests/PyzTest/Zed/Sales/_support/PageObject/OrderDetailPage.php index 8b3673b8ed..570e4ae322 100644 --- a/tests/PyzTest/Zed/Sales/_support/PageObject/OrderDetailPage.php +++ b/tests/PyzTest/Zed/Sales/_support/PageObject/OrderDetailPage.php @@ -9,9 +9,9 @@ class OrderDetailPage { - const OMS_EVENT_TRIGGER_XPATH = '//a[@data-event="%s"]'; + public const OMS_EVENT_TRIGGER_XPATH = '//a[@data-event="%s"]'; - const ORDER_DETAIL_PAGE_URL = '/sales/detail?id-sales-order=%d'; + public const ORDER_DETAIL_PAGE_URL = '/sales/detail?id-sales-order=%d'; - const ORDER_DETAIL_TABLE_FIRST_ORDER_ID_XPATH = '//*[@class="dataTables_scrollBody"]/table/tbody/tr[1]/td[1]'; + public const ORDER_DETAIL_TABLE_FIRST_ORDER_ID_XPATH = '//*[@class="dataTables_scrollBody"]/table/tbody/tr[1]/td[1]'; } diff --git a/tests/PyzTest/Zed/Sales/_support/PageObject/OrderListPage.php b/tests/PyzTest/Zed/Sales/_support/PageObject/OrderListPage.php index 36bd06382f..7a71131590 100644 --- a/tests/PyzTest/Zed/Sales/_support/PageObject/OrderListPage.php +++ b/tests/PyzTest/Zed/Sales/_support/PageObject/OrderListPage.php @@ -9,5 +9,5 @@ class OrderListPage { - const ORDER_LIST_URL = '/sales'; + public const ORDER_LIST_URL = '/sales'; } diff --git a/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateCreatePage.php b/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateCreatePage.php index b8d6a3d40f..7652a295dd 100644 --- a/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateCreatePage.php +++ b/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateCreatePage.php @@ -9,31 +9,31 @@ class TaxRateCreatePage { - const URL = '/tax/rate/create'; + public const URL = '/tax/rate/create'; - const HEADER = 'Create new tax rate'; - const SELECTOR_HEADER = 'h2'; + public const HEADER = 'Create new tax rate'; + public const SELECTOR_HEADER = 'h2'; - const MESSAGE_SUCCESSFUL_ALERT_CREATION = '/Tax rate [0-9]+ was created successfully\\./'; - const ERROR_MESSAGE_NAME_SHOULD_NOT_BE_BLANK = 'This value should not be blank.'; - const ERROR_MESSAGE_COUNTRY_SHOULD_NOT_BE_BLANK = 'Select country.'; - const ERROR_MESSAGE_PERCENTAGE_SHOULD_BE_VALID_NUMBER = 'This value should be a valid number.'; - const ERROR_MESSAGE_TAX_RATE_ALREADY_EXISTS = 'Tax rate with provided name, percentage and country already exists.'; - const MESSAGE_SUCCESSFUL_ALERT_UPDATE = 'Tax rate successfully updated.'; + public const MESSAGE_SUCCESSFUL_ALERT_CREATION = '/Tax rate [0-9]+ was created successfully\\./'; + public const ERROR_MESSAGE_NAME_SHOULD_NOT_BE_BLANK = 'This value should not be blank.'; + public const ERROR_MESSAGE_COUNTRY_SHOULD_NOT_BE_BLANK = 'Select country.'; + public const ERROR_MESSAGE_PERCENTAGE_SHOULD_BE_VALID_NUMBER = 'This value should be a valid number.'; + public const ERROR_MESSAGE_TAX_RATE_ALREADY_EXISTS = 'Tax rate with provided name, percentage and country already exists.'; + public const MESSAGE_SUCCESSFUL_ALERT_UPDATE = 'Tax rate successfully updated.'; - const SELECTOR_NAME = '#tax_rate_name'; - const SELECTOR_COUNTRY = '#tax_rate_fkCountry'; - const SELECTOR_PERCENTAGE = '#tax_rate_rate'; - const SELECTOR_DELETE_FROM_EDIT = 'i.fa.fa-trash'; + public const SELECTOR_NAME = '#tax_rate_name'; + public const SELECTOR_COUNTRY = '#tax_rate_fkCountry'; + public const SELECTOR_PERCENTAGE = '#tax_rate_rate'; + public const SELECTOR_DELETE_FROM_EDIT = 'i.fa.fa-trash'; - const SELECTOR_SAVE = 'input.btn.btn-primary'; + public const SELECTOR_SAVE = 'input.btn.btn-primary'; - const SELECTOR_LIST_OF_TAX_RATES_BUTTON = '//div[@class="title-action"]/a'; + public const SELECTOR_LIST_OF_TAX_RATES_BUTTON = '//div[@class="title-action"]/a'; - const TAX_RATE_VALID = 'validTaxRate'; - const TAX_RATE_INVALID = 'invalidTaxRate'; - const TAX_RATE_VALID_NOT_CREATED = 'validTaxRateNotCreated'; - const TAX_RATE_VALID_EDITED = 'validTaxRateEdited'; + public const TAX_RATE_VALID = 'validTaxRate'; + public const TAX_RATE_INVALID = 'invalidTaxRate'; + public const TAX_RATE_VALID_NOT_CREATED = 'validTaxRateNotCreated'; + public const TAX_RATE_VALID_EDITED = 'validTaxRateEdited'; /** * @var array diff --git a/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateListPage.php b/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateListPage.php index 6886fb859d..02d2883f79 100644 --- a/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateListPage.php +++ b/tests/PyzTest/Zed/Tax/_support/PageObject/TaxRateListPage.php @@ -9,13 +9,13 @@ class TaxRateListPage { - const URL = '/tax/rate/list'; + public const URL = '/tax/rate/list'; - const SELECTOR_DATA_TABLE = '.dataTables_wrapper'; + public const SELECTOR_DATA_TABLE = '.dataTables_wrapper'; - const SELECTOR_SEARCH = 'input.form-control.input-sm'; - const SELECTOR_DELETE = 'Delete'; - const SELECTOR_EDIT = 'i.fa.fa-pencil-square-o'; + public const SELECTOR_SEARCH = 'input.form-control.input-sm'; + public const SELECTOR_DELETE = 'Delete'; + public const SELECTOR_EDIT = 'i.fa.fa-pencil-square-o'; - const MESSAGE_EMPTY_TABLE = 'No matching records found'; + public const MESSAGE_EMPTY_TABLE = 'No matching records found'; } diff --git a/tests/PyzTest/Zed/Tax/_support/TaxPresentationTester.php b/tests/PyzTest/Zed/Tax/_support/TaxPresentationTester.php index 4e0c58b6b0..cae916599e 100644 --- a/tests/PyzTest/Zed/Tax/_support/TaxPresentationTester.php +++ b/tests/PyzTest/Zed/Tax/_support/TaxPresentationTester.php @@ -46,7 +46,7 @@ public function __construct(Scenario $scenario) /** * @param string $taxRateName * - * @return $this + * @return void */ public function createTaxRate($taxRateName) { @@ -78,7 +78,7 @@ protected function fillTaxRateForm($taxRateName) /** * @param string $taxRateName * - * @return $this + * @return void */ public function createTaxRateWithoutSaving($taxRateName) { @@ -89,7 +89,7 @@ public function createTaxRateWithoutSaving($taxRateName) /** * @param string $taxRateName * - * @return $this + * @return void */ public function searchForTaxRate($taxRateName) { @@ -101,7 +101,7 @@ public function searchForTaxRate($taxRateName) /** * @param string $taxRateName * - * @return $this + * @return void */ public function deleteTaxRate($taxRateName) { @@ -113,7 +113,7 @@ public function deleteTaxRate($taxRateName) } /** - * @return $this + * @return void */ public function seeErrorMessages() { @@ -127,7 +127,7 @@ public function seeErrorMessages() /** * @param string $taxRateName * - * @return $this + * @return void */ public function createOneAndTheSameTaxRate($taxRateName) { @@ -158,7 +158,7 @@ public function createOneAndTheSameTaxRate($taxRateName) /** * @param string $taxRateName * - * @return $this + * @return void */ public function editTaxRateWithValidData($taxRateName) { @@ -172,7 +172,7 @@ public function editTaxRateWithValidData($taxRateName) } /** - * @return $this + * @return void */ public function deleteTaxRateFromEditForm() { From 28d86e14727d74a13f17b451e10c33c4e27d12f5 Mon Sep 17 00:00:00 2001 From: Michael Koziy Date: Thu, 27 Sep 2018 16:54:44 +0200 Subject: [PATCH 02/91] SUITE-713 Implemented an agent assist --- .../ShopApplication/ShopApplicationDependencyProvider.php | 2 ++ src/Pyz/Yves/ShopApplication/YvesBootstrap.php | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php b/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php index 14128ba4da..580451955c 100644 --- a/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php +++ b/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php @@ -7,6 +7,7 @@ namespace Pyz\Yves\ShopApplication; +use SprykerShop\Yves\AgentWidget\Plugin\Widget\AgentWidgetPlugin; use SprykerShop\Yves\CurrencyWidget\Plugin\ShopUi\CurrencyWidgetPlugin; use SprykerShop\Yves\CustomerPage\Plugin\CustomerPage\CustomerNavigationWidgetPlugin; use SprykerShop\Yves\LanguageSwitcherWidget\Plugin\ShopUi\LanguageSwitcherWidgetPlugin; @@ -31,6 +32,7 @@ protected function getGlobalWidgetPlugins(): array ProductGroupWidgetPlugin::class, PriceModeSwitcherWidgetPlugin::class, CustomerNavigationWidgetPlugin::class, + AgentWidgetPlugin::class, #AgentFeature ]; } } diff --git a/src/Pyz/Yves/ShopApplication/YvesBootstrap.php b/src/Pyz/Yves/ShopApplication/YvesBootstrap.php index 6f0de42a48..0e71cd5277 100644 --- a/src/Pyz/Yves/ShopApplication/YvesBootstrap.php +++ b/src/Pyz/Yves/ShopApplication/YvesBootstrap.php @@ -34,6 +34,9 @@ use Spryker\Yves\Twig\Plugin\ServiceProvider\TwigServiceProvider as SprykerTwigServiceProvider; use Spryker\Yves\ZedRequest\Plugin\ServiceProvider\ZedRequestHeaderServiceProvider; use Spryker\Yves\ZedRequest\Plugin\ServiceProvider\ZedRequestLogServiceProvider; +use SprykerShop\Yves\AgentPage\Plugin\Provider\AgentPageControllerProvider; +use SprykerShop\Yves\AgentPage\Plugin\Provider\AgentPageSecurityServiceProvider; +use SprykerShop\Yves\AgentWidget\Plugin\Provider\AgentWidgetControllerProvider; use SprykerShop\Yves\CalculationPage\Plugin\Provider\CalculationPageControllerProvider; use SprykerShop\Yves\CartNoteWidget\Plugin\Provider\CartNoteWidgetControllerProvider; use SprykerShop\Yves\CartPage\Plugin\Provider\CartControllerProvider; @@ -62,7 +65,6 @@ use SprykerShop\Yves\ProductNewPage\Plugin\Provider\ProductNewPageControllerProvider; use SprykerShop\Yves\ProductReviewWidget\Plugin\Provider\ProductReviewControllerProvider; use SprykerShop\Yves\ProductSetListPage\Plugin\Provider\ProductSetListPageControllerProvider; -use SprykerShop\Yves\QuickOrderPage\Plugin\Provider\QuickOrderPageControllerProvider; use SprykerShop\Yves\ShopApplication\Plugin\Provider\AutoloaderCacheServiceProvider; use SprykerShop\Yves\ShopApplication\Plugin\Provider\ShopApplicationServiceProvider; use SprykerShop\Yves\ShopApplication\Plugin\Provider\ShopControllerEventServiceProvider; @@ -133,6 +135,7 @@ protected function registerServiceProviders() $this->application->register(new CmsBlockTwigFunctionServiceProvider()); $this->application->register(new CatalogPageTwigServiceProvider()); $this->application->register(new ShopUiTwigServiceProvider()); + $this->application->register(new AgentPageSecurityServiceProvider()); # AgentFeature } /** @@ -187,6 +190,8 @@ protected function getControllerProviderStack($isSsl) new DiscountWidgetControllerProvider($isSsl), new PriceControllerProvider($isSsl), new CartNoteWidgetControllerProvider($isSsl), #CartNoteFeature + new AgentPageControllerProvider($isSsl), #AgentFeature + new AgentWidgetControllerProvider($isSsl), #AgentFeature ]; } } From 24acfc6cff35b9114349a7ca329c431e9b1551f1 Mon Sep 17 00:00:00 2001 From: Mykhailo Kozii Date: Fri, 28 Sep 2018 17:07:31 +0200 Subject: [PATCH 03/91] SUITE-704 Removed not b2c packages. Fixed a cart-item template dependency bug --- composer.json | 10 +- composer.lock | 461 +----------------- .../Client/Cart/CartDependencyProvider.php | 4 - .../molecules/cart-item/cart-item.twig | 68 +++ 4 files changed, 75 insertions(+), 468 deletions(-) create mode 100644 src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig diff --git a/composer.json b/composer.json index 7eb6160aa1..b0d8142142 100644 --- a/composer.json +++ b/composer.json @@ -241,17 +241,10 @@ "spryker/product-label-search": "^1.0.0", "spryker/product-label-storage": "^1.0.0", "spryker/product-management": "^0.14.0", - "spryker/product-measurement-unit": "^2.0.0", - "spryker/product-measurement-unit-data-import": "^1.0.0", - "spryker/product-measurement-unit-storage": "^1.0.0", "spryker/product-new": "^1.0.0", "spryker/product-option": "^6.0.0", "spryker/product-option-cart-connector": "^5.0.0", "spryker/product-option-storage": "^1.0.0", - "spryker/product-packaging-unit": "^1.0.0", - "spryker/product-packaging-unit-data-import": "^1.0.0", - "spryker/product-packaging-unit-gui": "^0.1.0", - "spryker/product-packaging-unit-storage": "^1.0.0", "spryker/product-page-search": "^2.2", "spryker/product-quantity": "^1.0.0", "spryker/product-quantity-data-import": "^1.0.0", @@ -359,8 +352,7 @@ "spryker/testify": "^3.0.0", "squizlabs/php_codesniffer": "~3.3.0", "stecman/symfony-console-completion": "^0.7.0", - "symfony/var-dumper": "*", - "symfony/web-profilNavigationGuiPresentationTesterer-bundle": "*" + "symfony/var-dumper": "*" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index e5b13c6d7b..a806ea99d6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "dedc5f13f6b84315765c90055146f1f6", + "content-hash": "569911a5a552ee7f6cbeb9a23e2ac6f8", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.67.20", + "version": "3.67.21", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "6c8bc0f42ba73bab85da67c3af9131e455c3f14c" + "reference": "701152ff155ad7ea3fe64d264a0fbf4e26f4e3a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6c8bc0f42ba73bab85da67c3af9131e455c3f14c", - "reference": "6c8bc0f42ba73bab85da67c3af9131e455c3f14c", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/701152ff155ad7ea3fe64d264a0fbf4e26f4e3a4", + "reference": "701152ff155ad7ea3fe64d264a0fbf4e26f4e3a4", "shasum": "" }, "require": { @@ -84,7 +84,7 @@ "s3", "sdk" ], - "time": "2018-09-26T20:06:30+00:00" + "time": "2018-09-27T19:41:06+00:00" }, { "name": "codeitnowin/barcode", @@ -13340,160 +13340,6 @@ "description": "ProductManagementExtension module", "time": "2018-05-31T11:23:24+00:00" }, - { - "name": "spryker/product-measurement-unit", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-measurement-unit.git", - "reference": "a9aaa091c9807bbbe1aa5851fe901c9b26d71874" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-measurement-unit/zipball/a9aaa091c9807bbbe1aa5851fe901c9b26d71874", - "reference": "a9aaa091c9807bbbe1aa5851fe901c9b26d71874", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/cart-extension": "^1.2.0 || ^2.0.0", - "spryker/event": "^2.0.0", - "spryker/glossary": "^3.0.0", - "spryker/kernel": "^3.17.0", - "spryker/persistent-cart-extension": "^1.0.0", - "spryker/product": "^6.0.0", - "spryker/propel-orm": "^1.6.0", - "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/sales-extension": "^1.1.0", - "spryker/store": "^1.0.0", - "spryker/util-measurement-unit-conversion": "^0.1.0 || ^1.0.0" - }, - "require-dev": { - "spryker/cart": "*", - "spryker/code-sniffer": "*", - "spryker/installer": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/cart": "If you want to use cart plugins: ^4.0.0", - "spryker/installer": "If you want to use ProductMeasurementUnitInstallerPlugin. Minimum required version: ^4.0.0.", - "spryker/sales": "If you want to display the measurement unit information in Zed UI: ^8.12.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Shared\\ProductMeasurementUnit\\Helper\\": "tests/SprykerTest/Shared/ProductMeasurementUnit/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductMeasurementUnit module", - "time": "2018-07-31T09:22:49+00:00" - }, - { - "name": "spryker/product-measurement-unit-data-import", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-measurement-unit-data-import.git", - "reference": "0233e002f88659fdaff5e6e1b96903d5307bd470" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-measurement-unit-data-import/zipball/0233e002f88659fdaff5e6e1b96903d5307bd470", - "reference": "0233e002f88659fdaff5e6e1b96903d5307bd470", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/data-import": "^1.3.0", - "spryker/kernel": "^3.20.0", - "spryker/product": "^6.0.0", - "spryker/product-measurement-unit": "^0.1.1 || ^0.2.0 || ^1.0.0 || ^2.0.0", - "spryker/store": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductMeasurementUnitDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductMeasurementUnitDataImport/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "ProductMeasurementUnitDataImport module", - "time": "2018-07-31T16:20:47+00:00" - }, - { - "name": "spryker/product-measurement-unit-storage", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-measurement-unit-storage.git", - "reference": "47a2cc20b0a813c5142868ef5657fcac717f8c84" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-measurement-unit-storage/zipball/47a2cc20b0a813c5142868ef5657fcac717f8c84", - "reference": "47a2cc20b0a813c5142868ef5657fcac717f8c84", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/event-behavior": "^1.1.0", - "spryker/kernel": "^3.21.0", - "spryker/product-measurement-unit": "^1.0.1 || ^2.0.0", - "spryker/storage": "^3.0.0", - "spryker/synchronization": "^0.2.0 || ^1.0.0", - "spryker/synchronization-extension": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/event": "*", - "spryker/propel-orm": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/event": "If you want to use Event plugins: ^2.1.0", - "spryker/propel-orm": "If you want to use transaction functionality: ^1.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductMeasurementUnitStorage module", - "time": "2018-07-31T16:20:47+00:00" - }, { "name": "spryker/product-new", "version": "1.1.3", @@ -13713,214 +13559,6 @@ "description": "ProductOptionStorage module", "time": "2018-07-17T18:22:31+00:00" }, - { - "name": "spryker/product-packaging-unit", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-packaging-unit.git", - "reference": "2ba24d28c054a034d2807d8bf60ca1f5be27aa7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-packaging-unit/zipball/2ba24d28c054a034d2807d8bf60ca1f5be27aa7d", - "reference": "2ba24d28c054a034d2807d8bf60ca1f5be27aa7d", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/availability": "^6.0.0", - "spryker/cart-extension": "^2.0.0", - "spryker/glossary": "^3.1.0", - "spryker/kernel": "^3.0.0", - "spryker/locale": "^3.0.0", - "spryker/oms": "^8.3.0", - "spryker/persistent-cart-extension": "^1.0.0", - "spryker/product": "^6.0.0", - "spryker/product-measurement-unit": "^2.0.0", - "spryker/propel-orm": "^1.1.0", - "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/sales-extension": "^1.2.0", - "spryker/sales-quantity": "^1.0.0", - "spryker/store": "^1.4.0", - "spryker/util-text": "^1.0.0" - }, - "require-dev": { - "spryker/cart": "*", - "spryker/checkout": "*", - "spryker/code-sniffer": "*", - "spryker/installer": "*", - "spryker/stock": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/cart": "If you want to use CartOperationStrategyPluginInterface: ^5.2.0", - "spryker/checkout": "If you want to use checkout plugins: ^4.0.0", - "spryker/installer": "If you want to use Installer plugins: ^4.0.0.", - "spryker/persistent-cart": "If you want to use CartOperationStrategyPluginInterface: ^1.1.0", - "spryker/sales": "If you want to display the measurement unit information in Zed UI: ^8.12.0", - "spryker/stock": "If you want to use stock plugins: ^5.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductPackagingUnit\\Helper\\": "tests/SprykerTest/Zed/ProductPackagingUnit/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductPackagingUnit module", - "time": "2018-08-16T16:13:19+00:00" - }, - { - "name": "spryker/product-packaging-unit-data-import", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-packaging-unit-data-import.git", - "reference": "dd00d564112f390e0e3ddb8a1e59a403146b3b5d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-packaging-unit-data-import/zipball/dd00d564112f390e0e3ddb8a1e59a403146b3b5d", - "reference": "dd00d564112f390e0e3ddb8a1e59a403146b3b5d", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/data-import": "^1.3.0", - "spryker/kernel": "^3.0.0", - "spryker/product": "^6.0.0", - "spryker/product-packaging-unit": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductPackagingUnitDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductPackagingUnitDataImport/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "ProductPackagingUnitDataImport module", - "time": "2018-08-27T11:56:11+00:00" - }, - { - "name": "spryker/product-packaging-unit-gui", - "version": "0.1.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-packaging-unit-gui.git", - "reference": "91cc74dacc95f1fa9f973e4d021d76a320126d5f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-packaging-unit-gui/zipball/91cc74dacc95f1fa9f973e4d021d76a320126d5f", - "reference": "91cc74dacc95f1fa9f973e4d021d76a320126d5f", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/gui": "^3.9.0", - "spryker/kernel": "^3.0.0", - "spryker/locale": "^3.0.0", - "spryker/product-packaging-unit": "^1.0.0", - "spryker/sales": "^8.5.0", - "spryker/symfony": "^3.0.0", - "spryker/util-text": "^1.2.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductPackagingUnitGui module", - "time": "2018-08-13T10:09:37+00:00" - }, - { - "name": "spryker/product-packaging-unit-storage", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-packaging-unit-storage.git", - "reference": "029c7b34334f2dba2a0999fac8fe0ed3513e9554" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-packaging-unit-storage/zipball/029c7b34334f2dba2a0999fac8fe0ed3513e9554", - "reference": "029c7b34334f2dba2a0999fac8fe0ed3513e9554", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/event-behavior": "^1.0.0", - "spryker/kernel": "^3.0.0", - "spryker/product": "^6.0.0", - "spryker/product-packaging-unit": "^1.0.0", - "spryker/storage": "^3.4.0", - "spryker/synchronization": "^1.0.0", - "spryker/synchronization-extension": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/event": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductPackagingUnitStorage\\Helper\\": "tests/SprykerTest/Zed/ProductPackagingUnitStorage/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductPackagingUnitStorage module", - "time": "2018-08-23T12:48:56+00:00" - }, { "name": "spryker/product-page-search", "version": "2.2.0", @@ -15722,53 +15360,6 @@ "description": "SalesProductConnector module", "time": "2018-01-24T11:43:27+00:00" }, - { - "name": "spryker/sales-quantity", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/sales-quantity.git", - "reference": "539f660e70ad7293a439257e763ee430c2f98062" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-quantity/zipball/539f660e70ad7293a439257e763ee430c2f98062", - "reference": "539f660e70ad7293a439257e763ee430c2f98062", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/discount-extension": "^1.0.0", - "spryker/kernel": "^3.17.0", - "spryker/product": "^6.0.0", - "spryker/sales-extension": "^1.0.0" - }, - "require-dev": { - "spryker/cart": "*", - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/cart": "If you want to use cart plugins: ^4.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "SalesQuantity module", - "time": "2018-07-31T09:22:49+00:00" - }, { "name": "spryker/sales-reclamation", "version": "0.3.0", @@ -17560,46 +17151,6 @@ "description": "UtilEncoding module", "time": "2017-10-24T13:32:31+00:00" }, - { - "name": "spryker/util-measurement-unit-conversion", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/util-measurement-unit-conversion.git", - "reference": "1ae26cf8e629d25157e273097941bde438a24ddc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/util-measurement-unit-conversion/zipball/1ae26cf8e629d25157e273097941bde438a24ddc", - "reference": "1ae26cf8e629d25157e273097941bde438a24ddc", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/kernel": "^3.3.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "UtilMeasurementUnitConversion module", - "time": "2018-05-08T12:16:40+00:00" - }, { "name": "spryker/util-network", "version": "1.1.1", diff --git a/src/Pyz/Client/Cart/CartDependencyProvider.php b/src/Pyz/Client/Cart/CartDependencyProvider.php index 12cf439e50..588c3cb9dc 100644 --- a/src/Pyz/Client/Cart/CartDependencyProvider.php +++ b/src/Pyz/Client/Cart/CartDependencyProvider.php @@ -13,8 +13,6 @@ use Spryker\Client\ProductBundle\Plugin\Cart\BundleProductQuoteItemFinderPlugin; use Spryker\Client\ProductBundle\Plugin\Cart\ItemCountPlugin; use Spryker\Client\ProductBundle\Plugin\Cart\RemoveBundleChangeRequestExpanderPlugin; -use Spryker\Client\ProductMeasurementUnit\Plugin\Cart\SingleItemQuantitySalesUnitCartChangeRequestExpanderPlugin; -use Spryker\Client\ProductPackagingUnit\Plugin\CartExtension\ProductPackagingUnitAmountCartChangeRequestExpanderPlugin; class CartDependencyProvider extends SprykerCartDependencyProvider { @@ -52,8 +50,6 @@ protected function getAddItemsRequestExpanderPlugins() { return [ new AddDiscountPromotionCartRequestExpandPlugin(), - new SingleItemQuantitySalesUnitCartChangeRequestExpanderPlugin(), - new ProductPackagingUnitAmountCartChangeRequestExpanderPlugin(), #ProductPackagingUnit ]; } diff --git a/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig b/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig new file mode 100644 index 0000000000..64d5dbdb24 --- /dev/null +++ b/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig @@ -0,0 +1,68 @@ +{% extends model('component') %} + +{% define config = { + name: 'cart-item', + tag: 'article' +} %} + +{% define data = { + cart: required, + cartItem: required, + attributes: required +} %} + +{% set canEditCart = (not is_granted('ROLE_USER') or can('WriteSharedCartPermissionPlugin', data.cart.idQuote)) %} + +{% block body %} +
+
+ {% include molecule('cart-image', 'CartPage') with { + data: { + name: data.cartItem.name | default(''), + image: data.cartItem.images is empty ? null : (data.cartItem.images | first) + } + } only %} +
+ +
+
{{ data.cartItem.name }}
+ + + {{ 'cart.item.sku' | trans }} + {{ data.cartItem.sku }} + + + {% if data.attributes is not empty %} + {% include molecule('cart-item-variant-selector', 'CartPage') with { + data: { + cartItem: data.cartItem, + cartItemAttributes: data.attributes + } + } only %} + {% endif %} + + {{ widget('ProductBundleItemsWidgetPlugin', data.cartItem, data.cart) }} + + {% include molecule('cart-item-summary', 'CartPage') with { + data: { + unitPrice: data.cartItem.unitPrice | money, + subtotalPrice: data.cartItem.sumSubtotalAggregation | money, + cartItem: data.cartItem + } + } only %} + +
+ +
+ {{ widget('CartProductPackagingUnitWidgetPlugin', data.cartItem) }} + + {% if canEditCart %} + + × {{ 'remove' | trans }} + + {% endif %} + + {{ widget('CartNoteQuoteItemWidgetPlugin', data.cartItem, data.cart) }} +
+
+{% endblock %} From 17df5e5d847dac0fe233fee8eb15b60c34dce286 Mon Sep 17 00:00:00 2001 From: Grebenikov Eugene Date: Mon, 1 Oct 2018 11:45:50 +0000 Subject: [PATCH 04/91] SUITE-703: Suite latest update --- composer.json | 7 +- composer.lock | 617 +++++++++++++----- package-lock.json | 10 + package.json | 4 +- .../SpyProductMeasurementBaseUnit.php | 24 - .../SpyProductMeasurementBaseUnitQuery.php | 24 - .../SpyProductMeasurementSalesUnit.php | 24 - .../SpyProductMeasurementSalesUnitQuery.php | 24 - .../SpyProductMeasurementSalesUnitStore.php | 24 - ...yProductMeasurementSalesUnitStoreQuery.php | 24 - .../Persistence/SpyProductMeasurementUnit.php | 24 - .../SpyProductMeasurementUnitQuery.php | 24 - ...yProductConcreteMeasurementUnitStorage.php | 24 - ...uctConcreteMeasurementUnitStorageQuery.php | 24 - .../SpyProductMeasurementUnitStorage.php | 24 - .../SpyProductMeasurementUnitStorageQuery.php | 24 - .../SpyProductPackagingLeadProduct.php | 24 - .../SpyProductPackagingLeadProductQuery.php | 24 - .../Persistence/SpyProductPackagingUnit.php | 24 - .../SpyProductPackagingUnitAmount.php | 24 - .../SpyProductPackagingUnitAmountQuery.php | 24 - .../SpyProductPackagingUnitQuery.php | 24 - .../SpyProductPackagingUnitType.php | 24 - .../SpyProductPackagingUnitTypeQuery.php | 24 - .../SpyProductAbstractPackagingStorage.php | 24 - ...pyProductAbstractPackagingStorageQuery.php | 24 - .../Customer/CustomerDependencyProvider.php | 2 + .../GlueApplicationDependencyProvider.php | 28 + 28 files changed, 507 insertions(+), 689 deletions(-) delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementBaseUnit.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementBaseUnitQuery.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementSalesUnit.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementSalesUnitQuery.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementSalesUnitStore.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementSalesUnitStoreQuery.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementUnit.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementUnitQuery.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnitStorage/Persistence/SpyProductConcreteMeasurementUnitStorage.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnitStorage/Persistence/SpyProductConcreteMeasurementUnitStorageQuery.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnitStorage/Persistence/SpyProductMeasurementUnitStorage.php delete mode 100644 src/Orm/Zed/ProductMeasurementUnitStorage/Persistence/SpyProductMeasurementUnitStorageQuery.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingLeadProduct.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingLeadProductQuery.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingUnit.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingUnitAmount.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingUnitAmountQuery.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingUnitQuery.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingUnitType.php delete mode 100644 src/Orm/Zed/ProductPackagingUnit/Persistence/SpyProductPackagingUnitTypeQuery.php delete mode 100644 src/Orm/Zed/ProductPackagingUnitStorage/Persistence/SpyProductAbstractPackagingStorage.php delete mode 100644 src/Orm/Zed/ProductPackagingUnitStorage/Persistence/SpyProductAbstractPackagingStorageQuery.php create mode 100644 src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php diff --git a/composer.json b/composer.json index b0d8142142..cd45204bc2 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "spryker-shop/calculation-page": "^1.0.0", "spryker-shop/cart-note-widget": "^1.0.0", "spryker-shop/cart-page": "^1.0.0", - "spryker-shop/catalog-page": "^1.0.0", + "spryker-shop/catalog-page": "^1.2.0", "spryker-shop/category-widget": "^1.0.0", "spryker-shop/checkout-page": "^1.0.0", "spryker-shop/checkout-widget": "^1.0.0", @@ -98,6 +98,7 @@ "spryker/cart-variant": "^1.0.0", "spryker/catalog": "^5.0.0", "spryker/catalog-price-product-connector": "^1.0.0", + "spryker/catalog-search-rest-api": "^1.1.0", "spryker/category": "^4.0.0", "spryker/category-data-feed": "^0.2.0", "spryker/category-data-import": "^0.2.0", @@ -135,7 +136,7 @@ "spryker/csv": "^3.0.0", "spryker/currency": "^3.0.0", "spryker/currency-extension": "^1.0.0", - "spryker/customer": "^7.0.0", + "spryker/customer": "^7.10.0", "spryker/customer-api": "^0.1.0", "spryker/customer-extension": "^1.0.0", "spryker/customer-group": "^2.0.0", @@ -202,7 +203,7 @@ "spryker/oms-discount-connector": "^3.0.0", "spryker/payment": "^4.0.0", "spryker/payment-cart-connector": "^1.0.0", - "spryker/persistent-cart": "^1.0.0", + "spryker/persistent-cart": "^1.1.1", "spryker/persistent-cart-extension": "^1.0.0", "spryker/pimple": "^2.0.0", "spryker/price": "^5.3.0", diff --git a/composer.lock b/composer.lock index a806ea99d6..d7e889809f 100644 --- a/composer.lock +++ b/composer.lock @@ -1,23 +1,23 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "569911a5a552ee7f6cbeb9a23e2ac6f8", + "content-hash": "5543fbbe9988cf16aba34002f06e642c", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.67.21", + "version": "3.67.22", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "701152ff155ad7ea3fe64d264a0fbf4e26f4e3a4" + "reference": "0d05816beeaf187a3897c28aaa68d683974818d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/701152ff155ad7ea3fe64d264a0fbf4e26f4e3a4", - "reference": "701152ff155ad7ea3fe64d264a0fbf4e26f4e3a4", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0d05816beeaf187a3897c28aaa68d683974818d9", + "reference": "0d05816beeaf187a3897c28aaa68d683974818d9", "shasum": "" }, "require": { @@ -84,7 +84,7 @@ "s3", "sdk" ], - "time": "2018-09-27T19:41:06+00:00" + "time": "2018-09-28T18:46:40+00:00" }, { "name": "codeitnowin/barcode", @@ -2530,16 +2530,16 @@ }, { "name": "spryker-shop/checkout-page", - "version": "1.2.1", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-page.git", - "reference": "38a516ffc9ac235c0cac015c25a300add82616a3" + "reference": "3477cca488063167221120c67fab5f1da4c3293c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/38a516ffc9ac235c0cac015c25a300add82616a3", - "reference": "38a516ffc9ac235c0cac015c25a300add82616a3", + "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/3477cca488063167221120c67fab5f1da4c3293c", + "reference": "3477cca488063167221120c67fab5f1da4c3293c", "shasum": "" }, "require": { @@ -2594,7 +2594,7 @@ "proprietary" ], "description": "CheckoutPage module", - "time": "2018-08-29T10:37:32+00:00" + "time": "2018-09-27T07:45:52+00:00" }, { "name": "spryker-shop/checkout-widget", @@ -4546,16 +4546,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "bc663f25d1369e65fe7612612f2c9400202ca31a" + "reference": "cca4adad2481b76a818035a0d0bf6928b8a2b2a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/bc663f25d1369e65fe7612612f2c9400202ca31a", - "reference": "bc663f25d1369e65fe7612612f2c9400202ca31a", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/cca4adad2481b76a818035a0d0bf6928b8a2b2a1", + "reference": "cca4adad2481b76a818035a0d0bf6928b8a2b2a1", "shasum": "" }, "require": { @@ -4587,7 +4587,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-09-19T11:59:46+00:00" + "time": "2018-09-27T07:45:52+00:00" }, { "name": "spryker-shop/shop-ui-extension", @@ -4956,11 +4956,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Api module", + "support": { + "source": "https://github.com/spryker/Api/tree/master" + }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5102,11 +5110,19 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", + "support": { + "source": "https://github.com/spryker/Assertion/tree/3.0.0" + }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5610,11 +5626,14 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", + "support": { + "source": "https://github.com/spryker/Cache/tree/3.1.0" + }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -5665,16 +5684,16 @@ }, { "name": "spryker/cart", - "version": "5.3.0", + "version": "5.4.0", "source": { "type": "git", "url": "https://github.com/spryker/cart.git", - "reference": "d4c8a2696a2e640b81e1e48ba916df8e75311d5e" + "reference": "a321c0b85fb7be72715b969f75a388006db50d7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cart/zipball/d4c8a2696a2e640b81e1e48ba916df8e75311d5e", - "reference": "d4c8a2696a2e640b81e1e48ba916df8e75311d5e", + "url": "https://api.github.com/repos/spryker/cart/zipball/a321c0b85fb7be72715b969f75a388006db50d7f", + "reference": "a321c0b85fb7be72715b969f75a388006db50d7f", "shasum": "" }, "require": { @@ -5687,14 +5706,11 @@ "spryker/zed-request": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/customer": "*", - "spryker/persistent-cart": "*", "spryker/price-product": "*", "spryker/product": "*", "spryker/propel": "*", - "spryker/propel-orm": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -5717,7 +5733,7 @@ "proprietary" ], "description": "Cart module", - "time": "2018-08-06T14:30:50+00:00" + "time": "2018-09-26T10:23:23+00:00" }, { "name": "spryker/cart-currency-connector", @@ -6078,6 +6094,52 @@ "description": "CatalogPriceProductConnector module", "time": "2018-07-04T14:05:29+00:00" }, + { + "name": "spryker/catalog-search-rest-api", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/catalog-search-rest-api.git", + "reference": "15c6c1efb69b5f958c27a81c00aa17df8a0af29f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/catalog-search-rest-api/zipball/15c6c1efb69b5f958c27a81c00aa17df8a0af29f", + "reference": "15c6c1efb69b5f958c27a81c00aa17df8a0af29f", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/catalog": "^5.2.0", + "spryker/glue-application": "^1.0.0", + "spryker/glue-application-extension": "^1.0.0", + "spryker/kernel": "^3.22.0", + "spryker/price": "^5.0.0", + "spryker/symfony": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CatalogSearchRestApi module", + "time": "2018-09-07T07:25:57+00:00" + }, { "name": "spryker/category", "version": "4.8.0", @@ -6258,11 +6320,14 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", + "support": { + "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" + }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -7435,11 +7500,19 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Functional": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", + "support": { + "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" + }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8017,11 +8090,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", + "support": { + "source": "https://github.com/spryker/CustomerApi/tree/master" + }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -8720,11 +8801,14 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Egulias module", + "support": { + "source": "https://github.com/spryker/Egulias/tree/1.0.0" + }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -9448,6 +9532,107 @@ "description": "GlossaryStorage module", "time": "2018-09-25T12:41:25+00:00" }, + { + "name": "spryker/glue-application", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/glue-application.git", + "reference": "6a0fd96672ea7553aa9f82b435389b3b56fe2109" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/glue-application/zipball/6a0fd96672ea7553aa9f82b435389b3b56fe2109", + "reference": "6a0fd96672ea7553aa9f82b435389b3b56fe2109", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/application": "^3.0.0", + "spryker/glue-application-extension": "^1.0.0", + "spryker/kernel": "^3.22.0", + "spryker/log": "^3.0.0", + "spryker/session": "^3.0.0", + "spryker/store": "^1.7.0", + "spryker/symfony": "^3.0.0", + "spryker/util-encoding": "^2.0.0", + "willdurand/negotiation": "^2.3" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/config": "If you want to use Config.", + "spryker/silex": "If you want to use ServiceProvider." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "GlueApplication module", + "time": "2018-09-11T15:44:34+00:00" + }, + { + "name": "spryker/glue-application-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/glue-application-extension.git", + "reference": "814394259c86e6728dfad5d9a952d8bf22bccd3f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/glue-application-extension/zipball/814394259c86e6728dfad5d9a952d8bf22bccd3f", + "reference": "814394259c86e6728dfad5d9a952d8bf22bccd3f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/glue-application": "*", + "spryker/kernel": "*", + "spryker/symfony": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/glue-application": "If you want to use plugins with glue application.", + "spryker/kernel": "If you want to use kernel functionality with certain plugins", + "spryker/symfony": "If you want to plugins with symfony components." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "GlueApplicationExtension module", + "time": "2018-07-11T08:13:38+00:00" + }, { "name": "spryker/graph", "version": "3.0.0", @@ -9483,11 +9668,19 @@ "Function": "tests/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", + "support": { + "source": "https://github.com/spryker/Graph/tree/3.0.0" + }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -9513,11 +9706,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", + "support": { + "source": "https://github.com/spryker/Graphviz/tree/2.0.1" + }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -9762,11 +9958,20 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Functional": "tests/", + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", + "support": { + "source": "https://github.com/spryker/Invoice/tree/2.0.1" + }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -11174,16 +11379,16 @@ }, { "name": "spryker/permission-extension", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/permission-extension.git", - "reference": "41d01c6056c662e42f7ba5edb500eda906711c93" + "reference": "3c9472c7be78c64ad1fe7567c46b5dc5237dd70f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/permission-extension/zipball/41d01c6056c662e42f7ba5edb500eda906711c93", - "reference": "41d01c6056c662e42f7ba5edb500eda906711c93", + "url": "https://api.github.com/repos/spryker/permission-extension/zipball/3c9472c7be78c64ad1fe7567c46b5dc5237dd70f", + "reference": "3c9472c7be78c64ad1fe7567c46b5dc5237dd70f", "shasum": "" }, "require": { @@ -11209,7 +11414,7 @@ "proprietary" ], "description": "PermissionExtension module", - "time": "2018-03-14T10:13:27+00:00" + "time": "2018-09-04T10:05:53+00:00" }, { "name": "spryker/persistent-cart", @@ -11321,11 +11526,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", + "support": { + "source": "https://github.com/spryker/Pimple/tree/2.0.0" + }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -11746,16 +11954,16 @@ }, { "name": "spryker/product", - "version": "6.5.0", + "version": "6.6.0", "source": { "type": "git", "url": "https://github.com/spryker/product.git", - "reference": "88010948d565b6322c8f14c102020a3c31101a27" + "reference": "2fb2e21bd6f93621330fdc6b9966d8b08f6f10d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product/zipball/88010948d565b6322c8f14c102020a3c31101a27", - "reference": "88010948d565b6322c8f14c102020a3c31101a27", + "url": "https://api.github.com/repos/spryker/product/zipball/2fb2e21bd6f93621330fdc6b9966d8b08f6f10d6", + "reference": "2fb2e21bd6f93621330fdc6b9966d8b08f6f10d6", "shasum": "" }, "require": { @@ -11794,7 +12002,7 @@ "proprietary" ], "description": "Product module", - "time": "2018-09-03T16:56:39+00:00" + "time": "2018-09-26T10:21:20+00:00" }, { "name": "spryker/product-abstract-data-feed", @@ -12154,16 +12362,16 @@ }, { "name": "spryker/product-bundle", - "version": "4.7.1", + "version": "4.7.2", "source": { "type": "git", "url": "https://github.com/spryker/product-bundle.git", - "reference": "d12b4bad28cce0aa19c4e16f3467904c63f822ee" + "reference": "4bf51ceb5ffb51381b62efa04810af35d8ae04e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-bundle/zipball/d12b4bad28cce0aa19c4e16f3467904c63f822ee", - "reference": "d12b4bad28cce0aa19c4e16f3467904c63f822ee", + "url": "https://api.github.com/repos/spryker/product-bundle/zipball/4bf51ceb5ffb51381b62efa04810af35d8ae04e2", + "reference": "4bf51ceb5ffb51381b62efa04810af35d8ae04e2", "shasum": "" }, "require": { @@ -12188,11 +12396,8 @@ "spryker/calculation": "*", "spryker/cart": "*", "spryker/checkout": "*", - "spryker/code-sniffer": "*", "spryker/oms": "*", "spryker/propel": "*", - "spryker/sales-aggregator": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -12218,7 +12423,7 @@ "proprietary" ], "description": "ProductBundle module", - "time": "2018-07-31T07:49:09+00:00" + "time": "2018-09-26T10:21:20+00:00" }, { "name": "spryker/product-cart-connector", @@ -15148,11 +15353,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", + "support": { + "source": "https://github.com/spryker/Redis/tree/2.0.1" + }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -15195,11 +15403,22 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", + "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", + "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Refund module", + "support": { + "source": "https://github.com/spryker/Refund/tree/master" + }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -15883,16 +16102,16 @@ }, { "name": "spryker/shopping-list-extension", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/shopping-list-extension.git", - "reference": "5a54eaa3717641505cd2df71001ef2867bf9abed" + "reference": "6af87f025b8f501977bffd8852ca1896ed63c1cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shopping-list-extension/zipball/5a54eaa3717641505cd2df71001ef2867bf9abed", - "reference": "5a54eaa3717641505cd2df71001ef2867bf9abed", + "url": "https://api.github.com/repos/spryker/shopping-list-extension/zipball/6af87f025b8f501977bffd8852ca1896ed63c1cd", + "reference": "6af87f025b8f501977bffd8852ca1896ed63c1cd", "shasum": "" }, "require": { @@ -15918,7 +16137,7 @@ "proprietary" ], "description": "ShoppingListExtension module", - "time": "2018-07-06T11:01:01+00:00" + "time": "2018-09-20T14:14:45+00:00" }, { "name": "spryker/silex", @@ -15947,11 +16166,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", + "support": { + "source": "https://github.com/spryker/Silex/tree/2.0.1" + }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -17109,11 +17331,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", + "support": { + "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" + }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -17250,11 +17480,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilText module", + "support": { + "source": "https://github.com/spryker/UtilText/tree/master" + }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -17331,11 +17569,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", + "support": { + "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" + }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -17419,11 +17665,14 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.spryker.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "WebProfiler module", + "support": { + "source": "https://github.com/spryker/WebProfiler/tree/1.0.0" + }, "time": "2018-01-10T11:59:45+00:00" }, { @@ -17640,11 +17889,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Zend module", + "support": { + "source": "https://github.com/spryker/Zend/tree/2.1.0" + }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -17762,16 +18014,16 @@ }, { "name": "symfony/config", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "76015a3cc372b14d00040ff58e18e29f69eba717" + "reference": "b3d4d7b567d7a49e6dfafb6d4760abc921177c96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/76015a3cc372b14d00040ff58e18e29f69eba717", - "reference": "76015a3cc372b14d00040ff58e18e29f69eba717", + "url": "https://api.github.com/repos/symfony/config/zipball/b3d4d7b567d7a49e6dfafb6d4760abc921177c96", + "reference": "b3d4d7b567d7a49e6dfafb6d4760abc921177c96", "shasum": "" }, "require": { @@ -17821,20 +18073,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-08-08T06:37:38+00:00" + "time": "2018-09-08T13:24:10+00:00" }, { "name": "symfony/console", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73" + "reference": "1cbaac35024c9dfc9612b7e2310e82677bf85709" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6b217594552b9323bcdcfc14f8a0ce126e84cd73", - "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73", + "url": "https://api.github.com/repos/symfony/console/zipball/1cbaac35024c9dfc9612b7e2310e82677bf85709", + "reference": "1cbaac35024c9dfc9612b7e2310e82677bf85709", "shasum": "" }, "require": { @@ -17890,20 +18142,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:19:56+00:00" + "time": "2018-09-30T03:37:36+00:00" }, { "name": "symfony/debug", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "c4625e75341e4fb309ce0c049cbf7fb84b8897cd" + "reference": "b70cfaae39009ecde3164bb8cba4d029220d27b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/c4625e75341e4fb309ce0c049cbf7fb84b8897cd", - "reference": "c4625e75341e4fb309ce0c049cbf7fb84b8897cd", + "url": "https://api.github.com/repos/symfony/debug/zipball/b70cfaae39009ecde3164bb8cba4d029220d27b1", + "reference": "b70cfaae39009ecde3164bb8cba4d029220d27b1", "shasum": "" }, "require": { @@ -17946,7 +18198,7 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-08-03T10:42:44+00:00" + "time": "2018-09-22T18:25:03+00:00" }, { "name": "symfony/event-dispatcher", @@ -18010,16 +18262,16 @@ }, { "name": "symfony/filesystem", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "285ce5005cb01a0aeaa5b0cf590bd0cc40bb631c" + "reference": "f89ab242d915d188fca95ee3291c72c5a094a195" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/285ce5005cb01a0aeaa5b0cf590bd0cc40bb631c", - "reference": "285ce5005cb01a0aeaa5b0cf590bd0cc40bb631c", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/f89ab242d915d188fca95ee3291c72c5a094a195", + "reference": "f89ab242d915d188fca95ee3291c72c5a094a195", "shasum": "" }, "require": { @@ -18056,20 +18308,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-08-10T07:29:05+00:00" + "time": "2018-09-30T03:32:28+00:00" }, { "name": "symfony/finder", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a" + "reference": "e8db87d755e14271e920e31ba834a4ae99483232" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/8a84fcb207451df0013b2c74cbbf1b62d47b999a", - "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a", + "url": "https://api.github.com/repos/symfony/finder/zipball/e8db87d755e14271e920e31ba834a4ae99483232", + "reference": "e8db87d755e14271e920e31ba834a4ae99483232", "shasum": "" }, "require": { @@ -18105,7 +18357,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:19:56+00:00" + "time": "2018-09-21T12:47:54+00:00" }, { "name": "symfony/form", @@ -18323,7 +18575,7 @@ }, { "name": "symfony/inflector", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", @@ -18381,16 +18633,16 @@ }, { "name": "symfony/intl", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "963f45ef0f4739eb776f088169563e6aa9e1e2aa" + "reference": "9d25efa9b69089d702ce760449e70256845fcdd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/963f45ef0f4739eb776f088169563e6aa9e1e2aa", - "reference": "963f45ef0f4739eb776f088169563e6aa9e1e2aa", + "url": "https://api.github.com/repos/symfony/intl/zipball/9d25efa9b69089d702ce760449e70256845fcdd8", + "reference": "9d25efa9b69089d702ce760449e70256845fcdd8", "shasum": "" }, "require": { @@ -18452,20 +18704,20 @@ "l10n", "localization" ], - "time": "2018-07-31T09:47:14+00:00" + "time": "2018-09-22T18:49:52+00:00" }, { "name": "symfony/options-resolver", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "6debc476953a45969ab39afe8dee0b825f356dc7" + "reference": "1cf7d8e704a9cc4164c92e430f2dfa3e6983661d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/6debc476953a45969ab39afe8dee0b825f356dc7", - "reference": "6debc476953a45969ab39afe8dee0b825f356dc7", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/1cf7d8e704a9cc4164c92e430f2dfa3e6983661d", + "reference": "1cf7d8e704a9cc4164c92e430f2dfa3e6983661d", "shasum": "" }, "require": { @@ -18506,7 +18758,7 @@ "configuration", "options" ], - "time": "2018-07-26T08:45:46+00:00" + "time": "2018-09-17T17:29:18+00:00" }, { "name": "symfony/polyfill-ctype", @@ -18852,16 +19104,16 @@ }, { "name": "symfony/process", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "4d6b125d5293cbceedc2aa10f2c71617e76262e7" + "reference": "8b87aca97f341d65dee430c60863f2442605c88b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/4d6b125d5293cbceedc2aa10f2c71617e76262e7", - "reference": "4d6b125d5293cbceedc2aa10f2c71617e76262e7", + "url": "https://api.github.com/repos/symfony/process/zipball/8b87aca97f341d65dee430c60863f2442605c88b", + "reference": "8b87aca97f341d65dee430c60863f2442605c88b", "shasum": "" }, "require": { @@ -18897,20 +19149,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-08-03T10:42:44+00:00" + "time": "2018-09-08T13:15:14+00:00" }, { "name": "symfony/property-access", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "8c892ce455ef55b3e22769cc27a7aa2e0983bff1" + "reference": "35e277fabd77d42b747d017dc31f4b7fab5158fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/8c892ce455ef55b3e22769cc27a7aa2e0983bff1", - "reference": "8c892ce455ef55b3e22769cc27a7aa2e0983bff1", + "url": "https://api.github.com/repos/symfony/property-access/zipball/35e277fabd77d42b747d017dc31f4b7fab5158fc", + "reference": "35e277fabd77d42b747d017dc31f4b7fab5158fc", "shasum": "" }, "require": { @@ -18965,7 +19217,7 @@ "property path", "reflection" ], - "time": "2018-08-24T10:16:13+00:00" + "time": "2018-09-08T13:15:14+00:00" }, { "name": "symfony/routing", @@ -19122,16 +19374,16 @@ }, { "name": "symfony/serializer", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "40031683816470610af87c2d03ea86d1cf0f0104" + "reference": "6fd29b89c3c185ba90e27292b204d6e905cd5198" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/40031683816470610af87c2d03ea86d1cf0f0104", - "reference": "40031683816470610af87c2d03ea86d1cf0f0104", + "url": "https://api.github.com/repos/symfony/serializer/zipball/6fd29b89c3c185ba90e27292b204d6e905cd5198", + "reference": "6fd29b89c3c185ba90e27292b204d6e905cd5198", "shasum": "" }, "require": { @@ -19197,20 +19449,20 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:58:24+00:00" + "time": "2018-09-21T12:47:54+00:00" }, { "name": "symfony/translation", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "9749930bfc825139aadd2d28461ddbaed6577862" + "reference": "97e07ec91584eca4e9a96d3eb5aadd55844c55a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/9749930bfc825139aadd2d28461ddbaed6577862", - "reference": "9749930bfc825139aadd2d28461ddbaed6577862", + "url": "https://api.github.com/repos/symfony/translation/zipball/97e07ec91584eca4e9a96d3eb5aadd55844c55a8", + "reference": "97e07ec91584eca4e9a96d3eb5aadd55844c55a8", "shasum": "" }, "require": { @@ -19265,7 +19517,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:19:56+00:00" + "time": "2018-09-21T12:47:54+00:00" }, { "name": "symfony/twig-bridge", @@ -19436,16 +19688,16 @@ }, { "name": "symfony/yaml", - "version": "v3.4.15", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "c2f4812ead9f847cb69e90917ca7502e6892d6b8" + "reference": "61973ecda60e9f3561e929e19c07d4878b960fc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c2f4812ead9f847cb69e90917ca7502e6892d6b8", - "reference": "c2f4812ead9f847cb69e90917ca7502e6892d6b8", + "url": "https://api.github.com/repos/symfony/yaml/zipball/61973ecda60e9f3561e929e19c07d4878b960fc1", + "reference": "61973ecda60e9f3561e929e19c07d4878b960fc1", "shasum": "" }, "require": { @@ -19491,7 +19743,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-08-10T07:34:36+00:00" + "time": "2018-09-24T08:15:45+00:00" }, { "name": "twig/twig", @@ -19559,6 +19811,58 @@ ], "time": "2018-07-13T07:12:17+00:00" }, + { + "name": "willdurand/negotiation", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/willdurand/Negotiation.git", + "reference": "03436ededa67c6e83b9b12defac15384cb399dc9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/03436ededa67c6e83b9b12defac15384cb399dc9", + "reference": "03436ededa67c6e83b9b12defac15384cb399dc9", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "Negotiation\\": "src/Negotiation" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "will+git@drnd.me" + } + ], + "description": "Content Negotiation tools for PHP provided as a standalone library.", + "homepage": "http://williamdurand.fr/Negotiation/", + "keywords": [ + "accept", + "content", + "format", + "header", + "negotiation" + ], + "time": "2017-05-14T17:21:12+00:00" + }, { "name": "zendframework/zend-config", "version": "3.2.0", @@ -22653,7 +22957,7 @@ ], "authors": [ { - "name": "Sullivan Sénéchal", + "name": "Sullivan SENECHAL", "email": "soullivaneuh@gmail.com" } ], @@ -22862,16 +23166,16 @@ }, { "name": "spryker/testify", - "version": "3.4.4", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/spryker/testify.git", - "reference": "c74af63bfe4cf885f616ac3f1ebb6b0d7df8f060" + "reference": "599c1fbd85e34dfa1964af3664cc7c4e15f8c867" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/testify/zipball/c74af63bfe4cf885f616ac3f1ebb6b0d7df8f060", - "reference": "c74af63bfe4cf885f616ac3f1ebb6b0d7df8f060", + "url": "https://api.github.com/repos/spryker/testify/zipball/599c1fbd85e34dfa1964af3664cc7c4e15f8c867", + "reference": "599c1fbd85e34dfa1964af3664cc7c4e15f8c867", "shasum": "" }, "require": { @@ -22885,7 +23189,6 @@ "spryker/silex": "^2.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/symfony": "^3.0.0", "spryker/twig": "^3.0.0" }, @@ -22906,7 +23209,7 @@ "proprietary" ], "description": "Testify module", - "time": "2018-04-10T13:56:18+00:00" + "time": "2018-09-28T09:08:04+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -23006,7 +23309,7 @@ }, { "name": "symfony/browser-kit", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", @@ -23063,16 +23366,16 @@ }, { "name": "symfony/css-selector", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "2a4df7618f869b456f9096781e78c57b509d76c7" + "reference": "9ac515bde3c725ca46efa918d37e37c7cece6353" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/2a4df7618f869b456f9096781e78c57b509d76c7", - "reference": "2a4df7618f869b456f9096781e78c57b509d76c7", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/9ac515bde3c725ca46efa918d37e37c7cece6353", + "reference": "9ac515bde3c725ca46efa918d37e37c7cece6353", "shasum": "" }, "require": { @@ -23112,20 +23415,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2018-07-26T09:10:45+00:00" + "time": "2018-09-08T13:24:10+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "bae4983003c9d451e278504d7d9b9d7fc1846873" + "reference": "985ebee0d4cadaadef4d81aaccf0018443cf2560" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/bae4983003c9d451e278504d7d9b9d7fc1846873", - "reference": "bae4983003c9d451e278504d7d9b9d7fc1846873", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/985ebee0d4cadaadef4d81aaccf0018443cf2560", + "reference": "985ebee0d4cadaadef4d81aaccf0018443cf2560", "shasum": "" }, "require": { @@ -23183,20 +23486,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2018-08-08T11:48:58+00:00" + "time": "2018-09-21T12:49:42+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "1c4519d257e652404c3aa550207ccd8ada66b38e" + "reference": "8ffa4c496c782e5591182318a6199b7507431651" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/1c4519d257e652404c3aa550207ccd8ada66b38e", - "reference": "1c4519d257e652404c3aa550207ccd8ada66b38e", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/8ffa4c496c782e5591182318a6199b7507431651", + "reference": "8ffa4c496c782e5591182318a6199b7507431651", "shasum": "" }, "require": { @@ -23240,7 +23543,7 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:00:49+00:00" + "time": "2018-09-21T12:49:42+00:00" }, { "name": "symfony/polyfill-php72", @@ -23348,16 +23651,16 @@ }, { "name": "symfony/var-dumper", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777" + "reference": "1509020968321c1d46408c11c142a2388b1c9b0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a05426e27294bba7b0226ffc17dd01a3c6ef9777", - "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1509020968321c1d46408c11c142a2388b1c9b0c", + "reference": "1509020968321c1d46408c11c142a2388b1c9b0c", "shasum": "" }, "require": { @@ -23419,7 +23722,7 @@ "debug", "dump" ], - "time": "2018-08-02T09:24:26+00:00" + "time": "2018-09-18T12:45:12+00:00" }, { "name": "symfony/web-profiler-bundle", diff --git a/package-lock.json b/package-lock.json index 4579a454e8..c7cbaa72ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3811,6 +3811,11 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + }, "js-base64": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz", @@ -3987,6 +3992,11 @@ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, + "lodash-es": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", + "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==" + }, "lodash._baseassign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", diff --git a/package.json b/package.json index a2d5538a5b..85280dc4c4 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,9 @@ }, "dependencies": { "@webcomponents/webcomponentsjs": "~2.0.0", - "core-js": "~2.5.7" + "core-js": "~2.5.7", + "jquery": "^3.3.1", + "lodash-es": "~4.17.10" }, "devDependencies": { "@spryker/oryx-for-zed": "^2.1.0", diff --git a/src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementBaseUnit.php b/src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementBaseUnit.php deleted file mode 100644 index 4c4ccc3d64..0000000000 --- a/src/Orm/Zed/ProductMeasurementUnit/Persistence/SpyProductMeasurementBaseUnit.php +++ /dev/null @@ -1,24 +0,0 @@ - Date: Fri, 5 Oct 2018 07:17:05 +0000 Subject: [PATCH 05/91] SUITE-725: update composer --- composer.json | 14 +- composer.lock | 799 +++++++++++++----- data/import/cms_page.csv | 2 +- .../ApplicationDependencyProvider.php | 2 + src/Pyz/Zed/Chart/ChartDependencyProvider.php | 28 + .../CmsContentWidgetDependencyProvider.php | 2 + .../Dashboard/DashboardDependencyProvider.php | 27 + 7 files changed, 663 insertions(+), 211 deletions(-) create mode 100644 src/Pyz/Zed/Chart/ChartDependencyProvider.php create mode 100644 src/Pyz/Zed/Dashboard/DashboardDependencyProvider.php diff --git a/composer.json b/composer.json index cd45204bc2..e42f462292 100644 --- a/composer.json +++ b/composer.json @@ -23,9 +23,11 @@ "spryker-shop/cart-page": "^1.0.0", "spryker-shop/catalog-page": "^1.2.0", "spryker-shop/category-widget": "^1.0.0", + "spryker-shop/chart-widget": "^0.1.0", "spryker-shop/checkout-page": "^1.0.0", "spryker-shop/checkout-widget": "^1.0.0", "spryker-shop/cms-block-widget": "^1.0.0", + "spryker-shop/cms-content-widget-chart-connector": "^1.0", "spryker-shop/cms-content-widget-product-connector": "^1.0.0", "spryker-shop/cms-content-widget-product-set-connector": "^1.0.0", "spryker-shop/cms-page": "^1.0.0", @@ -106,6 +108,7 @@ "spryker/category-navigation-connector": "^1.0.0", "spryker/category-page-search": "^1.0.0", "spryker/category-storage": "^1.0.0", + "spryker/chart": "^1.0", "spryker/checkout": "^4.0.0", "spryker/cms": "^6.0.0", "spryker/cms-block": "^2.0.0", @@ -145,6 +148,7 @@ "spryker/customer-offer-connector": "^1.0.0", "spryker/customer-user-connector": "^1.0.0", "spryker/customer-user-connector-gui": "^1.0.0", + "spryker/dashboard": "^1.0", "spryker/data-import": "^1.0.0", "spryker/discount": "^6.0.0", "spryker/discount-calculation-connector": "^5.0.0", @@ -271,10 +275,10 @@ "spryker/propel": "^3.0.0", "spryker/propel-orm": "^1.0.0", "spryker/propel-query-builder": "^0.3.0", - "spryker/queue": "^1.0.0", + "spryker/queue": "^1.2.0", "spryker/quote": "^2.0.0", "spryker/quote-extension": "^1.0.0", - "spryker/rabbit-mq": "^2.0.0", + "spryker/rabbit-mq": "^2.2.0", "spryker/redis": "^2.0.0", "spryker/refund": "^5.0.0", "spryker/sales": "^8.0.0", @@ -282,6 +286,7 @@ "spryker/sales-product-connector": "^1.0.0", "spryker/sales-reclamation": "^0.3.0", "spryker/sales-split": "^3.0.0", + "spryker/sales-statistics": "^1.0", "spryker/search": "^8.0.0", "spryker/sequence-number": "^3.0.0", "spryker/session": "^3.0.0", @@ -300,9 +305,8 @@ "spryker/storage": "^3.0.0", "spryker/store": "^1.0.0", "spryker/symfony": "^3.0.0", - "spryker/synchronization": "^1.0.0", - "spryker/synchronization-behavior": "^1.0.0", - "spryker/synchronization-extension": "^1.0.0", + "spryker/synchronization": "^1.1.0", + "spryker/synchronization-behavior": "^1.3.0", "spryker/tax": "^5.0.0", "spryker/tax-product-connector": "^4.0.0", "spryker/touch": "^4.0.0", diff --git a/composer.lock b/composer.lock index d7e889809f..21fc1f42cd 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "5543fbbe9988cf16aba34002f06e642c", + "content-hash": "10421ecf09276c7295d274c4d06b2be5", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.67.22", + "version": "3.68.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "0d05816beeaf187a3897c28aaa68d683974818d9" + "reference": "2986beb07a14bcde94608e940ee7e5cba1ed4e38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0d05816beeaf187a3897c28aaa68d683974818d9", - "reference": "0d05816beeaf187a3897c28aaa68d683974818d9", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2986beb07a14bcde94608e940ee7e5cba1ed4e38", + "reference": "2986beb07a14bcde94608e940ee7e5cba1ed4e38", "shasum": "" }, "require": { @@ -84,7 +84,7 @@ "s3", "sdk" ], - "time": "2018-09-28T18:46:40+00:00" + "time": "2018-10-02T21:11:29+00:00" }, { "name": "codeitnowin/barcode", @@ -2374,16 +2374,16 @@ }, { "name": "spryker-shop/cart-page", - "version": "1.2.3", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-page.git", - "reference": "1087508ad66a889107921a99b874182032a0bc68" + "reference": "2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/1087508ad66a889107921a99b874182032a0bc68", - "reference": "1087508ad66a889107921a99b874182032a0bc68", + "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795", + "reference": "2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795", "shasum": "" }, "require": { @@ -2425,7 +2425,7 @@ "proprietary" ], "description": "CartPage module", - "time": "2018-09-20T16:44:27+00:00" + "time": "2018-10-02T09:00:48+00:00" }, { "name": "spryker-shop/catalog-page", @@ -2528,18 +2528,65 @@ "description": "CategoryWidget module", "time": "2018-09-20T09:04:40+00:00" }, + { + "name": "spryker-shop/chart-widget", + "version": "0.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/chart-widget.git", + "reference": "e0958d5f6e5e353d5ab69f80b3099c21a2c9ae68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/chart-widget/zipball/e0958d5f6e5e353d5ab69f80b3099c21a2c9ae68", + "reference": "e0958d5f6e5e353d5ab69f80b3099c21a2c9ae68", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/chart": "^1.0.0", + "spryker/kernel": "^3.16.0" + }, + "require-dev": { + "spryker-shop/cms-content-widget-chart-connector": "*", + "spryker/silex": "*", + "spryker/twig": "*" + }, + "suggest": { + "spryker-shop/cms-content-widget-chart-connector": "If you want to use ChartWidgetPlugin: ^1.0.0", + "spryker/silex": "*", + "spryker/twig": "If you want to use ChartWidgetPlugin: ^3.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ChartWidget module", + "time": "2018-06-26T10:36:31+00:00" + }, { "name": "spryker-shop/checkout-page", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-page.git", - "reference": "3477cca488063167221120c67fab5f1da4c3293c" + "reference": "cfbc8eef456c03318010f1bb67ff235af72b65d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/3477cca488063167221120c67fab5f1da4c3293c", - "reference": "3477cca488063167221120c67fab5f1da4c3293c", + "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/cfbc8eef456c03318010f1bb67ff235af72b65d9", + "reference": "cfbc8eef456c03318010f1bb67ff235af72b65d9", "shasum": "" }, "require": { @@ -2594,7 +2641,7 @@ "proprietary" ], "description": "CheckoutPage module", - "time": "2018-09-27T07:45:52+00:00" + "time": "2018-10-04T12:31:33+00:00" }, { "name": "spryker-shop/checkout-widget", @@ -2692,6 +2739,50 @@ "description": "CmsBlockWidget module", "time": "2018-08-01T14:21:08+00:00" }, + { + "name": "spryker-shop/cms-content-widget-chart-connector", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/cms-content-widget-chart-connector.git", + "reference": "0ac8cf1426def7445156b50b4647c38a02f44e01" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-chart-connector/zipball/0ac8cf1426def7445156b50b4647c38a02f44e01", + "reference": "0ac8cf1426def7445156b50b4647c38a02f44e01", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/cms-content-widget": "^1.0.0", + "spryker/kernel": "^3.16.0" + }, + "require-dev": { + "spryker/twig": "*" + }, + "suggest": { + "spryker-shop/chart-widget": "If you want to use ChartWidgetPlugin: ^0.1.0", + "spryker/twig": "If you want to use CmsChartContentWidgetPlugin: ^3.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CmsContentWidgetChartConnector module", + "time": "2018-06-27T07:14:14+00:00" + }, { "name": "spryker-shop/cms-content-widget-product-connector", "version": "1.1.0", @@ -2889,16 +2980,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.6.0", + "version": "1.7.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "22148774ef68c2abbcd714aaa5d666d3560fc350" + "reference": "4c8ba134e291f4b58438bee76e20904f8094656e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/22148774ef68c2abbcd714aaa5d666d3560fc350", - "reference": "22148774ef68c2abbcd714aaa5d666d3560fc350", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4c8ba134e291f4b58438bee76e20904f8094656e", + "reference": "4c8ba134e291f4b58438bee76e20904f8094656e", "shasum": "" }, "require": { @@ -2948,7 +3039,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-09-25T12:39:40+00:00" + "time": "2018-10-02T09:00:48+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -5638,27 +5729,28 @@ }, { "name": "spryker/calculation", - "version": "4.4.0", + "version": "4.4.1", "source": { "type": "git", "url": "https://github.com/spryker/calculation.git", - "reference": "046e9b0654816c3567e8a9f558b59f9ef40ab3b7" + "reference": "2bf6f5dd9790615761a3046a74a44da757e8c5ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/calculation/zipball/046e9b0654816c3567e8a9f558b59f9ef40ab3b7", - "reference": "046e9b0654816c3567e8a9f558b59f9ef40ab3b7", + "url": "https://api.github.com/repos/spryker/calculation/zipball/2bf6f5dd9790615761a3046a74a44da757e8c5ba", + "reference": "2bf6f5dd9790615761a3046a74a44da757e8c5ba", "shasum": "" }, "require": { "php": ">=7.1", + "spryker/calculation-extension": "^1.0.0", "spryker/kernel": "^3.0.0", "spryker/util-text": "^1.1.0", "spryker/zed-request": "^3.0.0" }, "require-dev": { "spryker/checkout": "*", - "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "suggest": { @@ -5680,7 +5772,46 @@ "proprietary" ], "description": "Calculation module", - "time": "2018-07-15T19:05:17+00:00" + "time": "2018-10-02T07:35:34+00:00" + }, + { + "name": "spryker/calculation-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/calculation-extension.git", + "reference": "afc127154242237cf0b0f104cf33f2454811bba2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/calculation-extension/zipball/afc127154242237cf0b0f104cf33f2454811bba2", + "reference": "afc127154242237cf0b0f104cf33f2454811bba2", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CalculationExtension module", + "time": "2018-10-04T13:35:59+00:00" }, { "name": "spryker/cart", @@ -6480,22 +6611,69 @@ "description": "CategoryStorage module", "time": "2018-09-06T10:40:21+00:00" }, + { + "name": "spryker/chart", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/chart.git", + "reference": "46ad8f73b1b2e4041ebd3cb53c3714b5fa1e96f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/chart/zipball/46ad8f73b1b2e4041ebd3cb53c3714b5fa1e96f5", + "reference": "46ad8f73b1b2e4041ebd3cb53c3714b5fa1e96f5", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*", + "spryker/twig": "*" + }, + "suggest": { + "spryker/silex": "*", + "spryker/twig": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Chart module", + "time": "2018-08-07T09:07:57+00:00" + }, { "name": "spryker/checkout", - "version": "4.1.5", + "version": "4.1.6", "source": { "type": "git", "url": "https://github.com/spryker/checkout.git", - "reference": "68283a35f17db945be119dee406a8f779da9fbb6" + "reference": "e9eb2d984f0b223361c70240123dec96acef603e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/checkout/zipball/68283a35f17db945be119dee406a8f779da9fbb6", - "reference": "68283a35f17db945be119dee406a8f779da9fbb6", + "url": "https://api.github.com/repos/spryker/checkout/zipball/e9eb2d984f0b223361c70240123dec96acef603e", + "reference": "e9eb2d984f0b223361c70240123dec96acef603e", "shasum": "" }, "require": { "php": ">=7.1", + "spryker/checkout-extension": "^1.0.0", "spryker/error-handler": "^2.1.0", "spryker/kernel": "^3.0.0", "spryker/oms": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", @@ -6507,15 +6685,12 @@ }, "require-dev": { "spryker/availability": "*", - "spryker/code-sniffer": "*", "spryker/country": "*", "spryker/customer": "*", "spryker/locale": "*", "spryker/product": "*", "spryker/propel": "*", "spryker/sales": "*", - "spryker/sequence-number": "*", - "spryker/silex": "*", "spryker/stock": "*", "spryker/testify": "*" }, @@ -6535,7 +6710,46 @@ "proprietary" ], "description": "Checkout module", - "time": "2018-07-13T09:06:52+00:00" + "time": "2018-10-02T07:35:34+00:00" + }, + { + "name": "spryker/checkout-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/checkout-extension.git", + "reference": "c8fcc8e6de2bd64c2424ac418ebe5aa4920b5ba7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/checkout-extension/zipball/c8fcc8e6de2bd64c2424ac418ebe5aa4920b5ba7", + "reference": "c8fcc8e6de2bd64c2424ac418ebe5aa4920b5ba7", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CheckoutExtension module", + "time": "2018-10-04T13:35:59+00:00" }, { "name": "spryker/cms", @@ -8466,24 +8680,66 @@ "description": "CustomerUserConnectorGui module", "time": "2018-09-05T07:46:20+00:00" }, + { + "name": "spryker/dashboard", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/dashboard.git", + "reference": "bb143949b3e74fcfa4d7dfa4f769d251f4420427" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/dashboard/zipball/bb143949b3e74fcfa4d7dfa4f769d251f4420427", + "reference": "bb143949b3e74fcfa4d7dfa4f769d251f4420427", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*", + "spryker/twig": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Dashboard module", + "time": "2018-08-07T09:36:35+00:00" + }, { "name": "spryker/data-import", - "version": "1.3.2", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/data-import.git", - "reference": "f6f1a4c9cacabd52162ae4e66f8f6589c66b9ab3" + "reference": "68df262489d54450b81372b41f1e9905971be77f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/data-import/zipball/f6f1a4c9cacabd52162ae4e66f8f6589c66b9ab3", - "reference": "f6f1a4c9cacabd52162ae4e66f8f6589c66b9ab3", + "url": "https://api.github.com/repos/spryker/data-import/zipball/68df262489d54450b81372b41f1e9905971be77f", + "reference": "68df262489d54450b81372b41f1e9905971be77f", "shasum": "" }, "require": { "php": ">=7.1", + "spryker/data-import-extension": "^1.0.0", "spryker/error-handler": "^2.1.0", - "spryker/event": "^2.0.0", + "spryker/event": "^2.3.0", "spryker/kernel": "^3.0.0", "spryker/locale": "^2.0.0 || ^3.0.0", "spryker/propel-orm": "^1.0.0", @@ -8493,6 +8749,7 @@ "require-dev": { "spryker/code-sniffer": "*", "spryker/event-behavior": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "suggest": { @@ -8515,7 +8772,50 @@ "proprietary" ], "description": "DataImport module", - "time": "2018-07-04T17:02:32+00:00" + "time": "2018-10-02T06:35:14+00:00" + }, + { + "name": "spryker/data-import-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/data-import-extension.git", + "reference": "c1f9b34012bb189fccb8000686395aac90a1542b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/data-import-extension/zipball/c1f9b34012bb189fccb8000686395aac90a1542b", + "reference": "c1f9b34012bb189fccb8000686395aac90a1542b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/data-import": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/data-import": "If you want to provide plugins to DataImport module" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "DataImportExtension module", + "time": "2018-10-01T14:28:44+00:00" }, { "name": "spryker/discount", @@ -8892,16 +9192,16 @@ }, { "name": "spryker/event", - "version": "2.2.0", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spryker/event.git", - "reference": "7404f030831d6c50d6ff48e8c7465655cd1f6196" + "reference": "476a100fa5d78b770c7cb6a3a65ea8e7709fbeac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/event/zipball/7404f030831d6c50d6ff48e8c7465655cd1f6196", - "reference": "7404f030831d6c50d6ff48e8c7465655cd1f6196", + "url": "https://api.github.com/repos/spryker/event/zipball/476a100fa5d78b770c7cb6a3a65ea8e7709fbeac", + "reference": "476a100fa5d78b770c7cb6a3a65ea8e7709fbeac", "shasum": "" }, "require": { @@ -8914,10 +9214,7 @@ "spryker/util-encoding": "^2.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/silex": "^2.0.0", "spryker/testify": "*" }, "type": "library", @@ -8936,7 +9233,7 @@ "proprietary" ], "description": "Event module", - "time": "2018-05-29T09:01:16+00:00" + "time": "2018-10-02T06:35:14+00:00" }, { "name": "spryker/event-behavior", @@ -9534,16 +9831,16 @@ }, { "name": "spryker/glue-application", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/glue-application.git", - "reference": "6a0fd96672ea7553aa9f82b435389b3b56fe2109" + "reference": "40999695a3a3820edfff7138f5ca3cdb2036909b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glue-application/zipball/6a0fd96672ea7553aa9f82b435389b3b56fe2109", - "reference": "6a0fd96672ea7553aa9f82b435389b3b56fe2109", + "url": "https://api.github.com/repos/spryker/glue-application/zipball/40999695a3a3820edfff7138f5ca3cdb2036909b", + "reference": "40999695a3a3820edfff7138f5ca3cdb2036909b", "shasum": "" }, "require": { @@ -9552,6 +9849,7 @@ "spryker/glue-application-extension": "^1.0.0", "spryker/kernel": "^3.22.0", "spryker/log": "^3.0.0", + "spryker/rest-api-documentation-generator-extension": "^0.1.0", "spryker/session": "^3.0.0", "spryker/store": "^1.7.0", "spryker/symfony": "^3.0.0", @@ -9584,7 +9882,7 @@ "proprietary" ], "description": "GlueApplication module", - "time": "2018-09-11T15:44:34+00:00" + "time": "2018-10-01T14:10:26+00:00" }, { "name": "spryker/glue-application-extension", @@ -11590,28 +11888,29 @@ }, { "name": "spryker/price-cart-connector", - "version": "4.4.1", + "version": "4.5.0", "source": { "type": "git", "url": "https://github.com/spryker/price-cart-connector.git", - "reference": "3f21e13eb6b5025ea410202e67073ce1d58991bb" + "reference": "d743ee8cde66c0e52dcbaed22d11bf5bc7c99daa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-cart-connector/zipball/3f21e13eb6b5025ea410202e67073ce1d58991bb", - "reference": "3f21e13eb6b5025ea410202e67073ce1d58991bb", + "url": "https://api.github.com/repos/spryker/price-cart-connector/zipball/d743ee8cde66c0e52dcbaed22d11bf5bc7c99daa", + "reference": "d743ee8cde66c0e52dcbaed22d11bf5bc7c99daa", "shasum": "" }, "require": { "php": ">=7.1", "spryker/kernel": "^3.0.0", "spryker/price": "^5.0.0", - "spryker/price-product": "^1.0.0 || ^2.0.0" + "spryker/price-product": "^1.3.0 || ^2.3.0" }, "require-dev": { "spryker/calculation": "*", "spryker/cart": "*", - "spryker/code-sniffer": "*", + "spryker/product": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "suggest": { @@ -11633,7 +11932,7 @@ "proprietary" ], "description": "PriceCartConnector module", - "time": "2018-07-18T16:01:59+00:00" + "time": "2018-10-02T11:15:35+00:00" }, { "name": "spryker/price-data-feed", @@ -11720,16 +12019,16 @@ }, { "name": "spryker/price-product", - "version": "2.2.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spryker/price-product.git", - "reference": "5bf4109afcf6abe1b2af51ab22855f878a969f59" + "reference": "0ee63e890065555dad7721354ac654039eb64257" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-product/zipball/5bf4109afcf6abe1b2af51ab22855f878a969f59", - "reference": "5bf4109afcf6abe1b2af51ab22855f878a969f59", + "url": "https://api.github.com/repos/spryker/price-product/zipball/0ee63e890065555dad7721354ac654039eb64257", + "reference": "0ee63e890065555dad7721354ac654039eb64257", "shasum": "" }, "require": { @@ -11770,7 +12069,7 @@ "proprietary" ], "description": "PriceProduct module", - "time": "2018-09-26T13:25:50+00:00" + "time": "2018-10-02T07:35:34+00:00" }, { "name": "spryker/price-product-data-import", @@ -11954,16 +12253,16 @@ }, { "name": "spryker/product", - "version": "6.6.0", + "version": "6.6.1", "source": { "type": "git", "url": "https://github.com/spryker/product.git", - "reference": "2fb2e21bd6f93621330fdc6b9966d8b08f6f10d6" + "reference": "912134c116379f58a1556c339bd27030ce8dd2b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product/zipball/2fb2e21bd6f93621330fdc6b9966d8b08f6f10d6", - "reference": "2fb2e21bd6f93621330fdc6b9966d8b08f6f10d6", + "url": "https://api.github.com/repos/spryker/product/zipball/912134c116379f58a1556c339bd27030ce8dd2b4", + "reference": "912134c116379f58a1556c339bd27030ce8dd2b4", "shasum": "" }, "require": { @@ -12002,7 +12301,7 @@ "proprietary" ], "description": "Product module", - "time": "2018-09-26T10:21:20+00:00" + "time": "2018-10-02T06:35:14+00:00" }, { "name": "spryker/product-abstract-data-feed", @@ -12228,16 +12527,16 @@ }, { "name": "spryker/product-attribute-gui", - "version": "1.0.6", + "version": "1.0.7", "source": { "type": "git", "url": "https://github.com/spryker/product-attribute-gui.git", - "reference": "4bd6c7fd359ff3efa2058f56ea6187b91686f4d8" + "reference": "a62b2c8f33730d8a0df163e0e7367de26aec1d29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-attribute-gui/zipball/4bd6c7fd359ff3efa2058f56ea6187b91686f4d8", - "reference": "4bd6c7fd359ff3efa2058f56ea6187b91686f4d8", + "url": "https://api.github.com/repos/spryker/product-attribute-gui/zipball/a62b2c8f33730d8a0df163e0e7367de26aec1d29", + "reference": "a62b2c8f33730d8a0df163e0e7367de26aec1d29", "shasum": "" }, "require": { @@ -12251,8 +12550,10 @@ "spryker/util-text": "^1.2.0" }, "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" + "spryker/application": "*", + "spryker/propel": "*", + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "type": "library", "extra": { @@ -12270,7 +12571,7 @@ "proprietary" ], "description": "ProductAttributeGui module", - "time": "2018-01-25T09:08:14+00:00" + "time": "2018-10-02T13:51:34+00:00" }, { "name": "spryker/product-barcode", @@ -12362,16 +12663,16 @@ }, { "name": "spryker/product-bundle", - "version": "4.7.2", + "version": "4.7.4", "source": { "type": "git", "url": "https://github.com/spryker/product-bundle.git", - "reference": "4bf51ceb5ffb51381b62efa04810af35d8ae04e2" + "reference": "3180e704052b95101e16e332ce9d174e54df29a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-bundle/zipball/4bf51ceb5ffb51381b62efa04810af35d8ae04e2", - "reference": "4bf51ceb5ffb51381b62efa04810af35d8ae04e2", + "url": "https://api.github.com/repos/spryker/product-bundle/zipball/3180e704052b95101e16e332ce9d174e54df29a4", + "reference": "3180e704052b95101e16e332ce9d174e54df29a4", "shasum": "" }, "require": { @@ -12423,7 +12724,7 @@ "proprietary" ], "description": "ProductBundle module", - "time": "2018-09-26T10:21:20+00:00" + "time": "2018-10-02T15:46:14+00:00" }, { "name": "spryker/product-cart-connector", @@ -14963,16 +15264,16 @@ }, { "name": "spryker/propel", - "version": "3.5.3", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/spryker/propel.git", - "reference": "74c1dce0fb644a9cc60fda026ca61f3260cbc7f7" + "reference": "b92dca9747b4439b7a465eeb2ddaedaf40c73a66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/propel/zipball/74c1dce0fb644a9cc60fda026ca61f3260cbc7f7", - "reference": "74c1dce0fb644a9cc60fda026ca61f3260cbc7f7", + "url": "https://api.github.com/repos/spryker/propel/zipball/b92dca9747b4439b7a465eeb2ddaedaf40c73a66", + "reference": "b92dca9747b4439b7a465eeb2ddaedaf40c73a66", "shasum": "" }, "require": { @@ -15011,7 +15312,7 @@ "proprietary" ], "description": "Propel module", - "time": "2018-08-20T09:52:22+00:00" + "time": "2018-10-02T10:56:18+00:00" }, { "name": "spryker/propel-orm", @@ -15104,16 +15405,16 @@ }, { "name": "spryker/queue", - "version": "1.1.2", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/queue.git", - "reference": "134c1b1f259ba1a3faa4ccc2d4139f0e41e5cd60" + "reference": "4310fa29599f89f1ff15c568a56ef4c6dc4c0595" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/queue/zipball/134c1b1f259ba1a3faa4ccc2d4139f0e41e5cd60", - "reference": "134c1b1f259ba1a3faa4ccc2d4139f0e41e5cd60", + "url": "https://api.github.com/repos/spryker/queue/zipball/4310fa29599f89f1ff15c568a56ef4c6dc4c0595", + "reference": "4310fa29599f89f1ff15c568a56ef4c6dc4c0595", "shasum": "" }, "require": { @@ -15145,7 +15446,7 @@ "proprietary" ], "description": "Queue module", - "time": "2018-09-18T11:42:12+00:00" + "time": "2018-10-02T06:35:14+00:00" }, { "name": "spryker/quote", @@ -15238,16 +15539,16 @@ }, { "name": "spryker/rabbit-mq", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/spryker/rabbit-mq.git", - "reference": "fcb29aa7adb354ae0cad3718a2e3d7585126906a" + "reference": "5da48f3e7f34b3a2c777c9a6ac3f5d7a4e5f4f49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/rabbit-mq/zipball/fcb29aa7adb354ae0cad3718a2e3d7585126906a", - "reference": "fcb29aa7adb354ae0cad3718a2e3d7585126906a", + "url": "https://api.github.com/repos/spryker/rabbit-mq/zipball/5da48f3e7f34b3a2c777c9a6ac3f5d7a4e5f4f49", + "reference": "5da48f3e7f34b3a2c777c9a6ac3f5d7a4e5f4f49", "shasum": "" }, "require": { @@ -15293,7 +15594,7 @@ "rabbit-mq", "standards" ], - "time": "2018-09-24T13:36:50+00:00" + "time": "2018-10-02T06:33:11+00:00" }, { "name": "spryker/ramsey-uuid", @@ -15421,18 +15722,58 @@ }, "time": "2017-11-27T14:09:42+00:00" }, + { + "name": "spryker/rest-api-documentation-generator-extension", + "version": "0.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/rest-api-documentation-generator-extension.git", + "reference": "512b2e16c27517cd505651a9d8c4190ffd7010f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/rest-api-documentation-generator-extension/zipball/512b2e16c27517cd505651a9d8c4190ffd7010f4", + "reference": "512b2e16c27517cd505651a9d8c4190ffd7010f4", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/glue-application-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "RestApiDocumentationGeneratorExtension module", + "time": "2018-09-24T11:52:01+00:00" + }, { "name": "spryker/sales", - "version": "8.12.1", + "version": "8.14.0", "source": { "type": "git", "url": "https://github.com/spryker/sales.git", - "reference": "1e0c0a11921df6a555bfe64f27a7245c9701ab2a" + "reference": "71ca4fdce328ad9ceeb3102987c21061cb0701ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales/zipball/1e0c0a11921df6a555bfe64f27a7245c9701ab2a", - "reference": "1e0c0a11921df6a555bfe64f27a7245c9701ab2a", + "url": "https://api.github.com/repos/spryker/sales/zipball/71ca4fdce328ad9ceeb3102987c21061cb0701ab", + "reference": "71ca4fdce328ad9ceeb3102987c21061cb0701ab", "shasum": "" }, "require": { @@ -15441,7 +15782,7 @@ "spryker/country": "^3.0.0", "spryker/customer": "^6.0.0 || ^7.0.0", "spryker/gui": "^3.7.0", - "spryker/kernel": "^3.0.0", + "spryker/kernel": "^3.17.0", "spryker/locale": "^3.0.0", "spryker/money": "^2.0.0", "spryker/oms": "^7.3.0 || ^8.0.0", @@ -15489,7 +15830,7 @@ "proprietary" ], "description": "Sales module", - "time": "2018-09-27T10:10:08+00:00" + "time": "2018-10-02T12:54:26+00:00" }, { "name": "spryker/sales-extension", @@ -15674,6 +16015,56 @@ "description": "SalesSplit module", "time": "2018-02-05T06:01:59+00:00" }, + { + "name": "spryker/sales-statistics", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-statistics.git", + "reference": "7274ead3c755a253edcb5e0d251920232b7baccf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-statistics/zipball/7274ead3c755a253edcb5e0d251920232b7baccf", + "reference": "7274ead3c755a253edcb5e0d251920232b7baccf", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.17.0", + "spryker/oms": "^8.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/sales": "^8.0.0", + "spryker/twig": "^3.3.1" + }, + "require-dev": { + "spryker/chart": "*", + "spryker/code-sniffer": "*", + "spryker/dashboard": "^1.0.0", + "spryker/testify": "*" + }, + "suggest": { + "spryker/chart": "If you want to use Chart Plugins. Minimum required version: 1.0.1.", + "spryker/dashboard": "If you want to use Dashboard. Minimum required version: 1.0.0." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesStatistics module", + "time": "2018-08-07T12:53:30+00:00" + }, { "name": "spryker/search", "version": "8.3.0", @@ -16314,16 +16705,16 @@ }, { "name": "spryker/stock", - "version": "5.0.1", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/spryker/stock.git", - "reference": "f876c5f1dd0819aa6c6314cb5ddcf65a563c0008" + "reference": "db3ad636e878ef812077bebba9bcd8be3e550f4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/stock/zipball/f876c5f1dd0819aa6c6314cb5ddcf65a563c0008", - "reference": "f876c5f1dd0819aa6c6314cb5ddcf65a563c0008", + "url": "https://api.github.com/repos/spryker/stock/zipball/db3ad636e878ef812077bebba9bcd8be3e550f4c", + "reference": "db3ad636e878ef812077bebba9bcd8be3e550f4c", "shasum": "" }, "require": { @@ -16335,9 +16726,7 @@ "spryker/touch": "^3.0.0 || ^4.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "type": "library", @@ -16357,7 +16746,7 @@ "proprietary" ], "description": "Stock module", - "time": "2018-05-24T14:52:45+00:00" + "time": "2018-10-02T06:35:14+00:00" }, { "name": "spryker/stock-sales-connector", @@ -16873,16 +17262,16 @@ }, { "name": "spryker/transfer", - "version": "3.6.5", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/spryker/transfer.git", - "reference": "016a5ec591f89a48f5f00ce60d4138879b22dc04" + "reference": "ce7e312c9f4aae8fb8adc425bd7946c2a54513a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/transfer/zipball/016a5ec591f89a48f5f00ce60d4138879b22dc04", - "reference": "016a5ec591f89a48f5f00ce60d4138879b22dc04", + "url": "https://api.github.com/repos/spryker/transfer/zipball/ce7e312c9f4aae8fb8adc425bd7946c2a54513a1", + "reference": "ce7e312c9f4aae8fb8adc425bd7946c2a54513a1", "shasum": "" }, "require": { @@ -16916,7 +17305,7 @@ "proprietary" ], "description": "Transfer module", - "time": "2018-09-11T12:54:14+00:00" + "time": "2018-10-01T14:10:26+00:00" }, { "name": "spryker/twig", @@ -17677,16 +18066,16 @@ }, { "name": "spryker/wishlist", - "version": "6.1.1", + "version": "6.1.2", "source": { "type": "git", "url": "https://github.com/spryker/wishlist.git", - "reference": "1a197aaf36e99577eb5e233fa5fd3952cdefe5ab" + "reference": "1b2191ffc9c7faca544196d120c1f0c3a75a3714" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/wishlist/zipball/1a197aaf36e99577eb5e233fa5fd3952cdefe5ab", - "reference": "1a197aaf36e99577eb5e233fa5fd3952cdefe5ab", + "url": "https://api.github.com/repos/spryker/wishlist/zipball/1b2191ffc9c7faca544196d120c1f0c3a75a3714", + "reference": "1b2191ffc9c7faca544196d120c1f0c3a75a3714", "shasum": "" }, "require": { @@ -17721,7 +18110,7 @@ "proprietary" ], "description": "Wishlist module", - "time": "2018-09-12T11:59:36+00:00" + "time": "2018-10-02T14:57:01+00:00" }, { "name": "spryker/wishlist-extension", @@ -18014,7 +18403,7 @@ }, { "name": "symfony/config", - "version": "v4.1.5", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/symfony/config.git", @@ -18077,16 +18466,16 @@ }, { "name": "symfony/console", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "1cbaac35024c9dfc9612b7e2310e82677bf85709" + "reference": "3b2b415d4c48fbefca7dc742aa0a0171bfae4e0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/1cbaac35024c9dfc9612b7e2310e82677bf85709", - "reference": "1cbaac35024c9dfc9612b7e2310e82677bf85709", + "url": "https://api.github.com/repos/symfony/console/zipball/3b2b415d4c48fbefca7dc742aa0a0171bfae4e0b", + "reference": "3b2b415d4c48fbefca7dc742aa0a0171bfae4e0b", "shasum": "" }, "require": { @@ -18142,20 +18531,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-09-30T03:37:36+00:00" + "time": "2018-10-02T16:33:53+00:00" }, { "name": "symfony/debug", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "b70cfaae39009ecde3164bb8cba4d029220d27b1" + "reference": "0a612e9dfbd2ccce03eb174365f31ecdca930ff6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b70cfaae39009ecde3164bb8cba4d029220d27b1", - "reference": "b70cfaae39009ecde3164bb8cba4d029220d27b1", + "url": "https://api.github.com/repos/symfony/debug/zipball/0a612e9dfbd2ccce03eb174365f31ecdca930ff6", + "reference": "0a612e9dfbd2ccce03eb174365f31ecdca930ff6", "shasum": "" }, "require": { @@ -18198,7 +18587,7 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-09-22T18:25:03+00:00" + "time": "2018-10-02T16:33:53+00:00" }, { "name": "symfony/event-dispatcher", @@ -18262,16 +18651,16 @@ }, { "name": "symfony/filesystem", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "f89ab242d915d188fca95ee3291c72c5a094a195" + "reference": "d69930fc337d767607267d57c20a7403d0a822a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/f89ab242d915d188fca95ee3291c72c5a094a195", - "reference": "f89ab242d915d188fca95ee3291c72c5a094a195", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/d69930fc337d767607267d57c20a7403d0a822a4", + "reference": "d69930fc337d767607267d57c20a7403d0a822a4", "shasum": "" }, "require": { @@ -18308,20 +18697,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-09-30T03:32:28+00:00" + "time": "2018-10-02T12:28:39+00:00" }, { "name": "symfony/finder", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e8db87d755e14271e920e31ba834a4ae99483232" + "reference": "54ba444dddc5bd5708a34bd095ea67c6eb54644d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e8db87d755e14271e920e31ba834a4ae99483232", - "reference": "e8db87d755e14271e920e31ba834a4ae99483232", + "url": "https://api.github.com/repos/symfony/finder/zipball/54ba444dddc5bd5708a34bd095ea67c6eb54644d", + "reference": "54ba444dddc5bd5708a34bd095ea67c6eb54644d", "shasum": "" }, "require": { @@ -18357,7 +18746,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-09-21T12:47:54+00:00" + "time": "2018-10-03T08:46:40+00:00" }, { "name": "symfony/form", @@ -18575,7 +18964,7 @@ }, { "name": "symfony/inflector", - "version": "v4.1.5", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", @@ -18633,16 +19022,16 @@ }, { "name": "symfony/intl", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "9d25efa9b69089d702ce760449e70256845fcdd8" + "reference": "f6dd4898d2872719e9fe723859625ad41e231b31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/9d25efa9b69089d702ce760449e70256845fcdd8", - "reference": "9d25efa9b69089d702ce760449e70256845fcdd8", + "url": "https://api.github.com/repos/symfony/intl/zipball/f6dd4898d2872719e9fe723859625ad41e231b31", + "reference": "f6dd4898d2872719e9fe723859625ad41e231b31", "shasum": "" }, "require": { @@ -18704,11 +19093,11 @@ "l10n", "localization" ], - "time": "2018-09-22T18:49:52+00:00" + "time": "2018-10-02T12:28:39+00:00" }, { "name": "symfony/options-resolver", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", @@ -19104,16 +19493,16 @@ }, { "name": "symfony/process", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8b87aca97f341d65dee430c60863f2442605c88b" + "reference": "1dc2977afa7d70f90f3fefbcd84152813558910e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8b87aca97f341d65dee430c60863f2442605c88b", - "reference": "8b87aca97f341d65dee430c60863f2442605c88b", + "url": "https://api.github.com/repos/symfony/process/zipball/1dc2977afa7d70f90f3fefbcd84152813558910e", + "reference": "1dc2977afa7d70f90f3fefbcd84152813558910e", "shasum": "" }, "require": { @@ -19149,20 +19538,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-09-08T13:15:14+00:00" + "time": "2018-10-02T12:28:39+00:00" }, { "name": "symfony/property-access", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "35e277fabd77d42b747d017dc31f4b7fab5158fc" + "reference": "a62b882330f24b43f4409e50a0692aa433947460" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/35e277fabd77d42b747d017dc31f4b7fab5158fc", - "reference": "35e277fabd77d42b747d017dc31f4b7fab5158fc", + "url": "https://api.github.com/repos/symfony/property-access/zipball/a62b882330f24b43f4409e50a0692aa433947460", + "reference": "a62b882330f24b43f4409e50a0692aa433947460", "shasum": "" }, "require": { @@ -19217,7 +19606,7 @@ "property path", "reflection" ], - "time": "2018-09-08T13:15:14+00:00" + "time": "2018-10-02T12:28:39+00:00" }, { "name": "symfony/routing", @@ -19374,16 +19763,16 @@ }, { "name": "symfony/serializer", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "6fd29b89c3c185ba90e27292b204d6e905cd5198" + "reference": "8bc00ef47a428bfebc4641f29d158e7c56137fcb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/6fd29b89c3c185ba90e27292b204d6e905cd5198", - "reference": "6fd29b89c3c185ba90e27292b204d6e905cd5198", + "url": "https://api.github.com/repos/symfony/serializer/zipball/8bc00ef47a428bfebc4641f29d158e7c56137fcb", + "reference": "8bc00ef47a428bfebc4641f29d158e7c56137fcb", "shasum": "" }, "require": { @@ -19449,20 +19838,20 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2018-09-21T12:47:54+00:00" + "time": "2018-10-02T12:28:39+00:00" }, { "name": "symfony/translation", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "97e07ec91584eca4e9a96d3eb5aadd55844c55a8" + "reference": "94bc3a79008e6640defedf5e14eb3b4f20048352" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/97e07ec91584eca4e9a96d3eb5aadd55844c55a8", - "reference": "97e07ec91584eca4e9a96d3eb5aadd55844c55a8", + "url": "https://api.github.com/repos/symfony/translation/zipball/94bc3a79008e6640defedf5e14eb3b4f20048352", + "reference": "94bc3a79008e6640defedf5e14eb3b4f20048352", "shasum": "" }, "require": { @@ -19517,7 +19906,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2018-09-21T12:47:54+00:00" + "time": "2018-10-02T16:33:53+00:00" }, { "name": "symfony/twig-bridge", @@ -19688,16 +20077,16 @@ }, { "name": "symfony/yaml", - "version": "v3.4.16", + "version": "v3.4.17", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "61973ecda60e9f3561e929e19c07d4878b960fc1" + "reference": "640b6c27fed4066d64b64d5903a86043f4a4de7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/61973ecda60e9f3561e929e19c07d4878b960fc1", - "reference": "61973ecda60e9f3561e929e19c07d4878b960fc1", + "url": "https://api.github.com/repos/symfony/yaml/zipball/640b6c27fed4066d64b64d5903a86043f4a4de7f", + "reference": "640b6c27fed4066d64b64d5903a86043f4a4de7f", "shasum": "" }, "require": { @@ -19743,7 +20132,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-09-24T08:15:45+00:00" + "time": "2018-10-02T16:33:53+00:00" }, { "name": "twig/twig", @@ -22879,16 +23268,16 @@ }, { "name": "slevomat/coding-standard", - "version": "4.8.3", + "version": "4.8.4", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "32e1ca205fc34920f323582ed29c0602e3897ae3" + "reference": "bc8a02f25e03eb5481c4976cc615621cdd75aef9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/32e1ca205fc34920f323582ed29c0602e3897ae3", - "reference": "32e1ca205fc34920f323582ed29c0602e3897ae3", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/bc8a02f25e03eb5481c4976cc615621cdd75aef9", + "reference": "bc8a02f25e03eb5481c4976cc615621cdd75aef9", "shasum": "" }, "require": { @@ -22914,7 +23303,7 @@ "MIT" ], "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "time": "2018-09-25T21:21:11+00:00" + "time": "2018-10-01T20:16:49+00:00" }, { "name": "sllh/composer-versions-check", @@ -23116,16 +23505,16 @@ }, { "name": "spryker/development", - "version": "3.12.0", + "version": "3.13.0", "source": { "type": "git", "url": "https://github.com/spryker/development.git", - "reference": "46bbc26d46558881787b346fb732d8fcb6d3fa77" + "reference": "85b3a74014a0626c72808ec1ebaedc66c7a3f4eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/development/zipball/46bbc26d46558881787b346fb732d8fcb6d3fa77", - "reference": "46bbc26d46558881787b346fb732d8fcb6d3fa77", + "url": "https://api.github.com/repos/spryker/development/zipball/85b3a74014a0626c72808ec1ebaedc66c7a3f4eb", + "reference": "85b3a74014a0626c72808ec1ebaedc66c7a3f4eb", "shasum": "" }, "require": { @@ -23162,7 +23551,7 @@ "proprietary" ], "description": "Development module", - "time": "2018-09-18T08:37:17+00:00" + "time": "2018-10-01T18:50:09+00:00" }, { "name": "spryker/testify", @@ -23309,7 +23698,7 @@ }, { "name": "symfony/browser-kit", - "version": "v4.1.5", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", @@ -23366,16 +23755,16 @@ }, { "name": "symfony/css-selector", - "version": "v4.1.5", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "9ac515bde3c725ca46efa918d37e37c7cece6353" + "reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/9ac515bde3c725ca46efa918d37e37c7cece6353", - "reference": "9ac515bde3c725ca46efa918d37e37c7cece6353", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/d67de79a70a27d93c92c47f37ece958bf8de4d8a", + "reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a", "shasum": "" }, "require": { @@ -23415,20 +23804,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2018-09-08T13:24:10+00:00" + "time": "2018-10-02T16:36:10+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.1.5", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "985ebee0d4cadaadef4d81aaccf0018443cf2560" + "reference": "f6b9d893ad28aefd8942dc0469c8397e2216fe30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/985ebee0d4cadaadef4d81aaccf0018443cf2560", - "reference": "985ebee0d4cadaadef4d81aaccf0018443cf2560", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f6b9d893ad28aefd8942dc0469c8397e2216fe30", + "reference": "f6b9d893ad28aefd8942dc0469c8397e2216fe30", "shasum": "" }, "require": { @@ -23486,20 +23875,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2018-09-21T12:49:42+00:00" + "time": "2018-10-02T12:40:59+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.1.5", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "8ffa4c496c782e5591182318a6199b7507431651" + "reference": "80e60271bb288de2a2259662cff125cff4f93f95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/8ffa4c496c782e5591182318a6199b7507431651", - "reference": "8ffa4c496c782e5591182318a6199b7507431651", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/80e60271bb288de2a2259662cff125cff4f93f95", + "reference": "80e60271bb288de2a2259662cff125cff4f93f95", "shasum": "" }, "require": { @@ -23543,7 +23932,7 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2018-09-21T12:49:42+00:00" + "time": "2018-10-02T12:40:59+00:00" }, { "name": "symfony/polyfill-php72", @@ -23651,16 +24040,16 @@ }, { "name": "symfony/var-dumper", - "version": "v4.1.5", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "1509020968321c1d46408c11c142a2388b1c9b0c" + "reference": "60319b45653580b0cdacca499344577d87732f16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1509020968321c1d46408c11c142a2388b1c9b0c", - "reference": "1509020968321c1d46408c11c142a2388b1c9b0c", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/60319b45653580b0cdacca499344577d87732f16", + "reference": "60319b45653580b0cdacca499344577d87732f16", "shasum": "" }, "require": { @@ -23722,7 +24111,7 @@ "debug", "dump" ], - "time": "2018-09-18T12:45:12+00:00" + "time": "2018-10-02T16:36:10+00:00" }, { "name": "symfony/web-profiler-bundle", diff --git a/data/import/cms_page.csv b/data/import/cms_page.csv index 9d600e3cb3..c50ab1e408 100644 --- a/data/import/cms_page.csv +++ b/data/import/cms_page.csv @@ -336,7 +336,7 @@ to have personal data deleted, where such claim is not barred by any legal oblig

Sample Data Privacy Policy Statement provided by the Law Offices of Weiß & Partner

" -static full page,1,0,1,page_4,/de/loremde,/en/lorem,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,"{{ chart('testChart', 'testChart') }}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","{{ chart('testChart', 'testChart') }}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." +static full page,1,0,1,page_4,/de/loremde,/en/lorem,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,"
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","{{ chart('testChart', 'testChart') }}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." static full page,1,1,0,page_5,/de/dolorde,/en/dolor,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Lorem ipsum,Lorem ipsum,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." static full page,1,1,1,page_6,/de/demo-landing-page,/en/demo-landing-page,Demo Landing Page,Demo Landing Page,Demo Landing Page,Demo Landing Page,"demo,cms page, landing page","demo,cms page, landing page",This is a demo landing page with different content widgets.,This is a demo landing page with different content widgets.,"

DAS IST EINE GROßARTIGE LANDING PAGE

","

THIS IS A GREAT LANDING PAGE

","

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non erat felis. Suspendisse nulla quam, dictum vitae malesuada a, ullamcorper eu urna. Sed diam tellus, feugiat iaculis consequat eu, commodo in dui. Integer ac ipsum urna. Aliquam rhoncus varius felis at dignissim. Nulla id justo id nunc lacinia efficitur. Etiam nec vehicula lorem. Phasellus ut lacus eu lorem luctus luctus. Quisque id vestibulum lectus, vel aliquam erat. Praesent ut erat quis magna varius tempor et sed sapien. Cras ac turpis id ligula gravida dignissim in sed nisl. Suspendisse scelerisque eros vel risus sagittis, in ultricies odio commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.

Duis nunc dolor, vestibulum eu cursus ut, facilisis eget justo. Ut quis placerat mauris. In cursus enim purus, a mollis felis cursus non. Mauris rutrum a ante a rutrum. Aliquam gravida tortor et cursus pharetra. Ut id sagittis arcu, eu convallis felis. Integer fermentum convallis lorem, eu posuere ex ultricies scelerisque. Suspendisse et consectetur mauris, vel rhoncus elit. Sed ultrices eget lacus quis rutrum. Aliquam erat volutpat. Aliquam varius mauris purus, non imperdiet turpis tempor vel. Donec vitae scelerisque mi.


Dies ist eine Liste von Produkten auf einer CMS Seite:

diff --git a/src/Pyz/Zed/Application/ApplicationDependencyProvider.php b/src/Pyz/Zed/Application/ApplicationDependencyProvider.php index c9a7978633..2ccc661ffd 100644 --- a/src/Pyz/Zed/Application/ApplicationDependencyProvider.php +++ b/src/Pyz/Zed/Application/ApplicationDependencyProvider.php @@ -32,6 +32,7 @@ use Spryker\Zed\Assertion\Communication\Plugin\ServiceProvider\AssertionServiceProvider; use Spryker\Zed\Auth\Communication\Plugin\Bootstrap\AuthBootstrapProvider; use Spryker\Zed\Auth\Communication\Plugin\ServiceProvider\RedirectAfterLoginProvider; +use Spryker\Zed\Chart\Communication\Plugin\ServiceProvider\TwigChartFunctionServiceProvider; use Spryker\Zed\Currency\Communication\Plugin\ServiceProvider\TwigCurrencyServiceProvider; use Spryker\Zed\EventBehavior\Communication\Plugin\ServiceProvider\EventBehaviorServiceProvider; use Spryker\Zed\Gui\Communication\Plugin\ServiceProvider\GuiTwigExtensionServiceProvider; @@ -86,6 +87,7 @@ protected function getServiceProviders(Container $container) new PropelServiceProvider(), new GuiTwigExtensionServiceProvider(), new EventBehaviorServiceProvider(), + new TwigChartFunctionServiceProvider(), ]; if (Environment::isDevelopment()) { diff --git a/src/Pyz/Zed/Chart/ChartDependencyProvider.php b/src/Pyz/Zed/Chart/ChartDependencyProvider.php new file mode 100644 index 0000000000..e591a944a1 --- /dev/null +++ b/src/Pyz/Zed/Chart/ChartDependencyProvider.php @@ -0,0 +1,28 @@ + new CmsChartContentWidgetConfigurationProvider(), CmsProductContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductSkuMapperPlugin(), CmsProductSetContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductSetKeyMapperPlugin(), CmsProductGroupContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductSkuMapperPlugin(), diff --git a/src/Pyz/Zed/Dashboard/DashboardDependencyProvider.php b/src/Pyz/Zed/Dashboard/DashboardDependencyProvider.php new file mode 100644 index 0000000000..7cafc68cfe --- /dev/null +++ b/src/Pyz/Zed/Dashboard/DashboardDependencyProvider.php @@ -0,0 +1,27 @@ + Date: Fri, 5 Oct 2018 09:29:25 +0000 Subject: [PATCH 06/91] SUITE-713: update agent assist --- .../CustomerPageDependencyProvider.php | 11 +++++ .../navigation-top/navigation-top.twig | 2 +- src/Pyz/Zed/User/UserDependencyProvider.php | 44 +++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php b/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php index da846a662a..8eae0a8d19 100644 --- a/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php +++ b/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php @@ -7,6 +7,7 @@ namespace Pyz\Yves\CustomerPage; +use SprykerShop\Yves\AgentPage\Plugin\FixAgentTokenAfterCustomerAuthenticationSuccessPlugin; use SprykerShop\Yves\CartNoteWidget\Plugin\CustomerPage\CartNoteOrderItemNoteWidgetPlugin; use SprykerShop\Yves\CartNoteWidget\Plugin\CustomerPage\CartNoteOrderNoteWidgetPlugin; use SprykerShop\Yves\CustomerPage\CustomerPageDependencyProvider as SprykerShopCustomerPageDependencyProvider; @@ -67,4 +68,14 @@ protected function getPreRegistrationCustomerTransferExpanderPlugins(): array return [ ]; } + + /** + * @return \SprykerShop\Yves\AgentPage\Plugin\FixAgentTokenAfterCustomerAuthenticationSuccessPlugin[] + */ + protected function getAfterCustomerAuthenticationSuccessPlugins(): array + { + return [ + new FixAgentTokenAfterCustomerAuthenticationSuccessPlugin(), + ]; + } } diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig index 244ba9031d..172db395ae 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig @@ -47,7 +47,7 @@ {% if data.withSeparators %}

{% endif %} {% if data.showUserMenu %} - {% if is_granted('IS_AUTHENTICATED_FULLY') %} + {% if is_granted('ROLE_USER') %} diff --git a/src/Pyz/Zed/User/UserDependencyProvider.php b/src/Pyz/Zed/User/UserDependencyProvider.php index adfccb6575..91dc0c405f 100644 --- a/src/Pyz/Zed/User/UserDependencyProvider.php +++ b/src/Pyz/Zed/User/UserDependencyProvider.php @@ -8,7 +8,11 @@ namespace Pyz\Zed\User; use Spryker\Zed\Acl\Communication\Plugin\GroupPlugin; +use Spryker\Zed\AgentGui\Communication\Plugin\UserAgentFormExpanderPlugin; +use Spryker\Zed\AgentGui\Communication\Plugin\UserAgentTableConfigExpanderPlugin; +use Spryker\Zed\AgentGui\Communication\Plugin\UserAgentTableDataExpanderPlugin; use Spryker\Zed\CustomerUserConnectorGui\Communication\Plugin\UsersTableExpanderPlugin; +use Spryker\Zed\CustomerUserConnectorGui\Communication\Plugin\UserTableActionExpanderPlugin; use Spryker\Zed\Kernel\Container; use Spryker\Zed\User\UserDependencyProvider as SprykerUserDependencyProvider; @@ -37,4 +41,44 @@ protected function getUsersTableExtenderPlugins() new UsersTableExpanderPlugin(), ]; } + + /** + * @return \Spryker\Zed\UserExtension\Dependency\Plugin\UserTableActionExpanderPluginInterface[] + */ + protected function getUserTableActionExpanderPlugins(): array + { + return [ + new UserTableActionExpanderPlugin(), + ]; + } + + /** + * @return \Spryker\Zed\UserExtension\Dependency\Plugin\UserFormExpanderPluginInterface[] + */ + protected function getUserFormExpanderPlugins(): array + { + return [ + new UserAgentFormExpanderPlugin(), + ]; + } + + /** + * @return \Spryker\Zed\UserExtension\Dependency\Plugin\UserTableConfigExpanderPluginInterface[] + */ + protected function getUserTableConfigExpanderPlugins(): array + { + return [ + new UserAgentTableConfigExpanderPlugin(), + ]; + } + + /** + * @return \Spryker\Zed\UserExtension\Dependency\Plugin\UserTableDataExpanderPluginInterface[] + */ + protected function getUserTableDataExpanderPlugins(): array + { + return [ + new UserAgentTableDataExpanderPlugin(), + ]; + } } From e75fadf2427bf8f72772850477ea69a766d1334d Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Fri, 5 Oct 2018 12:59:01 +0000 Subject: [PATCH 07/91] SUITE-733: added alternative and discontinued products --- composer.json | 16 + composer.lock | 901 ++- data/import/cms_page.csv | 2 +- .../PropelMigration_1538739819.php | 4863 +++++++++++++++++ .../PropelMigration_1538739823.php | 4863 +++++++++++++++++ .../Persistence/SpyProductAlternative.php | 20 + .../SpyProductAlternativeQuery.php | 20 + .../SpyProductAlternativeStorage.php | 20 + .../SpyProductAlternativeStorageQuery.php | 20 + .../SpyProductReplacementForStorage.php | 20 + .../SpyProductReplacementForStorageQuery.php | 20 + .../Persistence/SpyProductDiscontinued.php | 20 + .../SpyProductDiscontinuedNote.php | 20 + .../SpyProductDiscontinuedNoteQuery.php | 20 + .../SpyProductDiscontinuedQuery.php | 20 + .../SpyProductDiscontinuedStorage.php | 20 + .../SpyProductDiscontinuedStorageQuery.php | 20 + ...ctAlternativeStorageDependencyProvider.php | 26 + .../ProductStorageDependencyProvider.php | 2 + ...uctAlternativeWidgetDependencyProvider.php | 26 + .../ProductDetailPageDependencyProvider.php | 4 + .../WishlistPageDependencyProvider.php | 16 + src/Pyz/Zed/Cart/CartDependencyProvider.php | 2 + .../Checkout/CheckoutDependencyProvider.php | 2 + .../Zed/Console/ConsoleDependencyProvider.php | 4 + .../DataImportDependencyProvider.php | 4 + src/Pyz/Zed/Event/EventDependencyProvider.php | 4 + .../Installer/InstallerDependencyProvider.php | 4 + .../Zed/Product/ProductDependencyProvider.php | 7 +- .../Schema/spy_product_alternative.schema.xml | 14 + .../ProductAlternativeDependencyProvider.php | 48 + ...spy_product_alternative_storage.schema.xml | 20 + .../spy_product_discontinued.schema.xml | 20 + .../ProductDiscontinuedDependencyProvider.php | 37 + ...py_product_discontinued_storage.schema.xml | 14 + .../ProductLabelDependencyProvider.php | 4 + .../ProductManagementDependencyProvider.php | 52 + 37 files changed, 11076 insertions(+), 119 deletions(-) create mode 100644 src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php create mode 100644 src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php create mode 100644 src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php create mode 100644 src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternativeQuery.php create mode 100644 src/Orm/Zed/ProductAlternativeStorage/Persistence/SpyProductAlternativeStorage.php create mode 100644 src/Orm/Zed/ProductAlternativeStorage/Persistence/SpyProductAlternativeStorageQuery.php create mode 100644 src/Orm/Zed/ProductAlternativeStorage/Persistence/SpyProductReplacementForStorage.php create mode 100644 src/Orm/Zed/ProductAlternativeStorage/Persistence/SpyProductReplacementForStorageQuery.php create mode 100644 src/Orm/Zed/ProductDiscontinued/Persistence/SpyProductDiscontinued.php create mode 100644 src/Orm/Zed/ProductDiscontinued/Persistence/SpyProductDiscontinuedNote.php create mode 100644 src/Orm/Zed/ProductDiscontinued/Persistence/SpyProductDiscontinuedNoteQuery.php create mode 100644 src/Orm/Zed/ProductDiscontinued/Persistence/SpyProductDiscontinuedQuery.php create mode 100644 src/Orm/Zed/ProductDiscontinuedStorage/Persistence/SpyProductDiscontinuedStorage.php create mode 100644 src/Orm/Zed/ProductDiscontinuedStorage/Persistence/SpyProductDiscontinuedStorageQuery.php create mode 100644 src/Pyz/Client/ProductAlternativeStorage/ProductAlternativeStorageDependencyProvider.php create mode 100644 src/Pyz/Yves/ProductAlternativeWidget/ProductAlternativeWidgetDependencyProvider.php create mode 100644 src/Pyz/Zed/ProductAlternative/Persistence/Propel/Schema/spy_product_alternative.schema.xml create mode 100644 src/Pyz/Zed/ProductAlternative/ProductAlternativeDependencyProvider.php create mode 100644 src/Pyz/Zed/ProductAlternativeStorage/Persistence/Propel/Schema/spy_product_alternative_storage.schema.xml create mode 100644 src/Pyz/Zed/ProductDiscontinued/Persistence/Propel/Schema/spy_product_discontinued.schema.xml create mode 100644 src/Pyz/Zed/ProductDiscontinued/ProductDiscontinuedDependencyProvider.php create mode 100644 src/Pyz/Zed/ProductDiscontinuedStorage/Persistence/Propel/Schema/spy_product_discontinued_storage.schema.xml diff --git a/composer.json b/composer.json index e42f462292..22dc6c5725 100644 --- a/composer.json +++ b/composer.json @@ -46,10 +46,12 @@ "spryker-shop/newsletter-page": "^1.0.0", "spryker-shop/newsletter-widget": "^1.0.0", "spryker-shop/price-widget": "^1.0.0", + "spryker-shop/product-alternative-widget": "^1.0", "spryker-shop/product-barcode-widget": "^1.0.0", "spryker-shop/product-bundle-widget": "^1.0.0", "spryker-shop/product-category-widget": "^1.0.0", "spryker-shop/product-detail-page": "^1.0.0", + "spryker-shop/product-discontinued-widget": "^1.0", "spryker-shop/product-group-widget": "^1.0.0", "spryker-shop/product-image-widget": "^1.0.0", "spryker-shop/product-label-widget": "^1.0.0", @@ -219,6 +221,13 @@ "spryker/price-product-storage": "^2.0.0", "spryker/product": "^6.0.0", "spryker/product-abstract-data-feed": "^0.2.0", + "spryker/product-alternative": "^1.0", + "spryker/product-alternative-data-import": "^1.0", + "spryker/product-alternative-extension": "^1.0", + "spryker/product-alternative-gui": "^1.0", + "spryker/product-alternative-product-label-connector": "^1.0", + "spryker/product-alternative-storage": "^1.1", + "spryker/product-alternative-storage-extension": "^1.0", "spryker/product-api": "^0.1.0", "spryker/product-attribute": "^1.0.0", "spryker/product-attribute-gui": "^1.0.0", @@ -232,6 +241,13 @@ "spryker/product-category-filter-gui": "^1.0.0", "spryker/product-category-filter-storage": "^1.0.0", "spryker/product-category-storage": "^1.0.0", + "spryker/product-discontinued": "^1.0", + "spryker/product-discontinued-data-import": "^1.0", + "spryker/product-discontinued-extension": "^1.0", + "spryker/product-discontinued-gui": "^1.0", + "spryker/product-discontinued-product-bundle-connector": "^1.0", + "spryker/product-discontinued-product-label-connector": "^1.0", + "spryker/product-discontinued-storage": "^1.0", "spryker/product-discount-connector": "^3.0.0", "spryker/product-group": "^1.0.0", "spryker/product-group-collector": "^1.0.0", diff --git a/composer.lock b/composer.lock index 21fc1f42cd..658703b9d3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "10421ecf09276c7295d274c4d06b2be5", + "content-hash": "00c5b6e499e78d46d0bfd54a5468972b", "packages": [ { "name": "aws/aws-sdk-php", @@ -3653,6 +3653,55 @@ "description": "PriceWidget module", "time": "2018-06-15T09:21:34+00:00" }, + { + "name": "spryker-shop/product-alternative-widget", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/product-alternative-widget.git", + "reference": "26a138ad80a243e587720309f152a5ae34cef9d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/product-alternative-widget/zipball/26a138ad80a243e587720309f152a5ae34cef9d0", + "reference": "26a138ad80a243e587720309f152a5ae34cef9d0", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.16.0", + "spryker/product-alternative-storage": "^1.0.0" + }, + "require-dev": { + "spryker-shop/product-detail-page": "*", + "spryker-shop/shopping-list-page": "*", + "spryker-shop/wishlist-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/product-detail-page": "if you want to use ProductAlternativeWidgetPlugin: ^1.1.0", + "spryker-shop/shopping-list-page": "if you want to use ProductAlternativeWidgetPlugin: ^0.4.1", + "spryker-shop/wishlist-page": "if you want to use ProductAlternativeWidgetPlugin: ^1.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductAlternativeWidget module", + "time": "2018-10-02T11:36:22+00:00" + }, { "name": "spryker-shop/product-barcode-widget", "version": "1.0.0", @@ -3839,6 +3888,55 @@ "description": "ProductDetailPage module", "time": "2018-09-27T09:00:11+00:00" }, + { + "name": "spryker-shop/product-discontinued-widget", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/product-discontinued-widget.git", + "reference": "e0ad110ef11203d51c0be27844e4e60342c30d47" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/product-discontinued-widget/zipball/e0ad110ef11203d51c0be27844e4e60342c30d47", + "reference": "e0ad110ef11203d51c0be27844e4e60342c30d47", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.16.0", + "spryker/product-discontinued-storage": "^1.0.0" + }, + "require-dev": { + "spryker-shop/product-detail-page": "*", + "spryker-shop/shopping-list-page": "*", + "spryker-shop/wishlist-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/product-detail-page": "if you want to use ProductDiscontinuedWidgetPlugin: ^1.1.0", + "spryker-shop/shopping-list-page": "if you want to use ProductDiscontinuedWidgetPlugin: ~0.4.1", + "spryker-shop/wishlist-page": "if you want to use ProductDiscontinuedWidgetPlugin: ^1.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductDiscontinuedWidget module", + "time": "2018-07-25T07:52:32+00:00" + }, { "name": "spryker-shop/product-group-widget", "version": "1.1.0", @@ -12350,21 +12448,27 @@ "time": "2018-02-08T10:41:19+00:00" }, { - "name": "spryker/product-alternative-extension", + "name": "spryker/product-alternative", "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-alternative-extension.git", - "reference": "15b589fbff38a5bf5f258bdcfcc0ab008336e437" + "url": "https://github.com/spryker/product-alternative.git", + "reference": "c5f8c1e612834e3e81dd4ad8a54aaa98d4a7c749" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-alternative-extension/zipball/15b589fbff38a5bf5f258bdcfcc0ab008336e437", - "reference": "15b589fbff38a5bf5f258bdcfcc0ab008336e437", + "url": "https://api.github.com/repos/spryker/product-alternative/zipball/c5f8c1e612834e3e81dd4ad8a54aaa98d4a7c749", + "reference": "c5f8c1e612834e3e81dd4ad8a54aaa98d4a7c749", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.1", + "spryker/category": "^4.4.0", + "spryker/kernel": "^3.20.0", + "spryker/locale": "^3.1.0", + "spryker/product": "^6.0.0", + "spryker/product-alternative-extension": "^1.0.0", + "spryker/propel-orm": "^1.1.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -12385,25 +12489,29 @@ "license": [ "proprietary" ], - "description": "ProductAlternativeExtension module", - "time": "2018-07-24T08:04:43+00:00" + "description": "ProductAlternative module", + "time": "2018-07-24T13:51:15+00:00" }, { - "name": "spryker/product-alternative-storage-extension", + "name": "spryker/product-alternative-data-import", "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-alternative-storage-extension.git", - "reference": "3f950c8120f7326a8ed8fc5004684f860f836682" + "url": "https://github.com/spryker/product-alternative-data-import.git", + "reference": "a87851be858325fe1a03e91d271fceb2431bf5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-alternative-storage-extension/zipball/3f950c8120f7326a8ed8fc5004684f860f836682", - "reference": "3f950c8120f7326a8ed8fc5004684f860f836682", + "url": "https://api.github.com/repos/spryker/product-alternative-data-import/zipball/a87851be858325fe1a03e91d271fceb2431bf5a0", + "reference": "a87851be858325fe1a03e91d271fceb2431bf5a0", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.1", + "spryker/data-import": "^1.2.0", + "spryker/kernel": "^3.0.0", + "spryker/product": "^6.0.0", + "spryker/product-alternative": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -12417,47 +12525,36 @@ }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/" + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductAlternativeDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductAlternativeDataImport/_support/Helper/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "proprietary" + "MIT" ], - "description": "ProductAlternativeStorageExtension module", + "description": "ProductAlternativeDataImport module", "time": "2018-07-24T08:04:43+00:00" }, { - "name": "spryker/product-api", - "version": "0.1.2", + "name": "spryker/product-alternative-extension", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-api.git", - "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0" + "url": "https://github.com/spryker/product-alternative-extension.git", + "reference": "15b589fbff38a5bf5f258bdcfcc0ab008336e437" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-api/zipball/d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", - "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", + "url": "https://api.github.com/repos/spryker/product-alternative-extension/zipball/15b589fbff38a5bf5f258bdcfcc0ab008336e437", + "reference": "15b589fbff38a5bf5f258bdcfcc0ab008336e437", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/api": "^0.1", - "spryker/api-query-builder": "^0.1", - "spryker/kernel": "^3.0.0", - "spryker/product": "^5.0.0 || ^6.0.0", - "spryker/propel-orm": "^1.2.0", - "spryker/symfony": "^3.0.0", - "spryker/util-date-time": "^1.0.0" + "php": ">=7.1" }, "require-dev": { - "spryker/application": "*", - "spryker/assertion": "*", "spryker/code-sniffer": "*", - "spryker/config": "*", - "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "type": "library", @@ -12475,35 +12572,34 @@ "license": [ "proprietary" ], - "description": "ProductApi module", - "time": "2018-01-24T11:43:27+00:00" + "description": "ProductAlternativeExtension module", + "time": "2018-07-24T08:04:43+00:00" }, { - "name": "spryker/product-attribute", - "version": "1.0.2", + "name": "spryker/product-alternative-gui", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-attribute.git", - "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500" + "url": "https://github.com/spryker/product-alternative-gui.git", + "reference": "80783efb16ea0dc6f3c232a8cce2891e3293ad72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-attribute/zipball/5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", - "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", + "url": "https://api.github.com/repos/spryker/product-alternative-gui/zipball/80783efb16ea0dc6f3c232a8cce2891e3293ad72", + "reference": "80783efb16ea0dc6f3c232a8cce2891e3293ad72", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/glossary": "^3.0.0", - "spryker/kernel": "^3.0.0", - "spryker/locale": "^3.0.0", - "spryker/product": "^5.2.0 || ^6.0.0", - "spryker/propel-orm": "^1.2.0", - "spryker/util-encoding": "^2.0.0" + "spryker/gui": "^3.0.0", + "spryker/kernel": "^3.1.0", + "spryker/product": "^6.0.0", + "spryker/product-alternative": "^1.0.0", + "spryker/product-management-extension": "^1.1.0", + "spryker/symfony": "^3.0.0" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -12514,46 +12610,46 @@ }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductAttribute\\Helper\\": "tests/SprykerTest/Zed/ProductAttribute/_support/Helper/" + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "ProductAttribute module", - "time": "2018-08-15T06:37:03+00:00" + "description": "ProductAlternativeGui module", + "time": "2018-07-24T13:51:15+00:00" }, { - "name": "spryker/product-attribute-gui", - "version": "1.0.7", + "name": "spryker/product-alternative-product-label-connector", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-attribute-gui.git", - "reference": "a62b2c8f33730d8a0df163e0e7367de26aec1d29" + "url": "https://github.com/spryker/product-alternative-product-label-connector.git", + "reference": "5efb5fe12a47341eda54e7f3d46ff16d82cd0787" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-attribute-gui/zipball/a62b2c8f33730d8a0df163e0e7367de26aec1d29", - "reference": "a62b2c8f33730d8a0df163e0e7367de26aec1d29", + "url": "https://api.github.com/repos/spryker/product-alternative-product-label-connector/zipball/5efb5fe12a47341eda54e7f3d46ff16d82cd0787", + "reference": "5efb5fe12a47341eda54e7f3d46ff16d82cd0787", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/gui": "^3.0.0", "spryker/kernel": "^3.0.0", "spryker/locale": "^3.0.0", - "spryker/product": "^5.2.0 || ^6.0.0", - "spryker/product-attribute": "^1.0.0", - "spryker/symfony": "^3.0.0", - "spryker/util-text": "^1.2.0" + "spryker/product": "^6.2.0", + "spryker/product-alternative": "^1.0.0", + "spryker/product-alternative-extension": "^1.0.0", + "spryker/product-label": "^2.5.0" }, "require-dev": { - "spryker/application": "*", - "spryker/propel": "*", - "spryker/testify": "*", - "spryker/zed-navigation": "*" + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/installer": "If you want to use Installer plugins." }, "type": "library", "extra": { @@ -12563,40 +12659,51 @@ }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/" + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductAlternativeProductLabelConnector\\Helper\\": "tests/SprykerTest/Zed/ProductAlternativeProductLabelConnector/_support/Helper/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "ProductAttributeGui module", - "time": "2018-10-02T13:51:34+00:00" + "description": "ProductAlternativeProductLabelConnector module", + "time": "2018-07-24T21:54:48+00:00" }, { - "name": "spryker/product-barcode", - "version": "1.1.0", + "name": "spryker/product-alternative-storage", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/spryker/product-barcode.git", - "reference": "9ad32e1752ba7970a479b5386fe3b0235be63b52" + "url": "https://github.com/spryker/product-alternative-storage.git", + "reference": "7c47e8e53388784a42021c671796f262a8111af7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-barcode/zipball/9ad32e1752ba7970a479b5386fe3b0235be63b52", - "reference": "9ad32e1752ba7970a479b5386fe3b0235be63b52", + "url": "https://api.github.com/repos/spryker/product-alternative-storage/zipball/7c47e8e53388784a42021c671796f262a8111af7", + "reference": "7c47e8e53388784a42021c671796f262a8111af7", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/barcode": "^1.0.0", - "spryker/kernel": "^3.1.0", - "spryker/product": "^6.0.0" + "spryker/event-behavior": "^1.0.0", + "spryker/kernel": "^3.21.0", + "spryker/product": "^6.0.0", + "spryker/product-alternative": "^1.0.0", + "spryker/product-alternative-storage-extension": "^1.0.0", + "spryker/product-storage": "^1.1.0", + "spryker/propel-orm": "^1.0.0", + "spryker/storage": "^3.4.0", + "spryker/synchronization": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/event": "*", "spryker/testify": "*" }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + }, "type": "library", "extra": { "branch-alias": { @@ -12605,39 +12712,32 @@ }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductBarcode\\Helper\\": "tests/SprykerTest/Zed/ProductBarcode/_support/Helper/" + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "ProductBarcode module", - "time": "2018-06-08T06:44:22+00:00" + "description": "ProductAlternativeStorage module", + "time": "2018-09-24T00:29:06+00:00" }, { - "name": "spryker/product-barcode-gui", + "name": "spryker/product-alternative-storage-extension", "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/product-barcode-gui.git", - "reference": "9048ce15399d51060337979362f164aaca9dd01f" + "url": "https://github.com/spryker/product-alternative-storage-extension.git", + "reference": "3f950c8120f7326a8ed8fc5004684f860f836682" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-barcode-gui/zipball/9048ce15399d51060337979362f164aaca9dd01f", - "reference": "9048ce15399d51060337979362f164aaca9dd01f", + "url": "https://api.github.com/repos/spryker/product-alternative-storage-extension/zipball/3f950c8120f7326a8ed8fc5004684f860f836682", + "reference": "3f950c8120f7326a8ed8fc5004684f860f836682", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/gui": "^3.0.0", - "spryker/kernel": "^3.0.0", - "spryker/locale": "^3.0.0", - "spryker/product": "^6.0.0", - "spryker/product-barcode": "^1.0.0", - "spryker/symfony": "^3.1.0" + "php": ">=7.1" }, "require-dev": { "spryker/code-sniffer": "*", @@ -12658,37 +12758,271 @@ "license": [ "proprietary" ], - "description": "ProductBarcodeGui module", - "time": "2018-05-16T13:57:10+00:00" + "description": "ProductAlternativeStorageExtension module", + "time": "2018-07-24T08:04:43+00:00" }, { - "name": "spryker/product-bundle", - "version": "4.7.4", + "name": "spryker/product-api", + "version": "0.1.2", "source": { "type": "git", - "url": "https://github.com/spryker/product-bundle.git", - "reference": "3180e704052b95101e16e332ce9d174e54df29a4" + "url": "https://github.com/spryker/product-api.git", + "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-bundle/zipball/3180e704052b95101e16e332ce9d174e54df29a4", - "reference": "3180e704052b95101e16e332ce9d174e54df29a4", + "url": "https://api.github.com/repos/spryker/product-api/zipball/d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", + "reference": "d4e91e3e0834c91b7d684fb0d0c03e2508f8bef0", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/availability": "^5.0.1 || ^6.0.0", - "spryker/cart-extension": "^1.0.0 || ^2.0.0", + "spryker/api": "^0.1", + "spryker/api-query-builder": "^0.1", "spryker/kernel": "^3.0.0", - "spryker/locale": "^3.0.0", - "spryker/messenger": "^3.0.0", - "spryker/persistent-cart-extension": "^1.0.0", - "spryker/price": "^5.0.0", - "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.0.0 || ^6.0.0", - "spryker/product-image": "^3.3.0", - "spryker/propel-orm": "^1.0.0", - "spryker/sales": "^6.0.0 || ^7.0.0 || ^8.0.0", + "spryker/propel-orm": "^1.2.0", + "spryker/symfony": "^3.0.0", + "spryker/util-date-time": "^1.0.0" + }, + "require-dev": { + "spryker/application": "*", + "spryker/assertion": "*", + "spryker/code-sniffer": "*", + "spryker/config": "*", + "spryker/propel": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductApi module", + "time": "2018-01-24T11:43:27+00:00" + }, + { + "name": "spryker/product-attribute", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-attribute.git", + "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-attribute/zipball/5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", + "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/glossary": "^3.0.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/product": "^5.2.0 || ^6.0.0", + "spryker/propel-orm": "^1.2.0", + "spryker/util-encoding": "^2.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductAttribute\\Helper\\": "tests/SprykerTest/Zed/ProductAttribute/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductAttribute module", + "time": "2018-08-15T06:37:03+00:00" + }, + { + "name": "spryker/product-attribute-gui", + "version": "1.0.7", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-attribute-gui.git", + "reference": "a62b2c8f33730d8a0df163e0e7367de26aec1d29" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-attribute-gui/zipball/a62b2c8f33730d8a0df163e0e7367de26aec1d29", + "reference": "a62b2c8f33730d8a0df163e0e7367de26aec1d29", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/gui": "^3.0.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/product": "^5.2.0 || ^6.0.0", + "spryker/product-attribute": "^1.0.0", + "spryker/symfony": "^3.0.0", + "spryker/util-text": "^1.2.0" + }, + "require-dev": { + "spryker/application": "*", + "spryker/propel": "*", + "spryker/testify": "*", + "spryker/zed-navigation": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductAttributeGui module", + "time": "2018-10-02T13:51:34+00:00" + }, + { + "name": "spryker/product-barcode", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-barcode.git", + "reference": "9ad32e1752ba7970a479b5386fe3b0235be63b52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-barcode/zipball/9ad32e1752ba7970a479b5386fe3b0235be63b52", + "reference": "9ad32e1752ba7970a479b5386fe3b0235be63b52", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/barcode": "^1.0.0", + "spryker/kernel": "^3.1.0", + "spryker/product": "^6.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductBarcode\\Helper\\": "tests/SprykerTest/Zed/ProductBarcode/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductBarcode module", + "time": "2018-06-08T06:44:22+00:00" + }, + { + "name": "spryker/product-barcode-gui", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-barcode-gui.git", + "reference": "9048ce15399d51060337979362f164aaca9dd01f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-barcode-gui/zipball/9048ce15399d51060337979362f164aaca9dd01f", + "reference": "9048ce15399d51060337979362f164aaca9dd01f", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/gui": "^3.0.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/product": "^6.0.0", + "spryker/product-barcode": "^1.0.0", + "spryker/symfony": "^3.1.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductBarcodeGui module", + "time": "2018-05-16T13:57:10+00:00" + }, + { + "name": "spryker/product-bundle", + "version": "4.7.4", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-bundle.git", + "reference": "3180e704052b95101e16e332ce9d174e54df29a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-bundle/zipball/3180e704052b95101e16e332ce9d174e54df29a4", + "reference": "3180e704052b95101e16e332ce9d174e54df29a4", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/availability": "^5.0.1 || ^6.0.0", + "spryker/cart-extension": "^1.0.0 || ^2.0.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/messenger": "^3.0.0", + "spryker/persistent-cart-extension": "^1.0.0", + "spryker/price": "^5.0.0", + "spryker/price-product": "^1.0.0 || ^2.0.0", + "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/product-image": "^3.3.0", + "spryker/propel-orm": "^1.0.0", + "spryker/sales": "^6.0.0 || ^7.0.0 || ^8.0.0", "spryker/shopping-list-extension": "^1.0.0", "spryker/stock": "^4.0.0 || ^5.0.0", "spryker/store": "^1.5.0" @@ -13080,6 +13414,339 @@ "description": "ProductCategoryStorage module", "time": "2018-09-21T08:24:05+00:00" }, + { + "name": "spryker/product-discontinued", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-discontinued.git", + "reference": "bbb1c080197b0ea1d5f828f2d893e7acd803dfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-discontinued/zipball/bbb1c080197b0ea1d5f828f2d893e7acd803dfb6", + "reference": "bbb1c080197b0ea1d5f828f2d893e7acd803dfb6", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/log": "^2.0.0 || ^3.0.0", + "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/product-alternative-extension": "^1.0.0", + "spryker/product-discontinued-extension": "^1.0.0", + "spryker/propel-orm": "^1.1.0", + "spryker/shopping-list-extension": "^1.1.0", + "spryker/symfony": "^3.0.0", + "spryker/wishlist-extension": "^1.0.0" + }, + "require-dev": { + "spryker/cart": "*", + "spryker/checkout": "*", + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/cart": "If you want to use Cart plugins.", + "spryker/checkout": "If you want to use Checkout plugins." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductDiscontinued module", + "time": "2018-07-24T14:18:13+00:00" + }, + { + "name": "spryker/product-discontinued-data-import", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-discontinued-data-import.git", + "reference": "b2ad5b2966211e0addbfda91e6c4ba0c5b2af69e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-discontinued-data-import/zipball/b2ad5b2966211e0addbfda91e6c4ba0c5b2af69e", + "reference": "b2ad5b2966211e0addbfda91e6c4ba0c5b2af69e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/data-import": "^1.2.0", + "spryker/kernel": "^3.0.0", + "spryker/product": "^6.0.0", + "spryker/product-discontinued": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductDiscontinuedDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductDiscontinuedDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "ProductDiscontinuedDataImport module", + "time": "2018-07-24T08:04:43+00:00" + }, + { + "name": "spryker/product-discontinued-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-discontinued-extension.git", + "reference": "016710297d3606a869e2410635a12fa1c7d82892" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-discontinued-extension/zipball/016710297d3606a869e2410635a12fa1c7d82892", + "reference": "016710297d3606a869e2410635a12fa1c7d82892", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductDiscontinuedExtension module", + "time": "2018-07-24T08:04:43+00:00" + }, + { + "name": "spryker/product-discontinued-gui", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-discontinued-gui.git", + "reference": "7539accd4e9535c35c4dcaa63d71d634ccf2adee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-discontinued-gui/zipball/7539accd4e9535c35c4dcaa63d71d634ccf2adee", + "reference": "7539accd4e9535c35c4dcaa63d71d634ccf2adee", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/product-discontinued": "^1.0.0", + "spryker/product-management-extension": "^1.1.0", + "spryker/symfony": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductDiscontinuedGui module", + "time": "2018-08-13T10:09:37+00:00" + }, + { + "name": "spryker/product-discontinued-product-bundle-connector", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-discontinued-product-bundle-connector.git", + "reference": "af8aedf55a549eba883d82aeb1a7dd74edca1c6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-discontinued-product-bundle-connector/zipball/af8aedf55a549eba883d82aeb1a7dd74edca1c6a", + "reference": "af8aedf55a549eba883d82aeb1a7dd74edca1c6a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/product-bundle": "^2.0.0 || ^3.0.0 || ^4.0.0", + "spryker/product-discontinued": "^1.0.0", + "spryker/product-discontinued-extension": "^1.0.0", + "spryker/propel-orm": "^1.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductDiscontinuedProductBundleConnector module", + "time": "2018-07-24T08:04:43+00:00" + }, + { + "name": "spryker/product-discontinued-product-label-connector", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-discontinued-product-label-connector.git", + "reference": "5a64c97b29d68a8d81653c30a576463ff4f7d91e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-discontinued-product-label-connector/zipball/5a64c97b29d68a8d81653c30a576463ff4f7d91e", + "reference": "5a64c97b29d68a8d81653c30a576463ff4f7d91e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/product": "^6.2.0", + "spryker/product-discontinued": "^1.0.0", + "spryker/product-discontinued-extension": "^1.0.0", + "spryker/product-label": "^2.5.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/installer": "If you want to use Installer plugins." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductDiscontinuedProductLabelConnector\\Helper\\": "tests/SprykerTest/Zed/ProductDiscontinuedProductLabelConnector/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductDiscontinuedProductLabelConnector module", + "time": "2018-07-24T21:54:48+00:00" + }, + { + "name": "spryker/product-discontinued-storage", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-discontinued-storage.git", + "reference": "057d5fb26f14d2eedc00fae622fc340ade8f9dc3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-discontinued-storage/zipball/057d5fb26f14d2eedc00fae622fc340ade8f9dc3", + "reference": "057d5fb26f14d2eedc00fae622fc340ade8f9dc3", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/event-behavior": "^1.0.0", + "spryker/glossary-storage": "^1.0.0", + "spryker/kernel": "^3.21.0", + "spryker/locale": "^3.0.0", + "spryker/product-alternative-storage-extension": "^1.0.0", + "spryker/product-discontinued": "^1.0.0", + "spryker/storage": "^3.4.0", + "spryker/synchronization": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", + "spryker/event": "*", + "spryker/product": "*", + "spryker/product-storage": "*", + "spryker/propel": "*", + "spryker/propel-orm": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0", + "spryker/product-storage": "If you want to use ProductStorage plugins, minimum required version: 0.1.0", + "spryker/propel-orm": "If you want to use transaction functionality, minimum required version: 1.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductDiscontinuedStorage module", + "time": "2018-09-24T00:29:06+00:00" + }, { "name": "spryker/product-discount-connector", "version": "3.2.2", diff --git a/data/import/cms_page.csv b/data/import/cms_page.csv index c50ab1e408..7da3f1b205 100644 --- a/data/import/cms_page.csv +++ b/data/import/cms_page.csv @@ -336,7 +336,7 @@ to have personal data deleted, where such claim is not barred by any legal oblig

Sample Data Privacy Policy Statement provided by the Law Offices of Weiß & Partner

" -static full page,1,0,1,page_4,/de/loremde,/en/lorem,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,"
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","{{ chart('testChart', 'testChart') }}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." +static full page,1,0,1,page_4,/de/loremde,/en/lorem,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,Lorem ipsum,"
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." static full page,1,1,0,page_5,/de/dolorde,/en/dolor,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Dolor sit amet,Lorem ipsum,Lorem ipsum,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.","Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem." static full page,1,1,1,page_6,/de/demo-landing-page,/en/demo-landing-page,Demo Landing Page,Demo Landing Page,Demo Landing Page,Demo Landing Page,"demo,cms page, landing page","demo,cms page, landing page",This is a demo landing page with different content widgets.,This is a demo landing page with different content widgets.,"

DAS IST EINE GROßARTIGE LANDING PAGE

","

THIS IS A GREAT LANDING PAGE

","

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non erat felis. Suspendisse nulla quam, dictum vitae malesuada a, ullamcorper eu urna. Sed diam tellus, feugiat iaculis consequat eu, commodo in dui. Integer ac ipsum urna. Aliquam rhoncus varius felis at dignissim. Nulla id justo id nunc lacinia efficitur. Etiam nec vehicula lorem. Phasellus ut lacus eu lorem luctus luctus. Quisque id vestibulum lectus, vel aliquam erat. Praesent ut erat quis magna varius tempor et sed sapien. Cras ac turpis id ligula gravida dignissim in sed nisl. Suspendisse scelerisque eros vel risus sagittis, in ultricies odio commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.

Duis nunc dolor, vestibulum eu cursus ut, facilisis eget justo. Ut quis placerat mauris. In cursus enim purus, a mollis felis cursus non. Mauris rutrum a ante a rutrum. Aliquam gravida tortor et cursus pharetra. Ut id sagittis arcu, eu convallis felis. Integer fermentum convallis lorem, eu posuere ex ultricies scelerisque. Suspendisse et consectetur mauris, vel rhoncus elit. Sed ultrices eget lacus quis rutrum. Aliquam erat volutpat. Aliquam varius mauris purus, non imperdiet turpis tempor vel. Donec vitae scelerisque mi.


Dies ist eine Liste von Produkten auf einer CMS Seite:

diff --git a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php new file mode 100644 index 0000000000..4a490faaea --- /dev/null +++ b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php @@ -0,0 +1,4863 @@ + ' +BEGIN; + +CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; + +CREATE TABLE "spy_sales_reclamation" +( + "id_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "customer_name" VARCHAR(511) NOT NULL, + "customer_reference" VARCHAR(255), + "customer_email" VARCHAR(255) NOT NULL, + "state" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_reclamation") +); + +CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +CREATE TABLE "spy_sales_reclamation_item" +( + "id_sales_reclamation_item" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "state" INT2 NOT NULL, + PRIMARY KEY ("id_sales_reclamation_item") +); + +CREATE SEQUENCE "spy_acl_role_pk_seq"; + +CREATE TABLE "spy_acl_role" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role"), + CONSTRAINT "spy_acl_role-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_acl_rule_pk_seq"; + +CREATE TABLE "spy_acl_rule" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE SEQUENCE "spy_acl_group_pk_seq"; + +CREATE TABLE "spy_acl_group" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group"), + CONSTRAINT "spy_acl_group-name" UNIQUE ("name") +); + +CREATE TABLE "spy_acl_user_has_group" +( + "fk_user" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_user","fk_acl_group") +); + +CREATE TABLE "spy_acl_groups_has_roles" +( + "fk_acl_role" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_acl_role","fk_acl_group") +); + +CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; + +CREATE TABLE "spy_auth_reset_password" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user"), + CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_availability_abstract_pk_seq"; + +CREATE TABLE "spy_availability_abstract" +( + "id_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_availability_abstract"), + CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_pk_seq"; + +CREATE TABLE "spy_availability" +( + "id_availability" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + "quantity" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_availability"), + CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_storage_pk_seq"; + +CREATE TABLE "spy_availability_storage" +( + "id_availability_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_availability_storage"), + CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); + +CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); + +CREATE SEQUENCE "spy_category_pk_seq"; + +CREATE TABLE "spy_category" +( + "id_category" INTEGER NOT NULL, + "fk_category_template" INTEGER, + "category_key" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\', + "is_clickable" BOOLEAN DEFAULT \'t\', + "is_in_menu" BOOLEAN DEFAULT \'t\', + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_category"), + CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") +); + +CREATE SEQUENCE "spy_category_attribute_pk_seq"; + +CREATE TABLE "spy_category_attribute" +( + "id_category_attribute" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "category_image_name" VARCHAR(255), + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" TEXT, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_attribute") +); + +CREATE SEQUENCE "spy_category_node_pk_seq"; + +CREATE TABLE "spy_category_node" +( + "id_category_node" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_parent_category_node" INTEGER, + "is_main" BOOLEAN DEFAULT \'f\', + "is_root" BOOLEAN DEFAULT \'f\', + "node_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_category_node") +); + +CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); + +CREATE SEQUENCE "spy_category_closure_table_pk_seq"; + +CREATE TABLE "spy_category_closure_table" +( + "id_category_closure_table" INTEGER NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "fk_category_node_descendant" INTEGER NOT NULL, + "depth" INTEGER NOT NULL, + PRIMARY KEY ("id_category_closure_table") +); + +CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; + +CREATE TABLE "spy_category_node_page_search" +( + "id_category_node_page_search" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_page_search"), + CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; + +CREATE TABLE "spy_category_tree_storage" +( + "id_category_tree_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_tree_storage"), + CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_category_node_storage_pk_seq"; + +CREATE TABLE "spy_category_node_storage" +( + "id_category_node_storage" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_storage"), + CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_template_pk_seq"; + +CREATE TABLE "spy_category_template" +( + "id_category_template" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_category_template"), + CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_page_pk_seq"; + +CREATE TABLE "spy_cms_page" +( + "id_cms_page" INTEGER NOT NULL, + "fk_template" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, + "page_key" VARCHAR(32), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_cms_page") +); + +CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); + +CREATE SEQUENCE "spy_cms_version_pk_seq"; + +CREATE TABLE "spy_cms_version" +( + "id_cms_version" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_user" INTEGER, + "data" TEXT, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_version") +); + +CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); + +CREATE SEQUENCE "spy_cms_template_pk_seq"; + +CREATE TABLE "spy_cms_template" +( + "id_cms_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_template"), + CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); + +CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +CREATE TABLE "spy_cms_page_localized_attributes" +( + "id_cms_page_localized_attributes" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_localized_attributes"), + CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") +); + +CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_glossary_key_mapping" +( + "id_cms_glossary_key_mapping" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_page" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_glossary_key_mapping"), + CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") +); + +CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); + +CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_block_glossary_key_mapping" +( + "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_block_glossary_key_mapping"), + CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") +); + +CREATE SEQUENCE "spy_cms_block_pk_seq"; + +CREATE TABLE "spy_cms_block" +( + "id_cms_block" INTEGER NOT NULL, + "fk_page" INTEGER, + "fk_template" INTEGER, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "name" VARCHAR(255) NOT NULL, + "type" VARCHAR(255), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "value" INTEGER, + PRIMARY KEY ("id_cms_block"), + CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") +); + +COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; + +CREATE SEQUENCE "id_cms_block_store_pk_seq"; + +CREATE TABLE "spy_cms_block_store" +( + "id_cms_block_store" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_store"), + CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") +); + +CREATE SEQUENCE "spy_cms_block_template_pk_seq"; + +CREATE TABLE "spy_cms_block_template" +( + "id_cms_block_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_template"), + CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_category_connector" +( + "id_cms_block_category_connector" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_category_template" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_cms_block_category_position" INTEGER, + PRIMARY KEY ("id_cms_block_category_connector") +); + +CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; + +CREATE TABLE "spy_cms_block_category_position" +( + "id_cms_block_category_position" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_category_position") +); + +CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_category_storage" +( + "id_cms_block_category_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_category_storage"), + CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_product_connector" +( + "id_cms_block_product_connector" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_product_connector") +); + +CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_product_storage" +( + "id_cms_block_product_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_product_storage"), + CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_storage" +( + "id_cms_block_storage" INT8 NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "name" VARCHAR NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_storage"), + CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); + +CREATE SEQUENCE "spy_cms_page_search_pk_seq"; + +CREATE TABLE "spy_cms_page_search" +( + "id_cms_page_search" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_search"), + CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); + +CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; + +CREATE TABLE "spy_cms_page_storage" +( + "id_cms_page_storage" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_storage"), + CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); + +CREATE SEQUENCE "spy_country_pk_seq"; + +CREATE TABLE "spy_country" +( + "id_country" INTEGER NOT NULL, + "iso2_code" VARCHAR(2) NOT NULL, + "iso3_code" VARCHAR(3), + "name" VARCHAR(255), + "postal_code_mandatory" BOOLEAN DEFAULT \'f\', + "postal_code_regex" VARCHAR(500), + PRIMARY KEY ("id_country"), + CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), + CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") +); + +CREATE SEQUENCE "spy_region_pk_seq"; + +CREATE TABLE "spy_region" +( + "id_region" INTEGER NOT NULL, + "fk_country" INTEGER, + "name" VARCHAR(100) NOT NULL, + "iso2_code" VARCHAR(6) NOT NULL, + PRIMARY KEY ("id_region"), + CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") +); + +CREATE SEQUENCE "spy_currency_pk_seq"; + +CREATE TABLE "spy_currency" +( + "id_currency" INTEGER NOT NULL, + "name" VARCHAR(255), + "code" VARCHAR(5), + "symbol" VARCHAR(255), + PRIMARY KEY ("id_currency") +); + +CREATE SEQUENCE "spy_customer_pk_seq"; + +CREATE TABLE "spy_customer" +( + "id_customer" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_user" INTEGER, + "anonymized_at" TIMESTAMP, + "company" VARCHAR(100), + "customer_reference" VARCHAR(255) NOT NULL, + "date_of_birth" DATE, + "default_billing_address" INTEGER, + "default_shipping_address" INTEGER, + "email" VARCHAR(255) NOT NULL, + "first_name" VARCHAR(100), + "gender" INT2, + "last_name" VARCHAR(100), + "password" VARCHAR(255), + "phone" VARCHAR(255), + "registered" DATE, + "registration_key" VARCHAR(150), + "restore_password_date" TIMESTAMP, + "restore_password_key" VARCHAR(150), + "salutation" INT2, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer"), + CONSTRAINT "spy_customer-email" UNIQUE ("email"), + CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") +); + +CREATE SEQUENCE "spy_customer_address_pk_seq"; + +CREATE TABLE "spy_customer_address" +( + "id_customer_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "anonymized_at" TIMESTAMP, + "city" VARCHAR(255), + "comment" VARCHAR(255), + "company" VARCHAR(255), + "deleted_at" TIMESTAMP, + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "phone" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_address") +); + +CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); + +CREATE SEQUENCE "spy_customer_group_pk_seq"; + +CREATE TABLE "spy_customer_group" +( + "id_customer_group" INTEGER NOT NULL, + "name" VARCHAR(70) NOT NULL, + "description" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group"), + CONSTRAINT "spy_customer-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +CREATE TABLE "spy_customer_group_to_customer" +( + "id_customer_group_to_customer" INTEGER NOT NULL, + "fk_customer_group" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group_to_customer"), + CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") +); + +CREATE SEQUENCE "spy_customer_note_pk_seq"; + +CREATE TABLE "spy_customer_note" +( + "id_customer_note" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "username" VARCHAR, + "message" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_note") +); + +CREATE SEQUENCE "spy_discount_pk_seq"; + +CREATE TABLE "spy_discount" +( + "id_discount" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "fk_store" INTEGER, + "amount" INTEGER NOT NULL, + "calculator_plugin" VARCHAR(255), + "collector_query_string" VARCHAR, + "decision_rule_query_string" VARCHAR, + "description" VARCHAR(1024), + "discount_key" VARCHAR(32), + "discount_type" VARCHAR(255), + "display_name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "is_exclusive" BOOLEAN DEFAULT \'f\', + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount"), + CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), + CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") +); + +CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); + +CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); + +CREATE SEQUENCE "id_discount_store_pk_seq"; + +CREATE TABLE "spy_discount_store" +( + "id_discount_store" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_store"), + CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") +); + +CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +CREATE TABLE "spy_discount_voucher_pool" +( + "id_discount_voucher_pool" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher_pool") +); + +CREATE SEQUENCE "spy_discount_voucher_pk_seq"; + +CREATE TABLE "spy_discount_voucher" +( + "id_discount_voucher" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "code" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "max_number_of_uses" INTEGER, + "number_of_uses" INTEGER, + "voucher_batch" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher"), + CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_discount_amount_pk_seq"; + +CREATE TABLE "spy_discount_amount" +( + "id_discount_amount" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "gross_amount" INTEGER, + "net_amount" INTEGER, + PRIMARY KEY ("id_discount_amount"), + CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") +); + +CREATE SEQUENCE "spy_discount_promotion_pk_seq"; + +CREATE TABLE "spy_discount_promotion" +( + "id_discount_promotion" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_promotion") +); + +CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +CREATE TABLE "spy_event_behavior_entity_change" +( + "id_event_behavior_entity_change" INT8 NOT NULL, + "data" VARCHAR, + "process_id" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_event_behavior_entity_change") +); + +CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +CREATE TABLE "pyz_example_state_machine_item" +( + "id_example_state_machine_item" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER, + "name" VARCHAR, + PRIMARY KEY ("id_example_state_machine_item") +); + +CREATE SEQUENCE "spy_gift_card_pk_seq"; + +CREATE TABLE "spy_gift_card" +( + "id_gift_card" INTEGER NOT NULL, + "name" VARCHAR(40) NOT NULL, + "replacement_pattern" VARCHAR(40), + "code" VARCHAR(40) NOT NULL, + "value" INTEGER NOT NULL, + "currency_iso_code" VARCHAR(5), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "attributes" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration" +( + "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, + "code_pattern" VARCHAR(40) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_abstract_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration_link" +( + "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration" +( + "id_gift_card_product_configuration" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration_link" +( + "id_gift_card_product_configuration_link" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_gift_card_product_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_configuration_link") +); + +CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; + +CREATE TABLE "spy_payment_gift_card" +( + "id_payment_gift_card" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "fk_sales_payment" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_payment_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +CREATE TABLE "spy_gift_card_balance_log" +( + "id_gift_card_balance_log" INTEGER NOT NULL, + "fk_gift_card" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_gift_card_balance_log") +); + +CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); + +CREATE SEQUENCE "spy_glossary_key_pk_seq"; + +CREATE TABLE "spy_glossary_key" +( + "id_glossary_key" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_glossary_key"), + CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); + +CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); + +CREATE SEQUENCE "spy_glossary_translation_pk_seq"; + +CREATE TABLE "spy_glossary_translation" +( + "id_glossary_translation" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_glossary_translation"), + CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") +); + +CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); + +CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); + +CREATE SEQUENCE "spy_glossary_storage_pk_seq"; + +CREATE TABLE "spy_glossary_storage" +( + "id_glossary_storage" INT8 NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "glossary_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_glossary_storage"), + CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); + +CREATE SEQUENCE "spy_locale_pk_seq"; + +CREATE TABLE "spy_locale" +( + "id_locale" INTEGER NOT NULL, + "locale_name" VARCHAR(5) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_locale"), + CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") +); + +CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); + +CREATE SEQUENCE "spy_navigation_node_pk_seq"; + +CREATE TABLE "spy_navigation_node" +( + "id_navigation_node" INTEGER NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "fk_parent_navigation_node" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "node_key" VARCHAR(32), + "node_type" VARCHAR(255), + "position" INTEGER, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_navigation_node") +); + +CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); + +CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); + +CREATE SEQUENCE "spy_navigation_pk_seq"; + +CREATE TABLE "spy_navigation" +( + "id_navigation" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation"), + CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); + +CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); + +CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +CREATE TABLE "spy_navigation_node_localized_attributes" +( + "id_navigation_node_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_navigation_node" INTEGER NOT NULL, + "fk_url" INTEGER, + "css_class" VARCHAR(255), + "external_url" VARCHAR(255), + "link" VARCHAR(255), + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_node_localized_attributes") +); + +CREATE SEQUENCE "spy_navigation_storage_pk_seq"; + +CREATE TABLE "spy_navigation_storage" +( + "id_navigation_storage" INT8 NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "navigation_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_storage"), + CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); + +CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +CREATE TABLE "spy_newsletter_subscriber" +( + "id_newsletter_subscriber" INTEGER NOT NULL, + "fk_customer" INTEGER, + "email" VARCHAR(255) NOT NULL, + "subscriber_key" VARCHAR(150), + "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_subscriber"), + CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), + CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") +); + +CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); + +CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); + +CREATE SEQUENCE "spy_newsletter_type_pk_seq"; + +CREATE TABLE "spy_newsletter_type" +( + "id_newsletter_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_type"), + CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") +); + +CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); + +CREATE TABLE "spy_newsletter_subscription" +( + "fk_newsletter_subscriber" INTEGER NOT NULL, + "fk_newsletter_type" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") +); + +CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; + +CREATE TABLE "spy_nopayment_paid" +( + "id_nopayment_paid" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_nopayment_paid") +); + +CREATE SEQUENCE "spy_offer_pk_seq"; + +CREATE TABLE "spy_offer" +( + "id_offer" INTEGER NOT NULL, + "quote_data" TEXT NOT NULL, + "status" INT2 DEFAULT 0, + "fk_user" INTEGER, + "customer_reference" VARCHAR(255), + "contact_person" VARCHAR(255), + "contact_date" TIMESTAMP, + "note" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_offer") +); + +CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); + +CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; + +CREATE TABLE "spy_oms_transition_log" +( + "id_oms_transition_log" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "quantity" INTEGER, + "locked" BOOLEAN, + "fk_oms_order_process" INTEGER, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_transition_log") +); + +CREATE SEQUENCE "spy_oms_order_process_pk_seq"; + +CREATE TABLE "spy_oms_order_process" +( + "id_oms_order_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_process"), + CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_oms_state_machine_lock" +( + "id_oms_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "details" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_state_machine_lock"), + CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state" +( + "id_oms_order_item_state" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_oms_order_item_state"), + CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state_history" +( + "id_oms_order_item_state_history" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_item_state_history") +); + +CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); + +CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; + +CREATE TABLE "spy_oms_event_timeout" +( + "id_oms_event_timeout" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_event_timeout"), + CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") +); + +CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation" +( + "id_oms_product_reservation" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, + "fk_store" INTEGER, + PRIMARY KEY ("id_oms_product_reservation"), + CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_store" +( + "id_oms_product_reservation_store" INTEGER NOT NULL, + "store" VARCHAR(255) NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER NOT NULL, + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_product_reservation_store"), + CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") +); + +CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); + +CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); + +CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); + +CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_change_version" +( + "version" INT8 NOT NULL, + "id_oms_product_reservation_id" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("version") +); + +CREATE TABLE "spy_oms_product_reservation_last_exported_version" +( + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP +); + +CREATE SEQUENCE "spy_order_source_pk_seq"; + +CREATE TABLE "spy_order_source" +( + "id_order_source" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_order_source") +); + +CREATE SEQUENCE "spy_price_product_pk_seq"; + +CREATE TABLE "spy_price_product" +( + "id_price_product" INTEGER NOT NULL, + "fk_price_type" INTEGER NOT NULL, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "price" INTEGER DEFAULT 0, + PRIMARY KEY ("id_price_product"), + CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") +); + +CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); + +CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); + +CREATE SEQUENCE "spy_price_type_pk_seq"; + +CREATE TABLE "spy_price_type" +( + "id_price_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "price_mode_configuration" INT2, + PRIMARY KEY ("id_price_type"), + CONSTRAINT "spy_price_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_price_product_store_pk_seq"; + +CREATE TABLE "spy_price_product_store" +( + "id_price_product_store" INT8 NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_price_product" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + "price_data" TEXT, + "price_data_checksum" VARCHAR, + PRIMARY KEY ("id_price_product_store") +); + +CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); + +CREATE SEQUENCE "spy_price_product_default_pk_seq"; + +CREATE TABLE "spy_price_product_default" +( + "id_price_product_default" INT8 NOT NULL, + "fk_price_product_store" INT8 NOT NULL, + PRIMARY KEY ("id_price_product_default"), + CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") +); + +CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); + +CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_price_product_abstract_storage" +( + "id_price_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_abstract_storage"), + CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_price_product_concrete_storage" +( + "id_price_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_concrete_storage"), + CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_abstract" +( + "id_product_abstract" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "attributes" TEXT NOT NULL, + "color_code" VARCHAR(8), + "new_from" TIMESTAMP, + "new_to" TIMESTAMP, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract"), + CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_abstract_localized_attributes" +( + "id_abstract_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_abstract_attributes"), + CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") +); + +CREATE SEQUENCE "spy_product_pk_seq"; + +CREATE TABLE "spy_product" +( + "id_product" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product"), + CONSTRAINT "spy_product-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_localized_attributes" +( + "id_product_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "is_complete" BOOLEAN DEFAULT \'t\', + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_attributes"), + CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") +); + +CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; + +CREATE TABLE "spy_product_attribute_key" +( + "id_product_attribute_key" INTEGER NOT NULL, + "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_attribute_key"), + CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "id_product_abstract_store_pk_seq"; + +CREATE TABLE "spy_product_abstract_store" +( + "id_product_abstract_store" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_product_abstract_store"), + CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") +); + +CREATE SEQUENCE "spy_product_alternative_pk_seq"; + +CREATE TABLE "spy_product_alternative" +( + "id_product_alternative" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_product_abstract_alternative" INTEGER, + "fk_product_concrete_alternative" INTEGER, + PRIMARY KEY ("id_product_alternative") +); + +CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; + +CREATE TABLE "spy_product_alternative_storage" +( + "id_product_alternative_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_alternative_storage"), + CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); + +CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +CREATE TABLE "spy_product_replacement_for_storage" +( + "id_product_replacement_for_storage" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_replacement_for_storage"), + CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); + +CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; + +CREATE TABLE "spy_product_management_attribute" +( + "id_product_management_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, + "input_type" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_management_attribute"), + CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value" +( + "id_product_management_attribute_value" INTEGER NOT NULL, + "fk_product_management_attribute" INTEGER NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value_translation" +( + "id_product_management_attribute_value_translation" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_management_attribute_value" INTEGER NOT NULL, + "translation" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value_translation"), + CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +CREATE TABLE "spy_sales_order_item_bundle" +( + "id_sales_order_item_bundle" INTEGER NOT NULL, + "cart_note" VARCHAR(255), + "gross_price" INTEGER NOT NULL, + "image" TEXT, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_bundle") +); + +CREATE SEQUENCE "spy_product_bundle_pk_seq"; + +CREATE TABLE "spy_product_bundle" +( + "id_product_bundle" INTEGER NOT NULL, + "fk_bundled_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_bundle") +); + +COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; + +COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; + +COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; + +CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); + +CREATE SEQUENCE "spy_product_category_pk_seq"; + +CREATE TABLE "spy_product_category" +( + "id_product_category" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "product_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_product_category"), + CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") +); + +CREATE SEQUENCE "spy_product_category_filter_pk_seq"; + +CREATE TABLE "spy_product_category_filter" +( + "id_product_category_filter" INTEGER NOT NULL, + "fk_category" INTEGER, + "filter_data" TEXT NOT NULL, + PRIMARY KEY ("id_product_category_filter"), + CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") +); + +CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); + +CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +CREATE TABLE "spy_product_category_filter_storage" +( + "id_product_category_filter_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_category_filter_storage"), + CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); + +CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_category_storage" +( + "id_product_abstract_category_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_category_storage"), + CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_discontinued_pk_seq"; + +CREATE TABLE "spy_product_discontinued" +( + "id_product_discontinued" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "active_until" DATE NOT NULL, + "discontinued_on" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued") +); + +CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; + +CREATE TABLE "spy_product_discontinued_note" +( + "id_product_discontinued_note" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "note" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_note"), + CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") +); + +CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; + +CREATE TABLE "spy_product_discontinued_storage" +( + "id_product_discontinued_storage" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_storage"), + CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); + +CREATE SEQUENCE "spy_product_group_pk_seq"; + +CREATE TABLE "spy_product_group" +( + "id_product_group" INTEGER NOT NULL, + "product_group_key" VARCHAR(32), + PRIMARY KEY ("id_product_group") +); + +CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); + +CREATE TABLE "spy_product_abstract_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_group" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_group") +); + +CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_group_storage" +( + "id_product_abstract_group_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_group_storage"), + CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_image_set_pk_seq"; + +CREATE TABLE "spy_product_image_set" +( + "id_product_image_set" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image_set"), + CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") +); + +CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); + +CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); + +CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_product_image_pk_seq"; + +CREATE TABLE "spy_product_image" +( + "id_product_image" INTEGER NOT NULL, + "external_url_large" VARCHAR(2048), + "external_url_small" VARCHAR(2048), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image") +); + +CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +CREATE TABLE "spy_product_image_set_to_product_image" +( + "id_product_image_set_to_product_image" INTEGER NOT NULL, + "fk_product_image" INTEGER NOT NULL, + "fk_product_image_set" INTEGER NOT NULL, + "sort_order" INTEGER NOT NULL, + PRIMARY KEY ("id_product_image_set_to_product_image"), + CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") +); + +CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_image_storage" +( + "id_product_abstract_image_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_image_storage"), + CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_image_storage" +( + "id_product_concrete_image_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_image_storage"), + CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_label_pk_seq"; + +CREATE TABLE "spy_product_label" +( + "id_product_label" INTEGER NOT NULL, + "front_end_reference" VARCHAR, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_published" BOOLEAN DEFAULT \'f\', + "name" VARCHAR NOT NULL, + "position" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label"), + CONSTRAINT "spy_product_label-name" UNIQUE ("name") +); + +CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); + +CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_label_localized_attributes" +( + "id_product_label_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + "name" VARCHAR, + PRIMARY KEY ("id_product_label_localized_attributes"), + CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") +); + +CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); + +CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_label_product_abstract" +( + "id_product_label_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + PRIMARY KEY ("id_product_label_product_abstract"), + CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") +); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +CREATE TABLE "spy_product_label_dictionary_storage" +( + "id_product_label_dictionary_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label_dictionary_storage"), + CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_label_storage" +( + "id_product_abstract_label_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_label_storage"), + CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_option_group_pk_seq"; + +CREATE TABLE "spy_product_option_group" +( + "id_product_option_group" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "active" BOOLEAN, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_group") +); + +CREATE TABLE "spy_product_abstract_product_option_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_option_group") +); + +CREATE SEQUENCE "spy_product_option_value_pk_seq"; + +CREATE TABLE "spy_product_option_value" +( + "id_product_option_value" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + "price" INTEGER, + "sku" VARCHAR(255) NOT NULL, + "value" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_value"), + CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") +); + +COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; + +CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; + +CREATE TABLE "spy_product_option_value_price" +( + "id_product_option_value_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_product_option_value" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + PRIMARY KEY ("id_product_option_value_price"), + CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_option_storage" +( + "id_product_abstract_option_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_option_storage"), + CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +CREATE TABLE "spy_product_abstract_page_search" +( + "id_product_abstract_page_search" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_page_search"), + CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_quantity_pk_seq"; + +CREATE TABLE "spy_product_quantity" +( + "id_product_quantity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity_min" INTEGER NOT NULL, + "quantity_max" INTEGER, + "quantity_interval" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity"), + CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") +); + +CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; + +CREATE TABLE "spy_product_quantity_storage" +( + "id_product_quantity_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity_storage") +); + +CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_relation_pk_seq"; + +CREATE TABLE "spy_product_relation" +( + "id_product_relation" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation_type" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, + "query_set_data" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation"), + CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") +); + +CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +CREATE TABLE "spy_product_relation_product_abstract" +( + "id_product_relation_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation" INTEGER NOT NULL, + "order" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_product_abstract") +); + +CREATE SEQUENCE "spy_product_relation_type_pk_seq"; + +CREATE TABLE "spy_product_relation_type" +( + "id_product_relation_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_type") +); + +CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_relation_storage" +( + "id_product_abstract_relation_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_relation_storage"), + CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_review_pk_seq"; + +CREATE TABLE "spy_product_review" +( + "id_product_review" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "description" TEXT, + "nickname" VARCHAR(255), + "rating" INTEGER DEFAULT 0 NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "summary" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review") +); + +CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); + +CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); + +CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); + +CREATE SEQUENCE "spy_product_review_search_pk_seq"; + +CREATE TABLE "spy_product_review_search" +( + "id_product_review_search" INT8 NOT NULL, + "fk_product_review" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review_search"), + CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); + +CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_review_storage" +( + "id_product_abstract_review_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_review_storage"), + CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; + +CREATE TABLE "spy_product_search_attribute" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_product_search_attribute"), + CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_search_pk_seq"; + +CREATE TABLE "spy_product_search" +( + "id_product_search" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_product_search") +); + +CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); + +CREATE TABLE "spy_product_search_attribute_map" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); + +CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; + +CREATE TABLE "spy_product_search_config_storage" +( + "id_product_search_config_storage" INT8 NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_config_storage"), + CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_set_pk_seq"; + +CREATE TABLE "spy_product_set" +( + "id_product_set" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "product_set_key" VARCHAR(255) NOT NULL, + "weight" INTEGER DEFAULT 0 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set"), + CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") +); + +CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; + +CREATE TABLE "spy_product_abstract_set" +( + "id_product_abstract_set" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_product_abstract_set"), + CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") +); + +CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); + +CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_set_data_pk_seq"; + +CREATE TABLE "spy_product_set_data" +( + "id_product_set_data" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_data"), + CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") +); + +CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); + +CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); + +CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; + +CREATE TABLE "spy_product_set_page_search" +( + "id_product_set_page_search" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_page_search"), + CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_set_storage_pk_seq"; + +CREATE TABLE "spy_product_set_storage" +( + "id_product_set_storage" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_storage"), + CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_storage" +( + "id_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_storage"), + CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_storage" +( + "id_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_storage"), + CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_validity_pk_seq"; + +CREATE TABLE "spy_product_validity" +( + "id_product_validity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_product_validity"), + CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") +); + +CREATE TABLE "spy_propel_heartbeat" +( + "heartbeat_check" VARCHAR NOT NULL, + PRIMARY KEY ("heartbeat_check") +); + +CREATE SEQUENCE "spy_queue_process_pk_seq"; + +CREATE TABLE "spy_queue_process" +( + "id_queue_process" INTEGER NOT NULL, + "server_id" VARCHAR(255) NOT NULL, + "process_pid" INTEGER NOT NULL, + "worker_pid" INTEGER NOT NULL, + "queue_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_queue_process"), + CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") +); + +CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); + +CREATE SEQUENCE "id_quote_pk_seq"; + +CREATE TABLE "spy_quote" +( + "id_quote" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "quote_data" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_quote") +); + +CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); + +CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); + +CREATE SEQUENCE "spy_refund_pk_seq"; + +CREATE TABLE "spy_refund" +( + "id_refund" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "comment" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_refund") +); + +CREATE SEQUENCE "spy_sales_order_pk_seq"; + +CREATE TABLE "spy_sales_order" +( + "id_sales_order" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_order_source" INTEGER, + "fk_sales_order_address_billing" INTEGER NOT NULL, + "fk_sales_order_address_shipping" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER, + "cart_note" VARCHAR(255), + "currency_iso_code" VARCHAR(5), + "customer_reference" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100), + "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, + "last_name" VARCHAR(100), + "order_reference" VARCHAR(45) NOT NULL, + "price_mode" INT2, + "salutation" INT2, + "store" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order"), + CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") +); + +CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); + +CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); + +CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); + +CREATE SEQUENCE "spy_sales_order_item_pk_seq"; + +CREATE TABLE "spy_sales_order_item" +( + "id_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "fk_oms_order_process" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_order_item_bundle" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "cart_note" VARCHAR(255), + "discount_amount_aggregation" INTEGER DEFAULT 0, + "discount_amount_full_aggregation" INTEGER DEFAULT 0, + "expense_price_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "group_key" VARCHAR(255), + "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "product_option_price_aggregation" INTEGER DEFAULT 0, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "refundable_amount" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "subtotal_aggregation" INTEGER, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_amount_full_aggregation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "tax_rate_average_aggregation" NUMERIC(8,2), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item") +); + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; + +CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); + +CREATE SEQUENCE "spy_sales_discount_pk_seq"; + +CREATE TABLE "spy_sales_discount" +( + "id_sales_discount" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER, + "fk_sales_order_item" INTEGER, + "fk_sales_order_item_option" INTEGER, + "amount" INTEGER NOT NULL, + "description" VARCHAR(510), + "display_name" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount") +); + +CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; + +CREATE TABLE "spy_sales_discount_code" +( + "id_sales_discount_code" INTEGER NOT NULL, + "fk_sales_discount" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "codepool_name" VARCHAR(255) NOT NULL, + "is_once_per_customer" BOOLEAN DEFAULT \'t\', + "is_refundable" BOOLEAN DEFAULT \'f\', + "is_reusable" BOOLEAN DEFAULT \'f\', + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount_code") +); + +CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +CREATE TABLE "spy_sales_order_item_gift_card" +( + "id_sales_order_item_gift_card" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "attributes" TEXT, + "code" VARCHAR(40), + "pattern" VARCHAR(40), + "value" INTEGER, + PRIMARY KEY ("id_sales_order_item_gift_card") +); + +CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; + +CREATE TABLE "spy_sales_order_item_option" +( + "id_sales_order_item_option" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER DEFAULT 0 NOT NULL, + "group_name" VARCHAR NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "tax_amount" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2) NOT NULL, + "value" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_option") +); + +COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +CREATE SEQUENCE "spy_sales_order_address_pk_seq"; + +CREATE TABLE "spy_sales_order_address" +( + "id_sales_order_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address") +); + +CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; + +CREATE TABLE "spy_sales_order_address_history" +( + "id_sales_order_address_history" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "fk_sales_order_address" INTEGER NOT NULL, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "is_billing" BOOLEAN DEFAULT \'f\', + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address_history") +); + +CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; + +CREATE TABLE "spy_sales_order_totals" +( + "id_sales_order_totals" INTEGER NOT NULL, + "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, + "canceled_total" INTEGER DEFAULT 0, + "discount_total" INTEGER DEFAULT 0, + "grand_total" INTEGER DEFAULT 0, + "order_expense_total" INTEGER DEFAULT 0, + "refund_total" INTEGER DEFAULT 0, + "subtotal" INTEGER DEFAULT 0, + "tax_total" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_totals") +); + +CREATE SEQUENCE "spy_sales_order_note_pk_seq"; + +CREATE TABLE "spy_sales_order_note" +( + "id_sales_order_note" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "command" VARCHAR(255) NOT NULL, + "message" VARCHAR(255) NOT NULL, + "success" BOOLEAN NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_note") +); + +CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; + +CREATE TABLE "spy_sales_order_comment" +( + "id_sales_order_comment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "username" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_comment") +); + +CREATE SEQUENCE "spy_sales_expense_pk_seq"; + +CREATE TABLE "spy_sales_expense" +( + "id_sales_expense" INTEGER NOT NULL, + "fk_sales_order" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "name" VARCHAR(255), + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "refundable_amount" INTEGER DEFAULT 0, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "type" VARCHAR(150), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_expense"), + CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") +); + +COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; + +COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +CREATE TABLE "spy_sales_order_item_metadata" +( + "id_sales_order_item_metadata" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "image" TEXT, + "super_attributes" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_metadata") +); + +CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); + +CREATE SEQUENCE "spy_sales_shipment_pk_seq"; + +CREATE TABLE "spy_sales_shipment" +( + "id_sales_shipment" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "carrier_name" VARCHAR(255), + "delivery_time" VARCHAR(255), + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_shipment") +); + +CREATE SEQUENCE "spy_sales_payment_pk_seq"; + +CREATE TABLE "spy_sales_payment" +( + "id_sales_payment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_payment_method_type" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_payment") +); + +CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +CREATE TABLE "spy_sales_payment_method_type" +( + "id_sales_payment_method_type" INTEGER NOT NULL, + "payment_provider" VARCHAR NOT NULL, + "payment_method" VARCHAR NOT NULL, + PRIMARY KEY ("id_sales_payment_method_type") +); + +CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); + +CREATE SEQUENCE "spy_sequence_number_pk_seq"; + +CREATE TABLE "spy_sequence_number" +( + "id_sequence_number" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "current_id" INTEGER NOT NULL, + PRIMARY KEY ("id_sequence_number"), + CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; + +CREATE TABLE "spy_shipment_carrier" +( + "id_shipment_carrier" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_shipment_carrier") +); + +CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_pk_seq"; + +CREATE TABLE "spy_shipment_method" +( + "id_shipment_method" INTEGER NOT NULL, + "fk_shipment_carrier" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "name" VARCHAR(255) NOT NULL, + "shipment_method_key" VARCHAR(255), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "default_price" INTEGER, + "availability_plugin" VARCHAR(255), + "price_plugin" VARCHAR(255), + "delivery_time_plugin" VARCHAR(255), + PRIMARY KEY ("id_shipment_method") +); + +COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; + +CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; + +CREATE TABLE "spy_shipment_method_price" +( + "id_shipment_method_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_shipment_method" INTEGER NOT NULL, + "default_gross_price" INTEGER, + "default_net_price" INTEGER, + PRIMARY KEY ("id_shipment_method_price"), + CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +CREATE TABLE "spy_state_machine_transition_log" +( + "id_state_machine_transition_log" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "locked" BOOLEAN, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_transition_log") +); + +CREATE SEQUENCE "spy_state_machine_process_pk_seq"; + +CREATE TABLE "spy_state_machine_process" +( + "id_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "state_machine_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_process"), + CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") +); + +CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); + +CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_state_machine_lock" +( + "id_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_lock"), + CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state" +( + "id_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_state_machine_item_state"), + CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") +); + +CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state_history" +( + "id_state_machine_item_state_history" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_item_state_history") +); + +CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); + +CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +CREATE TABLE "spy_state_machine_event_timeout" +( + "id_state_machine_event_timeout" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_event_timeout"), + CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") +); + +CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_stock_pk_seq"; + +CREATE TABLE "spy_stock" +( + "id_stock" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_stock"), + CONSTRAINT "spy_stock-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_stock_product_pk_seq"; + +CREATE TABLE "spy_stock_product" +( + "id_stock_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_stock" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 0, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_stock_product"), + CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") +); + +CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); + +CREATE SEQUENCE "spy_store_pk_seq"; + +CREATE TABLE "spy_store" +( + "id_store" INTEGER NOT NULL, + "name" VARCHAR(255), + PRIMARY KEY ("id_store") +); + +CREATE SEQUENCE "spy_tax_set_pk_seq"; + +CREATE TABLE "spy_tax_set" +( + "id_tax_set" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_set") +); + +CREATE SEQUENCE "spy_tax_rate_pk_seq"; + +CREATE TABLE "spy_tax_rate" +( + "id_tax_rate" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "rate" NUMERIC(8,2) NOT NULL, + "fk_country" INTEGER, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_rate") +); + +CREATE TABLE "spy_tax_set_tax" +( + "fk_tax_set" INTEGER NOT NULL, + "fk_tax_rate" INTEGER NOT NULL, + PRIMARY KEY ("fk_tax_set","fk_tax_rate") +); + +CREATE SEQUENCE "spy_touch_pk_seq"; + +CREATE TABLE "spy_touch" +( + "id_touch" INTEGER NOT NULL, + "item_type" VARCHAR(255) NOT NULL, + "item_event" INT2 NOT NULL, + "item_id" INTEGER NOT NULL, + "touched" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_touch"), + CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") +); + +CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); + +CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); + +CREATE SEQUENCE "spy_touch_storage_pk_seq"; + +CREATE TABLE "spy_touch_storage" +( + "id_touch_storage" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_storage"), + CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); + +CREATE SEQUENCE "spy_touch_search_pk_seq"; + +CREATE TABLE "spy_touch_search" +( + "id_touch_search" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_search"), + CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); + +CREATE SEQUENCE "spy_url_pk_seq"; + +CREATE TABLE "spy_url" +( + "id_url" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_resource_categorynode" INTEGER, + "fk_resource_page" INTEGER, + "fk_resource_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "fk_resource_redirect" INTEGER, + "url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url"), + CONSTRAINT "spy_url_unique_key" UNIQUE ("url") +); + +CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_url_redirect_pk_seq"; + +CREATE TABLE "spy_url_redirect" +( + "id_url_redirect" INTEGER NOT NULL, + "status" INTEGER DEFAULT 301 NOT NULL, + "to_url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url_redirect") +); + +CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); + +CREATE SEQUENCE "spy_url_storage_pk_seq"; + +CREATE TABLE "spy_url_storage" +( + "id_url_storage" INT8 NOT NULL, + "fk_categorynode" INTEGER, + "fk_page" INTEGER, + "fk_product_abstract" INTEGER, + "fk_product_set" INTEGER, + "fk_redirect" INTEGER, + "fk_url" INTEGER NOT NULL, + "url" VARCHAR NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_storage"), + CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); + +CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; + +CREATE TABLE "spy_url_redirect_storage" +( + "id_url_redirect_storage" INT8 NOT NULL, + "fk_url_redirect" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_redirect_storage"), + CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); + +CREATE SEQUENCE "spy_user_pk_seq"; + +CREATE TABLE "spy_user" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_user"), + CONSTRAINT "spy_user-username" UNIQUE ("username") +); + +CREATE SEQUENCE "spy_wishlist_pk_seq"; + +CREATE TABLE "spy_wishlist" +( + "id_wishlist" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist"), + CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") +); + +CREATE SEQUENCE "spy_wishlist_item_pk_seq"; + +CREATE TABLE "spy_wishlist_item" +( + "id_wishlist_item" INTEGER NOT NULL, + "fk_wishlist" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist_item") +); + +CREATE TABLE "spy_acl_role_archive" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role") +); + +CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); + +CREATE TABLE "spy_acl_rule_archive" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE TABLE "spy_acl_group_archive" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group") +); + +CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); + +CREATE TABLE "spy_auth_reset_password_archive" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user") +); + +CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); + +CREATE TABLE "spy_product_search_attribute_archive" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_attribute") +); + +CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_product_search_attribute_map_archive" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + "archived_at" TIMESTAMP, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_user_archive" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_user") +); + +CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); + +ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" + FOREIGN KEY ("fk_availability_abstract") + REFERENCES "spy_availability_abstract" ("id_availability_abstract"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" + FOREIGN KEY ("fk_parent_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" + FOREIGN KEY ("fk_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" + FOREIGN KEY ("fk_category_node_descendant") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_template" ("id_cms_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" + FOREIGN KEY ("fk_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_block_template" ("id_cms_block_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block"); + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" + FOREIGN KEY ("fk_cms_block_category_position") + REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" + FOREIGN KEY ("default_billing_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" + FOREIGN KEY ("default_shipping_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" + FOREIGN KEY ("fk_customer_group") + REFERENCES "spy_customer_group" ("id_customer_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" + FOREIGN KEY ("fk_gift_card_product_abstract_configuration") + REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" + FOREIGN KEY ("fk_gift_card_product_configuration") + REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); + +ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" + FOREIGN KEY ("fk_sales_payment") + REFERENCES "spy_sales_payment" ("id_sales_payment"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" + FOREIGN KEY ("fk_gift_card") + REFERENCES "spy_gift_card" ("id_gift_card"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" + FOREIGN KEY ("fk_parent_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" + FOREIGN KEY ("fk_navigation") + REFERENCES "spy_navigation" ("id_navigation") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" + FOREIGN KEY ("fk_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" + FOREIGN KEY ("fk_url") + REFERENCES "spy_url" ("id_url"); + +ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" + FOREIGN KEY ("fk_newsletter_subscriber") + REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" + FOREIGN KEY ("fk_newsletter_type") + REFERENCES "spy_newsletter_type" ("id_newsletter_type"); + +ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" + FOREIGN KEY ("fk_price_type") + REFERENCES "spy_price_type" ("id_price_type"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" + FOREIGN KEY ("fk_price_product") + REFERENCES "spy_price_product" ("id_price_product"); + +ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" + FOREIGN KEY ("fk_price_product_store") + REFERENCES "spy_price_product_store" ("id_price_product_store") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" + FOREIGN KEY ("fk_product_abstract_alternative") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" + FOREIGN KEY ("fk_product_concrete_alternative") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" + FOREIGN KEY ("fk_product_management_attribute") + REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" + FOREIGN KEY ("fk_product_management_attribute_value") + REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" + FOREIGN KEY ("fk_bundled_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" + FOREIGN KEY ("fk_product_discontinued") + REFERENCES "spy_product_discontinued" ("id_product_discontinued"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" + FOREIGN KEY ("fk_product_group") + REFERENCES "spy_product_group" ("id_product_group"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" + FOREIGN KEY ("fk_product_image_set") + REFERENCES "spy_product_image_set" ("id_product_image_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" + FOREIGN KEY ("fk_product_image") + REFERENCES "spy_product_image" ("id_product_image"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE SET NULL; + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" + FOREIGN KEY ("fk_product_option_value") + REFERENCES "spy_product_option_value" ("id_product_option_value") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" + FOREIGN KEY ("fk_product_relation_type") + REFERENCES "spy_product_relation_type" ("id_product_relation_type"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" + FOREIGN KEY ("fk_product_relation") + REFERENCES "spy_product_relation" ("id_product_relation"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" + FOREIGN KEY ("fk_order_source") + REFERENCES "spy_order_source" ("id_order_source"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" + FOREIGN KEY ("fk_sales_order_address_billing") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" + FOREIGN KEY ("fk_sales_order_address_shipping") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" + FOREIGN KEY ("fk_sales_order_item_bundle") + REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" + FOREIGN KEY ("fk_sales_order_item_option") + REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); + +ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" + FOREIGN KEY ("fk_sales_discount") + REFERENCES "spy_sales_discount" ("id_sales_discount"); + +ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" + FOREIGN KEY ("fk_sales_order_address") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" + FOREIGN KEY ("fk_sales_payment_method_type") + REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" + FOREIGN KEY ("fk_shipment_carrier") + REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" + FOREIGN KEY ("fk_shipment_method") + REFERENCES "spy_shipment_method" ("id_shipment_method"); + +ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" + FOREIGN KEY ("fk_stock") + REFERENCES "spy_stock" ("id_stock"); + +ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" + FOREIGN KEY ("fk_tax_rate") + REFERENCES "spy_tax_rate" ("id_tax_rate"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" + FOREIGN KEY ("fk_resource_categorynode") + REFERENCES "spy_category_node" ("id_category_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" + FOREIGN KEY ("fk_resource_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" + FOREIGN KEY ("fk_resource_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" + FOREIGN KEY ("fk_resource_redirect") + REFERENCES "spy_url_redirect" ("id_url_redirect") + ON DELETE CASCADE; + +ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" + FOREIGN KEY ("fk_wishlist") + REFERENCES "spy_wishlist" ("id_wishlist"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" + FOREIGN KEY ("sku") + REFERENCES "spy_product" ("sku"); + +COMMIT; +', +); + } + + /** + * Get the SQL statements for the Down migration + * + * @return array list of the SQL strings to execute for the Down migration + * the keys being the datasources + */ + public function getDownSQL() + { + return array ( + 'zed' => ' +BEGIN; + +DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role" CASCADE; + +DROP SEQUENCE "spy_acl_role_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; + +DROP SEQUENCE "spy_acl_rule_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_group" CASCADE; + +DROP SEQUENCE "spy_acl_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; + +DROP SEQUENCE "spy_auth_reset_password_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; + +DROP SEQUENCE "spy_availability_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability" CASCADE; + +DROP SEQUENCE "spy_availability_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; + +DROP SEQUENCE "spy_availability_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category" CASCADE; + +DROP SEQUENCE "spy_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; + +DROP SEQUENCE "spy_category_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node" CASCADE; + +DROP SEQUENCE "spy_category_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; + +DROP SEQUENCE "spy_category_closure_table_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; + +DROP SEQUENCE "spy_category_node_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; + +DROP SEQUENCE "spy_category_tree_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; + +DROP SEQUENCE "spy_category_node_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_template" CASCADE; + +DROP SEQUENCE "spy_category_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page" CASCADE; + +DROP SEQUENCE "spy_cms_page_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_version" CASCADE; + +DROP SEQUENCE "spy_cms_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_template" CASCADE; + +DROP SEQUENCE "spy_cms_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block" CASCADE; + +DROP SEQUENCE "spy_cms_block_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; + +DROP SEQUENCE "id_cms_block_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; + +DROP SEQUENCE "spy_cms_block_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; + +DROP SEQUENCE "spy_cms_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; + +DROP SEQUENCE "spy_cms_page_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_country" CASCADE; + +DROP SEQUENCE "spy_country_pk_seq"; + +DROP TABLE IF EXISTS "spy_region" CASCADE; + +DROP SEQUENCE "spy_region_pk_seq"; + +DROP TABLE IF EXISTS "spy_currency" CASCADE; + +DROP SEQUENCE "spy_currency_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer" CASCADE; + +DROP SEQUENCE "spy_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_address" CASCADE; + +DROP SEQUENCE "spy_customer_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group" CASCADE; + +DROP SEQUENCE "spy_customer_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; + +DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_note" CASCADE; + +DROP SEQUENCE "spy_customer_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount" CASCADE; + +DROP SEQUENCE "spy_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_store" CASCADE; + +DROP SEQUENCE "id_discount_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; + +DROP SEQUENCE "spy_discount_amount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; + +DROP SEQUENCE "spy_discount_promotion_pk_seq"; + +DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; + +DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; + +DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card" CASCADE; + +DROP SEQUENCE "spy_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; + +DROP SEQUENCE "spy_payment_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; + +DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; + +DROP SEQUENCE "spy_glossary_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; + +DROP SEQUENCE "spy_glossary_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; + +DROP SEQUENCE "spy_glossary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_locale" CASCADE; + +DROP SEQUENCE "spy_locale_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; + +DROP SEQUENCE "spy_navigation_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation" CASCADE; + +DROP SEQUENCE "spy_navigation_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; + +DROP SEQUENCE "spy_navigation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; + +DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; + +DROP SEQUENCE "spy_newsletter_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; + +DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; + +DROP SEQUENCE "spy_nopayment_paid_pk_seq"; + +DROP TABLE IF EXISTS "spy_offer" CASCADE; + +DROP SEQUENCE "spy_offer_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; + +DROP SEQUENCE "spy_oms_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; + +DROP SEQUENCE "spy_oms_order_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; + +DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; + +DROP TABLE IF EXISTS "spy_order_source" CASCADE; + +DROP SEQUENCE "spy_order_source_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product" CASCADE; + +DROP SEQUENCE "spy_price_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_type" CASCADE; + +DROP SEQUENCE "spy_price_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; + +DROP SEQUENCE "spy_price_product_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; + +DROP SEQUENCE "spy_price_product_default_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product" CASCADE; + +DROP SEQUENCE "spy_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; + +DROP SEQUENCE "spy_product_attribute_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; + +DROP SEQUENCE "id_product_abstract_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; + +DROP SEQUENCE "spy_product_alternative_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; + +DROP SEQUENCE "id_product_alternative_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; + +DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; + +DROP SEQUENCE "spy_product_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category" CASCADE; + +DROP SEQUENCE "spy_product_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; + +DROP SEQUENCE "id_product_discontinued_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; + +DROP SEQUENCE "id_product_discontinued_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; + +DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_group" CASCADE; + +DROP SEQUENCE "spy_product_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; + +DROP SEQUENCE "spy_product_image_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label" CASCADE; + +DROP SEQUENCE "spy_product_label_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; + +DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; + +DROP SEQUENCE "spy_product_option_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; + +DROP SEQUENCE "spy_product_option_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; + +DROP SEQUENCE "spy_product_option_value_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; + +DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; + +DROP SEQUENCE "id_product_quantity_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; + +DROP SEQUENCE "id_product_quantity_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation" CASCADE; + +DROP SEQUENCE "spy_product_relation_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; + +DROP SEQUENCE "spy_product_relation_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review" CASCADE; + +DROP SEQUENCE "id_product_review_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; + +DROP SEQUENCE "spy_product_review_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; + +DROP SEQUENCE "spy_product_search_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search" CASCADE; + +DROP SEQUENCE "spy_product_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; + +DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set" CASCADE; + +DROP SEQUENCE "spy_product_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; + +DROP SEQUENCE "spy_product_abstract_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; + +DROP SEQUENCE "spy_product_set_data_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; + +DROP SEQUENCE "spy_product_set_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; + +DROP SEQUENCE "spy_product_set_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_validity" CASCADE; + +DROP SEQUENCE "spy_product_validity_pk_seq"; + +DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; + +DROP TABLE IF EXISTS "spy_queue_process" CASCADE; + +DROP SEQUENCE "spy_queue_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_quote" CASCADE; + +DROP SEQUENCE "id_quote_pk_seq"; + +DROP TABLE IF EXISTS "spy_refund" CASCADE; + +DROP SEQUENCE "spy_refund_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order" CASCADE; + +DROP SEQUENCE "spy_sales_order_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; + +DROP SEQUENCE "spy_sales_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; + +DROP SEQUENCE "spy_sales_discount_code_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; + +DROP SEQUENCE "spy_sales_order_totals_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; + +DROP SEQUENCE "spy_sales_order_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; + +DROP SEQUENCE "spy_sales_order_comment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; + +DROP SEQUENCE "spy_sales_expense_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; + +DROP SEQUENCE "spy_sales_shipment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; + +DROP SEQUENCE "spy_sales_payment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; + +DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; + +DROP SEQUENCE "spy_sequence_number_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; + +DROP SEQUENCE "spy_shipment_carrier_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; + +DROP SEQUENCE "spy_shipment_method_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; + +DROP SEQUENCE "spy_shipment_method_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; + +DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; + +DROP SEQUENCE "spy_state_machine_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; + +DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock" CASCADE; + +DROP SEQUENCE "spy_stock_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock_product" CASCADE; + +DROP SEQUENCE "spy_stock_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_store" CASCADE; + +DROP SEQUENCE "spy_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set" CASCADE; + +DROP SEQUENCE "spy_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; + +DROP SEQUENCE "spy_tax_rate_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; + +DROP TABLE IF EXISTS "spy_touch" CASCADE; + +DROP SEQUENCE "spy_touch_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; + +DROP SEQUENCE "spy_touch_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_search" CASCADE; + +DROP SEQUENCE "spy_touch_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_url" CASCADE; + +DROP SEQUENCE "spy_url_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; + +DROP SEQUENCE "spy_url_redirect_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_storage" CASCADE; + +DROP SEQUENCE "spy_url_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; + +DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_user" CASCADE; + +DROP SEQUENCE "spy_user_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist" CASCADE; + +DROP SEQUENCE "spy_wishlist_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; + +DROP SEQUENCE "spy_wishlist_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_user_archive" CASCADE; + +COMMIT; +', +); + } + +} \ No newline at end of file diff --git a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php new file mode 100644 index 0000000000..2c1c726499 --- /dev/null +++ b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php @@ -0,0 +1,4863 @@ + ' +BEGIN; + +CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; + +CREATE TABLE "spy_sales_reclamation" +( + "id_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "customer_name" VARCHAR(511) NOT NULL, + "customer_reference" VARCHAR(255), + "customer_email" VARCHAR(255) NOT NULL, + "state" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_reclamation") +); + +CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +CREATE TABLE "spy_sales_reclamation_item" +( + "id_sales_reclamation_item" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "state" INT2 NOT NULL, + PRIMARY KEY ("id_sales_reclamation_item") +); + +CREATE SEQUENCE "spy_acl_role_pk_seq"; + +CREATE TABLE "spy_acl_role" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role"), + CONSTRAINT "spy_acl_role-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_acl_rule_pk_seq"; + +CREATE TABLE "spy_acl_rule" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE SEQUENCE "spy_acl_group_pk_seq"; + +CREATE TABLE "spy_acl_group" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group"), + CONSTRAINT "spy_acl_group-name" UNIQUE ("name") +); + +CREATE TABLE "spy_acl_user_has_group" +( + "fk_user" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_user","fk_acl_group") +); + +CREATE TABLE "spy_acl_groups_has_roles" +( + "fk_acl_role" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_acl_role","fk_acl_group") +); + +CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; + +CREATE TABLE "spy_auth_reset_password" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user"), + CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_availability_abstract_pk_seq"; + +CREATE TABLE "spy_availability_abstract" +( + "id_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_availability_abstract"), + CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_pk_seq"; + +CREATE TABLE "spy_availability" +( + "id_availability" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + "quantity" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_availability"), + CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_storage_pk_seq"; + +CREATE TABLE "spy_availability_storage" +( + "id_availability_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_availability_storage"), + CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); + +CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); + +CREATE SEQUENCE "spy_category_pk_seq"; + +CREATE TABLE "spy_category" +( + "id_category" INTEGER NOT NULL, + "fk_category_template" INTEGER, + "category_key" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\', + "is_clickable" BOOLEAN DEFAULT \'t\', + "is_in_menu" BOOLEAN DEFAULT \'t\', + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_category"), + CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") +); + +CREATE SEQUENCE "spy_category_attribute_pk_seq"; + +CREATE TABLE "spy_category_attribute" +( + "id_category_attribute" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "category_image_name" VARCHAR(255), + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" TEXT, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_attribute") +); + +CREATE SEQUENCE "spy_category_node_pk_seq"; + +CREATE TABLE "spy_category_node" +( + "id_category_node" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_parent_category_node" INTEGER, + "is_main" BOOLEAN DEFAULT \'f\', + "is_root" BOOLEAN DEFAULT \'f\', + "node_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_category_node") +); + +CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); + +CREATE SEQUENCE "spy_category_closure_table_pk_seq"; + +CREATE TABLE "spy_category_closure_table" +( + "id_category_closure_table" INTEGER NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "fk_category_node_descendant" INTEGER NOT NULL, + "depth" INTEGER NOT NULL, + PRIMARY KEY ("id_category_closure_table") +); + +CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; + +CREATE TABLE "spy_category_node_page_search" +( + "id_category_node_page_search" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_page_search"), + CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; + +CREATE TABLE "spy_category_tree_storage" +( + "id_category_tree_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_tree_storage"), + CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_category_node_storage_pk_seq"; + +CREATE TABLE "spy_category_node_storage" +( + "id_category_node_storage" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_storage"), + CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_template_pk_seq"; + +CREATE TABLE "spy_category_template" +( + "id_category_template" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_category_template"), + CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_page_pk_seq"; + +CREATE TABLE "spy_cms_page" +( + "id_cms_page" INTEGER NOT NULL, + "fk_template" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, + "page_key" VARCHAR(32), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_cms_page") +); + +CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); + +CREATE SEQUENCE "spy_cms_version_pk_seq"; + +CREATE TABLE "spy_cms_version" +( + "id_cms_version" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_user" INTEGER, + "data" TEXT, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_version") +); + +CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); + +CREATE SEQUENCE "spy_cms_template_pk_seq"; + +CREATE TABLE "spy_cms_template" +( + "id_cms_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_template"), + CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); + +CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +CREATE TABLE "spy_cms_page_localized_attributes" +( + "id_cms_page_localized_attributes" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_localized_attributes"), + CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") +); + +CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_glossary_key_mapping" +( + "id_cms_glossary_key_mapping" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_page" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_glossary_key_mapping"), + CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") +); + +CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); + +CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_block_glossary_key_mapping" +( + "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_block_glossary_key_mapping"), + CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") +); + +CREATE SEQUENCE "spy_cms_block_pk_seq"; + +CREATE TABLE "spy_cms_block" +( + "id_cms_block" INTEGER NOT NULL, + "fk_page" INTEGER, + "fk_template" INTEGER, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "name" VARCHAR(255) NOT NULL, + "type" VARCHAR(255), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "value" INTEGER, + PRIMARY KEY ("id_cms_block"), + CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") +); + +COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; + +CREATE SEQUENCE "id_cms_block_store_pk_seq"; + +CREATE TABLE "spy_cms_block_store" +( + "id_cms_block_store" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_store"), + CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") +); + +CREATE SEQUENCE "spy_cms_block_template_pk_seq"; + +CREATE TABLE "spy_cms_block_template" +( + "id_cms_block_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_template"), + CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_category_connector" +( + "id_cms_block_category_connector" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_category_template" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_cms_block_category_position" INTEGER, + PRIMARY KEY ("id_cms_block_category_connector") +); + +CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; + +CREATE TABLE "spy_cms_block_category_position" +( + "id_cms_block_category_position" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_category_position") +); + +CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_category_storage" +( + "id_cms_block_category_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_category_storage"), + CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_product_connector" +( + "id_cms_block_product_connector" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_product_connector") +); + +CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_product_storage" +( + "id_cms_block_product_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_product_storage"), + CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_storage" +( + "id_cms_block_storage" INT8 NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "name" VARCHAR NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_storage"), + CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); + +CREATE SEQUENCE "spy_cms_page_search_pk_seq"; + +CREATE TABLE "spy_cms_page_search" +( + "id_cms_page_search" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_search"), + CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); + +CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; + +CREATE TABLE "spy_cms_page_storage" +( + "id_cms_page_storage" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_storage"), + CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); + +CREATE SEQUENCE "spy_country_pk_seq"; + +CREATE TABLE "spy_country" +( + "id_country" INTEGER NOT NULL, + "iso2_code" VARCHAR(2) NOT NULL, + "iso3_code" VARCHAR(3), + "name" VARCHAR(255), + "postal_code_mandatory" BOOLEAN DEFAULT \'f\', + "postal_code_regex" VARCHAR(500), + PRIMARY KEY ("id_country"), + CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), + CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") +); + +CREATE SEQUENCE "spy_region_pk_seq"; + +CREATE TABLE "spy_region" +( + "id_region" INTEGER NOT NULL, + "fk_country" INTEGER, + "name" VARCHAR(100) NOT NULL, + "iso2_code" VARCHAR(6) NOT NULL, + PRIMARY KEY ("id_region"), + CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") +); + +CREATE SEQUENCE "spy_currency_pk_seq"; + +CREATE TABLE "spy_currency" +( + "id_currency" INTEGER NOT NULL, + "name" VARCHAR(255), + "code" VARCHAR(5), + "symbol" VARCHAR(255), + PRIMARY KEY ("id_currency") +); + +CREATE SEQUENCE "spy_customer_pk_seq"; + +CREATE TABLE "spy_customer" +( + "id_customer" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_user" INTEGER, + "anonymized_at" TIMESTAMP, + "company" VARCHAR(100), + "customer_reference" VARCHAR(255) NOT NULL, + "date_of_birth" DATE, + "default_billing_address" INTEGER, + "default_shipping_address" INTEGER, + "email" VARCHAR(255) NOT NULL, + "first_name" VARCHAR(100), + "gender" INT2, + "last_name" VARCHAR(100), + "password" VARCHAR(255), + "phone" VARCHAR(255), + "registered" DATE, + "registration_key" VARCHAR(150), + "restore_password_date" TIMESTAMP, + "restore_password_key" VARCHAR(150), + "salutation" INT2, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer"), + CONSTRAINT "spy_customer-email" UNIQUE ("email"), + CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") +); + +CREATE SEQUENCE "spy_customer_address_pk_seq"; + +CREATE TABLE "spy_customer_address" +( + "id_customer_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "anonymized_at" TIMESTAMP, + "city" VARCHAR(255), + "comment" VARCHAR(255), + "company" VARCHAR(255), + "deleted_at" TIMESTAMP, + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "phone" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_address") +); + +CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); + +CREATE SEQUENCE "spy_customer_group_pk_seq"; + +CREATE TABLE "spy_customer_group" +( + "id_customer_group" INTEGER NOT NULL, + "name" VARCHAR(70) NOT NULL, + "description" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group"), + CONSTRAINT "spy_customer-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +CREATE TABLE "spy_customer_group_to_customer" +( + "id_customer_group_to_customer" INTEGER NOT NULL, + "fk_customer_group" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group_to_customer"), + CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") +); + +CREATE SEQUENCE "spy_customer_note_pk_seq"; + +CREATE TABLE "spy_customer_note" +( + "id_customer_note" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "username" VARCHAR, + "message" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_note") +); + +CREATE SEQUENCE "spy_discount_pk_seq"; + +CREATE TABLE "spy_discount" +( + "id_discount" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "fk_store" INTEGER, + "amount" INTEGER NOT NULL, + "calculator_plugin" VARCHAR(255), + "collector_query_string" VARCHAR, + "decision_rule_query_string" VARCHAR, + "description" VARCHAR(1024), + "discount_key" VARCHAR(32), + "discount_type" VARCHAR(255), + "display_name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "is_exclusive" BOOLEAN DEFAULT \'f\', + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount"), + CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), + CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") +); + +CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); + +CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); + +CREATE SEQUENCE "id_discount_store_pk_seq"; + +CREATE TABLE "spy_discount_store" +( + "id_discount_store" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_store"), + CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") +); + +CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +CREATE TABLE "spy_discount_voucher_pool" +( + "id_discount_voucher_pool" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher_pool") +); + +CREATE SEQUENCE "spy_discount_voucher_pk_seq"; + +CREATE TABLE "spy_discount_voucher" +( + "id_discount_voucher" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "code" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "max_number_of_uses" INTEGER, + "number_of_uses" INTEGER, + "voucher_batch" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher"), + CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_discount_amount_pk_seq"; + +CREATE TABLE "spy_discount_amount" +( + "id_discount_amount" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "gross_amount" INTEGER, + "net_amount" INTEGER, + PRIMARY KEY ("id_discount_amount"), + CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") +); + +CREATE SEQUENCE "spy_discount_promotion_pk_seq"; + +CREATE TABLE "spy_discount_promotion" +( + "id_discount_promotion" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_promotion") +); + +CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +CREATE TABLE "spy_event_behavior_entity_change" +( + "id_event_behavior_entity_change" INT8 NOT NULL, + "data" VARCHAR, + "process_id" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_event_behavior_entity_change") +); + +CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +CREATE TABLE "pyz_example_state_machine_item" +( + "id_example_state_machine_item" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER, + "name" VARCHAR, + PRIMARY KEY ("id_example_state_machine_item") +); + +CREATE SEQUENCE "spy_gift_card_pk_seq"; + +CREATE TABLE "spy_gift_card" +( + "id_gift_card" INTEGER NOT NULL, + "name" VARCHAR(40) NOT NULL, + "replacement_pattern" VARCHAR(40), + "code" VARCHAR(40) NOT NULL, + "value" INTEGER NOT NULL, + "currency_iso_code" VARCHAR(5), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "attributes" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration" +( + "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, + "code_pattern" VARCHAR(40) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_abstract_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration_link" +( + "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration" +( + "id_gift_card_product_configuration" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration_link" +( + "id_gift_card_product_configuration_link" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_gift_card_product_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_configuration_link") +); + +CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; + +CREATE TABLE "spy_payment_gift_card" +( + "id_payment_gift_card" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "fk_sales_payment" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_payment_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +CREATE TABLE "spy_gift_card_balance_log" +( + "id_gift_card_balance_log" INTEGER NOT NULL, + "fk_gift_card" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_gift_card_balance_log") +); + +CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); + +CREATE SEQUENCE "spy_glossary_key_pk_seq"; + +CREATE TABLE "spy_glossary_key" +( + "id_glossary_key" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_glossary_key"), + CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); + +CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); + +CREATE SEQUENCE "spy_glossary_translation_pk_seq"; + +CREATE TABLE "spy_glossary_translation" +( + "id_glossary_translation" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_glossary_translation"), + CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") +); + +CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); + +CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); + +CREATE SEQUENCE "spy_glossary_storage_pk_seq"; + +CREATE TABLE "spy_glossary_storage" +( + "id_glossary_storage" INT8 NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "glossary_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_glossary_storage"), + CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); + +CREATE SEQUENCE "spy_locale_pk_seq"; + +CREATE TABLE "spy_locale" +( + "id_locale" INTEGER NOT NULL, + "locale_name" VARCHAR(5) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_locale"), + CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") +); + +CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); + +CREATE SEQUENCE "spy_navigation_node_pk_seq"; + +CREATE TABLE "spy_navigation_node" +( + "id_navigation_node" INTEGER NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "fk_parent_navigation_node" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "node_key" VARCHAR(32), + "node_type" VARCHAR(255), + "position" INTEGER, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_navigation_node") +); + +CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); + +CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); + +CREATE SEQUENCE "spy_navigation_pk_seq"; + +CREATE TABLE "spy_navigation" +( + "id_navigation" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation"), + CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); + +CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); + +CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +CREATE TABLE "spy_navigation_node_localized_attributes" +( + "id_navigation_node_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_navigation_node" INTEGER NOT NULL, + "fk_url" INTEGER, + "css_class" VARCHAR(255), + "external_url" VARCHAR(255), + "link" VARCHAR(255), + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_node_localized_attributes") +); + +CREATE SEQUENCE "spy_navigation_storage_pk_seq"; + +CREATE TABLE "spy_navigation_storage" +( + "id_navigation_storage" INT8 NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "navigation_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_storage"), + CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); + +CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +CREATE TABLE "spy_newsletter_subscriber" +( + "id_newsletter_subscriber" INTEGER NOT NULL, + "fk_customer" INTEGER, + "email" VARCHAR(255) NOT NULL, + "subscriber_key" VARCHAR(150), + "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_subscriber"), + CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), + CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") +); + +CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); + +CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); + +CREATE SEQUENCE "spy_newsletter_type_pk_seq"; + +CREATE TABLE "spy_newsletter_type" +( + "id_newsletter_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_type"), + CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") +); + +CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); + +CREATE TABLE "spy_newsletter_subscription" +( + "fk_newsletter_subscriber" INTEGER NOT NULL, + "fk_newsletter_type" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") +); + +CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; + +CREATE TABLE "spy_nopayment_paid" +( + "id_nopayment_paid" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_nopayment_paid") +); + +CREATE SEQUENCE "spy_offer_pk_seq"; + +CREATE TABLE "spy_offer" +( + "id_offer" INTEGER NOT NULL, + "quote_data" TEXT NOT NULL, + "status" INT2 DEFAULT 0, + "fk_user" INTEGER, + "customer_reference" VARCHAR(255), + "contact_person" VARCHAR(255), + "contact_date" TIMESTAMP, + "note" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_offer") +); + +CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); + +CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; + +CREATE TABLE "spy_oms_transition_log" +( + "id_oms_transition_log" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "quantity" INTEGER, + "locked" BOOLEAN, + "fk_oms_order_process" INTEGER, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_transition_log") +); + +CREATE SEQUENCE "spy_oms_order_process_pk_seq"; + +CREATE TABLE "spy_oms_order_process" +( + "id_oms_order_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_process"), + CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_oms_state_machine_lock" +( + "id_oms_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "details" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_state_machine_lock"), + CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state" +( + "id_oms_order_item_state" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_oms_order_item_state"), + CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state_history" +( + "id_oms_order_item_state_history" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_item_state_history") +); + +CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); + +CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; + +CREATE TABLE "spy_oms_event_timeout" +( + "id_oms_event_timeout" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_event_timeout"), + CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") +); + +CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation" +( + "id_oms_product_reservation" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, + "fk_store" INTEGER, + PRIMARY KEY ("id_oms_product_reservation"), + CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_store" +( + "id_oms_product_reservation_store" INTEGER NOT NULL, + "store" VARCHAR(255) NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER NOT NULL, + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_product_reservation_store"), + CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") +); + +CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); + +CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); + +CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); + +CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_change_version" +( + "version" INT8 NOT NULL, + "id_oms_product_reservation_id" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("version") +); + +CREATE TABLE "spy_oms_product_reservation_last_exported_version" +( + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP +); + +CREATE SEQUENCE "spy_order_source_pk_seq"; + +CREATE TABLE "spy_order_source" +( + "id_order_source" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_order_source") +); + +CREATE SEQUENCE "spy_price_product_pk_seq"; + +CREATE TABLE "spy_price_product" +( + "id_price_product" INTEGER NOT NULL, + "fk_price_type" INTEGER NOT NULL, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "price" INTEGER DEFAULT 0, + PRIMARY KEY ("id_price_product"), + CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") +); + +CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); + +CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); + +CREATE SEQUENCE "spy_price_type_pk_seq"; + +CREATE TABLE "spy_price_type" +( + "id_price_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "price_mode_configuration" INT2, + PRIMARY KEY ("id_price_type"), + CONSTRAINT "spy_price_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_price_product_store_pk_seq"; + +CREATE TABLE "spy_price_product_store" +( + "id_price_product_store" INT8 NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_price_product" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + "price_data" TEXT, + "price_data_checksum" VARCHAR, + PRIMARY KEY ("id_price_product_store") +); + +CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); + +CREATE SEQUENCE "spy_price_product_default_pk_seq"; + +CREATE TABLE "spy_price_product_default" +( + "id_price_product_default" INT8 NOT NULL, + "fk_price_product_store" INT8 NOT NULL, + PRIMARY KEY ("id_price_product_default"), + CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") +); + +CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); + +CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_price_product_abstract_storage" +( + "id_price_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_abstract_storage"), + CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_price_product_concrete_storage" +( + "id_price_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_concrete_storage"), + CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_abstract" +( + "id_product_abstract" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "attributes" TEXT NOT NULL, + "color_code" VARCHAR(8), + "new_from" TIMESTAMP, + "new_to" TIMESTAMP, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract"), + CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_abstract_localized_attributes" +( + "id_abstract_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_abstract_attributes"), + CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") +); + +CREATE SEQUENCE "spy_product_pk_seq"; + +CREATE TABLE "spy_product" +( + "id_product" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product"), + CONSTRAINT "spy_product-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_localized_attributes" +( + "id_product_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "is_complete" BOOLEAN DEFAULT \'t\', + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_attributes"), + CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") +); + +CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; + +CREATE TABLE "spy_product_attribute_key" +( + "id_product_attribute_key" INTEGER NOT NULL, + "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_attribute_key"), + CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "id_product_abstract_store_pk_seq"; + +CREATE TABLE "spy_product_abstract_store" +( + "id_product_abstract_store" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_product_abstract_store"), + CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") +); + +CREATE SEQUENCE "spy_product_alternative_pk_seq"; + +CREATE TABLE "spy_product_alternative" +( + "id_product_alternative" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_product_abstract_alternative" INTEGER, + "fk_product_concrete_alternative" INTEGER, + PRIMARY KEY ("id_product_alternative") +); + +CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; + +CREATE TABLE "spy_product_alternative_storage" +( + "id_product_alternative_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_alternative_storage"), + CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); + +CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +CREATE TABLE "spy_product_replacement_for_storage" +( + "id_product_replacement_for_storage" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_replacement_for_storage"), + CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); + +CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; + +CREATE TABLE "spy_product_management_attribute" +( + "id_product_management_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, + "input_type" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_management_attribute"), + CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value" +( + "id_product_management_attribute_value" INTEGER NOT NULL, + "fk_product_management_attribute" INTEGER NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value_translation" +( + "id_product_management_attribute_value_translation" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_management_attribute_value" INTEGER NOT NULL, + "translation" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value_translation"), + CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +CREATE TABLE "spy_sales_order_item_bundle" +( + "id_sales_order_item_bundle" INTEGER NOT NULL, + "cart_note" VARCHAR(255), + "gross_price" INTEGER NOT NULL, + "image" TEXT, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_bundle") +); + +CREATE SEQUENCE "spy_product_bundle_pk_seq"; + +CREATE TABLE "spy_product_bundle" +( + "id_product_bundle" INTEGER NOT NULL, + "fk_bundled_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_bundle") +); + +COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; + +COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; + +COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; + +CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); + +CREATE SEQUENCE "spy_product_category_pk_seq"; + +CREATE TABLE "spy_product_category" +( + "id_product_category" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "product_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_product_category"), + CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") +); + +CREATE SEQUENCE "spy_product_category_filter_pk_seq"; + +CREATE TABLE "spy_product_category_filter" +( + "id_product_category_filter" INTEGER NOT NULL, + "fk_category" INTEGER, + "filter_data" TEXT NOT NULL, + PRIMARY KEY ("id_product_category_filter"), + CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") +); + +CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); + +CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +CREATE TABLE "spy_product_category_filter_storage" +( + "id_product_category_filter_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_category_filter_storage"), + CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); + +CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_category_storage" +( + "id_product_abstract_category_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_category_storage"), + CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_discontinued_pk_seq"; + +CREATE TABLE "spy_product_discontinued" +( + "id_product_discontinued" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "active_until" DATE NOT NULL, + "discontinued_on" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued") +); + +CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; + +CREATE TABLE "spy_product_discontinued_note" +( + "id_product_discontinued_note" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "note" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_note"), + CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") +); + +CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; + +CREATE TABLE "spy_product_discontinued_storage" +( + "id_product_discontinued_storage" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_storage"), + CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); + +CREATE SEQUENCE "spy_product_group_pk_seq"; + +CREATE TABLE "spy_product_group" +( + "id_product_group" INTEGER NOT NULL, + "product_group_key" VARCHAR(32), + PRIMARY KEY ("id_product_group") +); + +CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); + +CREATE TABLE "spy_product_abstract_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_group" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_group") +); + +CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_group_storage" +( + "id_product_abstract_group_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_group_storage"), + CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_image_set_pk_seq"; + +CREATE TABLE "spy_product_image_set" +( + "id_product_image_set" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image_set"), + CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") +); + +CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); + +CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); + +CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_product_image_pk_seq"; + +CREATE TABLE "spy_product_image" +( + "id_product_image" INTEGER NOT NULL, + "external_url_large" VARCHAR(2048), + "external_url_small" VARCHAR(2048), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image") +); + +CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +CREATE TABLE "spy_product_image_set_to_product_image" +( + "id_product_image_set_to_product_image" INTEGER NOT NULL, + "fk_product_image" INTEGER NOT NULL, + "fk_product_image_set" INTEGER NOT NULL, + "sort_order" INTEGER NOT NULL, + PRIMARY KEY ("id_product_image_set_to_product_image"), + CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") +); + +CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_image_storage" +( + "id_product_abstract_image_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_image_storage"), + CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_image_storage" +( + "id_product_concrete_image_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_image_storage"), + CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_label_pk_seq"; + +CREATE TABLE "spy_product_label" +( + "id_product_label" INTEGER NOT NULL, + "front_end_reference" VARCHAR, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_published" BOOLEAN DEFAULT \'f\', + "name" VARCHAR NOT NULL, + "position" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label"), + CONSTRAINT "spy_product_label-name" UNIQUE ("name") +); + +CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); + +CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_label_localized_attributes" +( + "id_product_label_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + "name" VARCHAR, + PRIMARY KEY ("id_product_label_localized_attributes"), + CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") +); + +CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); + +CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_label_product_abstract" +( + "id_product_label_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + PRIMARY KEY ("id_product_label_product_abstract"), + CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") +); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +CREATE TABLE "spy_product_label_dictionary_storage" +( + "id_product_label_dictionary_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label_dictionary_storage"), + CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_label_storage" +( + "id_product_abstract_label_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_label_storage"), + CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_option_group_pk_seq"; + +CREATE TABLE "spy_product_option_group" +( + "id_product_option_group" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "active" BOOLEAN, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_group") +); + +CREATE TABLE "spy_product_abstract_product_option_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_option_group") +); + +CREATE SEQUENCE "spy_product_option_value_pk_seq"; + +CREATE TABLE "spy_product_option_value" +( + "id_product_option_value" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + "price" INTEGER, + "sku" VARCHAR(255) NOT NULL, + "value" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_value"), + CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") +); + +COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; + +CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; + +CREATE TABLE "spy_product_option_value_price" +( + "id_product_option_value_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_product_option_value" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + PRIMARY KEY ("id_product_option_value_price"), + CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_option_storage" +( + "id_product_abstract_option_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_option_storage"), + CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +CREATE TABLE "spy_product_abstract_page_search" +( + "id_product_abstract_page_search" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_page_search"), + CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_quantity_pk_seq"; + +CREATE TABLE "spy_product_quantity" +( + "id_product_quantity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity_min" INTEGER NOT NULL, + "quantity_max" INTEGER, + "quantity_interval" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity"), + CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") +); + +CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; + +CREATE TABLE "spy_product_quantity_storage" +( + "id_product_quantity_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity_storage") +); + +CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_relation_pk_seq"; + +CREATE TABLE "spy_product_relation" +( + "id_product_relation" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation_type" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, + "query_set_data" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation"), + CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") +); + +CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +CREATE TABLE "spy_product_relation_product_abstract" +( + "id_product_relation_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation" INTEGER NOT NULL, + "order" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_product_abstract") +); + +CREATE SEQUENCE "spy_product_relation_type_pk_seq"; + +CREATE TABLE "spy_product_relation_type" +( + "id_product_relation_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_type") +); + +CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_relation_storage" +( + "id_product_abstract_relation_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_relation_storage"), + CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_review_pk_seq"; + +CREATE TABLE "spy_product_review" +( + "id_product_review" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "description" TEXT, + "nickname" VARCHAR(255), + "rating" INTEGER DEFAULT 0 NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "summary" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review") +); + +CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); + +CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); + +CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); + +CREATE SEQUENCE "spy_product_review_search_pk_seq"; + +CREATE TABLE "spy_product_review_search" +( + "id_product_review_search" INT8 NOT NULL, + "fk_product_review" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review_search"), + CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); + +CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_review_storage" +( + "id_product_abstract_review_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_review_storage"), + CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; + +CREATE TABLE "spy_product_search_attribute" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_product_search_attribute"), + CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_search_pk_seq"; + +CREATE TABLE "spy_product_search" +( + "id_product_search" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_product_search") +); + +CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); + +CREATE TABLE "spy_product_search_attribute_map" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); + +CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; + +CREATE TABLE "spy_product_search_config_storage" +( + "id_product_search_config_storage" INT8 NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_config_storage"), + CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_set_pk_seq"; + +CREATE TABLE "spy_product_set" +( + "id_product_set" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "product_set_key" VARCHAR(255) NOT NULL, + "weight" INTEGER DEFAULT 0 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set"), + CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") +); + +CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; + +CREATE TABLE "spy_product_abstract_set" +( + "id_product_abstract_set" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_product_abstract_set"), + CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") +); + +CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); + +CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_set_data_pk_seq"; + +CREATE TABLE "spy_product_set_data" +( + "id_product_set_data" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_data"), + CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") +); + +CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); + +CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); + +CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; + +CREATE TABLE "spy_product_set_page_search" +( + "id_product_set_page_search" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_page_search"), + CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_set_storage_pk_seq"; + +CREATE TABLE "spy_product_set_storage" +( + "id_product_set_storage" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_storage"), + CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_storage" +( + "id_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_storage"), + CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_storage" +( + "id_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_storage"), + CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_validity_pk_seq"; + +CREATE TABLE "spy_product_validity" +( + "id_product_validity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_product_validity"), + CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") +); + +CREATE TABLE "spy_propel_heartbeat" +( + "heartbeat_check" VARCHAR NOT NULL, + PRIMARY KEY ("heartbeat_check") +); + +CREATE SEQUENCE "spy_queue_process_pk_seq"; + +CREATE TABLE "spy_queue_process" +( + "id_queue_process" INTEGER NOT NULL, + "server_id" VARCHAR(255) NOT NULL, + "process_pid" INTEGER NOT NULL, + "worker_pid" INTEGER NOT NULL, + "queue_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_queue_process"), + CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") +); + +CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); + +CREATE SEQUENCE "id_quote_pk_seq"; + +CREATE TABLE "spy_quote" +( + "id_quote" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "quote_data" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_quote") +); + +CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); + +CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); + +CREATE SEQUENCE "spy_refund_pk_seq"; + +CREATE TABLE "spy_refund" +( + "id_refund" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "comment" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_refund") +); + +CREATE SEQUENCE "spy_sales_order_pk_seq"; + +CREATE TABLE "spy_sales_order" +( + "id_sales_order" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_order_source" INTEGER, + "fk_sales_order_address_billing" INTEGER NOT NULL, + "fk_sales_order_address_shipping" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER, + "cart_note" VARCHAR(255), + "currency_iso_code" VARCHAR(5), + "customer_reference" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100), + "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, + "last_name" VARCHAR(100), + "order_reference" VARCHAR(45) NOT NULL, + "price_mode" INT2, + "salutation" INT2, + "store" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order"), + CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") +); + +CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); + +CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); + +CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); + +CREATE SEQUENCE "spy_sales_order_item_pk_seq"; + +CREATE TABLE "spy_sales_order_item" +( + "id_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "fk_oms_order_process" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_order_item_bundle" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "cart_note" VARCHAR(255), + "discount_amount_aggregation" INTEGER DEFAULT 0, + "discount_amount_full_aggregation" INTEGER DEFAULT 0, + "expense_price_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "group_key" VARCHAR(255), + "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "product_option_price_aggregation" INTEGER DEFAULT 0, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "refundable_amount" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "subtotal_aggregation" INTEGER, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_amount_full_aggregation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "tax_rate_average_aggregation" NUMERIC(8,2), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item") +); + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; + +CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); + +CREATE SEQUENCE "spy_sales_discount_pk_seq"; + +CREATE TABLE "spy_sales_discount" +( + "id_sales_discount" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER, + "fk_sales_order_item" INTEGER, + "fk_sales_order_item_option" INTEGER, + "amount" INTEGER NOT NULL, + "description" VARCHAR(510), + "display_name" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount") +); + +CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; + +CREATE TABLE "spy_sales_discount_code" +( + "id_sales_discount_code" INTEGER NOT NULL, + "fk_sales_discount" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "codepool_name" VARCHAR(255) NOT NULL, + "is_once_per_customer" BOOLEAN DEFAULT \'t\', + "is_refundable" BOOLEAN DEFAULT \'f\', + "is_reusable" BOOLEAN DEFAULT \'f\', + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount_code") +); + +CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +CREATE TABLE "spy_sales_order_item_gift_card" +( + "id_sales_order_item_gift_card" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "attributes" TEXT, + "code" VARCHAR(40), + "pattern" VARCHAR(40), + "value" INTEGER, + PRIMARY KEY ("id_sales_order_item_gift_card") +); + +CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; + +CREATE TABLE "spy_sales_order_item_option" +( + "id_sales_order_item_option" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER DEFAULT 0 NOT NULL, + "group_name" VARCHAR NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "tax_amount" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2) NOT NULL, + "value" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_option") +); + +COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +CREATE SEQUENCE "spy_sales_order_address_pk_seq"; + +CREATE TABLE "spy_sales_order_address" +( + "id_sales_order_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address") +); + +CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; + +CREATE TABLE "spy_sales_order_address_history" +( + "id_sales_order_address_history" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "fk_sales_order_address" INTEGER NOT NULL, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "is_billing" BOOLEAN DEFAULT \'f\', + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address_history") +); + +CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; + +CREATE TABLE "spy_sales_order_totals" +( + "id_sales_order_totals" INTEGER NOT NULL, + "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, + "canceled_total" INTEGER DEFAULT 0, + "discount_total" INTEGER DEFAULT 0, + "grand_total" INTEGER DEFAULT 0, + "order_expense_total" INTEGER DEFAULT 0, + "refund_total" INTEGER DEFAULT 0, + "subtotal" INTEGER DEFAULT 0, + "tax_total" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_totals") +); + +CREATE SEQUENCE "spy_sales_order_note_pk_seq"; + +CREATE TABLE "spy_sales_order_note" +( + "id_sales_order_note" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "command" VARCHAR(255) NOT NULL, + "message" VARCHAR(255) NOT NULL, + "success" BOOLEAN NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_note") +); + +CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; + +CREATE TABLE "spy_sales_order_comment" +( + "id_sales_order_comment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "username" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_comment") +); + +CREATE SEQUENCE "spy_sales_expense_pk_seq"; + +CREATE TABLE "spy_sales_expense" +( + "id_sales_expense" INTEGER NOT NULL, + "fk_sales_order" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "name" VARCHAR(255), + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "refundable_amount" INTEGER DEFAULT 0, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "type" VARCHAR(150), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_expense"), + CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") +); + +COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; + +COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +CREATE TABLE "spy_sales_order_item_metadata" +( + "id_sales_order_item_metadata" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "image" TEXT, + "super_attributes" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_metadata") +); + +CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); + +CREATE SEQUENCE "spy_sales_shipment_pk_seq"; + +CREATE TABLE "spy_sales_shipment" +( + "id_sales_shipment" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "carrier_name" VARCHAR(255), + "delivery_time" VARCHAR(255), + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_shipment") +); + +CREATE SEQUENCE "spy_sales_payment_pk_seq"; + +CREATE TABLE "spy_sales_payment" +( + "id_sales_payment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_payment_method_type" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_payment") +); + +CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +CREATE TABLE "spy_sales_payment_method_type" +( + "id_sales_payment_method_type" INTEGER NOT NULL, + "payment_provider" VARCHAR NOT NULL, + "payment_method" VARCHAR NOT NULL, + PRIMARY KEY ("id_sales_payment_method_type") +); + +CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); + +CREATE SEQUENCE "spy_sequence_number_pk_seq"; + +CREATE TABLE "spy_sequence_number" +( + "id_sequence_number" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "current_id" INTEGER NOT NULL, + PRIMARY KEY ("id_sequence_number"), + CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; + +CREATE TABLE "spy_shipment_carrier" +( + "id_shipment_carrier" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_shipment_carrier") +); + +CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_pk_seq"; + +CREATE TABLE "spy_shipment_method" +( + "id_shipment_method" INTEGER NOT NULL, + "fk_shipment_carrier" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "name" VARCHAR(255) NOT NULL, + "shipment_method_key" VARCHAR(255), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "default_price" INTEGER, + "availability_plugin" VARCHAR(255), + "price_plugin" VARCHAR(255), + "delivery_time_plugin" VARCHAR(255), + PRIMARY KEY ("id_shipment_method") +); + +COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; + +CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; + +CREATE TABLE "spy_shipment_method_price" +( + "id_shipment_method_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_shipment_method" INTEGER NOT NULL, + "default_gross_price" INTEGER, + "default_net_price" INTEGER, + PRIMARY KEY ("id_shipment_method_price"), + CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +CREATE TABLE "spy_state_machine_transition_log" +( + "id_state_machine_transition_log" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "locked" BOOLEAN, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_transition_log") +); + +CREATE SEQUENCE "spy_state_machine_process_pk_seq"; + +CREATE TABLE "spy_state_machine_process" +( + "id_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "state_machine_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_process"), + CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") +); + +CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); + +CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_state_machine_lock" +( + "id_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_lock"), + CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state" +( + "id_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_state_machine_item_state"), + CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") +); + +CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state_history" +( + "id_state_machine_item_state_history" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_item_state_history") +); + +CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); + +CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +CREATE TABLE "spy_state_machine_event_timeout" +( + "id_state_machine_event_timeout" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_event_timeout"), + CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") +); + +CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_stock_pk_seq"; + +CREATE TABLE "spy_stock" +( + "id_stock" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_stock"), + CONSTRAINT "spy_stock-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_stock_product_pk_seq"; + +CREATE TABLE "spy_stock_product" +( + "id_stock_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_stock" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 0, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_stock_product"), + CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") +); + +CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); + +CREATE SEQUENCE "spy_store_pk_seq"; + +CREATE TABLE "spy_store" +( + "id_store" INTEGER NOT NULL, + "name" VARCHAR(255), + PRIMARY KEY ("id_store") +); + +CREATE SEQUENCE "spy_tax_set_pk_seq"; + +CREATE TABLE "spy_tax_set" +( + "id_tax_set" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_set") +); + +CREATE SEQUENCE "spy_tax_rate_pk_seq"; + +CREATE TABLE "spy_tax_rate" +( + "id_tax_rate" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "rate" NUMERIC(8,2) NOT NULL, + "fk_country" INTEGER, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_rate") +); + +CREATE TABLE "spy_tax_set_tax" +( + "fk_tax_set" INTEGER NOT NULL, + "fk_tax_rate" INTEGER NOT NULL, + PRIMARY KEY ("fk_tax_set","fk_tax_rate") +); + +CREATE SEQUENCE "spy_touch_pk_seq"; + +CREATE TABLE "spy_touch" +( + "id_touch" INTEGER NOT NULL, + "item_type" VARCHAR(255) NOT NULL, + "item_event" INT2 NOT NULL, + "item_id" INTEGER NOT NULL, + "touched" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_touch"), + CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") +); + +CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); + +CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); + +CREATE SEQUENCE "spy_touch_storage_pk_seq"; + +CREATE TABLE "spy_touch_storage" +( + "id_touch_storage" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_storage"), + CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); + +CREATE SEQUENCE "spy_touch_search_pk_seq"; + +CREATE TABLE "spy_touch_search" +( + "id_touch_search" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_search"), + CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); + +CREATE SEQUENCE "spy_url_pk_seq"; + +CREATE TABLE "spy_url" +( + "id_url" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_resource_categorynode" INTEGER, + "fk_resource_page" INTEGER, + "fk_resource_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "fk_resource_redirect" INTEGER, + "url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url"), + CONSTRAINT "spy_url_unique_key" UNIQUE ("url") +); + +CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_url_redirect_pk_seq"; + +CREATE TABLE "spy_url_redirect" +( + "id_url_redirect" INTEGER NOT NULL, + "status" INTEGER DEFAULT 301 NOT NULL, + "to_url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url_redirect") +); + +CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); + +CREATE SEQUENCE "spy_url_storage_pk_seq"; + +CREATE TABLE "spy_url_storage" +( + "id_url_storage" INT8 NOT NULL, + "fk_categorynode" INTEGER, + "fk_page" INTEGER, + "fk_product_abstract" INTEGER, + "fk_product_set" INTEGER, + "fk_redirect" INTEGER, + "fk_url" INTEGER NOT NULL, + "url" VARCHAR NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_storage"), + CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); + +CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; + +CREATE TABLE "spy_url_redirect_storage" +( + "id_url_redirect_storage" INT8 NOT NULL, + "fk_url_redirect" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_redirect_storage"), + CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); + +CREATE SEQUENCE "spy_user_pk_seq"; + +CREATE TABLE "spy_user" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_user"), + CONSTRAINT "spy_user-username" UNIQUE ("username") +); + +CREATE SEQUENCE "spy_wishlist_pk_seq"; + +CREATE TABLE "spy_wishlist" +( + "id_wishlist" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist"), + CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") +); + +CREATE SEQUENCE "spy_wishlist_item_pk_seq"; + +CREATE TABLE "spy_wishlist_item" +( + "id_wishlist_item" INTEGER NOT NULL, + "fk_wishlist" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist_item") +); + +CREATE TABLE "spy_acl_role_archive" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role") +); + +CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); + +CREATE TABLE "spy_acl_rule_archive" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE TABLE "spy_acl_group_archive" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group") +); + +CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); + +CREATE TABLE "spy_auth_reset_password_archive" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user") +); + +CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); + +CREATE TABLE "spy_product_search_attribute_archive" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_attribute") +); + +CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_product_search_attribute_map_archive" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + "archived_at" TIMESTAMP, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_user_archive" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_user") +); + +CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); + +ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" + FOREIGN KEY ("fk_availability_abstract") + REFERENCES "spy_availability_abstract" ("id_availability_abstract"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" + FOREIGN KEY ("fk_parent_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" + FOREIGN KEY ("fk_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" + FOREIGN KEY ("fk_category_node_descendant") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_template" ("id_cms_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" + FOREIGN KEY ("fk_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_block_template" ("id_cms_block_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block"); + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" + FOREIGN KEY ("fk_cms_block_category_position") + REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" + FOREIGN KEY ("default_billing_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" + FOREIGN KEY ("default_shipping_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" + FOREIGN KEY ("fk_customer_group") + REFERENCES "spy_customer_group" ("id_customer_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" + FOREIGN KEY ("fk_gift_card_product_abstract_configuration") + REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" + FOREIGN KEY ("fk_gift_card_product_configuration") + REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); + +ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" + FOREIGN KEY ("fk_sales_payment") + REFERENCES "spy_sales_payment" ("id_sales_payment"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" + FOREIGN KEY ("fk_gift_card") + REFERENCES "spy_gift_card" ("id_gift_card"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" + FOREIGN KEY ("fk_parent_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" + FOREIGN KEY ("fk_navigation") + REFERENCES "spy_navigation" ("id_navigation") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" + FOREIGN KEY ("fk_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" + FOREIGN KEY ("fk_url") + REFERENCES "spy_url" ("id_url"); + +ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" + FOREIGN KEY ("fk_newsletter_subscriber") + REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" + FOREIGN KEY ("fk_newsletter_type") + REFERENCES "spy_newsletter_type" ("id_newsletter_type"); + +ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" + FOREIGN KEY ("fk_price_type") + REFERENCES "spy_price_type" ("id_price_type"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" + FOREIGN KEY ("fk_price_product") + REFERENCES "spy_price_product" ("id_price_product"); + +ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" + FOREIGN KEY ("fk_price_product_store") + REFERENCES "spy_price_product_store" ("id_price_product_store") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" + FOREIGN KEY ("fk_product_abstract_alternative") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" + FOREIGN KEY ("fk_product_concrete_alternative") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" + FOREIGN KEY ("fk_product_management_attribute") + REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" + FOREIGN KEY ("fk_product_management_attribute_value") + REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" + FOREIGN KEY ("fk_bundled_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" + FOREIGN KEY ("fk_product_discontinued") + REFERENCES "spy_product_discontinued" ("id_product_discontinued"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" + FOREIGN KEY ("fk_product_group") + REFERENCES "spy_product_group" ("id_product_group"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" + FOREIGN KEY ("fk_product_image_set") + REFERENCES "spy_product_image_set" ("id_product_image_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" + FOREIGN KEY ("fk_product_image") + REFERENCES "spy_product_image" ("id_product_image"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE SET NULL; + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" + FOREIGN KEY ("fk_product_option_value") + REFERENCES "spy_product_option_value" ("id_product_option_value") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" + FOREIGN KEY ("fk_product_relation_type") + REFERENCES "spy_product_relation_type" ("id_product_relation_type"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" + FOREIGN KEY ("fk_product_relation") + REFERENCES "spy_product_relation" ("id_product_relation"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" + FOREIGN KEY ("fk_order_source") + REFERENCES "spy_order_source" ("id_order_source"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" + FOREIGN KEY ("fk_sales_order_address_billing") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" + FOREIGN KEY ("fk_sales_order_address_shipping") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" + FOREIGN KEY ("fk_sales_order_item_bundle") + REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" + FOREIGN KEY ("fk_sales_order_item_option") + REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); + +ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" + FOREIGN KEY ("fk_sales_discount") + REFERENCES "spy_sales_discount" ("id_sales_discount"); + +ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" + FOREIGN KEY ("fk_sales_order_address") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" + FOREIGN KEY ("fk_sales_payment_method_type") + REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" + FOREIGN KEY ("fk_shipment_carrier") + REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" + FOREIGN KEY ("fk_shipment_method") + REFERENCES "spy_shipment_method" ("id_shipment_method"); + +ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" + FOREIGN KEY ("fk_stock") + REFERENCES "spy_stock" ("id_stock"); + +ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" + FOREIGN KEY ("fk_tax_rate") + REFERENCES "spy_tax_rate" ("id_tax_rate"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" + FOREIGN KEY ("fk_resource_categorynode") + REFERENCES "spy_category_node" ("id_category_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" + FOREIGN KEY ("fk_resource_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" + FOREIGN KEY ("fk_resource_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" + FOREIGN KEY ("fk_resource_redirect") + REFERENCES "spy_url_redirect" ("id_url_redirect") + ON DELETE CASCADE; + +ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" + FOREIGN KEY ("fk_wishlist") + REFERENCES "spy_wishlist" ("id_wishlist"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" + FOREIGN KEY ("sku") + REFERENCES "spy_product" ("sku"); + +COMMIT; +', +); + } + + /** + * Get the SQL statements for the Down migration + * + * @return array list of the SQL strings to execute for the Down migration + * the keys being the datasources + */ + public function getDownSQL() + { + return array ( + 'zed' => ' +BEGIN; + +DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role" CASCADE; + +DROP SEQUENCE "spy_acl_role_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; + +DROP SEQUENCE "spy_acl_rule_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_group" CASCADE; + +DROP SEQUENCE "spy_acl_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; + +DROP SEQUENCE "spy_auth_reset_password_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; + +DROP SEQUENCE "spy_availability_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability" CASCADE; + +DROP SEQUENCE "spy_availability_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; + +DROP SEQUENCE "spy_availability_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category" CASCADE; + +DROP SEQUENCE "spy_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; + +DROP SEQUENCE "spy_category_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node" CASCADE; + +DROP SEQUENCE "spy_category_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; + +DROP SEQUENCE "spy_category_closure_table_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; + +DROP SEQUENCE "spy_category_node_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; + +DROP SEQUENCE "spy_category_tree_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; + +DROP SEQUENCE "spy_category_node_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_template" CASCADE; + +DROP SEQUENCE "spy_category_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page" CASCADE; + +DROP SEQUENCE "spy_cms_page_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_version" CASCADE; + +DROP SEQUENCE "spy_cms_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_template" CASCADE; + +DROP SEQUENCE "spy_cms_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block" CASCADE; + +DROP SEQUENCE "spy_cms_block_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; + +DROP SEQUENCE "id_cms_block_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; + +DROP SEQUENCE "spy_cms_block_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; + +DROP SEQUENCE "spy_cms_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; + +DROP SEQUENCE "spy_cms_page_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_country" CASCADE; + +DROP SEQUENCE "spy_country_pk_seq"; + +DROP TABLE IF EXISTS "spy_region" CASCADE; + +DROP SEQUENCE "spy_region_pk_seq"; + +DROP TABLE IF EXISTS "spy_currency" CASCADE; + +DROP SEQUENCE "spy_currency_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer" CASCADE; + +DROP SEQUENCE "spy_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_address" CASCADE; + +DROP SEQUENCE "spy_customer_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group" CASCADE; + +DROP SEQUENCE "spy_customer_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; + +DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_note" CASCADE; + +DROP SEQUENCE "spy_customer_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount" CASCADE; + +DROP SEQUENCE "spy_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_store" CASCADE; + +DROP SEQUENCE "id_discount_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; + +DROP SEQUENCE "spy_discount_amount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; + +DROP SEQUENCE "spy_discount_promotion_pk_seq"; + +DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; + +DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; + +DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card" CASCADE; + +DROP SEQUENCE "spy_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; + +DROP SEQUENCE "spy_payment_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; + +DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; + +DROP SEQUENCE "spy_glossary_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; + +DROP SEQUENCE "spy_glossary_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; + +DROP SEQUENCE "spy_glossary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_locale" CASCADE; + +DROP SEQUENCE "spy_locale_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; + +DROP SEQUENCE "spy_navigation_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation" CASCADE; + +DROP SEQUENCE "spy_navigation_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; + +DROP SEQUENCE "spy_navigation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; + +DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; + +DROP SEQUENCE "spy_newsletter_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; + +DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; + +DROP SEQUENCE "spy_nopayment_paid_pk_seq"; + +DROP TABLE IF EXISTS "spy_offer" CASCADE; + +DROP SEQUENCE "spy_offer_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; + +DROP SEQUENCE "spy_oms_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; + +DROP SEQUENCE "spy_oms_order_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; + +DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; + +DROP TABLE IF EXISTS "spy_order_source" CASCADE; + +DROP SEQUENCE "spy_order_source_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product" CASCADE; + +DROP SEQUENCE "spy_price_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_type" CASCADE; + +DROP SEQUENCE "spy_price_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; + +DROP SEQUENCE "spy_price_product_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; + +DROP SEQUENCE "spy_price_product_default_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product" CASCADE; + +DROP SEQUENCE "spy_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; + +DROP SEQUENCE "spy_product_attribute_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; + +DROP SEQUENCE "id_product_abstract_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; + +DROP SEQUENCE "spy_product_alternative_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; + +DROP SEQUENCE "id_product_alternative_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; + +DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; + +DROP SEQUENCE "spy_product_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category" CASCADE; + +DROP SEQUENCE "spy_product_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; + +DROP SEQUENCE "id_product_discontinued_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; + +DROP SEQUENCE "id_product_discontinued_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; + +DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_group" CASCADE; + +DROP SEQUENCE "spy_product_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; + +DROP SEQUENCE "spy_product_image_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label" CASCADE; + +DROP SEQUENCE "spy_product_label_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; + +DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; + +DROP SEQUENCE "spy_product_option_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; + +DROP SEQUENCE "spy_product_option_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; + +DROP SEQUENCE "spy_product_option_value_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; + +DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; + +DROP SEQUENCE "id_product_quantity_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; + +DROP SEQUENCE "id_product_quantity_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation" CASCADE; + +DROP SEQUENCE "spy_product_relation_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; + +DROP SEQUENCE "spy_product_relation_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review" CASCADE; + +DROP SEQUENCE "id_product_review_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; + +DROP SEQUENCE "spy_product_review_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; + +DROP SEQUENCE "spy_product_search_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search" CASCADE; + +DROP SEQUENCE "spy_product_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; + +DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set" CASCADE; + +DROP SEQUENCE "spy_product_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; + +DROP SEQUENCE "spy_product_abstract_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; + +DROP SEQUENCE "spy_product_set_data_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; + +DROP SEQUENCE "spy_product_set_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; + +DROP SEQUENCE "spy_product_set_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_validity" CASCADE; + +DROP SEQUENCE "spy_product_validity_pk_seq"; + +DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; + +DROP TABLE IF EXISTS "spy_queue_process" CASCADE; + +DROP SEQUENCE "spy_queue_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_quote" CASCADE; + +DROP SEQUENCE "id_quote_pk_seq"; + +DROP TABLE IF EXISTS "spy_refund" CASCADE; + +DROP SEQUENCE "spy_refund_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order" CASCADE; + +DROP SEQUENCE "spy_sales_order_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; + +DROP SEQUENCE "spy_sales_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; + +DROP SEQUENCE "spy_sales_discount_code_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; + +DROP SEQUENCE "spy_sales_order_totals_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; + +DROP SEQUENCE "spy_sales_order_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; + +DROP SEQUENCE "spy_sales_order_comment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; + +DROP SEQUENCE "spy_sales_expense_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; + +DROP SEQUENCE "spy_sales_shipment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; + +DROP SEQUENCE "spy_sales_payment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; + +DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; + +DROP SEQUENCE "spy_sequence_number_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; + +DROP SEQUENCE "spy_shipment_carrier_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; + +DROP SEQUENCE "spy_shipment_method_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; + +DROP SEQUENCE "spy_shipment_method_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; + +DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; + +DROP SEQUENCE "spy_state_machine_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; + +DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock" CASCADE; + +DROP SEQUENCE "spy_stock_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock_product" CASCADE; + +DROP SEQUENCE "spy_stock_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_store" CASCADE; + +DROP SEQUENCE "spy_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set" CASCADE; + +DROP SEQUENCE "spy_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; + +DROP SEQUENCE "spy_tax_rate_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; + +DROP TABLE IF EXISTS "spy_touch" CASCADE; + +DROP SEQUENCE "spy_touch_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; + +DROP SEQUENCE "spy_touch_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_search" CASCADE; + +DROP SEQUENCE "spy_touch_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_url" CASCADE; + +DROP SEQUENCE "spy_url_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; + +DROP SEQUENCE "spy_url_redirect_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_storage" CASCADE; + +DROP SEQUENCE "spy_url_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; + +DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_user" CASCADE; + +DROP SEQUENCE "spy_user_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist" CASCADE; + +DROP SEQUENCE "spy_wishlist_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; + +DROP SEQUENCE "spy_wishlist_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_user_archive" CASCADE; + +COMMIT; +', +); + } + +} \ No newline at end of file diff --git a/src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php b/src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php new file mode 100644 index 0000000000..138fcd2ea1 --- /dev/null +++ b/src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php @@ -0,0 +1,20 @@ +add(new ProductLabelStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductSetStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductSearchConfigStorageEventSubscriber()); + $eventSubscriberCollection->add(new ProductAlternativeStorageEventSubscriber()); + $eventSubscriberCollection->add(new ProductDiscontinuedStorageEventSubscriber()); /** * Search Events diff --git a/src/Pyz/Zed/Installer/InstallerDependencyProvider.php b/src/Pyz/Zed/Installer/InstallerDependencyProvider.php index aac393578d..0b17d98de7 100644 --- a/src/Pyz/Zed/Installer/InstallerDependencyProvider.php +++ b/src/Pyz/Zed/Installer/InstallerDependencyProvider.php @@ -14,6 +14,8 @@ use Spryker\Zed\Locale\Communication\Plugin\LocaleInstallerPlugin; use Spryker\Zed\Newsletter\Communication\Plugin\NewsletterInstallerPlugin; use Spryker\Zed\PriceProduct\Communication\Plugin\PriceInstallerPlugin; +use Spryker\Zed\ProductAlternativeProductLabelConnector\Communication\Plugin\Installer\ProductAlternativeProductLabelConnectorInstallerPlugin; +use Spryker\Zed\ProductDiscontinuedProductLabelConnector\Communication\Plugin\Installer\ProductDiscontinuedProductLabelConnectorInstallerPlugin; use Spryker\Zed\User\Communication\Plugin\UserInstallerPlugin; class InstallerDependencyProvider extends SprykerInstallerDependencyProvider @@ -31,6 +33,8 @@ public function getInstallerPlugins() new AclInstallerPlugin(), new NewsletterInstallerPlugin(), new GlossaryInstallerPlugin(), + new ProductAlternativeProductLabelConnectorInstallerPlugin(), + new ProductDiscontinuedProductLabelConnectorInstallerPlugin(), ]; } } diff --git a/src/Pyz/Zed/Product/ProductDependencyProvider.php b/src/Pyz/Zed/Product/ProductDependencyProvider.php index bd425100b4..35782794dc 100644 --- a/src/Pyz/Zed/Product/ProductDependencyProvider.php +++ b/src/Pyz/Zed/Product/ProductDependencyProvider.php @@ -11,6 +11,7 @@ use Spryker\Zed\PriceProduct\Communication\Plugin\ProductAbstract\PriceProductAbstractAfterCreatePlugin; use Spryker\Zed\PriceProduct\Communication\Plugin\ProductAbstract\PriceProductAbstractAfterUpdatePlugin; use Spryker\Zed\PriceProduct\Communication\Plugin\ProductAbstract\PriceProductAbstractReadPlugin; +use Spryker\Zed\ProductAlternativeGui\Communication\Plugin\Product\ProductConcretePluginUpdate as ProductAlternativeGuiProductConcretePluginUpdate; use Spryker\Zed\PriceProduct\Communication\Plugin\ProductConcrete\PriceProductConcreteAfterCreatePlugin; use Spryker\Zed\PriceProduct\Communication\Plugin\ProductConcrete\PriceProductConcreteAfterUpdatePlugin; use Spryker\Zed\PriceProduct\Communication\Plugin\ProductConcrete\PriceProductConcreteReadPlugin; @@ -18,6 +19,7 @@ use Spryker\Zed\ProductBundle\Communication\Plugin\Product\ProductBundleProductConcreteAfterCreatePlugin; use Spryker\Zed\ProductBundle\Communication\Plugin\Product\ProductBundleProductConcreteAfterUpdatePlugin; use Spryker\Zed\ProductBundle\Communication\Plugin\Product\ProductBundleProductConcreteReadPlugin; +use Spryker\Zed\ProductDiscontinued\Communication\Plugin\SaveDiscontinuedNotesProductConcretePluginUpdate; use Spryker\Zed\ProductImage\Communication\Plugin\ProductAbstractAfterCreatePlugin as ImageSetProductAbstractAfterCreatePlugin; use Spryker\Zed\ProductImage\Communication\Plugin\ProductAbstractAfterUpdatePlugin as ImageSetProductAbstractAfterUpdatePlugin; use Spryker\Zed\ProductImage\Communication\Plugin\ProductAbstractReadPlugin as ImageSetProductAbstractReadPlugin; @@ -147,7 +149,9 @@ protected function getProductConcreteReadPlugins(Container $container) */ protected function getProductConcreteBeforeUpdatePlugins(Container $container) { - return []; + return [ + new ProductAlternativeGuiProductConcretePluginUpdate(), + ]; } /** @@ -163,6 +167,7 @@ protected function getProductConcreteAfterUpdatePlugins(Container $container) new PriceProductConcreteAfterUpdatePlugin(), new ProductSearchProductConcreteAfterUpdatePlugin(), new ProductBundleProductConcreteAfterUpdatePlugin(), + new SaveDiscontinuedNotesProductConcretePluginUpdate(), ]; } } diff --git a/src/Pyz/Zed/ProductAlternative/Persistence/Propel/Schema/spy_product_alternative.schema.xml b/src/Pyz/Zed/ProductAlternative/Persistence/Propel/Schema/spy_product_alternative.schema.xml new file mode 100644 index 0000000000..17e189630b --- /dev/null +++ b/src/Pyz/Zed/ProductAlternative/Persistence/Propel/Schema/spy_product_alternative.schema.xml @@ -0,0 +1,14 @@ + + + + + + + +
+ +
diff --git a/src/Pyz/Zed/ProductAlternative/ProductAlternativeDependencyProvider.php b/src/Pyz/Zed/ProductAlternative/ProductAlternativeDependencyProvider.php new file mode 100644 index 0000000000..8e2b81363a --- /dev/null +++ b/src/Pyz/Zed/ProductAlternative/ProductAlternativeDependencyProvider.php @@ -0,0 +1,48 @@ + + + + + + + +
+ + + + + +
+ +
diff --git a/src/Pyz/Zed/ProductDiscontinued/Persistence/Propel/Schema/spy_product_discontinued.schema.xml b/src/Pyz/Zed/ProductDiscontinued/Persistence/Propel/Schema/spy_product_discontinued.schema.xml new file mode 100644 index 0000000000..3b569a7144 --- /dev/null +++ b/src/Pyz/Zed/ProductDiscontinued/Persistence/Propel/Schema/spy_product_discontinued.schema.xml @@ -0,0 +1,20 @@ + + + + + + + +
+ + + + + +
+ +
diff --git a/src/Pyz/Zed/ProductDiscontinued/ProductDiscontinuedDependencyProvider.php b/src/Pyz/Zed/ProductDiscontinued/ProductDiscontinuedDependencyProvider.php new file mode 100644 index 0000000000..863e8b4099 --- /dev/null +++ b/src/Pyz/Zed/ProductDiscontinued/ProductDiscontinuedDependencyProvider.php @@ -0,0 +1,37 @@ + + + + + + + +
+ +
diff --git a/src/Pyz/Zed/ProductLabel/ProductLabelDependencyProvider.php b/src/Pyz/Zed/ProductLabel/ProductLabelDependencyProvider.php index 2167b2b7b6..5cba23f49c 100644 --- a/src/Pyz/Zed/ProductLabel/ProductLabelDependencyProvider.php +++ b/src/Pyz/Zed/ProductLabel/ProductLabelDependencyProvider.php @@ -8,6 +8,8 @@ namespace Pyz\Zed\ProductLabel; use Pyz\Zed\ExampleProductSalePage\Communication\Plugin\ExampleProductSalePageLabelUpdaterPlugin; +use Spryker\Zed\ProductAlternativeProductLabelConnector\Communication\Plugin\ProductAlternativeLabelUpdaterPlugin; +use Spryker\Zed\ProductDiscontinuedProductLabelConnector\Communication\Plugin\ProductDiscontinuedLabelUpdaterPlugin; use Spryker\Zed\ProductLabel\ProductLabelDependencyProvider as SprykerProductLabelDependencyProvider; use Spryker\Zed\ProductNew\Communication\Plugin\ProductNewLabelUpdaterPlugin; @@ -21,6 +23,8 @@ protected function getProductLabelRelationUpdaterPlugins() return [ new ProductNewLabelUpdaterPlugin(), new ExampleProductSalePageLabelUpdaterPlugin(), + new ProductAlternativeLabelUpdaterPlugin(), + new ProductDiscontinuedLabelUpdaterPlugin(), ]; } } diff --git a/src/Pyz/Zed/ProductManagement/ProductManagementDependencyProvider.php b/src/Pyz/Zed/ProductManagement/ProductManagementDependencyProvider.php index c4b75165c8..9b89479043 100644 --- a/src/Pyz/Zed/ProductManagement/ProductManagementDependencyProvider.php +++ b/src/Pyz/Zed/ProductManagement/ProductManagementDependencyProvider.php @@ -10,6 +10,14 @@ use Spryker\Zed\CmsBlockProductConnector\Communication\Plugin\CmsBlockProductAbstractBlockListViewPlugin; use Spryker\Zed\Kernel\Container; use Spryker\Zed\Money\Communication\Plugin\Form\MoneyFormTypePlugin; +use Spryker\Zed\ProductAlternativeGui\Communication\Plugin\ProductManagement\ProductConcreteEditFormExpanderPlugin; +use Spryker\Zed\ProductAlternativeGui\Communication\Plugin\ProductManagement\ProductConcreteFormEditDataProviderExpanderPlugin; +use Spryker\Zed\ProductAlternativeGui\Communication\Plugin\ProductManagement\ProductConcreteFormEditTabsExpanderPlugin; +use Spryker\Zed\ProductAlternativeGui\Communication\Plugin\ProductManagement\ProductFormTransferMapperExpanderPlugin; +use Spryker\Zed\ProductDiscontinuedGui\Communication\Plugin\DiscontinuedNotesProductFormTransferMapperExpanderPlugin; +use Spryker\Zed\ProductDiscontinuedGui\Communication\Plugin\DiscontinuedProductConcreteEditFormExpanderPlugin; +use Spryker\Zed\ProductDiscontinuedGui\Communication\Plugin\DiscontinueProductConcreteFormEditDataProviderExpanderPlugin; +use Spryker\Zed\ProductDiscontinuedGui\Communication\Plugin\DiscontinueProductConcreteFormEditTabsExpanderPlugin; use Spryker\Zed\ProductManagement\ProductManagementDependencyProvider as SprykerProductManagementDependencyProvider; use Spryker\Zed\Store\Communication\Plugin\Form\StoreRelationToggleFormTypePlugin; @@ -42,4 +50,48 @@ protected function createMoneyFormTypePlugin(Container $container) { return new MoneyFormTypePlugin(); } + + /** + * @return \Spryker\Zed\ProductManagementExtension\Dependency\Plugin\ProductConcreteEditFormExpanderPluginInterface[] + */ + protected function getProductConcreteEditFormExpanderPlugins(): array + { + return [ + new DiscontinuedProductConcreteEditFormExpanderPlugin(), #ProductDiscontinuedFeature + new ProductConcreteEditFormExpanderPlugin(), #ProductAlternativeFeature + ]; + } + + /** + * @return \Spryker\Zed\ProductManagementExtension\Dependency\Plugin\ProductConcreteFormEditTabsExpanderPluginInterface[] + */ + protected function getProductConcreteFormEditTabsExpanderPlugins(): array + { + return [ + new DiscontinueProductConcreteFormEditTabsExpanderPlugin(), + new ProductConcreteFormEditTabsExpanderPlugin(), + ]; + } + + /** + * @return \Spryker\Zed\ProductManagementExtension\Dependency\Plugin\ProductConcreteFormEditDataProviderExpanderPluginInterface[] + */ + protected function getProductConcreteFormEditDataProviderExpanderPlugins(): array + { + return [ + new DiscontinueProductConcreteFormEditDataProviderExpanderPlugin(), #ProductDiscontinuedFeature + new ProductConcreteFormEditDataProviderExpanderPlugin(), #ProductAlternativeFeature + ]; + } + + /** + * @return \Spryker\Zed\ProductManagementExtension\Dependency\Plugin\ProductFormTransferMapperExpanderPluginInterface[] + */ + protected function getProductFormTransferMapperExpanderPlugins(): array + { + return [ + new ProductFormTransferMapperExpanderPlugin(), #ProductAlternativeFeature + new DiscontinuedNotesProductFormTransferMapperExpanderPlugin(), #ProductDiscontinuedFeature + ]; + } } From fb1d6b6c214261fdd984cd57fafa0bb2b7720d32 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Fri, 5 Oct 2018 13:03:59 +0000 Subject: [PATCH 08/91] SUITE-733: added alternative and discontinued products --- .../PropelMigration_1538739819.php | 4863 ----------------- .../PropelMigration_1538739823.php | 4863 ----------------- 2 files changed, 9726 deletions(-) delete mode 100644 src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php delete mode 100644 src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php diff --git a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php deleted file mode 100644 index 4a490faaea..0000000000 --- a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1538739819.php +++ /dev/null @@ -1,4863 +0,0 @@ - ' -BEGIN; - -CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; - -CREATE TABLE "spy_sales_reclamation" -( - "id_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "customer_name" VARCHAR(511) NOT NULL, - "customer_reference" VARCHAR(255), - "customer_email" VARCHAR(255) NOT NULL, - "state" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_reclamation") -); - -CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -CREATE TABLE "spy_sales_reclamation_item" -( - "id_sales_reclamation_item" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "state" INT2 NOT NULL, - PRIMARY KEY ("id_sales_reclamation_item") -); - -CREATE SEQUENCE "spy_acl_role_pk_seq"; - -CREATE TABLE "spy_acl_role" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role"), - CONSTRAINT "spy_acl_role-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_acl_rule_pk_seq"; - -CREATE TABLE "spy_acl_rule" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE SEQUENCE "spy_acl_group_pk_seq"; - -CREATE TABLE "spy_acl_group" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group"), - CONSTRAINT "spy_acl_group-name" UNIQUE ("name") -); - -CREATE TABLE "spy_acl_user_has_group" -( - "fk_user" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_user","fk_acl_group") -); - -CREATE TABLE "spy_acl_groups_has_roles" -( - "fk_acl_role" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_acl_role","fk_acl_group") -); - -CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; - -CREATE TABLE "spy_auth_reset_password" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user"), - CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_availability_abstract_pk_seq"; - -CREATE TABLE "spy_availability_abstract" -( - "id_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_availability_abstract"), - CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_pk_seq"; - -CREATE TABLE "spy_availability" -( - "id_availability" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - "quantity" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_availability"), - CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_storage_pk_seq"; - -CREATE TABLE "spy_availability_storage" -( - "id_availability_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_availability_storage"), - CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); - -CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); - -CREATE SEQUENCE "spy_category_pk_seq"; - -CREATE TABLE "spy_category" -( - "id_category" INTEGER NOT NULL, - "fk_category_template" INTEGER, - "category_key" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\', - "is_clickable" BOOLEAN DEFAULT \'t\', - "is_in_menu" BOOLEAN DEFAULT \'t\', - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_category"), - CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") -); - -CREATE SEQUENCE "spy_category_attribute_pk_seq"; - -CREATE TABLE "spy_category_attribute" -( - "id_category_attribute" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "category_image_name" VARCHAR(255), - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" TEXT, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_attribute") -); - -CREATE SEQUENCE "spy_category_node_pk_seq"; - -CREATE TABLE "spy_category_node" -( - "id_category_node" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_parent_category_node" INTEGER, - "is_main" BOOLEAN DEFAULT \'f\', - "is_root" BOOLEAN DEFAULT \'f\', - "node_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_category_node") -); - -CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); - -CREATE SEQUENCE "spy_category_closure_table_pk_seq"; - -CREATE TABLE "spy_category_closure_table" -( - "id_category_closure_table" INTEGER NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "fk_category_node_descendant" INTEGER NOT NULL, - "depth" INTEGER NOT NULL, - PRIMARY KEY ("id_category_closure_table") -); - -CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; - -CREATE TABLE "spy_category_node_page_search" -( - "id_category_node_page_search" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_page_search"), - CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; - -CREATE TABLE "spy_category_tree_storage" -( - "id_category_tree_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_tree_storage"), - CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_category_node_storage_pk_seq"; - -CREATE TABLE "spy_category_node_storage" -( - "id_category_node_storage" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_storage"), - CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_template_pk_seq"; - -CREATE TABLE "spy_category_template" -( - "id_category_template" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_category_template"), - CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_page_pk_seq"; - -CREATE TABLE "spy_cms_page" -( - "id_cms_page" INTEGER NOT NULL, - "fk_template" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, - "page_key" VARCHAR(32), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_cms_page") -); - -CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); - -CREATE SEQUENCE "spy_cms_version_pk_seq"; - -CREATE TABLE "spy_cms_version" -( - "id_cms_version" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_user" INTEGER, - "data" TEXT, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_version") -); - -CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); - -CREATE SEQUENCE "spy_cms_template_pk_seq"; - -CREATE TABLE "spy_cms_template" -( - "id_cms_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_template"), - CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); - -CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -CREATE TABLE "spy_cms_page_localized_attributes" -( - "id_cms_page_localized_attributes" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_localized_attributes"), - CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") -); - -CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_glossary_key_mapping" -( - "id_cms_glossary_key_mapping" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_page" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_glossary_key_mapping"), - CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") -); - -CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); - -CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_block_glossary_key_mapping" -( - "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_block_glossary_key_mapping"), - CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") -); - -CREATE SEQUENCE "spy_cms_block_pk_seq"; - -CREATE TABLE "spy_cms_block" -( - "id_cms_block" INTEGER NOT NULL, - "fk_page" INTEGER, - "fk_template" INTEGER, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "name" VARCHAR(255) NOT NULL, - "type" VARCHAR(255), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "value" INTEGER, - PRIMARY KEY ("id_cms_block"), - CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") -); - -COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; - -CREATE SEQUENCE "id_cms_block_store_pk_seq"; - -CREATE TABLE "spy_cms_block_store" -( - "id_cms_block_store" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_store"), - CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") -); - -CREATE SEQUENCE "spy_cms_block_template_pk_seq"; - -CREATE TABLE "spy_cms_block_template" -( - "id_cms_block_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_template"), - CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_category_connector" -( - "id_cms_block_category_connector" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_category_template" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_cms_block_category_position" INTEGER, - PRIMARY KEY ("id_cms_block_category_connector") -); - -CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; - -CREATE TABLE "spy_cms_block_category_position" -( - "id_cms_block_category_position" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_category_position") -); - -CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_category_storage" -( - "id_cms_block_category_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_category_storage"), - CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_product_connector" -( - "id_cms_block_product_connector" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_product_connector") -); - -CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_product_storage" -( - "id_cms_block_product_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_product_storage"), - CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_storage" -( - "id_cms_block_storage" INT8 NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "name" VARCHAR NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_storage"), - CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); - -CREATE SEQUENCE "spy_cms_page_search_pk_seq"; - -CREATE TABLE "spy_cms_page_search" -( - "id_cms_page_search" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_search"), - CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); - -CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; - -CREATE TABLE "spy_cms_page_storage" -( - "id_cms_page_storage" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_storage"), - CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); - -CREATE SEQUENCE "spy_country_pk_seq"; - -CREATE TABLE "spy_country" -( - "id_country" INTEGER NOT NULL, - "iso2_code" VARCHAR(2) NOT NULL, - "iso3_code" VARCHAR(3), - "name" VARCHAR(255), - "postal_code_mandatory" BOOLEAN DEFAULT \'f\', - "postal_code_regex" VARCHAR(500), - PRIMARY KEY ("id_country"), - CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), - CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") -); - -CREATE SEQUENCE "spy_region_pk_seq"; - -CREATE TABLE "spy_region" -( - "id_region" INTEGER NOT NULL, - "fk_country" INTEGER, - "name" VARCHAR(100) NOT NULL, - "iso2_code" VARCHAR(6) NOT NULL, - PRIMARY KEY ("id_region"), - CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") -); - -CREATE SEQUENCE "spy_currency_pk_seq"; - -CREATE TABLE "spy_currency" -( - "id_currency" INTEGER NOT NULL, - "name" VARCHAR(255), - "code" VARCHAR(5), - "symbol" VARCHAR(255), - PRIMARY KEY ("id_currency") -); - -CREATE SEQUENCE "spy_customer_pk_seq"; - -CREATE TABLE "spy_customer" -( - "id_customer" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_user" INTEGER, - "anonymized_at" TIMESTAMP, - "company" VARCHAR(100), - "customer_reference" VARCHAR(255) NOT NULL, - "date_of_birth" DATE, - "default_billing_address" INTEGER, - "default_shipping_address" INTEGER, - "email" VARCHAR(255) NOT NULL, - "first_name" VARCHAR(100), - "gender" INT2, - "last_name" VARCHAR(100), - "password" VARCHAR(255), - "phone" VARCHAR(255), - "registered" DATE, - "registration_key" VARCHAR(150), - "restore_password_date" TIMESTAMP, - "restore_password_key" VARCHAR(150), - "salutation" INT2, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer"), - CONSTRAINT "spy_customer-email" UNIQUE ("email"), - CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") -); - -CREATE SEQUENCE "spy_customer_address_pk_seq"; - -CREATE TABLE "spy_customer_address" -( - "id_customer_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "anonymized_at" TIMESTAMP, - "city" VARCHAR(255), - "comment" VARCHAR(255), - "company" VARCHAR(255), - "deleted_at" TIMESTAMP, - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "phone" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_address") -); - -CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); - -CREATE SEQUENCE "spy_customer_group_pk_seq"; - -CREATE TABLE "spy_customer_group" -( - "id_customer_group" INTEGER NOT NULL, - "name" VARCHAR(70) NOT NULL, - "description" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group"), - CONSTRAINT "spy_customer-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -CREATE TABLE "spy_customer_group_to_customer" -( - "id_customer_group_to_customer" INTEGER NOT NULL, - "fk_customer_group" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group_to_customer"), - CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") -); - -CREATE SEQUENCE "spy_customer_note_pk_seq"; - -CREATE TABLE "spy_customer_note" -( - "id_customer_note" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "username" VARCHAR, - "message" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_note") -); - -CREATE SEQUENCE "spy_discount_pk_seq"; - -CREATE TABLE "spy_discount" -( - "id_discount" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "fk_store" INTEGER, - "amount" INTEGER NOT NULL, - "calculator_plugin" VARCHAR(255), - "collector_query_string" VARCHAR, - "decision_rule_query_string" VARCHAR, - "description" VARCHAR(1024), - "discount_key" VARCHAR(32), - "discount_type" VARCHAR(255), - "display_name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "is_exclusive" BOOLEAN DEFAULT \'f\', - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount"), - CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), - CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") -); - -CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); - -CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); - -CREATE SEQUENCE "id_discount_store_pk_seq"; - -CREATE TABLE "spy_discount_store" -( - "id_discount_store" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_store"), - CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") -); - -CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -CREATE TABLE "spy_discount_voucher_pool" -( - "id_discount_voucher_pool" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher_pool") -); - -CREATE SEQUENCE "spy_discount_voucher_pk_seq"; - -CREATE TABLE "spy_discount_voucher" -( - "id_discount_voucher" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "code" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "max_number_of_uses" INTEGER, - "number_of_uses" INTEGER, - "voucher_batch" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher"), - CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_discount_amount_pk_seq"; - -CREATE TABLE "spy_discount_amount" -( - "id_discount_amount" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "gross_amount" INTEGER, - "net_amount" INTEGER, - PRIMARY KEY ("id_discount_amount"), - CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") -); - -CREATE SEQUENCE "spy_discount_promotion_pk_seq"; - -CREATE TABLE "spy_discount_promotion" -( - "id_discount_promotion" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_promotion") -); - -CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -CREATE TABLE "spy_event_behavior_entity_change" -( - "id_event_behavior_entity_change" INT8 NOT NULL, - "data" VARCHAR, - "process_id" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_event_behavior_entity_change") -); - -CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -CREATE TABLE "pyz_example_state_machine_item" -( - "id_example_state_machine_item" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER, - "name" VARCHAR, - PRIMARY KEY ("id_example_state_machine_item") -); - -CREATE SEQUENCE "spy_gift_card_pk_seq"; - -CREATE TABLE "spy_gift_card" -( - "id_gift_card" INTEGER NOT NULL, - "name" VARCHAR(40) NOT NULL, - "replacement_pattern" VARCHAR(40), - "code" VARCHAR(40) NOT NULL, - "value" INTEGER NOT NULL, - "currency_iso_code" VARCHAR(5), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "attributes" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration" -( - "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, - "code_pattern" VARCHAR(40) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_abstract_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration_link" -( - "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration" -( - "id_gift_card_product_configuration" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration_link" -( - "id_gift_card_product_configuration_link" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_gift_card_product_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_configuration_link") -); - -CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; - -CREATE TABLE "spy_payment_gift_card" -( - "id_payment_gift_card" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "fk_sales_payment" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_payment_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -CREATE TABLE "spy_gift_card_balance_log" -( - "id_gift_card_balance_log" INTEGER NOT NULL, - "fk_gift_card" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_gift_card_balance_log") -); - -CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); - -CREATE SEQUENCE "spy_glossary_key_pk_seq"; - -CREATE TABLE "spy_glossary_key" -( - "id_glossary_key" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_glossary_key"), - CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); - -CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); - -CREATE SEQUENCE "spy_glossary_translation_pk_seq"; - -CREATE TABLE "spy_glossary_translation" -( - "id_glossary_translation" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_glossary_translation"), - CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") -); - -CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); - -CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); - -CREATE SEQUENCE "spy_glossary_storage_pk_seq"; - -CREATE TABLE "spy_glossary_storage" -( - "id_glossary_storage" INT8 NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "glossary_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_glossary_storage"), - CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); - -CREATE SEQUENCE "spy_locale_pk_seq"; - -CREATE TABLE "spy_locale" -( - "id_locale" INTEGER NOT NULL, - "locale_name" VARCHAR(5) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_locale"), - CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") -); - -CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); - -CREATE SEQUENCE "spy_navigation_node_pk_seq"; - -CREATE TABLE "spy_navigation_node" -( - "id_navigation_node" INTEGER NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "fk_parent_navigation_node" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "node_key" VARCHAR(32), - "node_type" VARCHAR(255), - "position" INTEGER, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_navigation_node") -); - -CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); - -CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); - -CREATE SEQUENCE "spy_navigation_pk_seq"; - -CREATE TABLE "spy_navigation" -( - "id_navigation" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation"), - CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); - -CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); - -CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -CREATE TABLE "spy_navigation_node_localized_attributes" -( - "id_navigation_node_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_navigation_node" INTEGER NOT NULL, - "fk_url" INTEGER, - "css_class" VARCHAR(255), - "external_url" VARCHAR(255), - "link" VARCHAR(255), - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_node_localized_attributes") -); - -CREATE SEQUENCE "spy_navigation_storage_pk_seq"; - -CREATE TABLE "spy_navigation_storage" -( - "id_navigation_storage" INT8 NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "navigation_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_storage"), - CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); - -CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -CREATE TABLE "spy_newsletter_subscriber" -( - "id_newsletter_subscriber" INTEGER NOT NULL, - "fk_customer" INTEGER, - "email" VARCHAR(255) NOT NULL, - "subscriber_key" VARCHAR(150), - "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_subscriber"), - CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), - CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") -); - -CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); - -CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); - -CREATE SEQUENCE "spy_newsletter_type_pk_seq"; - -CREATE TABLE "spy_newsletter_type" -( - "id_newsletter_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_type"), - CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") -); - -CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); - -CREATE TABLE "spy_newsletter_subscription" -( - "fk_newsletter_subscriber" INTEGER NOT NULL, - "fk_newsletter_type" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") -); - -CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; - -CREATE TABLE "spy_nopayment_paid" -( - "id_nopayment_paid" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_nopayment_paid") -); - -CREATE SEQUENCE "spy_offer_pk_seq"; - -CREATE TABLE "spy_offer" -( - "id_offer" INTEGER NOT NULL, - "quote_data" TEXT NOT NULL, - "status" INT2 DEFAULT 0, - "fk_user" INTEGER, - "customer_reference" VARCHAR(255), - "contact_person" VARCHAR(255), - "contact_date" TIMESTAMP, - "note" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_offer") -); - -CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); - -CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; - -CREATE TABLE "spy_oms_transition_log" -( - "id_oms_transition_log" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "quantity" INTEGER, - "locked" BOOLEAN, - "fk_oms_order_process" INTEGER, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_transition_log") -); - -CREATE SEQUENCE "spy_oms_order_process_pk_seq"; - -CREATE TABLE "spy_oms_order_process" -( - "id_oms_order_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_process"), - CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_oms_state_machine_lock" -( - "id_oms_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "details" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_state_machine_lock"), - CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state" -( - "id_oms_order_item_state" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_oms_order_item_state"), - CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state_history" -( - "id_oms_order_item_state_history" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_item_state_history") -); - -CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); - -CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; - -CREATE TABLE "spy_oms_event_timeout" -( - "id_oms_event_timeout" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_event_timeout"), - CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") -); - -CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation" -( - "id_oms_product_reservation" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, - "fk_store" INTEGER, - PRIMARY KEY ("id_oms_product_reservation"), - CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_store" -( - "id_oms_product_reservation_store" INTEGER NOT NULL, - "store" VARCHAR(255) NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER NOT NULL, - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_product_reservation_store"), - CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") -); - -CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); - -CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); - -CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); - -CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_change_version" -( - "version" INT8 NOT NULL, - "id_oms_product_reservation_id" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("version") -); - -CREATE TABLE "spy_oms_product_reservation_last_exported_version" -( - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP -); - -CREATE SEQUENCE "spy_order_source_pk_seq"; - -CREATE TABLE "spy_order_source" -( - "id_order_source" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_order_source") -); - -CREATE SEQUENCE "spy_price_product_pk_seq"; - -CREATE TABLE "spy_price_product" -( - "id_price_product" INTEGER NOT NULL, - "fk_price_type" INTEGER NOT NULL, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "price" INTEGER DEFAULT 0, - PRIMARY KEY ("id_price_product"), - CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") -); - -CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); - -CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); - -CREATE SEQUENCE "spy_price_type_pk_seq"; - -CREATE TABLE "spy_price_type" -( - "id_price_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "price_mode_configuration" INT2, - PRIMARY KEY ("id_price_type"), - CONSTRAINT "spy_price_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_price_product_store_pk_seq"; - -CREATE TABLE "spy_price_product_store" -( - "id_price_product_store" INT8 NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_price_product" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - "price_data" TEXT, - "price_data_checksum" VARCHAR, - PRIMARY KEY ("id_price_product_store") -); - -CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); - -CREATE SEQUENCE "spy_price_product_default_pk_seq"; - -CREATE TABLE "spy_price_product_default" -( - "id_price_product_default" INT8 NOT NULL, - "fk_price_product_store" INT8 NOT NULL, - PRIMARY KEY ("id_price_product_default"), - CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") -); - -CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); - -CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_price_product_abstract_storage" -( - "id_price_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_abstract_storage"), - CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_price_product_concrete_storage" -( - "id_price_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_concrete_storage"), - CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_abstract" -( - "id_product_abstract" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "attributes" TEXT NOT NULL, - "color_code" VARCHAR(8), - "new_from" TIMESTAMP, - "new_to" TIMESTAMP, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract"), - CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_abstract_localized_attributes" -( - "id_abstract_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_abstract_attributes"), - CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") -); - -CREATE SEQUENCE "spy_product_pk_seq"; - -CREATE TABLE "spy_product" -( - "id_product" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product"), - CONSTRAINT "spy_product-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_localized_attributes" -( - "id_product_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "is_complete" BOOLEAN DEFAULT \'t\', - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_attributes"), - CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") -); - -CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; - -CREATE TABLE "spy_product_attribute_key" -( - "id_product_attribute_key" INTEGER NOT NULL, - "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_attribute_key"), - CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "id_product_abstract_store_pk_seq"; - -CREATE TABLE "spy_product_abstract_store" -( - "id_product_abstract_store" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_product_abstract_store"), - CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") -); - -CREATE SEQUENCE "spy_product_alternative_pk_seq"; - -CREATE TABLE "spy_product_alternative" -( - "id_product_alternative" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_product_abstract_alternative" INTEGER, - "fk_product_concrete_alternative" INTEGER, - PRIMARY KEY ("id_product_alternative") -); - -CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; - -CREATE TABLE "spy_product_alternative_storage" -( - "id_product_alternative_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_alternative_storage"), - CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); - -CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -CREATE TABLE "spy_product_replacement_for_storage" -( - "id_product_replacement_for_storage" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_replacement_for_storage"), - CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); - -CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; - -CREATE TABLE "spy_product_management_attribute" -( - "id_product_management_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, - "input_type" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_management_attribute"), - CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value" -( - "id_product_management_attribute_value" INTEGER NOT NULL, - "fk_product_management_attribute" INTEGER NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value_translation" -( - "id_product_management_attribute_value_translation" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_management_attribute_value" INTEGER NOT NULL, - "translation" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value_translation"), - CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -CREATE TABLE "spy_sales_order_item_bundle" -( - "id_sales_order_item_bundle" INTEGER NOT NULL, - "cart_note" VARCHAR(255), - "gross_price" INTEGER NOT NULL, - "image" TEXT, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_bundle") -); - -CREATE SEQUENCE "spy_product_bundle_pk_seq"; - -CREATE TABLE "spy_product_bundle" -( - "id_product_bundle" INTEGER NOT NULL, - "fk_bundled_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_bundle") -); - -COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; - -COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; - -COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; - -CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); - -CREATE SEQUENCE "spy_product_category_pk_seq"; - -CREATE TABLE "spy_product_category" -( - "id_product_category" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "product_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_product_category"), - CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") -); - -CREATE SEQUENCE "spy_product_category_filter_pk_seq"; - -CREATE TABLE "spy_product_category_filter" -( - "id_product_category_filter" INTEGER NOT NULL, - "fk_category" INTEGER, - "filter_data" TEXT NOT NULL, - PRIMARY KEY ("id_product_category_filter"), - CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") -); - -CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); - -CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -CREATE TABLE "spy_product_category_filter_storage" -( - "id_product_category_filter_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_category_filter_storage"), - CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); - -CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_category_storage" -( - "id_product_abstract_category_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_category_storage"), - CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_discontinued_pk_seq"; - -CREATE TABLE "spy_product_discontinued" -( - "id_product_discontinued" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "active_until" DATE NOT NULL, - "discontinued_on" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued") -); - -CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; - -CREATE TABLE "spy_product_discontinued_note" -( - "id_product_discontinued_note" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "note" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_note"), - CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") -); - -CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; - -CREATE TABLE "spy_product_discontinued_storage" -( - "id_product_discontinued_storage" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_storage"), - CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); - -CREATE SEQUENCE "spy_product_group_pk_seq"; - -CREATE TABLE "spy_product_group" -( - "id_product_group" INTEGER NOT NULL, - "product_group_key" VARCHAR(32), - PRIMARY KEY ("id_product_group") -); - -CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); - -CREATE TABLE "spy_product_abstract_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_group" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_group") -); - -CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_group_storage" -( - "id_product_abstract_group_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_group_storage"), - CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_image_set_pk_seq"; - -CREATE TABLE "spy_product_image_set" -( - "id_product_image_set" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image_set"), - CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") -); - -CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); - -CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); - -CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_product_image_pk_seq"; - -CREATE TABLE "spy_product_image" -( - "id_product_image" INTEGER NOT NULL, - "external_url_large" VARCHAR(2048), - "external_url_small" VARCHAR(2048), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image") -); - -CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -CREATE TABLE "spy_product_image_set_to_product_image" -( - "id_product_image_set_to_product_image" INTEGER NOT NULL, - "fk_product_image" INTEGER NOT NULL, - "fk_product_image_set" INTEGER NOT NULL, - "sort_order" INTEGER NOT NULL, - PRIMARY KEY ("id_product_image_set_to_product_image"), - CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") -); - -CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_image_storage" -( - "id_product_abstract_image_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_image_storage"), - CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_image_storage" -( - "id_product_concrete_image_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_image_storage"), - CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_label_pk_seq"; - -CREATE TABLE "spy_product_label" -( - "id_product_label" INTEGER NOT NULL, - "front_end_reference" VARCHAR, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_published" BOOLEAN DEFAULT \'f\', - "name" VARCHAR NOT NULL, - "position" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label"), - CONSTRAINT "spy_product_label-name" UNIQUE ("name") -); - -CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); - -CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_label_localized_attributes" -( - "id_product_label_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - "name" VARCHAR, - PRIMARY KEY ("id_product_label_localized_attributes"), - CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") -); - -CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); - -CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_label_product_abstract" -( - "id_product_label_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - PRIMARY KEY ("id_product_label_product_abstract"), - CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") -); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -CREATE TABLE "spy_product_label_dictionary_storage" -( - "id_product_label_dictionary_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label_dictionary_storage"), - CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_label_storage" -( - "id_product_abstract_label_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_label_storage"), - CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_option_group_pk_seq"; - -CREATE TABLE "spy_product_option_group" -( - "id_product_option_group" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "active" BOOLEAN, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_group") -); - -CREATE TABLE "spy_product_abstract_product_option_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_option_group") -); - -CREATE SEQUENCE "spy_product_option_value_pk_seq"; - -CREATE TABLE "spy_product_option_value" -( - "id_product_option_value" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - "price" INTEGER, - "sku" VARCHAR(255) NOT NULL, - "value" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_value"), - CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") -); - -COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; - -CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; - -CREATE TABLE "spy_product_option_value_price" -( - "id_product_option_value_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_product_option_value" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - PRIMARY KEY ("id_product_option_value_price"), - CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_option_storage" -( - "id_product_abstract_option_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_option_storage"), - CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -CREATE TABLE "spy_product_abstract_page_search" -( - "id_product_abstract_page_search" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_page_search"), - CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_quantity_pk_seq"; - -CREATE TABLE "spy_product_quantity" -( - "id_product_quantity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity_min" INTEGER NOT NULL, - "quantity_max" INTEGER, - "quantity_interval" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity"), - CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") -); - -CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; - -CREATE TABLE "spy_product_quantity_storage" -( - "id_product_quantity_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity_storage") -); - -CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_relation_pk_seq"; - -CREATE TABLE "spy_product_relation" -( - "id_product_relation" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation_type" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, - "query_set_data" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation"), - CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") -); - -CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -CREATE TABLE "spy_product_relation_product_abstract" -( - "id_product_relation_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation" INTEGER NOT NULL, - "order" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_product_abstract") -); - -CREATE SEQUENCE "spy_product_relation_type_pk_seq"; - -CREATE TABLE "spy_product_relation_type" -( - "id_product_relation_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_type") -); - -CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_relation_storage" -( - "id_product_abstract_relation_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_relation_storage"), - CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_review_pk_seq"; - -CREATE TABLE "spy_product_review" -( - "id_product_review" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "description" TEXT, - "nickname" VARCHAR(255), - "rating" INTEGER DEFAULT 0 NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "summary" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review") -); - -CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); - -CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); - -CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); - -CREATE SEQUENCE "spy_product_review_search_pk_seq"; - -CREATE TABLE "spy_product_review_search" -( - "id_product_review_search" INT8 NOT NULL, - "fk_product_review" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review_search"), - CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); - -CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_review_storage" -( - "id_product_abstract_review_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_review_storage"), - CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; - -CREATE TABLE "spy_product_search_attribute" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_product_search_attribute"), - CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_search_pk_seq"; - -CREATE TABLE "spy_product_search" -( - "id_product_search" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_product_search") -); - -CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); - -CREATE TABLE "spy_product_search_attribute_map" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); - -CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; - -CREATE TABLE "spy_product_search_config_storage" -( - "id_product_search_config_storage" INT8 NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_config_storage"), - CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_set_pk_seq"; - -CREATE TABLE "spy_product_set" -( - "id_product_set" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "product_set_key" VARCHAR(255) NOT NULL, - "weight" INTEGER DEFAULT 0 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set"), - CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") -); - -CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; - -CREATE TABLE "spy_product_abstract_set" -( - "id_product_abstract_set" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_product_abstract_set"), - CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") -); - -CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); - -CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_set_data_pk_seq"; - -CREATE TABLE "spy_product_set_data" -( - "id_product_set_data" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_data"), - CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") -); - -CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); - -CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); - -CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; - -CREATE TABLE "spy_product_set_page_search" -( - "id_product_set_page_search" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_page_search"), - CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_set_storage_pk_seq"; - -CREATE TABLE "spy_product_set_storage" -( - "id_product_set_storage" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_storage"), - CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_storage" -( - "id_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_storage"), - CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_storage" -( - "id_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_storage"), - CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_validity_pk_seq"; - -CREATE TABLE "spy_product_validity" -( - "id_product_validity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_product_validity"), - CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") -); - -CREATE TABLE "spy_propel_heartbeat" -( - "heartbeat_check" VARCHAR NOT NULL, - PRIMARY KEY ("heartbeat_check") -); - -CREATE SEQUENCE "spy_queue_process_pk_seq"; - -CREATE TABLE "spy_queue_process" -( - "id_queue_process" INTEGER NOT NULL, - "server_id" VARCHAR(255) NOT NULL, - "process_pid" INTEGER NOT NULL, - "worker_pid" INTEGER NOT NULL, - "queue_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_queue_process"), - CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") -); - -CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); - -CREATE SEQUENCE "id_quote_pk_seq"; - -CREATE TABLE "spy_quote" -( - "id_quote" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "quote_data" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_quote") -); - -CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); - -CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); - -CREATE SEQUENCE "spy_refund_pk_seq"; - -CREATE TABLE "spy_refund" -( - "id_refund" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "comment" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_refund") -); - -CREATE SEQUENCE "spy_sales_order_pk_seq"; - -CREATE TABLE "spy_sales_order" -( - "id_sales_order" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_order_source" INTEGER, - "fk_sales_order_address_billing" INTEGER NOT NULL, - "fk_sales_order_address_shipping" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER, - "cart_note" VARCHAR(255), - "currency_iso_code" VARCHAR(5), - "customer_reference" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100), - "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, - "last_name" VARCHAR(100), - "order_reference" VARCHAR(45) NOT NULL, - "price_mode" INT2, - "salutation" INT2, - "store" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order"), - CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") -); - -CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); - -CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); - -CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); - -CREATE SEQUENCE "spy_sales_order_item_pk_seq"; - -CREATE TABLE "spy_sales_order_item" -( - "id_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "fk_oms_order_process" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_order_item_bundle" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "cart_note" VARCHAR(255), - "discount_amount_aggregation" INTEGER DEFAULT 0, - "discount_amount_full_aggregation" INTEGER DEFAULT 0, - "expense_price_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "group_key" VARCHAR(255), - "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "product_option_price_aggregation" INTEGER DEFAULT 0, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "refundable_amount" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "subtotal_aggregation" INTEGER, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_amount_full_aggregation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "tax_rate_average_aggregation" NUMERIC(8,2), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item") -); - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; - -CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); - -CREATE SEQUENCE "spy_sales_discount_pk_seq"; - -CREATE TABLE "spy_sales_discount" -( - "id_sales_discount" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER, - "fk_sales_order_item" INTEGER, - "fk_sales_order_item_option" INTEGER, - "amount" INTEGER NOT NULL, - "description" VARCHAR(510), - "display_name" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount") -); - -CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; - -CREATE TABLE "spy_sales_discount_code" -( - "id_sales_discount_code" INTEGER NOT NULL, - "fk_sales_discount" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "codepool_name" VARCHAR(255) NOT NULL, - "is_once_per_customer" BOOLEAN DEFAULT \'t\', - "is_refundable" BOOLEAN DEFAULT \'f\', - "is_reusable" BOOLEAN DEFAULT \'f\', - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount_code") -); - -CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -CREATE TABLE "spy_sales_order_item_gift_card" -( - "id_sales_order_item_gift_card" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "attributes" TEXT, - "code" VARCHAR(40), - "pattern" VARCHAR(40), - "value" INTEGER, - PRIMARY KEY ("id_sales_order_item_gift_card") -); - -CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; - -CREATE TABLE "spy_sales_order_item_option" -( - "id_sales_order_item_option" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER DEFAULT 0 NOT NULL, - "group_name" VARCHAR NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "tax_amount" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2) NOT NULL, - "value" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_option") -); - -COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -CREATE SEQUENCE "spy_sales_order_address_pk_seq"; - -CREATE TABLE "spy_sales_order_address" -( - "id_sales_order_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address") -); - -CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; - -CREATE TABLE "spy_sales_order_address_history" -( - "id_sales_order_address_history" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "fk_sales_order_address" INTEGER NOT NULL, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "is_billing" BOOLEAN DEFAULT \'f\', - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address_history") -); - -CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; - -CREATE TABLE "spy_sales_order_totals" -( - "id_sales_order_totals" INTEGER NOT NULL, - "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, - "canceled_total" INTEGER DEFAULT 0, - "discount_total" INTEGER DEFAULT 0, - "grand_total" INTEGER DEFAULT 0, - "order_expense_total" INTEGER DEFAULT 0, - "refund_total" INTEGER DEFAULT 0, - "subtotal" INTEGER DEFAULT 0, - "tax_total" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_totals") -); - -CREATE SEQUENCE "spy_sales_order_note_pk_seq"; - -CREATE TABLE "spy_sales_order_note" -( - "id_sales_order_note" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "command" VARCHAR(255) NOT NULL, - "message" VARCHAR(255) NOT NULL, - "success" BOOLEAN NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_note") -); - -CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; - -CREATE TABLE "spy_sales_order_comment" -( - "id_sales_order_comment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "message" TEXT NOT NULL, - "username" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_comment") -); - -CREATE SEQUENCE "spy_sales_expense_pk_seq"; - -CREATE TABLE "spy_sales_expense" -( - "id_sales_expense" INTEGER NOT NULL, - "fk_sales_order" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "name" VARCHAR(255), - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "refundable_amount" INTEGER DEFAULT 0, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "type" VARCHAR(150), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_expense"), - CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") -); - -COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; - -COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -CREATE TABLE "spy_sales_order_item_metadata" -( - "id_sales_order_item_metadata" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "image" TEXT, - "super_attributes" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_metadata") -); - -CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); - -CREATE SEQUENCE "spy_sales_shipment_pk_seq"; - -CREATE TABLE "spy_sales_shipment" -( - "id_sales_shipment" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "carrier_name" VARCHAR(255), - "delivery_time" VARCHAR(255), - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_shipment") -); - -CREATE SEQUENCE "spy_sales_payment_pk_seq"; - -CREATE TABLE "spy_sales_payment" -( - "id_sales_payment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_payment_method_type" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_payment") -); - -CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -CREATE TABLE "spy_sales_payment_method_type" -( - "id_sales_payment_method_type" INTEGER NOT NULL, - "payment_provider" VARCHAR NOT NULL, - "payment_method" VARCHAR NOT NULL, - PRIMARY KEY ("id_sales_payment_method_type") -); - -CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); - -CREATE SEQUENCE "spy_sequence_number_pk_seq"; - -CREATE TABLE "spy_sequence_number" -( - "id_sequence_number" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "current_id" INTEGER NOT NULL, - PRIMARY KEY ("id_sequence_number"), - CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; - -CREATE TABLE "spy_shipment_carrier" -( - "id_shipment_carrier" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_shipment_carrier") -); - -CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_pk_seq"; - -CREATE TABLE "spy_shipment_method" -( - "id_shipment_method" INTEGER NOT NULL, - "fk_shipment_carrier" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "name" VARCHAR(255) NOT NULL, - "shipment_method_key" VARCHAR(255), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "default_price" INTEGER, - "availability_plugin" VARCHAR(255), - "price_plugin" VARCHAR(255), - "delivery_time_plugin" VARCHAR(255), - PRIMARY KEY ("id_shipment_method") -); - -COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; - -CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; - -CREATE TABLE "spy_shipment_method_price" -( - "id_shipment_method_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_shipment_method" INTEGER NOT NULL, - "default_gross_price" INTEGER, - "default_net_price" INTEGER, - PRIMARY KEY ("id_shipment_method_price"), - CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -CREATE TABLE "spy_state_machine_transition_log" -( - "id_state_machine_transition_log" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "locked" BOOLEAN, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_transition_log") -); - -CREATE SEQUENCE "spy_state_machine_process_pk_seq"; - -CREATE TABLE "spy_state_machine_process" -( - "id_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "state_machine_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_process"), - CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") -); - -CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); - -CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_state_machine_lock" -( - "id_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_lock"), - CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state" -( - "id_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_state_machine_item_state"), - CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") -); - -CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state_history" -( - "id_state_machine_item_state_history" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_item_state_history") -); - -CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); - -CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -CREATE TABLE "spy_state_machine_event_timeout" -( - "id_state_machine_event_timeout" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_event_timeout"), - CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") -); - -CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_stock_pk_seq"; - -CREATE TABLE "spy_stock" -( - "id_stock" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_stock"), - CONSTRAINT "spy_stock-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_stock_product_pk_seq"; - -CREATE TABLE "spy_stock_product" -( - "id_stock_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_stock" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 0, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_stock_product"), - CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") -); - -CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); - -CREATE SEQUENCE "spy_store_pk_seq"; - -CREATE TABLE "spy_store" -( - "id_store" INTEGER NOT NULL, - "name" VARCHAR(255), - PRIMARY KEY ("id_store") -); - -CREATE SEQUENCE "spy_tax_set_pk_seq"; - -CREATE TABLE "spy_tax_set" -( - "id_tax_set" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_set") -); - -CREATE SEQUENCE "spy_tax_rate_pk_seq"; - -CREATE TABLE "spy_tax_rate" -( - "id_tax_rate" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "rate" NUMERIC(8,2) NOT NULL, - "fk_country" INTEGER, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_rate") -); - -CREATE TABLE "spy_tax_set_tax" -( - "fk_tax_set" INTEGER NOT NULL, - "fk_tax_rate" INTEGER NOT NULL, - PRIMARY KEY ("fk_tax_set","fk_tax_rate") -); - -CREATE SEQUENCE "spy_touch_pk_seq"; - -CREATE TABLE "spy_touch" -( - "id_touch" INTEGER NOT NULL, - "item_type" VARCHAR(255) NOT NULL, - "item_event" INT2 NOT NULL, - "item_id" INTEGER NOT NULL, - "touched" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_touch"), - CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") -); - -CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); - -CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); - -CREATE SEQUENCE "spy_touch_storage_pk_seq"; - -CREATE TABLE "spy_touch_storage" -( - "id_touch_storage" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_storage"), - CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); - -CREATE SEQUENCE "spy_touch_search_pk_seq"; - -CREATE TABLE "spy_touch_search" -( - "id_touch_search" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_search"), - CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); - -CREATE SEQUENCE "spy_url_pk_seq"; - -CREATE TABLE "spy_url" -( - "id_url" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_resource_categorynode" INTEGER, - "fk_resource_page" INTEGER, - "fk_resource_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "fk_resource_redirect" INTEGER, - "url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url"), - CONSTRAINT "spy_url_unique_key" UNIQUE ("url") -); - -CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_url_redirect_pk_seq"; - -CREATE TABLE "spy_url_redirect" -( - "id_url_redirect" INTEGER NOT NULL, - "status" INTEGER DEFAULT 301 NOT NULL, - "to_url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url_redirect") -); - -CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); - -CREATE SEQUENCE "spy_url_storage_pk_seq"; - -CREATE TABLE "spy_url_storage" -( - "id_url_storage" INT8 NOT NULL, - "fk_categorynode" INTEGER, - "fk_page" INTEGER, - "fk_product_abstract" INTEGER, - "fk_product_set" INTEGER, - "fk_redirect" INTEGER, - "fk_url" INTEGER NOT NULL, - "url" VARCHAR NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_storage"), - CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); - -CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; - -CREATE TABLE "spy_url_redirect_storage" -( - "id_url_redirect_storage" INT8 NOT NULL, - "fk_url_redirect" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_redirect_storage"), - CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); - -CREATE SEQUENCE "spy_user_pk_seq"; - -CREATE TABLE "spy_user" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_user"), - CONSTRAINT "spy_user-username" UNIQUE ("username") -); - -CREATE SEQUENCE "spy_wishlist_pk_seq"; - -CREATE TABLE "spy_wishlist" -( - "id_wishlist" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist"), - CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") -); - -CREATE SEQUENCE "spy_wishlist_item_pk_seq"; - -CREATE TABLE "spy_wishlist_item" -( - "id_wishlist_item" INTEGER NOT NULL, - "fk_wishlist" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist_item") -); - -CREATE TABLE "spy_acl_role_archive" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role") -); - -CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); - -CREATE TABLE "spy_acl_rule_archive" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE TABLE "spy_acl_group_archive" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group") -); - -CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); - -CREATE TABLE "spy_auth_reset_password_archive" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user") -); - -CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); - -CREATE TABLE "spy_product_search_attribute_archive" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_attribute") -); - -CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_product_search_attribute_map_archive" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - "archived_at" TIMESTAMP, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_user_archive" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_user") -); - -CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); - -ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" - FOREIGN KEY ("fk_availability_abstract") - REFERENCES "spy_availability_abstract" ("id_availability_abstract"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" - FOREIGN KEY ("fk_parent_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" - FOREIGN KEY ("fk_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" - FOREIGN KEY ("fk_category_node_descendant") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_template" ("id_cms_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" - FOREIGN KEY ("fk_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_block_template" ("id_cms_block_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block"); - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" - FOREIGN KEY ("fk_cms_block_category_position") - REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" - FOREIGN KEY ("default_billing_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" - FOREIGN KEY ("default_shipping_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" - FOREIGN KEY ("fk_customer_group") - REFERENCES "spy_customer_group" ("id_customer_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" - FOREIGN KEY ("fk_gift_card_product_abstract_configuration") - REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" - FOREIGN KEY ("fk_gift_card_product_configuration") - REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); - -ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" - FOREIGN KEY ("fk_sales_payment") - REFERENCES "spy_sales_payment" ("id_sales_payment"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" - FOREIGN KEY ("fk_gift_card") - REFERENCES "spy_gift_card" ("id_gift_card"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" - FOREIGN KEY ("fk_parent_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" - FOREIGN KEY ("fk_navigation") - REFERENCES "spy_navigation" ("id_navigation") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" - FOREIGN KEY ("fk_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" - FOREIGN KEY ("fk_url") - REFERENCES "spy_url" ("id_url"); - -ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" - FOREIGN KEY ("fk_newsletter_subscriber") - REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" - FOREIGN KEY ("fk_newsletter_type") - REFERENCES "spy_newsletter_type" ("id_newsletter_type"); - -ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" - FOREIGN KEY ("fk_price_type") - REFERENCES "spy_price_type" ("id_price_type"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" - FOREIGN KEY ("fk_price_product") - REFERENCES "spy_price_product" ("id_price_product"); - -ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" - FOREIGN KEY ("fk_price_product_store") - REFERENCES "spy_price_product_store" ("id_price_product_store") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" - FOREIGN KEY ("fk_product_abstract_alternative") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" - FOREIGN KEY ("fk_product_concrete_alternative") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" - FOREIGN KEY ("fk_product_management_attribute") - REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" - FOREIGN KEY ("fk_product_management_attribute_value") - REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" - FOREIGN KEY ("fk_bundled_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" - FOREIGN KEY ("fk_product_discontinued") - REFERENCES "spy_product_discontinued" ("id_product_discontinued"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" - FOREIGN KEY ("fk_product_group") - REFERENCES "spy_product_group" ("id_product_group"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" - FOREIGN KEY ("fk_product_image_set") - REFERENCES "spy_product_image_set" ("id_product_image_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" - FOREIGN KEY ("fk_product_image") - REFERENCES "spy_product_image" ("id_product_image"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE SET NULL; - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" - FOREIGN KEY ("fk_product_option_value") - REFERENCES "spy_product_option_value" ("id_product_option_value") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" - FOREIGN KEY ("fk_product_relation_type") - REFERENCES "spy_product_relation_type" ("id_product_relation_type"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" - FOREIGN KEY ("fk_product_relation") - REFERENCES "spy_product_relation" ("id_product_relation"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" - FOREIGN KEY ("fk_order_source") - REFERENCES "spy_order_source" ("id_order_source"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" - FOREIGN KEY ("fk_sales_order_address_billing") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" - FOREIGN KEY ("fk_sales_order_address_shipping") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" - FOREIGN KEY ("fk_sales_order_item_bundle") - REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" - FOREIGN KEY ("fk_sales_order_item_option") - REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); - -ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" - FOREIGN KEY ("fk_sales_discount") - REFERENCES "spy_sales_discount" ("id_sales_discount"); - -ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" - FOREIGN KEY ("fk_sales_order_address") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" - FOREIGN KEY ("fk_sales_payment_method_type") - REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" - FOREIGN KEY ("fk_shipment_carrier") - REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" - FOREIGN KEY ("fk_shipment_method") - REFERENCES "spy_shipment_method" ("id_shipment_method"); - -ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" - FOREIGN KEY ("fk_stock") - REFERENCES "spy_stock" ("id_stock"); - -ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" - FOREIGN KEY ("fk_tax_rate") - REFERENCES "spy_tax_rate" ("id_tax_rate"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" - FOREIGN KEY ("fk_resource_categorynode") - REFERENCES "spy_category_node" ("id_category_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" - FOREIGN KEY ("fk_resource_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" - FOREIGN KEY ("fk_resource_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" - FOREIGN KEY ("fk_resource_redirect") - REFERENCES "spy_url_redirect" ("id_url_redirect") - ON DELETE CASCADE; - -ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" - FOREIGN KEY ("fk_wishlist") - REFERENCES "spy_wishlist" ("id_wishlist"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" - FOREIGN KEY ("sku") - REFERENCES "spy_product" ("sku"); - -COMMIT; -', -); - } - - /** - * Get the SQL statements for the Down migration - * - * @return array list of the SQL strings to execute for the Down migration - * the keys being the datasources - */ - public function getDownSQL() - { - return array ( - 'zed' => ' -BEGIN; - -DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role" CASCADE; - -DROP SEQUENCE "spy_acl_role_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; - -DROP SEQUENCE "spy_acl_rule_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_group" CASCADE; - -DROP SEQUENCE "spy_acl_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; - -DROP SEQUENCE "spy_auth_reset_password_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; - -DROP SEQUENCE "spy_availability_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability" CASCADE; - -DROP SEQUENCE "spy_availability_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; - -DROP SEQUENCE "spy_availability_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category" CASCADE; - -DROP SEQUENCE "spy_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; - -DROP SEQUENCE "spy_category_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node" CASCADE; - -DROP SEQUENCE "spy_category_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; - -DROP SEQUENCE "spy_category_closure_table_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; - -DROP SEQUENCE "spy_category_node_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; - -DROP SEQUENCE "spy_category_tree_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; - -DROP SEQUENCE "spy_category_node_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_template" CASCADE; - -DROP SEQUENCE "spy_category_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page" CASCADE; - -DROP SEQUENCE "spy_cms_page_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_version" CASCADE; - -DROP SEQUENCE "spy_cms_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_template" CASCADE; - -DROP SEQUENCE "spy_cms_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block" CASCADE; - -DROP SEQUENCE "spy_cms_block_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; - -DROP SEQUENCE "id_cms_block_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; - -DROP SEQUENCE "spy_cms_block_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; - -DROP SEQUENCE "spy_cms_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; - -DROP SEQUENCE "spy_cms_page_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_country" CASCADE; - -DROP SEQUENCE "spy_country_pk_seq"; - -DROP TABLE IF EXISTS "spy_region" CASCADE; - -DROP SEQUENCE "spy_region_pk_seq"; - -DROP TABLE IF EXISTS "spy_currency" CASCADE; - -DROP SEQUENCE "spy_currency_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer" CASCADE; - -DROP SEQUENCE "spy_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_address" CASCADE; - -DROP SEQUENCE "spy_customer_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group" CASCADE; - -DROP SEQUENCE "spy_customer_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; - -DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_note" CASCADE; - -DROP SEQUENCE "spy_customer_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount" CASCADE; - -DROP SEQUENCE "spy_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_store" CASCADE; - -DROP SEQUENCE "id_discount_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; - -DROP SEQUENCE "spy_discount_amount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; - -DROP SEQUENCE "spy_discount_promotion_pk_seq"; - -DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; - -DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; - -DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card" CASCADE; - -DROP SEQUENCE "spy_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; - -DROP SEQUENCE "spy_payment_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; - -DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; - -DROP SEQUENCE "spy_glossary_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; - -DROP SEQUENCE "spy_glossary_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; - -DROP SEQUENCE "spy_glossary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_locale" CASCADE; - -DROP SEQUENCE "spy_locale_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; - -DROP SEQUENCE "spy_navigation_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation" CASCADE; - -DROP SEQUENCE "spy_navigation_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; - -DROP SEQUENCE "spy_navigation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; - -DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; - -DROP SEQUENCE "spy_newsletter_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; - -DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; - -DROP SEQUENCE "spy_nopayment_paid_pk_seq"; - -DROP TABLE IF EXISTS "spy_offer" CASCADE; - -DROP SEQUENCE "spy_offer_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; - -DROP SEQUENCE "spy_oms_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; - -DROP SEQUENCE "spy_oms_order_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; - -DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; - -DROP TABLE IF EXISTS "spy_order_source" CASCADE; - -DROP SEQUENCE "spy_order_source_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product" CASCADE; - -DROP SEQUENCE "spy_price_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_type" CASCADE; - -DROP SEQUENCE "spy_price_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; - -DROP SEQUENCE "spy_price_product_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; - -DROP SEQUENCE "spy_price_product_default_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product" CASCADE; - -DROP SEQUENCE "spy_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; - -DROP SEQUENCE "spy_product_attribute_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; - -DROP SEQUENCE "id_product_abstract_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; - -DROP SEQUENCE "spy_product_alternative_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; - -DROP SEQUENCE "id_product_alternative_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; - -DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; - -DROP SEQUENCE "spy_product_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category" CASCADE; - -DROP SEQUENCE "spy_product_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; - -DROP SEQUENCE "id_product_discontinued_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; - -DROP SEQUENCE "id_product_discontinued_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; - -DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_group" CASCADE; - -DROP SEQUENCE "spy_product_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; - -DROP SEQUENCE "spy_product_image_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label" CASCADE; - -DROP SEQUENCE "spy_product_label_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; - -DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; - -DROP SEQUENCE "spy_product_option_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; - -DROP SEQUENCE "spy_product_option_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; - -DROP SEQUENCE "spy_product_option_value_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; - -DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; - -DROP SEQUENCE "id_product_quantity_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; - -DROP SEQUENCE "id_product_quantity_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation" CASCADE; - -DROP SEQUENCE "spy_product_relation_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; - -DROP SEQUENCE "spy_product_relation_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review" CASCADE; - -DROP SEQUENCE "id_product_review_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; - -DROP SEQUENCE "spy_product_review_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; - -DROP SEQUENCE "spy_product_search_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search" CASCADE; - -DROP SEQUENCE "spy_product_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; - -DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set" CASCADE; - -DROP SEQUENCE "spy_product_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; - -DROP SEQUENCE "spy_product_abstract_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; - -DROP SEQUENCE "spy_product_set_data_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; - -DROP SEQUENCE "spy_product_set_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; - -DROP SEQUENCE "spy_product_set_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_validity" CASCADE; - -DROP SEQUENCE "spy_product_validity_pk_seq"; - -DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; - -DROP TABLE IF EXISTS "spy_queue_process" CASCADE; - -DROP SEQUENCE "spy_queue_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_quote" CASCADE; - -DROP SEQUENCE "id_quote_pk_seq"; - -DROP TABLE IF EXISTS "spy_refund" CASCADE; - -DROP SEQUENCE "spy_refund_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order" CASCADE; - -DROP SEQUENCE "spy_sales_order_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; - -DROP SEQUENCE "spy_sales_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; - -DROP SEQUENCE "spy_sales_discount_code_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; - -DROP SEQUENCE "spy_sales_order_totals_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; - -DROP SEQUENCE "spy_sales_order_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; - -DROP SEQUENCE "spy_sales_order_comment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; - -DROP SEQUENCE "spy_sales_expense_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; - -DROP SEQUENCE "spy_sales_shipment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; - -DROP SEQUENCE "spy_sales_payment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; - -DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; - -DROP SEQUENCE "spy_sequence_number_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; - -DROP SEQUENCE "spy_shipment_carrier_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; - -DROP SEQUENCE "spy_shipment_method_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; - -DROP SEQUENCE "spy_shipment_method_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; - -DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; - -DROP SEQUENCE "spy_state_machine_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; - -DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock" CASCADE; - -DROP SEQUENCE "spy_stock_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock_product" CASCADE; - -DROP SEQUENCE "spy_stock_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_store" CASCADE; - -DROP SEQUENCE "spy_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set" CASCADE; - -DROP SEQUENCE "spy_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; - -DROP SEQUENCE "spy_tax_rate_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; - -DROP TABLE IF EXISTS "spy_touch" CASCADE; - -DROP SEQUENCE "spy_touch_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; - -DROP SEQUENCE "spy_touch_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_search" CASCADE; - -DROP SEQUENCE "spy_touch_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_url" CASCADE; - -DROP SEQUENCE "spy_url_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; - -DROP SEQUENCE "spy_url_redirect_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_storage" CASCADE; - -DROP SEQUENCE "spy_url_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; - -DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_user" CASCADE; - -DROP SEQUENCE "spy_user_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist" CASCADE; - -DROP SEQUENCE "spy_wishlist_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; - -DROP SEQUENCE "spy_wishlist_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_user_archive" CASCADE; - -COMMIT; -', -); - } - -} \ No newline at end of file diff --git a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php deleted file mode 100644 index 2c1c726499..0000000000 --- a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1538739823.php +++ /dev/null @@ -1,4863 +0,0 @@ - ' -BEGIN; - -CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; - -CREATE TABLE "spy_sales_reclamation" -( - "id_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "customer_name" VARCHAR(511) NOT NULL, - "customer_reference" VARCHAR(255), - "customer_email" VARCHAR(255) NOT NULL, - "state" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_reclamation") -); - -CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -CREATE TABLE "spy_sales_reclamation_item" -( - "id_sales_reclamation_item" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "state" INT2 NOT NULL, - PRIMARY KEY ("id_sales_reclamation_item") -); - -CREATE SEQUENCE "spy_acl_role_pk_seq"; - -CREATE TABLE "spy_acl_role" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role"), - CONSTRAINT "spy_acl_role-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_acl_rule_pk_seq"; - -CREATE TABLE "spy_acl_rule" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE SEQUENCE "spy_acl_group_pk_seq"; - -CREATE TABLE "spy_acl_group" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group"), - CONSTRAINT "spy_acl_group-name" UNIQUE ("name") -); - -CREATE TABLE "spy_acl_user_has_group" -( - "fk_user" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_user","fk_acl_group") -); - -CREATE TABLE "spy_acl_groups_has_roles" -( - "fk_acl_role" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_acl_role","fk_acl_group") -); - -CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; - -CREATE TABLE "spy_auth_reset_password" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user"), - CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_availability_abstract_pk_seq"; - -CREATE TABLE "spy_availability_abstract" -( - "id_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_availability_abstract"), - CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_pk_seq"; - -CREATE TABLE "spy_availability" -( - "id_availability" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - "quantity" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_availability"), - CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_storage_pk_seq"; - -CREATE TABLE "spy_availability_storage" -( - "id_availability_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_availability_storage"), - CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); - -CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); - -CREATE SEQUENCE "spy_category_pk_seq"; - -CREATE TABLE "spy_category" -( - "id_category" INTEGER NOT NULL, - "fk_category_template" INTEGER, - "category_key" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\', - "is_clickable" BOOLEAN DEFAULT \'t\', - "is_in_menu" BOOLEAN DEFAULT \'t\', - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_category"), - CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") -); - -CREATE SEQUENCE "spy_category_attribute_pk_seq"; - -CREATE TABLE "spy_category_attribute" -( - "id_category_attribute" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "category_image_name" VARCHAR(255), - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" TEXT, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_attribute") -); - -CREATE SEQUENCE "spy_category_node_pk_seq"; - -CREATE TABLE "spy_category_node" -( - "id_category_node" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_parent_category_node" INTEGER, - "is_main" BOOLEAN DEFAULT \'f\', - "is_root" BOOLEAN DEFAULT \'f\', - "node_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_category_node") -); - -CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); - -CREATE SEQUENCE "spy_category_closure_table_pk_seq"; - -CREATE TABLE "spy_category_closure_table" -( - "id_category_closure_table" INTEGER NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "fk_category_node_descendant" INTEGER NOT NULL, - "depth" INTEGER NOT NULL, - PRIMARY KEY ("id_category_closure_table") -); - -CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; - -CREATE TABLE "spy_category_node_page_search" -( - "id_category_node_page_search" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_page_search"), - CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; - -CREATE TABLE "spy_category_tree_storage" -( - "id_category_tree_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_tree_storage"), - CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_category_node_storage_pk_seq"; - -CREATE TABLE "spy_category_node_storage" -( - "id_category_node_storage" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_storage"), - CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_template_pk_seq"; - -CREATE TABLE "spy_category_template" -( - "id_category_template" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_category_template"), - CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_page_pk_seq"; - -CREATE TABLE "spy_cms_page" -( - "id_cms_page" INTEGER NOT NULL, - "fk_template" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, - "page_key" VARCHAR(32), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_cms_page") -); - -CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); - -CREATE SEQUENCE "spy_cms_version_pk_seq"; - -CREATE TABLE "spy_cms_version" -( - "id_cms_version" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_user" INTEGER, - "data" TEXT, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_version") -); - -CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); - -CREATE SEQUENCE "spy_cms_template_pk_seq"; - -CREATE TABLE "spy_cms_template" -( - "id_cms_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_template"), - CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); - -CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -CREATE TABLE "spy_cms_page_localized_attributes" -( - "id_cms_page_localized_attributes" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_localized_attributes"), - CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") -); - -CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_glossary_key_mapping" -( - "id_cms_glossary_key_mapping" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_page" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_glossary_key_mapping"), - CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") -); - -CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); - -CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_block_glossary_key_mapping" -( - "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_block_glossary_key_mapping"), - CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") -); - -CREATE SEQUENCE "spy_cms_block_pk_seq"; - -CREATE TABLE "spy_cms_block" -( - "id_cms_block" INTEGER NOT NULL, - "fk_page" INTEGER, - "fk_template" INTEGER, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "name" VARCHAR(255) NOT NULL, - "type" VARCHAR(255), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "value" INTEGER, - PRIMARY KEY ("id_cms_block"), - CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") -); - -COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; - -CREATE SEQUENCE "id_cms_block_store_pk_seq"; - -CREATE TABLE "spy_cms_block_store" -( - "id_cms_block_store" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_store"), - CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") -); - -CREATE SEQUENCE "spy_cms_block_template_pk_seq"; - -CREATE TABLE "spy_cms_block_template" -( - "id_cms_block_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_template"), - CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_category_connector" -( - "id_cms_block_category_connector" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_category_template" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_cms_block_category_position" INTEGER, - PRIMARY KEY ("id_cms_block_category_connector") -); - -CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; - -CREATE TABLE "spy_cms_block_category_position" -( - "id_cms_block_category_position" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_category_position") -); - -CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_category_storage" -( - "id_cms_block_category_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_category_storage"), - CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_product_connector" -( - "id_cms_block_product_connector" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_product_connector") -); - -CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_product_storage" -( - "id_cms_block_product_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_product_storage"), - CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_storage" -( - "id_cms_block_storage" INT8 NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "name" VARCHAR NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_storage"), - CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); - -CREATE SEQUENCE "spy_cms_page_search_pk_seq"; - -CREATE TABLE "spy_cms_page_search" -( - "id_cms_page_search" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_search"), - CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); - -CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; - -CREATE TABLE "spy_cms_page_storage" -( - "id_cms_page_storage" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_storage"), - CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); - -CREATE SEQUENCE "spy_country_pk_seq"; - -CREATE TABLE "spy_country" -( - "id_country" INTEGER NOT NULL, - "iso2_code" VARCHAR(2) NOT NULL, - "iso3_code" VARCHAR(3), - "name" VARCHAR(255), - "postal_code_mandatory" BOOLEAN DEFAULT \'f\', - "postal_code_regex" VARCHAR(500), - PRIMARY KEY ("id_country"), - CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), - CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") -); - -CREATE SEQUENCE "spy_region_pk_seq"; - -CREATE TABLE "spy_region" -( - "id_region" INTEGER NOT NULL, - "fk_country" INTEGER, - "name" VARCHAR(100) NOT NULL, - "iso2_code" VARCHAR(6) NOT NULL, - PRIMARY KEY ("id_region"), - CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") -); - -CREATE SEQUENCE "spy_currency_pk_seq"; - -CREATE TABLE "spy_currency" -( - "id_currency" INTEGER NOT NULL, - "name" VARCHAR(255), - "code" VARCHAR(5), - "symbol" VARCHAR(255), - PRIMARY KEY ("id_currency") -); - -CREATE SEQUENCE "spy_customer_pk_seq"; - -CREATE TABLE "spy_customer" -( - "id_customer" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_user" INTEGER, - "anonymized_at" TIMESTAMP, - "company" VARCHAR(100), - "customer_reference" VARCHAR(255) NOT NULL, - "date_of_birth" DATE, - "default_billing_address" INTEGER, - "default_shipping_address" INTEGER, - "email" VARCHAR(255) NOT NULL, - "first_name" VARCHAR(100), - "gender" INT2, - "last_name" VARCHAR(100), - "password" VARCHAR(255), - "phone" VARCHAR(255), - "registered" DATE, - "registration_key" VARCHAR(150), - "restore_password_date" TIMESTAMP, - "restore_password_key" VARCHAR(150), - "salutation" INT2, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer"), - CONSTRAINT "spy_customer-email" UNIQUE ("email"), - CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") -); - -CREATE SEQUENCE "spy_customer_address_pk_seq"; - -CREATE TABLE "spy_customer_address" -( - "id_customer_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "anonymized_at" TIMESTAMP, - "city" VARCHAR(255), - "comment" VARCHAR(255), - "company" VARCHAR(255), - "deleted_at" TIMESTAMP, - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "phone" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_address") -); - -CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); - -CREATE SEQUENCE "spy_customer_group_pk_seq"; - -CREATE TABLE "spy_customer_group" -( - "id_customer_group" INTEGER NOT NULL, - "name" VARCHAR(70) NOT NULL, - "description" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group"), - CONSTRAINT "spy_customer-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -CREATE TABLE "spy_customer_group_to_customer" -( - "id_customer_group_to_customer" INTEGER NOT NULL, - "fk_customer_group" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group_to_customer"), - CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") -); - -CREATE SEQUENCE "spy_customer_note_pk_seq"; - -CREATE TABLE "spy_customer_note" -( - "id_customer_note" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "username" VARCHAR, - "message" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_note") -); - -CREATE SEQUENCE "spy_discount_pk_seq"; - -CREATE TABLE "spy_discount" -( - "id_discount" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "fk_store" INTEGER, - "amount" INTEGER NOT NULL, - "calculator_plugin" VARCHAR(255), - "collector_query_string" VARCHAR, - "decision_rule_query_string" VARCHAR, - "description" VARCHAR(1024), - "discount_key" VARCHAR(32), - "discount_type" VARCHAR(255), - "display_name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "is_exclusive" BOOLEAN DEFAULT \'f\', - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount"), - CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), - CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") -); - -CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); - -CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); - -CREATE SEQUENCE "id_discount_store_pk_seq"; - -CREATE TABLE "spy_discount_store" -( - "id_discount_store" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_store"), - CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") -); - -CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -CREATE TABLE "spy_discount_voucher_pool" -( - "id_discount_voucher_pool" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher_pool") -); - -CREATE SEQUENCE "spy_discount_voucher_pk_seq"; - -CREATE TABLE "spy_discount_voucher" -( - "id_discount_voucher" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "code" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "max_number_of_uses" INTEGER, - "number_of_uses" INTEGER, - "voucher_batch" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher"), - CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_discount_amount_pk_seq"; - -CREATE TABLE "spy_discount_amount" -( - "id_discount_amount" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "gross_amount" INTEGER, - "net_amount" INTEGER, - PRIMARY KEY ("id_discount_amount"), - CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") -); - -CREATE SEQUENCE "spy_discount_promotion_pk_seq"; - -CREATE TABLE "spy_discount_promotion" -( - "id_discount_promotion" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_promotion") -); - -CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -CREATE TABLE "spy_event_behavior_entity_change" -( - "id_event_behavior_entity_change" INT8 NOT NULL, - "data" VARCHAR, - "process_id" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_event_behavior_entity_change") -); - -CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -CREATE TABLE "pyz_example_state_machine_item" -( - "id_example_state_machine_item" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER, - "name" VARCHAR, - PRIMARY KEY ("id_example_state_machine_item") -); - -CREATE SEQUENCE "spy_gift_card_pk_seq"; - -CREATE TABLE "spy_gift_card" -( - "id_gift_card" INTEGER NOT NULL, - "name" VARCHAR(40) NOT NULL, - "replacement_pattern" VARCHAR(40), - "code" VARCHAR(40) NOT NULL, - "value" INTEGER NOT NULL, - "currency_iso_code" VARCHAR(5), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "attributes" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration" -( - "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, - "code_pattern" VARCHAR(40) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_abstract_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration_link" -( - "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration" -( - "id_gift_card_product_configuration" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration_link" -( - "id_gift_card_product_configuration_link" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_gift_card_product_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_configuration_link") -); - -CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; - -CREATE TABLE "spy_payment_gift_card" -( - "id_payment_gift_card" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "fk_sales_payment" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_payment_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -CREATE TABLE "spy_gift_card_balance_log" -( - "id_gift_card_balance_log" INTEGER NOT NULL, - "fk_gift_card" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_gift_card_balance_log") -); - -CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); - -CREATE SEQUENCE "spy_glossary_key_pk_seq"; - -CREATE TABLE "spy_glossary_key" -( - "id_glossary_key" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_glossary_key"), - CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); - -CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); - -CREATE SEQUENCE "spy_glossary_translation_pk_seq"; - -CREATE TABLE "spy_glossary_translation" -( - "id_glossary_translation" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_glossary_translation"), - CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") -); - -CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); - -CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); - -CREATE SEQUENCE "spy_glossary_storage_pk_seq"; - -CREATE TABLE "spy_glossary_storage" -( - "id_glossary_storage" INT8 NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "glossary_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_glossary_storage"), - CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); - -CREATE SEQUENCE "spy_locale_pk_seq"; - -CREATE TABLE "spy_locale" -( - "id_locale" INTEGER NOT NULL, - "locale_name" VARCHAR(5) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_locale"), - CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") -); - -CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); - -CREATE SEQUENCE "spy_navigation_node_pk_seq"; - -CREATE TABLE "spy_navigation_node" -( - "id_navigation_node" INTEGER NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "fk_parent_navigation_node" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "node_key" VARCHAR(32), - "node_type" VARCHAR(255), - "position" INTEGER, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_navigation_node") -); - -CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); - -CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); - -CREATE SEQUENCE "spy_navigation_pk_seq"; - -CREATE TABLE "spy_navigation" -( - "id_navigation" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation"), - CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); - -CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); - -CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -CREATE TABLE "spy_navigation_node_localized_attributes" -( - "id_navigation_node_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_navigation_node" INTEGER NOT NULL, - "fk_url" INTEGER, - "css_class" VARCHAR(255), - "external_url" VARCHAR(255), - "link" VARCHAR(255), - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_node_localized_attributes") -); - -CREATE SEQUENCE "spy_navigation_storage_pk_seq"; - -CREATE TABLE "spy_navigation_storage" -( - "id_navigation_storage" INT8 NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "navigation_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_storage"), - CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); - -CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -CREATE TABLE "spy_newsletter_subscriber" -( - "id_newsletter_subscriber" INTEGER NOT NULL, - "fk_customer" INTEGER, - "email" VARCHAR(255) NOT NULL, - "subscriber_key" VARCHAR(150), - "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_subscriber"), - CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), - CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") -); - -CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); - -CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); - -CREATE SEQUENCE "spy_newsletter_type_pk_seq"; - -CREATE TABLE "spy_newsletter_type" -( - "id_newsletter_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_type"), - CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") -); - -CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); - -CREATE TABLE "spy_newsletter_subscription" -( - "fk_newsletter_subscriber" INTEGER NOT NULL, - "fk_newsletter_type" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") -); - -CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; - -CREATE TABLE "spy_nopayment_paid" -( - "id_nopayment_paid" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_nopayment_paid") -); - -CREATE SEQUENCE "spy_offer_pk_seq"; - -CREATE TABLE "spy_offer" -( - "id_offer" INTEGER NOT NULL, - "quote_data" TEXT NOT NULL, - "status" INT2 DEFAULT 0, - "fk_user" INTEGER, - "customer_reference" VARCHAR(255), - "contact_person" VARCHAR(255), - "contact_date" TIMESTAMP, - "note" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_offer") -); - -CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); - -CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; - -CREATE TABLE "spy_oms_transition_log" -( - "id_oms_transition_log" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "quantity" INTEGER, - "locked" BOOLEAN, - "fk_oms_order_process" INTEGER, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_transition_log") -); - -CREATE SEQUENCE "spy_oms_order_process_pk_seq"; - -CREATE TABLE "spy_oms_order_process" -( - "id_oms_order_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_process"), - CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_oms_state_machine_lock" -( - "id_oms_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "details" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_state_machine_lock"), - CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state" -( - "id_oms_order_item_state" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_oms_order_item_state"), - CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state_history" -( - "id_oms_order_item_state_history" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_item_state_history") -); - -CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); - -CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; - -CREATE TABLE "spy_oms_event_timeout" -( - "id_oms_event_timeout" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_event_timeout"), - CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") -); - -CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation" -( - "id_oms_product_reservation" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, - "fk_store" INTEGER, - PRIMARY KEY ("id_oms_product_reservation"), - CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_store" -( - "id_oms_product_reservation_store" INTEGER NOT NULL, - "store" VARCHAR(255) NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER NOT NULL, - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_product_reservation_store"), - CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") -); - -CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); - -CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); - -CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); - -CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_change_version" -( - "version" INT8 NOT NULL, - "id_oms_product_reservation_id" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("version") -); - -CREATE TABLE "spy_oms_product_reservation_last_exported_version" -( - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP -); - -CREATE SEQUENCE "spy_order_source_pk_seq"; - -CREATE TABLE "spy_order_source" -( - "id_order_source" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_order_source") -); - -CREATE SEQUENCE "spy_price_product_pk_seq"; - -CREATE TABLE "spy_price_product" -( - "id_price_product" INTEGER NOT NULL, - "fk_price_type" INTEGER NOT NULL, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "price" INTEGER DEFAULT 0, - PRIMARY KEY ("id_price_product"), - CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") -); - -CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); - -CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); - -CREATE SEQUENCE "spy_price_type_pk_seq"; - -CREATE TABLE "spy_price_type" -( - "id_price_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "price_mode_configuration" INT2, - PRIMARY KEY ("id_price_type"), - CONSTRAINT "spy_price_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_price_product_store_pk_seq"; - -CREATE TABLE "spy_price_product_store" -( - "id_price_product_store" INT8 NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_price_product" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - "price_data" TEXT, - "price_data_checksum" VARCHAR, - PRIMARY KEY ("id_price_product_store") -); - -CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); - -CREATE SEQUENCE "spy_price_product_default_pk_seq"; - -CREATE TABLE "spy_price_product_default" -( - "id_price_product_default" INT8 NOT NULL, - "fk_price_product_store" INT8 NOT NULL, - PRIMARY KEY ("id_price_product_default"), - CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") -); - -CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); - -CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_price_product_abstract_storage" -( - "id_price_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_abstract_storage"), - CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_price_product_concrete_storage" -( - "id_price_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_concrete_storage"), - CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_abstract" -( - "id_product_abstract" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "attributes" TEXT NOT NULL, - "color_code" VARCHAR(8), - "new_from" TIMESTAMP, - "new_to" TIMESTAMP, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract"), - CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_abstract_localized_attributes" -( - "id_abstract_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_abstract_attributes"), - CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") -); - -CREATE SEQUENCE "spy_product_pk_seq"; - -CREATE TABLE "spy_product" -( - "id_product" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product"), - CONSTRAINT "spy_product-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_localized_attributes" -( - "id_product_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "is_complete" BOOLEAN DEFAULT \'t\', - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_attributes"), - CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") -); - -CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; - -CREATE TABLE "spy_product_attribute_key" -( - "id_product_attribute_key" INTEGER NOT NULL, - "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_attribute_key"), - CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "id_product_abstract_store_pk_seq"; - -CREATE TABLE "spy_product_abstract_store" -( - "id_product_abstract_store" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_product_abstract_store"), - CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") -); - -CREATE SEQUENCE "spy_product_alternative_pk_seq"; - -CREATE TABLE "spy_product_alternative" -( - "id_product_alternative" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_product_abstract_alternative" INTEGER, - "fk_product_concrete_alternative" INTEGER, - PRIMARY KEY ("id_product_alternative") -); - -CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; - -CREATE TABLE "spy_product_alternative_storage" -( - "id_product_alternative_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_alternative_storage"), - CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); - -CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -CREATE TABLE "spy_product_replacement_for_storage" -( - "id_product_replacement_for_storage" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_replacement_for_storage"), - CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); - -CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; - -CREATE TABLE "spy_product_management_attribute" -( - "id_product_management_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, - "input_type" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_management_attribute"), - CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value" -( - "id_product_management_attribute_value" INTEGER NOT NULL, - "fk_product_management_attribute" INTEGER NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value_translation" -( - "id_product_management_attribute_value_translation" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_management_attribute_value" INTEGER NOT NULL, - "translation" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value_translation"), - CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -CREATE TABLE "spy_sales_order_item_bundle" -( - "id_sales_order_item_bundle" INTEGER NOT NULL, - "cart_note" VARCHAR(255), - "gross_price" INTEGER NOT NULL, - "image" TEXT, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_bundle") -); - -CREATE SEQUENCE "spy_product_bundle_pk_seq"; - -CREATE TABLE "spy_product_bundle" -( - "id_product_bundle" INTEGER NOT NULL, - "fk_bundled_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_bundle") -); - -COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; - -COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; - -COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; - -CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); - -CREATE SEQUENCE "spy_product_category_pk_seq"; - -CREATE TABLE "spy_product_category" -( - "id_product_category" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "product_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_product_category"), - CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") -); - -CREATE SEQUENCE "spy_product_category_filter_pk_seq"; - -CREATE TABLE "spy_product_category_filter" -( - "id_product_category_filter" INTEGER NOT NULL, - "fk_category" INTEGER, - "filter_data" TEXT NOT NULL, - PRIMARY KEY ("id_product_category_filter"), - CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") -); - -CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); - -CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -CREATE TABLE "spy_product_category_filter_storage" -( - "id_product_category_filter_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_category_filter_storage"), - CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); - -CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_category_storage" -( - "id_product_abstract_category_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_category_storage"), - CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_discontinued_pk_seq"; - -CREATE TABLE "spy_product_discontinued" -( - "id_product_discontinued" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "active_until" DATE NOT NULL, - "discontinued_on" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued") -); - -CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; - -CREATE TABLE "spy_product_discontinued_note" -( - "id_product_discontinued_note" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "note" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_note"), - CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") -); - -CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; - -CREATE TABLE "spy_product_discontinued_storage" -( - "id_product_discontinued_storage" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_storage"), - CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); - -CREATE SEQUENCE "spy_product_group_pk_seq"; - -CREATE TABLE "spy_product_group" -( - "id_product_group" INTEGER NOT NULL, - "product_group_key" VARCHAR(32), - PRIMARY KEY ("id_product_group") -); - -CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); - -CREATE TABLE "spy_product_abstract_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_group" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_group") -); - -CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_group_storage" -( - "id_product_abstract_group_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_group_storage"), - CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_image_set_pk_seq"; - -CREATE TABLE "spy_product_image_set" -( - "id_product_image_set" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image_set"), - CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") -); - -CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); - -CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); - -CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_product_image_pk_seq"; - -CREATE TABLE "spy_product_image" -( - "id_product_image" INTEGER NOT NULL, - "external_url_large" VARCHAR(2048), - "external_url_small" VARCHAR(2048), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image") -); - -CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -CREATE TABLE "spy_product_image_set_to_product_image" -( - "id_product_image_set_to_product_image" INTEGER NOT NULL, - "fk_product_image" INTEGER NOT NULL, - "fk_product_image_set" INTEGER NOT NULL, - "sort_order" INTEGER NOT NULL, - PRIMARY KEY ("id_product_image_set_to_product_image"), - CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") -); - -CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_image_storage" -( - "id_product_abstract_image_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_image_storage"), - CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_image_storage" -( - "id_product_concrete_image_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_image_storage"), - CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_label_pk_seq"; - -CREATE TABLE "spy_product_label" -( - "id_product_label" INTEGER NOT NULL, - "front_end_reference" VARCHAR, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_published" BOOLEAN DEFAULT \'f\', - "name" VARCHAR NOT NULL, - "position" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label"), - CONSTRAINT "spy_product_label-name" UNIQUE ("name") -); - -CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); - -CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_label_localized_attributes" -( - "id_product_label_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - "name" VARCHAR, - PRIMARY KEY ("id_product_label_localized_attributes"), - CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") -); - -CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); - -CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_label_product_abstract" -( - "id_product_label_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - PRIMARY KEY ("id_product_label_product_abstract"), - CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") -); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -CREATE TABLE "spy_product_label_dictionary_storage" -( - "id_product_label_dictionary_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label_dictionary_storage"), - CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_label_storage" -( - "id_product_abstract_label_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_label_storage"), - CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_option_group_pk_seq"; - -CREATE TABLE "spy_product_option_group" -( - "id_product_option_group" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "active" BOOLEAN, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_group") -); - -CREATE TABLE "spy_product_abstract_product_option_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_option_group") -); - -CREATE SEQUENCE "spy_product_option_value_pk_seq"; - -CREATE TABLE "spy_product_option_value" -( - "id_product_option_value" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - "price" INTEGER, - "sku" VARCHAR(255) NOT NULL, - "value" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_value"), - CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") -); - -COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; - -CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; - -CREATE TABLE "spy_product_option_value_price" -( - "id_product_option_value_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_product_option_value" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - PRIMARY KEY ("id_product_option_value_price"), - CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_option_storage" -( - "id_product_abstract_option_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_option_storage"), - CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -CREATE TABLE "spy_product_abstract_page_search" -( - "id_product_abstract_page_search" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_page_search"), - CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_quantity_pk_seq"; - -CREATE TABLE "spy_product_quantity" -( - "id_product_quantity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity_min" INTEGER NOT NULL, - "quantity_max" INTEGER, - "quantity_interval" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity"), - CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") -); - -CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; - -CREATE TABLE "spy_product_quantity_storage" -( - "id_product_quantity_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity_storage") -); - -CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_relation_pk_seq"; - -CREATE TABLE "spy_product_relation" -( - "id_product_relation" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation_type" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, - "query_set_data" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation"), - CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") -); - -CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -CREATE TABLE "spy_product_relation_product_abstract" -( - "id_product_relation_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation" INTEGER NOT NULL, - "order" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_product_abstract") -); - -CREATE SEQUENCE "spy_product_relation_type_pk_seq"; - -CREATE TABLE "spy_product_relation_type" -( - "id_product_relation_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_type") -); - -CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_relation_storage" -( - "id_product_abstract_relation_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_relation_storage"), - CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_review_pk_seq"; - -CREATE TABLE "spy_product_review" -( - "id_product_review" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "description" TEXT, - "nickname" VARCHAR(255), - "rating" INTEGER DEFAULT 0 NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "summary" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review") -); - -CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); - -CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); - -CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); - -CREATE SEQUENCE "spy_product_review_search_pk_seq"; - -CREATE TABLE "spy_product_review_search" -( - "id_product_review_search" INT8 NOT NULL, - "fk_product_review" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review_search"), - CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); - -CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_review_storage" -( - "id_product_abstract_review_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_review_storage"), - CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; - -CREATE TABLE "spy_product_search_attribute" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_product_search_attribute"), - CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_search_pk_seq"; - -CREATE TABLE "spy_product_search" -( - "id_product_search" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_product_search") -); - -CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); - -CREATE TABLE "spy_product_search_attribute_map" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); - -CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; - -CREATE TABLE "spy_product_search_config_storage" -( - "id_product_search_config_storage" INT8 NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_config_storage"), - CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_set_pk_seq"; - -CREATE TABLE "spy_product_set" -( - "id_product_set" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "product_set_key" VARCHAR(255) NOT NULL, - "weight" INTEGER DEFAULT 0 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set"), - CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") -); - -CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; - -CREATE TABLE "spy_product_abstract_set" -( - "id_product_abstract_set" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_product_abstract_set"), - CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") -); - -CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); - -CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_set_data_pk_seq"; - -CREATE TABLE "spy_product_set_data" -( - "id_product_set_data" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_data"), - CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") -); - -CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); - -CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); - -CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; - -CREATE TABLE "spy_product_set_page_search" -( - "id_product_set_page_search" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_page_search"), - CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_set_storage_pk_seq"; - -CREATE TABLE "spy_product_set_storage" -( - "id_product_set_storage" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_storage"), - CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_storage" -( - "id_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_storage"), - CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_storage" -( - "id_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_storage"), - CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_validity_pk_seq"; - -CREATE TABLE "spy_product_validity" -( - "id_product_validity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_product_validity"), - CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") -); - -CREATE TABLE "spy_propel_heartbeat" -( - "heartbeat_check" VARCHAR NOT NULL, - PRIMARY KEY ("heartbeat_check") -); - -CREATE SEQUENCE "spy_queue_process_pk_seq"; - -CREATE TABLE "spy_queue_process" -( - "id_queue_process" INTEGER NOT NULL, - "server_id" VARCHAR(255) NOT NULL, - "process_pid" INTEGER NOT NULL, - "worker_pid" INTEGER NOT NULL, - "queue_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_queue_process"), - CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") -); - -CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); - -CREATE SEQUENCE "id_quote_pk_seq"; - -CREATE TABLE "spy_quote" -( - "id_quote" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "quote_data" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_quote") -); - -CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); - -CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); - -CREATE SEQUENCE "spy_refund_pk_seq"; - -CREATE TABLE "spy_refund" -( - "id_refund" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "comment" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_refund") -); - -CREATE SEQUENCE "spy_sales_order_pk_seq"; - -CREATE TABLE "spy_sales_order" -( - "id_sales_order" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_order_source" INTEGER, - "fk_sales_order_address_billing" INTEGER NOT NULL, - "fk_sales_order_address_shipping" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER, - "cart_note" VARCHAR(255), - "currency_iso_code" VARCHAR(5), - "customer_reference" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100), - "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, - "last_name" VARCHAR(100), - "order_reference" VARCHAR(45) NOT NULL, - "price_mode" INT2, - "salutation" INT2, - "store" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order"), - CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") -); - -CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); - -CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); - -CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); - -CREATE SEQUENCE "spy_sales_order_item_pk_seq"; - -CREATE TABLE "spy_sales_order_item" -( - "id_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "fk_oms_order_process" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_order_item_bundle" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "cart_note" VARCHAR(255), - "discount_amount_aggregation" INTEGER DEFAULT 0, - "discount_amount_full_aggregation" INTEGER DEFAULT 0, - "expense_price_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "group_key" VARCHAR(255), - "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "product_option_price_aggregation" INTEGER DEFAULT 0, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "refundable_amount" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "subtotal_aggregation" INTEGER, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_amount_full_aggregation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "tax_rate_average_aggregation" NUMERIC(8,2), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item") -); - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; - -CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); - -CREATE SEQUENCE "spy_sales_discount_pk_seq"; - -CREATE TABLE "spy_sales_discount" -( - "id_sales_discount" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER, - "fk_sales_order_item" INTEGER, - "fk_sales_order_item_option" INTEGER, - "amount" INTEGER NOT NULL, - "description" VARCHAR(510), - "display_name" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount") -); - -CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; - -CREATE TABLE "spy_sales_discount_code" -( - "id_sales_discount_code" INTEGER NOT NULL, - "fk_sales_discount" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "codepool_name" VARCHAR(255) NOT NULL, - "is_once_per_customer" BOOLEAN DEFAULT \'t\', - "is_refundable" BOOLEAN DEFAULT \'f\', - "is_reusable" BOOLEAN DEFAULT \'f\', - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount_code") -); - -CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -CREATE TABLE "spy_sales_order_item_gift_card" -( - "id_sales_order_item_gift_card" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "attributes" TEXT, - "code" VARCHAR(40), - "pattern" VARCHAR(40), - "value" INTEGER, - PRIMARY KEY ("id_sales_order_item_gift_card") -); - -CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; - -CREATE TABLE "spy_sales_order_item_option" -( - "id_sales_order_item_option" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER DEFAULT 0 NOT NULL, - "group_name" VARCHAR NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "tax_amount" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2) NOT NULL, - "value" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_option") -); - -COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -CREATE SEQUENCE "spy_sales_order_address_pk_seq"; - -CREATE TABLE "spy_sales_order_address" -( - "id_sales_order_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address") -); - -CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; - -CREATE TABLE "spy_sales_order_address_history" -( - "id_sales_order_address_history" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "fk_sales_order_address" INTEGER NOT NULL, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "is_billing" BOOLEAN DEFAULT \'f\', - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address_history") -); - -CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; - -CREATE TABLE "spy_sales_order_totals" -( - "id_sales_order_totals" INTEGER NOT NULL, - "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, - "canceled_total" INTEGER DEFAULT 0, - "discount_total" INTEGER DEFAULT 0, - "grand_total" INTEGER DEFAULT 0, - "order_expense_total" INTEGER DEFAULT 0, - "refund_total" INTEGER DEFAULT 0, - "subtotal" INTEGER DEFAULT 0, - "tax_total" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_totals") -); - -CREATE SEQUENCE "spy_sales_order_note_pk_seq"; - -CREATE TABLE "spy_sales_order_note" -( - "id_sales_order_note" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "command" VARCHAR(255) NOT NULL, - "message" VARCHAR(255) NOT NULL, - "success" BOOLEAN NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_note") -); - -CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; - -CREATE TABLE "spy_sales_order_comment" -( - "id_sales_order_comment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "message" TEXT NOT NULL, - "username" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_comment") -); - -CREATE SEQUENCE "spy_sales_expense_pk_seq"; - -CREATE TABLE "spy_sales_expense" -( - "id_sales_expense" INTEGER NOT NULL, - "fk_sales_order" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "name" VARCHAR(255), - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "refundable_amount" INTEGER DEFAULT 0, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "type" VARCHAR(150), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_expense"), - CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") -); - -COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; - -COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -CREATE TABLE "spy_sales_order_item_metadata" -( - "id_sales_order_item_metadata" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "image" TEXT, - "super_attributes" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_metadata") -); - -CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); - -CREATE SEQUENCE "spy_sales_shipment_pk_seq"; - -CREATE TABLE "spy_sales_shipment" -( - "id_sales_shipment" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "carrier_name" VARCHAR(255), - "delivery_time" VARCHAR(255), - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_shipment") -); - -CREATE SEQUENCE "spy_sales_payment_pk_seq"; - -CREATE TABLE "spy_sales_payment" -( - "id_sales_payment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_payment_method_type" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_payment") -); - -CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -CREATE TABLE "spy_sales_payment_method_type" -( - "id_sales_payment_method_type" INTEGER NOT NULL, - "payment_provider" VARCHAR NOT NULL, - "payment_method" VARCHAR NOT NULL, - PRIMARY KEY ("id_sales_payment_method_type") -); - -CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); - -CREATE SEQUENCE "spy_sequence_number_pk_seq"; - -CREATE TABLE "spy_sequence_number" -( - "id_sequence_number" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "current_id" INTEGER NOT NULL, - PRIMARY KEY ("id_sequence_number"), - CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; - -CREATE TABLE "spy_shipment_carrier" -( - "id_shipment_carrier" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_shipment_carrier") -); - -CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_pk_seq"; - -CREATE TABLE "spy_shipment_method" -( - "id_shipment_method" INTEGER NOT NULL, - "fk_shipment_carrier" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "name" VARCHAR(255) NOT NULL, - "shipment_method_key" VARCHAR(255), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "default_price" INTEGER, - "availability_plugin" VARCHAR(255), - "price_plugin" VARCHAR(255), - "delivery_time_plugin" VARCHAR(255), - PRIMARY KEY ("id_shipment_method") -); - -COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; - -CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; - -CREATE TABLE "spy_shipment_method_price" -( - "id_shipment_method_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_shipment_method" INTEGER NOT NULL, - "default_gross_price" INTEGER, - "default_net_price" INTEGER, - PRIMARY KEY ("id_shipment_method_price"), - CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -CREATE TABLE "spy_state_machine_transition_log" -( - "id_state_machine_transition_log" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "locked" BOOLEAN, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_transition_log") -); - -CREATE SEQUENCE "spy_state_machine_process_pk_seq"; - -CREATE TABLE "spy_state_machine_process" -( - "id_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "state_machine_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_process"), - CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") -); - -CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); - -CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_state_machine_lock" -( - "id_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_lock"), - CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state" -( - "id_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_state_machine_item_state"), - CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") -); - -CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state_history" -( - "id_state_machine_item_state_history" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_item_state_history") -); - -CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); - -CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -CREATE TABLE "spy_state_machine_event_timeout" -( - "id_state_machine_event_timeout" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_event_timeout"), - CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") -); - -CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_stock_pk_seq"; - -CREATE TABLE "spy_stock" -( - "id_stock" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_stock"), - CONSTRAINT "spy_stock-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_stock_product_pk_seq"; - -CREATE TABLE "spy_stock_product" -( - "id_stock_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_stock" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 0, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_stock_product"), - CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") -); - -CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); - -CREATE SEQUENCE "spy_store_pk_seq"; - -CREATE TABLE "spy_store" -( - "id_store" INTEGER NOT NULL, - "name" VARCHAR(255), - PRIMARY KEY ("id_store") -); - -CREATE SEQUENCE "spy_tax_set_pk_seq"; - -CREATE TABLE "spy_tax_set" -( - "id_tax_set" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_set") -); - -CREATE SEQUENCE "spy_tax_rate_pk_seq"; - -CREATE TABLE "spy_tax_rate" -( - "id_tax_rate" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "rate" NUMERIC(8,2) NOT NULL, - "fk_country" INTEGER, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_rate") -); - -CREATE TABLE "spy_tax_set_tax" -( - "fk_tax_set" INTEGER NOT NULL, - "fk_tax_rate" INTEGER NOT NULL, - PRIMARY KEY ("fk_tax_set","fk_tax_rate") -); - -CREATE SEQUENCE "spy_touch_pk_seq"; - -CREATE TABLE "spy_touch" -( - "id_touch" INTEGER NOT NULL, - "item_type" VARCHAR(255) NOT NULL, - "item_event" INT2 NOT NULL, - "item_id" INTEGER NOT NULL, - "touched" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_touch"), - CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") -); - -CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); - -CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); - -CREATE SEQUENCE "spy_touch_storage_pk_seq"; - -CREATE TABLE "spy_touch_storage" -( - "id_touch_storage" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_storage"), - CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); - -CREATE SEQUENCE "spy_touch_search_pk_seq"; - -CREATE TABLE "spy_touch_search" -( - "id_touch_search" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_search"), - CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); - -CREATE SEQUENCE "spy_url_pk_seq"; - -CREATE TABLE "spy_url" -( - "id_url" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_resource_categorynode" INTEGER, - "fk_resource_page" INTEGER, - "fk_resource_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "fk_resource_redirect" INTEGER, - "url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url"), - CONSTRAINT "spy_url_unique_key" UNIQUE ("url") -); - -CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_url_redirect_pk_seq"; - -CREATE TABLE "spy_url_redirect" -( - "id_url_redirect" INTEGER NOT NULL, - "status" INTEGER DEFAULT 301 NOT NULL, - "to_url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url_redirect") -); - -CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); - -CREATE SEQUENCE "spy_url_storage_pk_seq"; - -CREATE TABLE "spy_url_storage" -( - "id_url_storage" INT8 NOT NULL, - "fk_categorynode" INTEGER, - "fk_page" INTEGER, - "fk_product_abstract" INTEGER, - "fk_product_set" INTEGER, - "fk_redirect" INTEGER, - "fk_url" INTEGER NOT NULL, - "url" VARCHAR NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_storage"), - CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); - -CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; - -CREATE TABLE "spy_url_redirect_storage" -( - "id_url_redirect_storage" INT8 NOT NULL, - "fk_url_redirect" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_redirect_storage"), - CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); - -CREATE SEQUENCE "spy_user_pk_seq"; - -CREATE TABLE "spy_user" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_user"), - CONSTRAINT "spy_user-username" UNIQUE ("username") -); - -CREATE SEQUENCE "spy_wishlist_pk_seq"; - -CREATE TABLE "spy_wishlist" -( - "id_wishlist" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist"), - CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") -); - -CREATE SEQUENCE "spy_wishlist_item_pk_seq"; - -CREATE TABLE "spy_wishlist_item" -( - "id_wishlist_item" INTEGER NOT NULL, - "fk_wishlist" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist_item") -); - -CREATE TABLE "spy_acl_role_archive" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role") -); - -CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); - -CREATE TABLE "spy_acl_rule_archive" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE TABLE "spy_acl_group_archive" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group") -); - -CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); - -CREATE TABLE "spy_auth_reset_password_archive" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user") -); - -CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); - -CREATE TABLE "spy_product_search_attribute_archive" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_attribute") -); - -CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_product_search_attribute_map_archive" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - "archived_at" TIMESTAMP, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_user_archive" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_user") -); - -CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); - -ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" - FOREIGN KEY ("fk_availability_abstract") - REFERENCES "spy_availability_abstract" ("id_availability_abstract"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" - FOREIGN KEY ("fk_parent_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" - FOREIGN KEY ("fk_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" - FOREIGN KEY ("fk_category_node_descendant") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_template" ("id_cms_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" - FOREIGN KEY ("fk_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_block_template" ("id_cms_block_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block"); - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" - FOREIGN KEY ("fk_cms_block_category_position") - REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" - FOREIGN KEY ("default_billing_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" - FOREIGN KEY ("default_shipping_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" - FOREIGN KEY ("fk_customer_group") - REFERENCES "spy_customer_group" ("id_customer_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" - FOREIGN KEY ("fk_gift_card_product_abstract_configuration") - REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" - FOREIGN KEY ("fk_gift_card_product_configuration") - REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); - -ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" - FOREIGN KEY ("fk_sales_payment") - REFERENCES "spy_sales_payment" ("id_sales_payment"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" - FOREIGN KEY ("fk_gift_card") - REFERENCES "spy_gift_card" ("id_gift_card"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" - FOREIGN KEY ("fk_parent_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" - FOREIGN KEY ("fk_navigation") - REFERENCES "spy_navigation" ("id_navigation") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" - FOREIGN KEY ("fk_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" - FOREIGN KEY ("fk_url") - REFERENCES "spy_url" ("id_url"); - -ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" - FOREIGN KEY ("fk_newsletter_subscriber") - REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" - FOREIGN KEY ("fk_newsletter_type") - REFERENCES "spy_newsletter_type" ("id_newsletter_type"); - -ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" - FOREIGN KEY ("fk_price_type") - REFERENCES "spy_price_type" ("id_price_type"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" - FOREIGN KEY ("fk_price_product") - REFERENCES "spy_price_product" ("id_price_product"); - -ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" - FOREIGN KEY ("fk_price_product_store") - REFERENCES "spy_price_product_store" ("id_price_product_store") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" - FOREIGN KEY ("fk_product_abstract_alternative") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" - FOREIGN KEY ("fk_product_concrete_alternative") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" - FOREIGN KEY ("fk_product_management_attribute") - REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" - FOREIGN KEY ("fk_product_management_attribute_value") - REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" - FOREIGN KEY ("fk_bundled_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" - FOREIGN KEY ("fk_product_discontinued") - REFERENCES "spy_product_discontinued" ("id_product_discontinued"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" - FOREIGN KEY ("fk_product_group") - REFERENCES "spy_product_group" ("id_product_group"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" - FOREIGN KEY ("fk_product_image_set") - REFERENCES "spy_product_image_set" ("id_product_image_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" - FOREIGN KEY ("fk_product_image") - REFERENCES "spy_product_image" ("id_product_image"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE SET NULL; - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" - FOREIGN KEY ("fk_product_option_value") - REFERENCES "spy_product_option_value" ("id_product_option_value") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" - FOREIGN KEY ("fk_product_relation_type") - REFERENCES "spy_product_relation_type" ("id_product_relation_type"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" - FOREIGN KEY ("fk_product_relation") - REFERENCES "spy_product_relation" ("id_product_relation"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" - FOREIGN KEY ("fk_order_source") - REFERENCES "spy_order_source" ("id_order_source"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" - FOREIGN KEY ("fk_sales_order_address_billing") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" - FOREIGN KEY ("fk_sales_order_address_shipping") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" - FOREIGN KEY ("fk_sales_order_item_bundle") - REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" - FOREIGN KEY ("fk_sales_order_item_option") - REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); - -ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" - FOREIGN KEY ("fk_sales_discount") - REFERENCES "spy_sales_discount" ("id_sales_discount"); - -ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" - FOREIGN KEY ("fk_sales_order_address") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" - FOREIGN KEY ("fk_sales_payment_method_type") - REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" - FOREIGN KEY ("fk_shipment_carrier") - REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" - FOREIGN KEY ("fk_shipment_method") - REFERENCES "spy_shipment_method" ("id_shipment_method"); - -ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" - FOREIGN KEY ("fk_stock") - REFERENCES "spy_stock" ("id_stock"); - -ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" - FOREIGN KEY ("fk_tax_rate") - REFERENCES "spy_tax_rate" ("id_tax_rate"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" - FOREIGN KEY ("fk_resource_categorynode") - REFERENCES "spy_category_node" ("id_category_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" - FOREIGN KEY ("fk_resource_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" - FOREIGN KEY ("fk_resource_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" - FOREIGN KEY ("fk_resource_redirect") - REFERENCES "spy_url_redirect" ("id_url_redirect") - ON DELETE CASCADE; - -ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" - FOREIGN KEY ("fk_wishlist") - REFERENCES "spy_wishlist" ("id_wishlist"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" - FOREIGN KEY ("sku") - REFERENCES "spy_product" ("sku"); - -COMMIT; -', -); - } - - /** - * Get the SQL statements for the Down migration - * - * @return array list of the SQL strings to execute for the Down migration - * the keys being the datasources - */ - public function getDownSQL() - { - return array ( - 'zed' => ' -BEGIN; - -DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role" CASCADE; - -DROP SEQUENCE "spy_acl_role_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; - -DROP SEQUENCE "spy_acl_rule_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_group" CASCADE; - -DROP SEQUENCE "spy_acl_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; - -DROP SEQUENCE "spy_auth_reset_password_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; - -DROP SEQUENCE "spy_availability_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability" CASCADE; - -DROP SEQUENCE "spy_availability_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; - -DROP SEQUENCE "spy_availability_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category" CASCADE; - -DROP SEQUENCE "spy_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; - -DROP SEQUENCE "spy_category_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node" CASCADE; - -DROP SEQUENCE "spy_category_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; - -DROP SEQUENCE "spy_category_closure_table_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; - -DROP SEQUENCE "spy_category_node_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; - -DROP SEQUENCE "spy_category_tree_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; - -DROP SEQUENCE "spy_category_node_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_template" CASCADE; - -DROP SEQUENCE "spy_category_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page" CASCADE; - -DROP SEQUENCE "spy_cms_page_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_version" CASCADE; - -DROP SEQUENCE "spy_cms_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_template" CASCADE; - -DROP SEQUENCE "spy_cms_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block" CASCADE; - -DROP SEQUENCE "spy_cms_block_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; - -DROP SEQUENCE "id_cms_block_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; - -DROP SEQUENCE "spy_cms_block_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; - -DROP SEQUENCE "spy_cms_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; - -DROP SEQUENCE "spy_cms_page_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_country" CASCADE; - -DROP SEQUENCE "spy_country_pk_seq"; - -DROP TABLE IF EXISTS "spy_region" CASCADE; - -DROP SEQUENCE "spy_region_pk_seq"; - -DROP TABLE IF EXISTS "spy_currency" CASCADE; - -DROP SEQUENCE "spy_currency_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer" CASCADE; - -DROP SEQUENCE "spy_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_address" CASCADE; - -DROP SEQUENCE "spy_customer_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group" CASCADE; - -DROP SEQUENCE "spy_customer_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; - -DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_note" CASCADE; - -DROP SEQUENCE "spy_customer_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount" CASCADE; - -DROP SEQUENCE "spy_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_store" CASCADE; - -DROP SEQUENCE "id_discount_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; - -DROP SEQUENCE "spy_discount_amount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; - -DROP SEQUENCE "spy_discount_promotion_pk_seq"; - -DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; - -DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; - -DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card" CASCADE; - -DROP SEQUENCE "spy_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; - -DROP SEQUENCE "spy_payment_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; - -DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; - -DROP SEQUENCE "spy_glossary_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; - -DROP SEQUENCE "spy_glossary_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; - -DROP SEQUENCE "spy_glossary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_locale" CASCADE; - -DROP SEQUENCE "spy_locale_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; - -DROP SEQUENCE "spy_navigation_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation" CASCADE; - -DROP SEQUENCE "spy_navigation_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; - -DROP SEQUENCE "spy_navigation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; - -DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; - -DROP SEQUENCE "spy_newsletter_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; - -DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; - -DROP SEQUENCE "spy_nopayment_paid_pk_seq"; - -DROP TABLE IF EXISTS "spy_offer" CASCADE; - -DROP SEQUENCE "spy_offer_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; - -DROP SEQUENCE "spy_oms_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; - -DROP SEQUENCE "spy_oms_order_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; - -DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; - -DROP TABLE IF EXISTS "spy_order_source" CASCADE; - -DROP SEQUENCE "spy_order_source_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product" CASCADE; - -DROP SEQUENCE "spy_price_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_type" CASCADE; - -DROP SEQUENCE "spy_price_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; - -DROP SEQUENCE "spy_price_product_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; - -DROP SEQUENCE "spy_price_product_default_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product" CASCADE; - -DROP SEQUENCE "spy_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; - -DROP SEQUENCE "spy_product_attribute_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; - -DROP SEQUENCE "id_product_abstract_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; - -DROP SEQUENCE "spy_product_alternative_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; - -DROP SEQUENCE "id_product_alternative_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; - -DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; - -DROP SEQUENCE "spy_product_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category" CASCADE; - -DROP SEQUENCE "spy_product_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; - -DROP SEQUENCE "id_product_discontinued_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; - -DROP SEQUENCE "id_product_discontinued_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; - -DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_group" CASCADE; - -DROP SEQUENCE "spy_product_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; - -DROP SEQUENCE "spy_product_image_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label" CASCADE; - -DROP SEQUENCE "spy_product_label_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; - -DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; - -DROP SEQUENCE "spy_product_option_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; - -DROP SEQUENCE "spy_product_option_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; - -DROP SEQUENCE "spy_product_option_value_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; - -DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; - -DROP SEQUENCE "id_product_quantity_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; - -DROP SEQUENCE "id_product_quantity_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation" CASCADE; - -DROP SEQUENCE "spy_product_relation_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; - -DROP SEQUENCE "spy_product_relation_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review" CASCADE; - -DROP SEQUENCE "id_product_review_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; - -DROP SEQUENCE "spy_product_review_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; - -DROP SEQUENCE "spy_product_search_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search" CASCADE; - -DROP SEQUENCE "spy_product_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; - -DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set" CASCADE; - -DROP SEQUENCE "spy_product_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; - -DROP SEQUENCE "spy_product_abstract_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; - -DROP SEQUENCE "spy_product_set_data_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; - -DROP SEQUENCE "spy_product_set_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; - -DROP SEQUENCE "spy_product_set_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_validity" CASCADE; - -DROP SEQUENCE "spy_product_validity_pk_seq"; - -DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; - -DROP TABLE IF EXISTS "spy_queue_process" CASCADE; - -DROP SEQUENCE "spy_queue_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_quote" CASCADE; - -DROP SEQUENCE "id_quote_pk_seq"; - -DROP TABLE IF EXISTS "spy_refund" CASCADE; - -DROP SEQUENCE "spy_refund_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order" CASCADE; - -DROP SEQUENCE "spy_sales_order_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; - -DROP SEQUENCE "spy_sales_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; - -DROP SEQUENCE "spy_sales_discount_code_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; - -DROP SEQUENCE "spy_sales_order_totals_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; - -DROP SEQUENCE "spy_sales_order_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; - -DROP SEQUENCE "spy_sales_order_comment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; - -DROP SEQUENCE "spy_sales_expense_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; - -DROP SEQUENCE "spy_sales_shipment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; - -DROP SEQUENCE "spy_sales_payment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; - -DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; - -DROP SEQUENCE "spy_sequence_number_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; - -DROP SEQUENCE "spy_shipment_carrier_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; - -DROP SEQUENCE "spy_shipment_method_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; - -DROP SEQUENCE "spy_shipment_method_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; - -DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; - -DROP SEQUENCE "spy_state_machine_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; - -DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock" CASCADE; - -DROP SEQUENCE "spy_stock_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock_product" CASCADE; - -DROP SEQUENCE "spy_stock_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_store" CASCADE; - -DROP SEQUENCE "spy_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set" CASCADE; - -DROP SEQUENCE "spy_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; - -DROP SEQUENCE "spy_tax_rate_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; - -DROP TABLE IF EXISTS "spy_touch" CASCADE; - -DROP SEQUENCE "spy_touch_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; - -DROP SEQUENCE "spy_touch_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_search" CASCADE; - -DROP SEQUENCE "spy_touch_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_url" CASCADE; - -DROP SEQUENCE "spy_url_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; - -DROP SEQUENCE "spy_url_redirect_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_storage" CASCADE; - -DROP SEQUENCE "spy_url_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; - -DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_user" CASCADE; - -DROP SEQUENCE "spy_user_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist" CASCADE; - -DROP SEQUENCE "spy_wishlist_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; - -DROP SEQUENCE "spy_wishlist_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_user_archive" CASCADE; - -COMMIT; -', -); - } - -} \ No newline at end of file From dc7a299cc30b902c6e577f92cd20ed6020aae4c3 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Fri, 5 Oct 2018 13:04:12 +0000 Subject: [PATCH 09/91] SUITE-733: added alternative and discontinued products --- .../Persistence/SpyProductAlternative.php | 8 ++++++-- .../Persistence/SpyProductAlternativeQuery.php | 8 ++++++-- .../Persistence/SpyProductAlternativeStorage.php | 8 ++++++-- .../Persistence/SpyProductAlternativeStorageQuery.php | 8 ++++++-- .../Persistence/SpyProductReplacementForStorage.php | 8 ++++++-- .../Persistence/SpyProductReplacementForStorageQuery.php | 8 ++++++-- .../Persistence/SpyProductDiscontinued.php | 8 ++++++-- .../Persistence/SpyProductDiscontinuedNote.php | 8 ++++++-- .../Persistence/SpyProductDiscontinuedNoteQuery.php | 8 ++++++-- .../Persistence/SpyProductDiscontinuedQuery.php | 8 ++++++-- .../Persistence/SpyProductDiscontinuedStorage.php | 8 ++++++-- .../Persistence/SpyProductDiscontinuedStorageQuery.php | 8 ++++++-- .../GlueApplication/GlueApplicationDependencyProvider.php | 2 +- .../ProductDetailPageDependencyProvider.php | 4 ++-- src/Pyz/Zed/Product/ProductDependencyProvider.php | 2 +- 15 files changed, 76 insertions(+), 28 deletions(-) diff --git a/src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php b/src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php index 138fcd2ea1..3c653a08da 100644 --- a/src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php +++ b/src/Orm/Zed/ProductAlternative/Persistence/SpyProductAlternative.php @@ -1,5 +1,10 @@ Date: Fri, 5 Oct 2018 13:42:14 +0000 Subject: [PATCH 10/91] SUITE-732: fixed quantity on cart page --- .../molecules/cart-item/cart-item.twig | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig b/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig index 64d5dbdb24..46474f5ca2 100644 --- a/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig +++ b/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig @@ -55,7 +55,22 @@

{{ widget('CartProductPackagingUnitWidgetPlugin', data.cartItem) }} - + {% if data.cartItem.amountSalesUnit is not defined or data.cartItem.amountSalesUnit is empty %} + {% if canEditCart %} + {% if widgetExists('QuantitySalesUnitWidgetPlugin') %} + {{ widget('QuantitySalesUnitWidgetPlugin', data.cartItem) }} + {% else %} + {% include molecule('cart-quantity-input', 'CartPage') with { + data: { + cartItem: data.cartItem + } + } only %} + {% endif %} + {% else %} + {{ 'cart.item_quantity' | trans }}: + {{ data.cartItem.quantity }} + {% endif %} + {% endif %} {% if canEditCart %} × {{ 'remove' | trans }} From 16d969c27e0038639415f3ebcd326ba8cdca66a5 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Mon, 8 Oct 2018 07:18:12 +0000 Subject: [PATCH 11/91] SUITE-731: fixed deleting bundle from cart --- .../PersistentCartDependencyProvider.php | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php diff --git a/src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php b/src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php new file mode 100644 index 0000000000..10fb3e66dd --- /dev/null +++ b/src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php @@ -0,0 +1,33 @@ + Date: Mon, 8 Oct 2018 12:35:37 +0000 Subject: [PATCH 12/91] SUITE-728: fixed non splittable order, update composer --- composer.json | 5 +- composer.lock | 294 +++++++++++------- src/Pyz/Zed/Cart/CartDependencyProvider.php | 2 + .../Discount/DiscountDependencyProvider.php | 11 + src/Pyz/Zed/Sales/SalesDependencyProvider.php | 13 + .../Zed/SalesQuantity/SalesQuantityConfig.php | 18 ++ 6 files changed, 221 insertions(+), 122 deletions(-) create mode 100644 src/Pyz/Zed/SalesQuantity/SalesQuantityConfig.php diff --git a/composer.json b/composer.json index 22dc6c5725..513497c0f1 100644 --- a/composer.json +++ b/composer.json @@ -93,7 +93,7 @@ "spryker/barcode-extension": "^1.0.0", "spryker/cache": "^3.0.0", "spryker/calculation": "^4.0.0", - "spryker/cart": "^5.0.0", + "spryker/cart": "^5.4.0", "spryker/cart-currency-connector": "^1.0.0", "spryker/cart-extension": "^2.0.0", "spryker/cart-note": "^0.1.0", @@ -298,8 +298,9 @@ "spryker/redis": "^2.0.0", "spryker/refund": "^5.0.0", "spryker/sales": "^8.0.0", - "spryker/sales-extension": "^1.0.0", + "spryker/sales-extension": "^1.2.0", "spryker/sales-product-connector": "^1.0.0", + "spryker/sales-quantity": "^1.0", "spryker/sales-reclamation": "^0.3.0", "spryker/sales-split": "^3.0.0", "spryker/sales-statistics": "^1.0", diff --git a/composer.lock b/composer.lock index 658703b9d3..d3c15d9124 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "00c5b6e499e78d46d0bfd54a5468972b", + "content-hash": "b94c226e8f47611359c72cf525944884", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.68.1", + "version": "3.69.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "2986beb07a14bcde94608e940ee7e5cba1ed4e38" + "reference": "975bdc3181d08438174ce70cf25e361e18506242" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2986beb07a14bcde94608e940ee7e5cba1ed4e38", - "reference": "2986beb07a14bcde94608e940ee7e5cba1ed4e38", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/975bdc3181d08438174ce70cf25e361e18506242", + "reference": "975bdc3181d08438174ce70cf25e361e18506242", "shasum": "" }, "require": { @@ -38,6 +38,8 @@ "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", "nette/neon": "^2.3", "phpunit/phpunit": "^4.8.35|^5.4.3", "psr/cache": "^1.0" @@ -46,7 +48,8 @@ "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", "doctrine/cache": "To use the DoctrineCacheAdapter", "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages" + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" }, "type": "library", "extra": { @@ -84,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-02T21:11:29+00:00" + "time": "2018-10-05T21:06:02+00:00" }, { "name": "codeitnowin/barcode", @@ -1047,16 +1050,16 @@ }, { "name": "league/flysystem-aws-s3-v3", - "version": "1.0.20", + "version": "1.0.21", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "398c56027e49653712a8fba1eb12600d2a83f3b7" + "reference": "43523fec10a831ea48bedb3277e3f3fa218f4e49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/398c56027e49653712a8fba1eb12600d2a83f3b7", - "reference": "398c56027e49653712a8fba1eb12600d2a83f3b7", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/43523fec10a831ea48bedb3277e3f3fa218f4e49", + "reference": "43523fec10a831ea48bedb3277e3f3fa218f4e49", "shasum": "" }, "require": { @@ -1090,7 +1093,7 @@ } ], "description": "Flysystem adapter for the AWS S3 SDK v3.x", - "time": "2018-09-25T12:02:44+00:00" + "time": "2018-10-08T07:53:55+00:00" }, { "name": "mandrill/mandrill", @@ -2374,22 +2377,22 @@ }, { "name": "spryker-shop/cart-page", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-page.git", - "reference": "2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795" + "reference": "ebd7ee53a0d1d66d060a892518bd67852fd78ab7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795", - "reference": "2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795", + "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/ebd7ee53a0d1d66d060a892518bd67852fd78ab7", + "reference": "ebd7ee53a0d1d66d060a892518bd67852fd78ab7", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-application": "^1.0.0", - "spryker-shop/shop-ui": "^1.0.0", + "spryker-shop/shop-ui": "^1.6.0", "spryker/availability": "^5.4.0 || ^6.0.0", "spryker/availability-storage": "^1.0.0", "spryker/cart": "^5.0.0", @@ -2425,7 +2428,7 @@ "proprietary" ], "description": "CartPage module", - "time": "2018-10-02T09:00:48+00:00" + "time": "2018-10-05T07:03:26+00:00" }, { "name": "spryker-shop/catalog-page", @@ -2980,16 +2983,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.7.1", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "4c8ba134e291f4b58438bee76e20904f8094656e" + "reference": "133956db7007c2769abe3eb6000fac7028062730" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4c8ba134e291f4b58438bee76e20904f8094656e", - "reference": "4c8ba134e291f4b58438bee76e20904f8094656e", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/133956db7007c2769abe3eb6000fac7028062730", + "reference": "133956db7007c2769abe3eb6000fac7028062730", "shasum": "" }, "require": { @@ -3039,7 +3042,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-10-02T09:00:48+00:00" + "time": "2018-10-05T18:15:24+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -3235,16 +3238,16 @@ }, { "name": "spryker-shop/error-page", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/error-page.git", - "reference": "8f81e952ee689b6c18d603564504d387949b5d48" + "reference": "21381845d0be89af2db402f3e702af96fa6af1d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/error-page/zipball/8f81e952ee689b6c18d603564504d387949b5d48", - "reference": "8f81e952ee689b6c18d603564504d387949b5d48", + "url": "https://api.github.com/repos/spryker-shop/error-page/zipball/21381845d0be89af2db402f3e702af96fa6af1d6", + "reference": "21381845d0be89af2db402f3e702af96fa6af1d6", "shasum": "" }, "require": { @@ -3256,7 +3259,9 @@ }, "require-dev": { "spryker-shop/shop-application": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/shop-application": "Use this module when using plugins that need ShopApplication dependencies.", @@ -3278,7 +3283,7 @@ "proprietary" ], "description": "ErrorPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-05T13:08:43+00:00" }, { "name": "spryker-shop/heartbeat-page", @@ -3556,16 +3561,16 @@ }, { "name": "spryker-shop/newsletter-widget", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/newsletter-widget.git", - "reference": "2ba33d8813a14b819f62f889f98cb3a7b1f0f84d" + "reference": "44b52af75e46d54e78406f7f8cd9e1456b4b81ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/2ba33d8813a14b819f62f889f98cb3a7b1f0f84d", - "reference": "2ba33d8813a14b819f62f889f98cb3a7b1f0f84d", + "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/44b52af75e46d54e78406f7f8cd9e1456b4b81ea", + "reference": "44b52af75e46d54e78406f7f8cd9e1456b4b81ea", "shasum": "" }, "require": { @@ -3579,7 +3584,9 @@ }, "require-dev": { "spryker-shop/customer-page": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/customer-page": "Widget plugins are available for this module.", @@ -3601,7 +3608,7 @@ "proprietary" ], "description": "NewsletterWidget module", - "time": "2018-08-28T18:39:24+00:00" + "time": "2018-10-02T14:26:56+00:00" }, { "name": "spryker-shop/price-widget", @@ -4610,16 +4617,16 @@ }, { "name": "spryker-shop/shop-router", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-router.git", - "reference": "cb63ede85283bb9a1f6827fc833bc931f7e33adf" + "reference": "180f8cb8eb32fc7367dbf2c8f84820be762925ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-router/zipball/cb63ede85283bb9a1f6827fc833bc931f7e33adf", - "reference": "cb63ede85283bb9a1f6827fc833bc931f7e33adf", + "url": "https://api.github.com/repos/spryker-shop/shop-router/zipball/180f8cb8eb32fc7367dbf2c8f84820be762925ef", + "reference": "180f8cb8eb32fc7367dbf2c8f84820be762925ef", "shasum": "" }, "require": { @@ -4633,6 +4640,10 @@ "spryker/url-storage": "^1.0.0", "spryker/util-text": "^1.2.0" }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -4649,7 +4660,7 @@ "proprietary" ], "description": "ShopRouter module", - "time": "2018-06-13T15:26:14+00:00" + "time": "2018-10-05T14:52:24+00:00" }, { "name": "spryker-shop/shop-router-extension", @@ -4735,16 +4746,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.5.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "cca4adad2481b76a818035a0d0bf6928b8a2b2a1" + "reference": "9678c471f60300c4a5f9a50090f2ea522b1a147d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/cca4adad2481b76a818035a0d0bf6928b8a2b2a1", - "reference": "cca4adad2481b76a818035a0d0bf6928b8a2b2a1", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/9678c471f60300c4a5f9a50090f2ea522b1a147d", + "reference": "9678c471f60300c4a5f9a50090f2ea522b1a147d", "shasum": "" }, "require": { @@ -4776,7 +4787,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-09-27T07:45:52+00:00" + "time": "2018-10-02T13:24:12+00:00" }, { "name": "spryker-shop/shop-ui-extension", @@ -4861,16 +4872,16 @@ }, { "name": "spryker-shop/wishlist-page", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/wishlist-page.git", - "reference": "24a9f4f24c7544bacf91be71d8b4043a67b36d31" + "reference": "e4c591a74def3638d697c41ecbd3db6f58a9b7c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/24a9f4f24c7544bacf91be71d8b4043a67b36d31", - "reference": "24a9f4f24c7544bacf91be71d8b4043a67b36d31", + "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/e4c591a74def3638d697c41ecbd3db6f58a9b7c2", + "reference": "e4c591a74def3638d697c41ecbd3db6f58a9b7c2", "shasum": "" }, "require": { @@ -4886,7 +4897,9 @@ "spryker/wishlist": "^5.1.0 || ^6.0.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -4907,7 +4920,7 @@ "proprietary" ], "description": "WishlistPage module", - "time": "2018-08-02T06:30:34+00:00" + "time": "2018-10-02T17:02:56+00:00" }, { "name": "spryker-shop/wishlist-widget", @@ -8293,16 +8306,16 @@ }, { "name": "spryker/customer", - "version": "7.10.2", + "version": "7.11.0", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "0174a099a1d9db1e4ff46d6da9360a3cf2ce552c" + "reference": "5c7c4eeb561508f3cdb7010a6b880142008dfa4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/0174a099a1d9db1e4ff46d6da9360a3cf2ce552c", - "reference": "0174a099a1d9db1e4ff46d6da9360a3cf2ce552c", + "url": "https://api.github.com/repos/spryker/customer/zipball/5c7c4eeb561508f3cdb7010a6b880142008dfa4f", + "reference": "5c7c4eeb561508f3cdb7010a6b880142008dfa4f", "shasum": "" }, "require": { @@ -8326,15 +8339,10 @@ }, "require-dev": { "spryker/application": "*", - "spryker/assertion": "*", "spryker/checkout": "*", - "spryker/code-sniffer": "*", - "spryker/config": "*", - "spryker/console": "*", "spryker/sales": "*", - "spryker/silex": "*", "spryker/testify": "*", - "spryker/twig": "*" + "spryker/zed-navigation": "*" }, "suggest": { "spryker/checkout": "If you want to use Checkout plugins.", @@ -8357,7 +8365,7 @@ "proprietary" ], "description": "Customer module", - "time": "2018-07-25T09:11:18+00:00" + "time": "2018-10-04T08:01:59+00:00" }, { "name": "spryker/customer-api", @@ -8917,16 +8925,16 @@ }, { "name": "spryker/discount", - "version": "6.3.2", + "version": "6.3.4", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "017adb5814a792b3e61af8110e35ecb2dbcacca8" + "reference": "c4024cde1e43e373f2a17cfad79f9e546d3fdeec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/017adb5814a792b3e61af8110e35ecb2dbcacca8", - "reference": "017adb5814a792b3e61af8110e35ecb2dbcacca8", + "url": "https://api.github.com/repos/spryker/discount/zipball/c4024cde1e43e373f2a17cfad79f9e546d3fdeec", + "reference": "c4024cde1e43e373f2a17cfad79f9e546d3fdeec", "shasum": "" }, "require": { @@ -8947,16 +8955,16 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { + "spryker/application": "*", "spryker/checkout": "*", "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*", - "spryker/transfer": "*" + "spryker/zed-navigation": "*" }, "suggest": { - "spryker/checkout": "If you want to use Checkout plugins.", - "spryker/store": "StoreQuoteTransferExpander plugin can help to populate current Store into Quote, minimum required version: 1.4.0" + "spryker/checkout": "If you want to use Checkout plugins." }, "type": "library", "extra": { @@ -8975,7 +8983,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-08-03T12:00:35+00:00" + "time": "2018-10-08T07:27:26+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -9476,16 +9484,16 @@ }, { "name": "spryker/flysystem", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker/flysystem.git", - "reference": "afc7a133f7058bfaba1ae7578abaa763eb854b0c" + "reference": "4ec333b71ae49ed3993b93b2953d0c88e1d2fa8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/flysystem/zipball/afc7a133f7058bfaba1ae7578abaa763eb854b0c", - "reference": "afc7a133f7058bfaba1ae7578abaa763eb854b0c", + "url": "https://api.github.com/repos/spryker/flysystem/zipball/4ec333b71ae49ed3993b93b2953d0c88e1d2fa8b", + "reference": "4ec333b71ae49ed3993b93b2953d0c88e1d2fa8b", "shasum": "" }, "require": { @@ -9495,8 +9503,8 @@ "spryker/kernel": "^3.5.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/flysystem-local-file-system": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "suggest": { @@ -9520,7 +9528,7 @@ "proprietary" ], "description": "Flysystem module", - "time": "2018-08-13T09:56:14+00:00" + "time": "2018-10-08T08:29:08+00:00" }, { "name": "spryker/flysystem-aws3v3-file-system", @@ -9929,16 +9937,16 @@ }, { "name": "spryker/glue-application", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/spryker/glue-application.git", - "reference": "40999695a3a3820edfff7138f5ca3cdb2036909b" + "reference": "9045e667634ab5d339ed18eb08b2ec1a8ce43560" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glue-application/zipball/40999695a3a3820edfff7138f5ca3cdb2036909b", - "reference": "40999695a3a3820edfff7138f5ca3cdb2036909b", + "url": "https://api.github.com/repos/spryker/glue-application/zipball/9045e667634ab5d339ed18eb08b2ec1a8ce43560", + "reference": "9045e667634ab5d339ed18eb08b2ec1a8ce43560", "shasum": "" }, "require": { @@ -9980,7 +9988,7 @@ "proprietary" ], "description": "GlueApplication module", - "time": "2018-10-01T14:10:26+00:00" + "time": "2018-10-02T15:56:35+00:00" }, { "name": "spryker/glue-application-extension", @@ -12351,16 +12359,16 @@ }, { "name": "spryker/product", - "version": "6.6.1", + "version": "6.6.2", "source": { "type": "git", "url": "https://github.com/spryker/product.git", - "reference": "912134c116379f58a1556c339bd27030ce8dd2b4" + "reference": "13654561aa41fca63399864efe2021811704b4e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product/zipball/912134c116379f58a1556c339bd27030ce8dd2b4", - "reference": "912134c116379f58a1556c339bd27030ce8dd2b4", + "url": "https://api.github.com/repos/spryker/product/zipball/13654561aa41fca63399864efe2021811704b4e0", + "reference": "13654561aa41fca63399864efe2021811704b4e0", "shasum": "" }, "require": { @@ -12399,7 +12407,7 @@ "proprietary" ], "description": "Product module", - "time": "2018-10-02T06:35:14+00:00" + "time": "2018-10-05T17:01:48+00:00" }, { "name": "spryker/product-abstract-data-feed", @@ -15931,16 +15939,16 @@ }, { "name": "spryker/propel", - "version": "3.6.0", + "version": "3.6.1", "source": { "type": "git", "url": "https://github.com/spryker/propel.git", - "reference": "b92dca9747b4439b7a465eeb2ddaedaf40c73a66" + "reference": "29b4f609132c9bab4389de768bc054a2c80a5a95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/propel/zipball/b92dca9747b4439b7a465eeb2ddaedaf40c73a66", - "reference": "b92dca9747b4439b7a465eeb2ddaedaf40c73a66", + "url": "https://api.github.com/repos/spryker/propel/zipball/29b4f609132c9bab4389de768bc054a2c80a5a95", + "reference": "29b4f609132c9bab4389de768bc054a2c80a5a95", "shasum": "" }, "require": { @@ -15979,7 +15987,7 @@ "proprietary" ], "description": "Propel module", - "time": "2018-10-02T10:56:18+00:00" + "time": "2018-10-05T10:18:49+00:00" }, { "name": "spryker/propel-orm", @@ -16431,16 +16439,16 @@ }, { "name": "spryker/sales", - "version": "8.14.0", + "version": "8.14.1", "source": { "type": "git", "url": "https://github.com/spryker/sales.git", - "reference": "71ca4fdce328ad9ceeb3102987c21061cb0701ab" + "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales/zipball/71ca4fdce328ad9ceeb3102987c21061cb0701ab", - "reference": "71ca4fdce328ad9ceeb3102987c21061cb0701ab", + "url": "https://api.github.com/repos/spryker/sales/zipball/6279109071a45e2f5f9792c44c5e0de269d9018f", + "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f", "shasum": "" }, "require": { @@ -16497,7 +16505,7 @@ "proprietary" ], "description": "Sales module", - "time": "2018-10-02T12:54:26+00:00" + "time": "2018-10-05T18:19:18+00:00" }, { "name": "spryker/sales-extension", @@ -16587,6 +16595,53 @@ "description": "SalesProductConnector module", "time": "2018-01-24T11:43:27+00:00" }, + { + "name": "spryker/sales-quantity", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-quantity.git", + "reference": "539f660e70ad7293a439257e763ee430c2f98062" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-quantity/zipball/539f660e70ad7293a439257e763ee430c2f98062", + "reference": "539f660e70ad7293a439257e763ee430c2f98062", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/discount-extension": "^1.0.0", + "spryker/kernel": "^3.17.0", + "spryker/product": "^6.0.0", + "spryker/sales-extension": "^1.0.0" + }, + "require-dev": { + "spryker/cart": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/cart": "If you want to use cart plugins: ^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesQuantity module", + "time": "2018-07-31T09:22:49+00:00" + }, { "name": "spryker/sales-reclamation", "version": "0.3.0", @@ -17279,19 +17334,20 @@ }, { "name": "spryker/state-machine", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", - "url": "https://github.com/spryker/StateMachine.git", - "reference": "3983ca02405b39c9020051898fd7ff0117dc8f6a" + "url": "https://github.com/spryker/state-machine.git", + "reference": "aad45f29d5bcaa4e098bc189d03353a4263e82db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/StateMachine/zipball/3983ca02405b39c9020051898fd7ff0117dc8f6a", - "reference": "3983ca02405b39c9020051898fd7ff0117dc8f6a", + "url": "https://api.github.com/repos/spryker/state-machine/zipball/aad45f29d5bcaa4e098bc189d03353a4263e82db", + "reference": "aad45f29d5bcaa4e098bc189d03353a4263e82db", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/graph": "^3.0.0", "spryker/kernel": "^3.0.0", "spryker/propel-orm": "^1.0.0", @@ -17300,9 +17356,7 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "type": "library", @@ -17321,7 +17375,7 @@ "proprietary" ], "description": "StateMachine module", - "time": "2017-12-05T11:21:42+00:00" + "time": "2018-10-04T19:43:28+00:00" }, { "name": "spryker/step-engine", @@ -17458,16 +17512,16 @@ }, { "name": "spryker/storage", - "version": "3.4.1", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/spryker/storage.git", - "reference": "461a8a7483fa793d81d37b3eeadc86983aa60788" + "reference": "d51cbfc994551834c4d18d057c8ff79280633ab6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/storage/zipball/461a8a7483fa793d81d37b3eeadc86983aa60788", - "reference": "461a8a7483fa793d81d37b3eeadc86983aa60788", + "url": "https://api.github.com/repos/spryker/storage/zipball/d51cbfc994551834c4d18d057c8ff79280633ab6", + "reference": "d51cbfc994551834c4d18d057c8ff79280633ab6", "shasum": "" }, "require": { @@ -17505,7 +17559,7 @@ "proprietary" ], "description": "Storage module", - "time": "2018-09-20T13:14:36+00:00" + "time": "2018-10-08T09:32:54+00:00" }, { "name": "spryker/store", @@ -18733,16 +18787,16 @@ }, { "name": "spryker/wishlist", - "version": "6.1.2", + "version": "6.2.0", "source": { "type": "git", "url": "https://github.com/spryker/wishlist.git", - "reference": "1b2191ffc9c7faca544196d120c1f0c3a75a3714" + "reference": "e97db51917cc57c718f5eb3135e23b9a3e190237" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/wishlist/zipball/1b2191ffc9c7faca544196d120c1f0c3a75a3714", - "reference": "1b2191ffc9c7faca544196d120c1f0c3a75a3714", + "url": "https://api.github.com/repos/spryker/wishlist/zipball/e97db51917cc57c718f5eb3135e23b9a3e190237", + "reference": "e97db51917cc57c718f5eb3135e23b9a3e190237", "shasum": "" }, "require": { @@ -18777,7 +18831,7 @@ "proprietary" ], "description": "Wishlist module", - "time": "2018-10-02T14:57:01+00:00" + "time": "2018-10-02T15:56:35+00:00" }, { "name": "spryker/wishlist-extension", @@ -23935,16 +23989,16 @@ }, { "name": "slevomat/coding-standard", - "version": "4.8.4", + "version": "4.8.5", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "bc8a02f25e03eb5481c4976cc615621cdd75aef9" + "reference": "057f3f154cf4888b60eb4cdffadc509a3ae9dccd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/bc8a02f25e03eb5481c4976cc615621cdd75aef9", - "reference": "bc8a02f25e03eb5481c4976cc615621cdd75aef9", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/057f3f154cf4888b60eb4cdffadc509a3ae9dccd", + "reference": "057f3f154cf4888b60eb4cdffadc509a3ae9dccd", "shasum": "" }, "require": { @@ -23970,7 +24024,7 @@ "MIT" ], "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "time": "2018-10-01T20:16:49+00:00" + "time": "2018-10-05T12:10:21+00:00" }, { "name": "sllh/composer-versions-check", diff --git a/src/Pyz/Zed/Cart/CartDependencyProvider.php b/src/Pyz/Zed/Cart/CartDependencyProvider.php index a0e307907b..0c5a5566b0 100644 --- a/src/Pyz/Zed/Cart/CartDependencyProvider.php +++ b/src/Pyz/Zed/Cart/CartDependencyProvider.php @@ -33,6 +33,7 @@ use Spryker\Zed\ProductOptionCartConnector\Communication\Plugin\ProductOptionValuePriceExistsCartPreCheckPlugin; use Spryker\Zed\ProductQuantity\Communication\Plugin\Cart\ProductQuantityRestrictionCartPreCheckPlugin; use Spryker\Zed\ProductQuantity\Communication\Plugin\CartExtension\ProductQuantityRestrictionCartRemovalPreCheckPlugin; +use Spryker\Zed\SalesQuantity\Communication\Plugin\Cart\IsQuantitySplittableItemExpanderPlugin; use Spryker\Zed\ShipmentCartConnector\Communication\Plugin\Cart\CartShipmentExpanderPlugin; use Spryker\Zed\ShipmentCartConnector\Communication\Plugin\Cart\CartShipmentPreCheckPlugin; @@ -47,6 +48,7 @@ protected function getExpanderPlugins(Container $container) { return [ new ProductCartPlugin(), + new IsQuantitySplittableItemExpanderPlugin(), new CartItemPricePlugin(), new CartItemProductOptionPlugin(), new ExpandBundleItemsPlugin(), diff --git a/src/Pyz/Zed/Discount/DiscountDependencyProvider.php b/src/Pyz/Zed/Discount/DiscountDependencyProvider.php index 923bcab6ee..daa6dfda06 100644 --- a/src/Pyz/Zed/Discount/DiscountDependencyProvider.php +++ b/src/Pyz/Zed/Discount/DiscountDependencyProvider.php @@ -22,6 +22,7 @@ use Spryker\Zed\ProductDiscountConnector\Communication\Plugin\DecisionRule\ProductAttributeDecisionRulePlugin; use Spryker\Zed\ProductLabelDiscountConnector\Communication\Plugin\Collector\ProductLabelCollectorPlugin; use Spryker\Zed\ProductLabelDiscountConnector\Communication\Plugin\DecisionRule\ProductLabelDecisionRulePlugin; +use Spryker\Zed\SalesQuantity\Communication\Plugin\DiscountExtension\NonSplittableDiscountableItemTransformerStrategyPlugin; use Spryker\Zed\ShipmentDiscountConnector\Communication\Plugin\DecisionRule\ShipmentCarrierDecisionRulePlugin; use Spryker\Zed\ShipmentDiscountConnector\Communication\Plugin\DecisionRule\ShipmentMethodDecisionRulePlugin; use Spryker\Zed\ShipmentDiscountConnector\Communication\Plugin\DecisionRule\ShipmentPriceDecisionRulePlugin; @@ -158,4 +159,14 @@ protected function getStoreRelationFormTypePlugin() { return new StoreRelationToggleFormTypePlugin(); } + + /** + * @return \Spryker\Zed\DiscountExtension\Dependency\Plugin\DiscountableItemTransformerStrategyPluginInterface[] + */ + protected function getDiscountableItemTransformerStrategyPlugins(): array + { + return [ + new NonSplittableDiscountableItemTransformerStrategyPlugin(), + ]; + } } diff --git a/src/Pyz/Zed/Sales/SalesDependencyProvider.php b/src/Pyz/Zed/Sales/SalesDependencyProvider.php index b9580d95c8..723c1561b8 100644 --- a/src/Pyz/Zed/Sales/SalesDependencyProvider.php +++ b/src/Pyz/Zed/Sales/SalesDependencyProvider.php @@ -19,6 +19,8 @@ use Spryker\Zed\Sales\SalesDependencyProvider as SprykerSalesDependencyProvider; use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\ItemMetadataHydratorPlugin; use Spryker\Zed\SalesProductConnector\Communication\Plugin\Sales\ProductIdHydratorPlugin; +use Spryker\Zed\SalesQuantity\Communication\Plugin\SalesExtension\IsQuantitySplittableOrderItemExpanderPreSavePlugin; +use Spryker\Zed\SalesQuantity\Communication\Plugin\SalesExtension\NonSplittableItemTransformerStrategyPlugin; use Spryker\Zed\SalesReclamation\Communication\Plugin\SalesTablePlugin; use Spryker\Zed\Shipment\Communication\Plugin\ShipmentOrderHydratePlugin; @@ -60,6 +62,17 @@ protected function getOrderHydrationPlugins() protected function getOrderItemExpanderPreSavePlugins() { return [ + new IsQuantitySplittableOrderItemExpanderPreSavePlugin(), + ]; + } + + /** + * @return \Spryker\Zed\SalesExtension\Dependency\Plugin\ItemTransformerStrategyPluginInterface[] + */ + public function getItemTransformerStrategyPlugins(): array + { + return [ + new NonSplittableItemTransformerStrategyPlugin(), ]; } diff --git a/src/Pyz/Zed/SalesQuantity/SalesQuantityConfig.php b/src/Pyz/Zed/SalesQuantity/SalesQuantityConfig.php new file mode 100644 index 0000000000..54f4008910 --- /dev/null +++ b/src/Pyz/Zed/SalesQuantity/SalesQuantityConfig.php @@ -0,0 +1,18 @@ + Date: Tue, 9 Oct 2018 12:43:34 +0000 Subject: [PATCH 13/91] SUITE-736: update composer, update dependecy providers, update configs --- composer.json | 130 ++--- composer.lock | 472 ++++++++++-------- package-lock.json | 150 +++--- .../Customer/CustomerDependencyProvider.php | 2 +- .../Flysystem/FlysystemDependencyProvider.php | 33 ++ .../Theme/default/views/cart/cart.twig | 87 ++++ .../CalculationDependencyProvider.php | 2 + .../Checkout/CheckoutDependencyProvider.php | 2 +- .../PersistentCartDependencyProvider.php | 38 ++ .../Zed/Product/ProductDependencyProvider.php | 10 - .../ProductCategoryStorageConfig.php | 22 + .../ProductGroupStorageConfig.php | 22 + .../ProductImageStorageConfig.php | 22 + .../ProductLabelStorageConfig.php | 30 ++ .../ProductOptionStorageConfig.php | 22 + .../Schema/spy_product_quantity.schema.xml | 14 + .../ProductRelationStorageConfig.php | 22 + .../ProductReviewSearchConfig.php | 22 + .../ProductReviewStorageConfig.php | 22 + .../ProductSearchConfigStorageConfig.php | 22 + .../ProductSetPageSearchConfig.php | 22 + .../ProductSetStorageConfig.php | 22 + .../ProductStorage/ProductStorageConfig.php | 30 ++ .../SynchronizationDependencyProvider.php | 4 - .../Wishlist/WishlistDependencyProvider.php | 11 + 25 files changed, 865 insertions(+), 370 deletions(-) create mode 100644 src/Pyz/Service/Flysystem/FlysystemDependencyProvider.php create mode 100644 src/Pyz/Yves/CartPage/Theme/default/views/cart/cart.twig create mode 100644 src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php create mode 100755 src/Pyz/Zed/ProductCategoryStorage/ProductCategoryStorageConfig.php create mode 100755 src/Pyz/Zed/ProductGroupStorage/ProductGroupStorageConfig.php create mode 100755 src/Pyz/Zed/ProductImageStorage/ProductImageStorageConfig.php create mode 100644 src/Pyz/Zed/ProductLabelStorage/ProductLabelStorageConfig.php create mode 100644 src/Pyz/Zed/ProductOptionStorage/ProductOptionStorageConfig.php create mode 100755 src/Pyz/Zed/ProductQuantity/Persistence/Propel/Schema/spy_product_quantity.schema.xml create mode 100644 src/Pyz/Zed/ProductRelationStorage/ProductRelationStorageConfig.php create mode 100644 src/Pyz/Zed/ProductReviewSearch/ProductReviewSearchConfig.php create mode 100644 src/Pyz/Zed/ProductReviewStorage/ProductReviewStorageConfig.php create mode 100644 src/Pyz/Zed/ProductSearchConfigStorage/ProductSearchConfigStorageConfig.php create mode 100644 src/Pyz/Zed/ProductSetPageSearch/ProductSetPageSearchConfig.php create mode 100644 src/Pyz/Zed/ProductSetStorage/ProductSetStorageConfig.php create mode 100644 src/Pyz/Zed/ProductStorage/ProductStorageConfig.php diff --git a/composer.json b/composer.json index 513497c0f1..1172661b0d 100644 --- a/composer.json +++ b/composer.json @@ -20,11 +20,11 @@ "spryker-shop/availability-widget": "^1.0.0", "spryker-shop/calculation-page": "^1.0.0", "spryker-shop/cart-note-widget": "^1.0.0", - "spryker-shop/cart-page": "^1.0.0", + "spryker-shop/cart-page": "^1.3.0", "spryker-shop/catalog-page": "^1.2.0", "spryker-shop/category-widget": "^1.0.0", "spryker-shop/chart-widget": "^0.1.0", - "spryker-shop/checkout-page": "^1.0.0", + "spryker-shop/checkout-page": "^1.4.0", "spryker-shop/checkout-widget": "^1.0.0", "spryker-shop/cms-block-widget": "^1.0.0", "spryker-shop/cms-content-widget-chart-connector": "^1.0", @@ -32,136 +32,136 @@ "spryker-shop/cms-content-widget-product-set-connector": "^1.0.0", "spryker-shop/cms-page": "^1.0.0", "spryker-shop/currency-widget": "^1.0.0", - "spryker-shop/customer-page": "^1.0.0", - "spryker-shop/customer-page-extension": "^1.0.0", - "spryker-shop/customer-reorder-widget": "^3.0.0", - "spryker-shop/discount-promotion-widget": "^1.0.0", + "spryker-shop/customer-page": "^1.7.0", + "spryker-shop/customer-page-extension": "^1.2.0", + "spryker-shop/customer-reorder-widget": "^3.1.0", + "spryker-shop/discount-promotion-widget": "^1.1.0", "spryker-shop/discount-widget": "^1.0.0", "spryker-shop/error-page": "^1.0.0", "spryker-shop/heartbeat-page": "^1.0.0", "spryker-shop/home-page": "^1.0.0", "spryker-shop/language-switcher-widget": "^1.0.0", - "spryker-shop/money-widget": "^1.0.0", + "spryker-shop/money-widget": "^1.1.0", "spryker-shop/navigation-widget": "^1.0.0", "spryker-shop/newsletter-page": "^1.0.0", "spryker-shop/newsletter-widget": "^1.0.0", "spryker-shop/price-widget": "^1.0.0", - "spryker-shop/product-alternative-widget": "^1.0", + "spryker-shop/product-alternative-widget": "^1.0.0", "spryker-shop/product-barcode-widget": "^1.0.0", "spryker-shop/product-bundle-widget": "^1.0.0", "spryker-shop/product-category-widget": "^1.0.0", - "spryker-shop/product-detail-page": "^1.0.0", + "spryker-shop/product-detail-page": "^1.4.0", "spryker-shop/product-discontinued-widget": "^1.0", - "spryker-shop/product-group-widget": "^1.0.0", + "spryker-shop/product-group-widget": "^1.1.0", "spryker-shop/product-image-widget": "^1.0.0", "spryker-shop/product-label-widget": "^1.0.0", "spryker-shop/product-new-page": "^1.0.0", "spryker-shop/product-option-widget": "^1.0.0", "spryker-shop/product-relation-widget": "^1.0.0", "spryker-shop/product-review-widget": "^1.0.0", - "spryker-shop/product-set-detail-page": "^1.0.0", + "spryker-shop/product-set-detail-page": "^1.1.0", "spryker-shop/product-set-list-page": "^1.0.0", "spryker-shop/product-set-widget": "^1.0.0", - "spryker-shop/product-widget": "^1.0.0", + "spryker-shop/product-widget": "^1.1.0", "spryker-shop/redirect-page": "^1.0.0", - "spryker-shop/shop-application": "^1.0.0", + "spryker-shop/shop-application": "^1.2.0", "spryker-shop/shop-application-extension": "^1.0.0", "spryker-shop/shop-router": "^1.0.0", "spryker-shop/shop-router-extension": "^1.0.0", "spryker-shop/shop-translator": "^1.0.0", - "spryker-shop/shop-ui": "^1.0.0", + "spryker-shop/shop-ui": "^1.6.0", "spryker-shop/shop-ui-extension": "1.0.0", "spryker-shop/web-profiler-widget": "^1.0.0", - "spryker-shop/wishlist-page": "^1.0.0", + "spryker-shop/wishlist-page": "^1.2.0", "spryker-shop/wishlist-widget": "^1.0.0", "spryker/acl": "^3.0.0", "spryker/agent": "^1.0.0", "spryker/agent-gui": "^1.0.0", "spryker/api": "^0.1.0", "spryker/api-query-builder": "^0.1.0", - "spryker/application": "^3.0.0", + "spryker/application": "^3.9.0", "spryker/assertion": "^3.0.0", "spryker/auth": "^3.0.0", "spryker/auth-mail-connector": "^3.0.0", - "spryker/availability": "^6.0.0", - "spryker/availability-cart-connector": "^4.0.0", + "spryker/availability": "^6.3.0", + "spryker/availability-cart-connector": "^4.2.0", "spryker/availability-data-feed": "^0.1.0", "spryker/availability-gui": "^3.0.0", "spryker/availability-offer-connector": "^1.0.0", - "spryker/availability-storage": "^1.0.0", + "spryker/availability-storage": "^1.1.0", "spryker/barcode": "^1.0.0", "spryker/barcode-extension": "^1.0.0", - "spryker/cache": "^3.0.0", - "spryker/calculation": "^4.0.0", + "spryker/cache": "^3.1.0", + "spryker/calculation": "^4.4.0", "spryker/cart": "^5.4.0", "spryker/cart-currency-connector": "^1.0.0", - "spryker/cart-extension": "^2.0.0", + "spryker/cart-extension": "^2.1.0", "spryker/cart-note": "^0.1.0", "spryker/cart-note-extension": "^1.0.0", "spryker/cart-note-product-bundle-connector": "^0.1.0", "spryker/cart-variant": "^1.0.0", - "spryker/catalog": "^5.0.0", - "spryker/catalog-price-product-connector": "^1.0.0", + "spryker/catalog": "^5.3.0", + "spryker/catalog-price-product-connector": "^1.2.0", "spryker/catalog-search-rest-api": "^1.1.0", - "spryker/category": "^4.0.0", + "spryker/category": "^4.8.0", "spryker/category-data-feed": "^0.2.0", "spryker/category-data-import": "^0.2.0", "spryker/category-exporter": "^3.0.0", "spryker/category-navigation-connector": "^1.0.0", "spryker/category-page-search": "^1.0.0", - "spryker/category-storage": "^1.0.0", + "spryker/category-storage": "^1.1.0", "spryker/chart": "^1.0", - "spryker/checkout": "^4.0.0", - "spryker/cms": "^6.0.0", + "spryker/checkout": "^4.1.0", + "spryker/cms": "^6.5.0", "spryker/cms-block": "^2.0.0", - "spryker/cms-block-category-connector": "^2.0.0", + "spryker/cms-block-category-connector": "^2.1.0", "spryker/cms-block-category-storage": "^1.0.0", "spryker/cms-block-collector": "^2.0.0", "spryker/cms-block-gui": "^2.0.0", - "spryker/cms-block-product-connector": "^1.0.0", + "spryker/cms-block-product-connector": "^1.1.0", "spryker/cms-block-product-storage": "^1.0.0", "spryker/cms-block-storage": "^1.0.0", "spryker/cms-collector": "^2.0.0", - "spryker/cms-content-widget": "^1.0.0", + "spryker/cms-content-widget": "^1.2.0", "spryker/cms-content-widget-product-connector": "^1.0.0", "spryker/cms-content-widget-product-group-connector": "^1.0.0", "spryker/cms-content-widget-product-set-connector": "^1.0.0", - "spryker/cms-gui": "^4.0.0", + "spryker/cms-gui": "^4.3.0", "spryker/cms-navigation-connector": "^1.0.0", "spryker/cms-page-search": "^1.0.0", "spryker/cms-storage": "^1.0.0", "spryker/cms-user-connector": "^1.0.0", "spryker/code-it-now": "^1.0.0", - "spryker/collector": "^6.0.0", + "spryker/collector": "^6.1.0", "spryker/collector-search-connector": "^1.0.0", "spryker/collector-storage-connector": "^1.0.0", - "spryker/config": "^3.0.0", + "spryker/config": "^3.1.0", "spryker/console": "^4.0.0", - "spryker/country": "^3.0.0", + "spryker/country": "^3.2.0", "spryker/csv": "^3.0.0", - "spryker/currency": "^3.0.0", + "spryker/currency": "^3.5.0", "spryker/currency-extension": "^1.0.0", - "spryker/customer": "^7.10.0", + "spryker/customer": "^7.11.0", "spryker/customer-api": "^0.1.0", "spryker/customer-extension": "^1.0.0", - "spryker/customer-group": "^2.0.0", + "spryker/customer-group": "^2.2.0", "spryker/customer-group-discount-connector": "^2.0.0", "spryker/customer-note-gui": "^1.0.0", "spryker/customer-offer-connector": "^1.0.0", "spryker/customer-user-connector": "^1.0.0", "spryker/customer-user-connector-gui": "^1.0.0", "spryker/dashboard": "^1.0", - "spryker/data-import": "^1.0.0", - "spryker/discount": "^6.0.0", + "spryker/data-import": "^1.4.0", + "spryker/discount": "^6.3.0", "spryker/discount-calculation-connector": "^5.0.0", "spryker/discount-extension": "^1.0.0", - "spryker/discount-promotion": "^1.0.0", - "spryker/dummy-payment": "^2.0.0", + "spryker/discount-promotion": "^1.1.0", + "spryker/dummy-payment": "^2.3.0", "spryker/egulias": "^1.0.0", "spryker/elastica": "^4.0.0", - "spryker/error-handler": "^2.0.0", - "spryker/event": "^2.0.0", - "spryker/event-behavior": "^1.0.0", + "spryker/error-handler": "^2.3.0", + "spryker/event": "^2.3.0", + "spryker/event-behavior": "^1.1.0", "spryker/event-journal": "^3.0.0", "spryker/file-system": "^1.0.0", "spryker/flysystem": "^1.0.0", @@ -171,28 +171,28 @@ "spryker/gift-card": "^1.0.0", "spryker/gift-card-balance": "^1.0.0", "spryker/gift-card-mail-connector": "^1.0.0", - "spryker/glossary": "^3.0.0", + "spryker/glossary": "^3.3.0", "spryker/glossary-storage": "^1.0.0", "spryker/graph": "^3.0.0", "spryker/graphviz": "^2.0.0", - "spryker/gui": "^3.0.0", - "spryker/guzzle": "^2.0.0", - "spryker/heartbeat": "^3.0.0", + "spryker/gui": "^3.13.0", + "spryker/guzzle": "^2.2.0", + "spryker/heartbeat": "^3.2.0", "spryker/install": "^0.5.0", "spryker/installer": "^4.0.0", "spryker/invoice": "^2.0.0", - "spryker/kernel": "^3.0.0", + "spryker/kernel": "^3.24.0", "spryker/key-builder": "^1.0.0", - "spryker/locale": "^3.0.0", - "spryker/log": "^3.0.0", + "spryker/locale": "^3.1.0", + "spryker/log": "^3.5.0", "spryker/mail": "^4.0.0", - "spryker/maintenance": "^3.0.0", + "spryker/maintenance": "^3.1.0", "spryker/mandrill": "^2.0.0", - "spryker/manual-order-entry": "^1.0.0", + "spryker/manual-order-entry": "^1.1.0", "spryker/manual-order-entry-gui": "^0.5.0", "spryker/manual-order-entry-gui-extension": "^1.0.0", - "spryker/messenger": "^3.0.0", - "spryker/money": "^2.0.0", + "spryker/messenger": "^3.1.0", + "spryker/money": "^2.4.0", "spryker/monolog": "^2.0.0", "spryker/navigation": "^2.0.0", "spryker/navigation-collector": "^1.0.0", @@ -213,7 +213,7 @@ "spryker/persistent-cart-extension": "^1.0.0", "spryker/pimple": "^2.0.0", "spryker/price": "^5.3.0", - "spryker/price-cart-connector": "^4.0.0", + "spryker/price-cart-connector": "^4.5.0", "spryker/price-data-feed": "^0.2.0", "spryker/price-extension": "^1.0.0", "spryker/price-product": "^2.0.0", @@ -241,13 +241,13 @@ "spryker/product-category-filter-gui": "^1.0.0", "spryker/product-category-filter-storage": "^1.0.0", "spryker/product-category-storage": "^1.0.0", - "spryker/product-discontinued": "^1.0", - "spryker/product-discontinued-data-import": "^1.0", - "spryker/product-discontinued-extension": "^1.0", - "spryker/product-discontinued-gui": "^1.0", - "spryker/product-discontinued-product-bundle-connector": "^1.0", - "spryker/product-discontinued-product-label-connector": "^1.0", - "spryker/product-discontinued-storage": "^1.0", + "spryker/product-discontinued": "^1.0.0", + "spryker/product-discontinued-data-import": "^1.0.0", + "spryker/product-discontinued-extension": "^1.0.0", + "spryker/product-discontinued-gui": "^1.0.0", + "spryker/product-discontinued-product-bundle-connector": "^1.0.0", + "spryker/product-discontinued-product-label-connector": "^1.0.0", + "spryker/product-discontinued-storage": "^1.0.0", "spryker/product-discount-connector": "^3.0.0", "spryker/product-group": "^1.0.0", "spryker/product-group-collector": "^1.0.0", @@ -266,7 +266,7 @@ "spryker/product-option": "^6.0.0", "spryker/product-option-cart-connector": "^5.0.0", "spryker/product-option-storage": "^1.0.0", - "spryker/product-page-search": "^2.2", + "spryker/product-page-search": "^2.2.0", "spryker/product-quantity": "^1.0.0", "spryker/product-quantity-data-import": "^1.0.0", "spryker/product-quantity-storage": "^1.0.0", diff --git a/composer.lock b/composer.lock index d3c15d9124..ca7fd0a875 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "b94c226e8f47611359c72cf525944884", + "content-hash": "1f9f17855019872e3d436f21000bf43b", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.69.1", + "version": "3.69.2", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "975bdc3181d08438174ce70cf25e361e18506242" + "reference": "65c88e074dffe4cb25b840c154b2f39564b39287" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/975bdc3181d08438174ce70cf25e361e18506242", - "reference": "975bdc3181d08438174ce70cf25e361e18506242", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/65c88e074dffe4cb25b840c154b2f39564b39287", + "reference": "65c88e074dffe4cb25b840c154b2f39564b39287", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-05T21:06:02+00:00" + "time": "2018-10-08T20:05:34+00:00" }, { "name": "codeitnowin/barcode", @@ -897,6 +897,48 @@ ], "time": "2014-10-12T19:18:40+00:00" }, + { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" + ], + "time": "2014-11-20T16:49:30+00:00" + }, { "name": "league/csv", "version": "9.1.4", @@ -3424,16 +3466,16 @@ }, { "name": "spryker-shop/money-widget", - "version": "1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/money-widget.git", - "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f" + "reference": "032389911616d0e30c36d192d9e9da9ce7e5b7cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/a8e74d309802c11dd4b0d69014e2d59b5b6f616f", - "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f", + "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/032389911616d0e30c36d192d9e9da9ce7e5b7cd", + "reference": "032389911616d0e30c36d192d9e9da9ce7e5b7cd", "shasum": "" }, "require": { @@ -3444,7 +3486,9 @@ "spryker/money": "^2.4.0" }, "require-dev": { + "spryker/code-sniffer": "*", "spryker/silex": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { @@ -3467,7 +3511,7 @@ "proprietary" ], "description": "MoneyWidget module", - "time": "2018-08-13T10:09:34+00:00" + "time": "2018-10-08T17:24:33+00:00" }, { "name": "spryker-shop/navigation-widget", @@ -5158,19 +5202,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Api module", - "support": { - "source": "https://github.com/spryker/Api/tree/master" - }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5312,19 +5348,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", - "support": { - "source": "https://github.com/spryker/Assertion/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5828,14 +5856,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", - "support": { - "source": "https://github.com/spryker/Cache/tree/3.1.0" - }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6562,14 +6587,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", - "support": { - "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" - }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -7825,19 +7847,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", - "support": { - "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" - }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8410,19 +8424,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", - "support": { - "source": "https://github.com/spryker/CustomerApi/tree/master" - }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -9207,14 +9213,11 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Egulias module", - "support": { - "source": "https://github.com/spryker/Egulias/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -10072,19 +10075,11 @@ "Function": "tests/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", - "support": { - "source": "https://github.com/spryker/Graph/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10110,14 +10105,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", - "support": { - "source": "https://github.com/spryker/Graphviz/tree/2.0.1" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10362,20 +10354,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/", - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", - "support": { - "source": "https://github.com/spryker/Invoice/tree/2.0.1" - }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -11930,14 +11913,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", - "support": { - "source": "https://github.com/spryker/Pimple/tree/2.0.0" - }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -14892,16 +14872,16 @@ }, { "name": "spryker/product-quantity-data-import", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker/product-quantity-data-import.git", - "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05" + "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/d8fccccfc1db9ca48121a32af6a698203fa7aa05", - "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05", + "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/51d75b2ad870a36bfb0da6c793db42fec8ea8581", + "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581", "shasum": "" }, "require": { @@ -14913,6 +14893,7 @@ }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -14929,10 +14910,10 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "proprietary" + "MIT" ], "description": "ProductQuantityDataImport module", - "time": "2018-06-04T14:08:46+00:00" + "time": "2018-10-02T20:21:20+00:00" }, { "name": "spryker/product-quantity-storage", @@ -16329,14 +16310,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", - "support": { - "source": "https://github.com/spryker/Redis/tree/2.0.1" - }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16379,22 +16357,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", - "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", - "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Refund module", - "support": { - "source": "https://github.com/spryker/Refund/tree/master" - }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -16644,16 +16611,16 @@ }, { "name": "spryker/sales-reclamation", - "version": "0.3.0", + "version": "0.3.1", "source": { "type": "git", "url": "https://github.com/spryker/sales-reclamation.git", - "reference": "1de516c900934ddd7fc96723b92bf5ee303776e8" + "reference": "d9bb8254b94a26866b7c2a1bf677976e4acc3f7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-reclamation/zipball/1de516c900934ddd7fc96723b92bf5ee303776e8", - "reference": "1de516c900934ddd7fc96723b92bf5ee303776e8", + "url": "https://api.github.com/repos/spryker/sales-reclamation/zipball/d9bb8254b94a26866b7c2a1bf677976e4acc3f7f", + "reference": "d9bb8254b94a26866b7c2a1bf677976e4acc3f7f", "shasum": "" }, "require": { @@ -16691,7 +16658,7 @@ "proprietary" ], "description": "SalesReclamation module", - "time": "2018-06-04T10:26:58+00:00" + "time": "2018-10-08T21:45:33+00:00" }, { "name": "spryker/sales-split", @@ -17279,14 +17246,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", - "support": { - "source": "https://github.com/spryker/Silex/tree/2.0.1" - }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -18441,19 +18405,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", - "support": { - "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18590,19 +18546,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilText module", - "support": { - "source": "https://github.com/spryker/UtilText/tree/master" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18679,19 +18627,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", - "support": { - "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -18775,14 +18715,11 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://code.spryker.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "WebProfiler module", - "support": { - "source": "https://github.com/spryker/WebProfiler/tree/1.0.0" - }, "time": "2018-01-10T11:59:45+00:00" }, { @@ -18999,14 +18936,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Zend module", - "support": { - "source": "https://github.com/spryker/Zend/tree/2.1.0" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -19550,29 +19484,31 @@ }, { "name": "symfony/http-foundation", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" + "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9fcce5f0b6896a135d192cc9fd5394fd46f74eff", + "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php54": "~1.0", + "symfony/polyfill-php55": "~1.0" }, "require-dev": { - "symfony/expression-language": "~2.8|~3.0" + "symfony/expression-language": "~2.4|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -19599,7 +19535,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2016-07-17T13:54:30+00:00" + "time": "2018-09-23T15:27:53+00:00" }, { "name": "symfony/http-kernel", @@ -20045,6 +19981,120 @@ ], "time": "2018-08-06T14:22:27+00:00" }, + { + "name": "symfony/polyfill-php54", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "412977e090c6a8472dc39d50d1beb7d59495a965" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/412977e090c6a8472dc39d50d1beb7d59495a965", + "reference": "412977e090c6a8472dc39d50d1beb7d59495a965", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-php55", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php55.git", + "reference": "578b8528da843de0fc65ec395900fa3181f2ead7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/578b8528da843de0fc65ec395900fa3181f2ead7", + "reference": "578b8528da843de0fc65ec395900fa3181f2ead7", + "shasum": "" + }, + "require": { + "ircmaxell/password-compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php55\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, { "name": "symfony/polyfill-php56", "version": "v1.9.0", @@ -20406,22 +20456,22 @@ }, { "name": "symfony/security", - "version": "v3.2.13", + "version": "v3.2.14", "source": { "type": "git", "url": "https://github.com/symfony/security.git", - "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c" + "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security/zipball/3f6e39f1918f009524e36a56f1609cf74a8cd47c", - "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c", + "url": "https://api.github.com/repos/symfony/security/zipball/9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", + "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", "shasum": "" }, "require": { "php": ">=5.5.9", "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", + "symfony/http-foundation": "~2.8.31|~3.2.14", "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-php56": "~1.0", "symfony/polyfill-php70": "~1.0", @@ -20480,7 +20530,7 @@ ], "description": "Symfony Security Component", "homepage": "https://symfony.com", - "time": "2017-07-29T21:27:41+00:00" + "time": "2017-11-16T17:55:54+00:00" }, { "name": "symfony/serializer", @@ -20631,33 +20681,29 @@ }, { "name": "symfony/twig-bridge", - "version": "v3.3.18", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "c4f577a8043b175353e19ce003b637aff2130c57" + "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c4f577a8043b175353e19ce003b637aff2130c57", - "reference": "c4f577a8043b175353e19ce003b637aff2130c57", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", + "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "twig/twig": "~1.34|~2.4" - }, - "conflict": { - "symfony/form": "<3.2.10|~3.3,<3.3.3" + "php": ">=5.5.9", + "twig/twig": "~1.23|~2.0" }, "require-dev": { "symfony/asset": "~2.8|~3.0", "symfony/console": "~2.8|~3.0", "symfony/expression-language": "~2.8|~3.0", "symfony/finder": "~2.8|~3.0", - "symfony/form": "^3.2.10|^3.3.3", - "symfony/http-foundation": "^3.3.11", - "symfony/http-kernel": "~3.2", + "symfony/form": "~3.0.4", + "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-intl-icu": "~1.0", "symfony/routing": "~2.8|~3.0", "symfony/security": "~2.8|~3.0", @@ -20665,9 +20711,7 @@ "symfony/stopwatch": "~2.8|~3.0", "symfony/templating": "~2.8|~3.0", "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2", - "symfony/web-link": "~3.3", - "symfony/workflow": "~3.3", + "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", "symfony/yaml": "~2.8|~3.0" }, "suggest": { @@ -20682,13 +20726,12 @@ "symfony/templating": "For using the TwigEngine", "symfony/translation": "For using the TranslationExtension", "symfony/var-dumper": "For using the DumpExtension", - "symfony/web-link": "For using the WebLinkExtension", "symfony/yaml": "For using the YamlExtension" }, "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -20715,7 +20758,7 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2018-01-03T17:13:53+00:00" + "time": "2016-07-28T11:13:34+00:00" }, { "name": "symfony/validator", @@ -23896,23 +23939,23 @@ }, { "name": "silex/web-profiler", - "version": "1.0.x-dev", + "version": "v1.0.8", "target-dir": "Silex/Provider", "source": { "type": "git", "url": "https://github.com/silexphp/Silex-WebProfiler.git", - "reference": "2c5df830c864bec709307e706176771b57440be5" + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/2c5df830c864bec709307e706176771b57440be5", - "reference": "2c5df830c864bec709307e706176771b57440be5", + "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/3b767e6c9006a542cac737474f02671bdf2909cb", + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb", "shasum": "" }, "require": { "silex/silex": "~1.1", - "symfony/stopwatch": "~2.2|3.0.*", - "symfony/web-profiler-bundle": "~2.4|3.0.*" + "symfony/stopwatch": "~2.2", + "symfony/web-profiler-bundle": "~2.4" }, "type": "library", "extra": { @@ -23938,7 +23981,7 @@ "description": "A WebProfiler for Silex", "homepage": "http://silex.sensiolabs.org/", "abandoned": true, - "time": "2016-05-04T16:32:42+00:00" + "time": "2016-01-10T11:39:13+00:00" }, { "name": "site5/phantoman", @@ -24067,7 +24110,7 @@ ], "authors": [ { - "name": "Sullivan SENECHAL", + "name": "Sullivan Sénéchal", "email": "soullivaneuh@gmail.com" } ], @@ -24712,25 +24755,25 @@ }, { "name": "symfony/stopwatch", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "49c0ea2f3d3a779df4780927671332edc406ea84" + "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/49c0ea2f3d3a779df4780927671332edc406ea84", - "reference": "49c0ea2f3d3a779df4780927671332edc406ea84", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", + "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": ">=5.3.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -24757,7 +24800,7 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2016-06-29T05:40:00+00:00" + "time": "2018-07-24T10:05:38+00:00" }, { "name": "symfony/var-dumper", @@ -24836,34 +24879,35 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7" + "reference": "c82e39721df25d505781238270be737871f9bb78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", - "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c82e39721df25d505781238270be737871f9bb78", + "reference": "c82e39721df25d505781238270be737871f9bb78", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/twig-bridge": "~2.8|~3.0" + "php": ">=5.3.9", + "symfony/http-kernel": "~2.4|~3.0.0", + "symfony/routing": "~2.2|~3.0.0", + "symfony/twig-bridge": "~2.7|~3.0.0", + "twig/twig": "~1.34|~2.4" }, "require-dev": { - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" + "symfony/config": "~2.2|~3.0.0", + "symfony/console": "~2.3|~3.0.0", + "symfony/dependency-injection": "~2.2|~3.0.0", + "symfony/stopwatch": "~2.2|~3.0.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -24890,7 +24934,7 @@ ], "description": "Symfony WebProfilerBundle", "homepage": "https://symfony.com", - "time": "2016-07-26T08:03:56+00:00" + "time": "2018-09-24T08:42:32+00:00" }, { "name": "theseer/fdomdocument", diff --git a/package-lock.json b/package-lock.json index c7cbaa72ad..91f40e3d61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -466,7 +466,7 @@ }, "adjust-sourcemap-loader": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz", "integrity": "sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ==", "dev": true, "requires": { @@ -757,7 +757,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -942,7 +942,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -978,7 +978,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -1022,7 +1022,7 @@ }, "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -1235,7 +1235,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -1568,7 +1568,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -1581,7 +1581,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -1690,7 +1690,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -1763,7 +1763,7 @@ }, "cssnano": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "resolved": "http://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "dev": true, "requires": { @@ -1833,7 +1833,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -2035,7 +2035,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -2166,7 +2166,7 @@ }, "es6-promise": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", + "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=", "dev": true }, @@ -2215,7 +2215,7 @@ }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, @@ -3162,7 +3162,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -3586,7 +3586,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -3877,7 +3877,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, @@ -3940,7 +3940,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -4244,7 +4244,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -4341,7 +4341,7 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, @@ -4404,7 +4404,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -4571,7 +4571,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -4771,7 +4771,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -4843,7 +4843,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -4986,7 +4986,7 @@ }, "postcss-calc": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "resolved": "http://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "dev": true, "requires": { @@ -5003,7 +5003,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5076,7 +5076,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5148,7 +5148,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5204,7 +5204,7 @@ }, "postcss-discard-comments": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "resolved": "http://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "dev": true, "requires": { @@ -5219,7 +5219,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5290,7 +5290,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5346,7 +5346,7 @@ }, "postcss-discard-empty": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "dev": true, "requires": { @@ -5361,7 +5361,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5417,7 +5417,7 @@ }, "postcss-discard-overridden": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "resolved": "http://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "dev": true, "requires": { @@ -5432,7 +5432,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5488,7 +5488,7 @@ }, "postcss-discard-unused": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "resolved": "http://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "dev": true, "requires": { @@ -5504,7 +5504,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5575,7 +5575,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5675,7 +5675,7 @@ }, "postcss-merge-idents": { "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "resolved": "http://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "dev": true, "requires": { @@ -5692,7 +5692,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5763,7 +5763,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5848,7 +5848,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5910,7 +5910,7 @@ }, "postcss-minify-font-values": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "resolved": "http://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "dev": true, "requires": { @@ -5927,7 +5927,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -5983,7 +5983,7 @@ }, "postcss-minify-gradients": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "resolved": "http://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "dev": true, "requires": { @@ -5999,7 +5999,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6055,7 +6055,7 @@ }, "postcss-minify-params": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "resolved": "http://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "dev": true, "requires": { @@ -6073,7 +6073,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6129,7 +6129,7 @@ }, "postcss-minify-selectors": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "resolved": "http://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "dev": true, "requires": { @@ -6147,7 +6147,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6242,7 +6242,7 @@ }, "postcss-normalize-charset": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "dev": true, "requires": { @@ -6257,7 +6257,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6313,7 +6313,7 @@ }, "postcss-normalize-url": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "resolved": "http://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "dev": true, "requires": { @@ -6331,7 +6331,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6403,7 +6403,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6459,7 +6459,7 @@ }, "postcss-reduce-idents": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "resolved": "http://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "dev": true, "requires": { @@ -6475,7 +6475,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6531,7 +6531,7 @@ }, "postcss-reduce-initial": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "dev": true, "requires": { @@ -6546,7 +6546,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6602,7 +6602,7 @@ }, "postcss-reduce-transforms": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "resolved": "http://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "dev": true, "requires": { @@ -6619,7 +6619,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6686,7 +6686,7 @@ }, "postcss-svgo": { "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "resolved": "http://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "dev": true, "requires": { @@ -6704,7 +6704,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6760,7 +6760,7 @@ }, "postcss-unique-selectors": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "resolved": "http://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "dev": true, "requires": { @@ -6777,7 +6777,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6839,7 +6839,7 @@ }, "postcss-zindex": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "resolved": "http://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "dev": true, "requires": { @@ -6856,7 +6856,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -7062,7 +7062,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -7099,7 +7099,7 @@ }, "reduce-css-calc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "resolved": "http://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "dev": true, "requires": { @@ -7210,7 +7210,7 @@ }, "request": { "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "resolved": "http://registry.npmjs.org/request/-/request-2.79.0.tgz", "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, "requires": { @@ -7309,7 +7309,7 @@ "dependencies": { "convert-source-map": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "resolved": "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", "dev": true } @@ -7452,7 +7452,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -7563,7 +7563,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -7963,7 +7963,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -8558,7 +8558,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { diff --git a/src/Pyz/Client/Customer/CustomerDependencyProvider.php b/src/Pyz/Client/Customer/CustomerDependencyProvider.php index dbc11cc28a..86372e811e 100644 --- a/src/Pyz/Client/Customer/CustomerDependencyProvider.php +++ b/src/Pyz/Client/Customer/CustomerDependencyProvider.php @@ -31,7 +31,7 @@ protected function getCustomerSessionGetPlugins() protected function getCustomerSessionSetPlugins() { return [ - new GuestCartUpdateCustomerSessionSetPlugin(), + new GuestCartUpdateCustomerSessionSetPlugin(), #PersistentCartFeature new CustomerChangeCartUpdatePlugin(), ]; } diff --git a/src/Pyz/Service/Flysystem/FlysystemDependencyProvider.php b/src/Pyz/Service/Flysystem/FlysystemDependencyProvider.php new file mode 100644 index 0000000000..5d21d1e934 --- /dev/null +++ b/src/Pyz/Service/Flysystem/FlysystemDependencyProvider.php @@ -0,0 +1,33 @@ + + {% include atom('icon') with { + modifiers: ['biggest'], + class: 'text-alt', + data: { + name: 'shopping-cart' + } + } only %} +
{{ 'cart.empty' | trans }}
+
+ {% else %} +
+
+ {% for cartItem in data.cartItems %} + {% include molecule('cart-item', 'CartPage') with { + class: 'box', + data: { + cart: data.cart, + cartItem: cartItem, + attributes: data.attributes[cartItem.sku] | default([]) + } + } only %} + {% endfor %} + + {{ widget('DiscountPromotionItemListWidgetPlugin', data.cart, data.request) }} + + {% if canEditCart and data.cart.idQuote is not empty %} + {{ widgetBlock('CartOperationsWidgetPlugin', 'actions', data.cart) }} + {% endif %} +
+ +
+
+ {{ widget('CartNoteQuoteWidgetPlugin', data.cart) }} + + {% if not is_granted('ROLE_USER') or canEditCart %} + {{ widget('DiscountVoucherFormWidgetPlugin') }} +
+ {% endif %} + + {% if canEditCart and data.cart.idQuote is not empty and widgetExists('CartToShoppingListWidgetPlugin') %} + {{ widget('CartToShoppingListWidgetPlugin', data.cart.idQuote) }} +
+ {% endif %} + + {% include molecule('cart-summary', 'CartPage') with { + data: { + cart: data.cart, + isQuoteValid: data.isQuoteValid + } + } only %} +
+
+
+ {% endif %} + + {{ widget('UpSellingProductsWidgetPlugin', data.cart) }} +{% endblock %} + +{% block footer %}{% endblock %} diff --git a/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php b/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php index d0d6856796..436c253c91 100644 --- a/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php +++ b/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php @@ -25,6 +25,7 @@ use Spryker\Zed\Calculation\Communication\Plugin\Calculator\RefundableAmountCalculatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\RefundTotalCalculatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\RemoveAllCalculatedDiscountsCalculatorPlugin; +use Spryker\Zed\Calculation\Communication\Plugin\Calculator\RemoveCanceledAmountCalculatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\RemoveTotalsCalculatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\SubtotalCalculatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\TaxTotalCalculatorPlugin; @@ -179,6 +180,7 @@ protected function getQuoteCalculatorPluginStack(Container $container) new RemoveTotalsCalculatorPlugin(), new RemoveAllCalculatedDiscountsCalculatorPlugin(), new RemovePromotionItemsCalculatorPlugin(), + new RemoveCanceledAmountCalculatorPlugin(), new PriceCalculatorPlugin(), new ItemProductOptionPriceAggregatorPlugin(), diff --git a/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php b/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php index e1643fee62..b4ca597016 100644 --- a/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php +++ b/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php @@ -39,8 +39,8 @@ protected function getCheckoutPreConditions(Container $container) { return [ new CustomerPreConditionCheckerPlugin(), - new ProductBundleAvailabilityCheckoutPreConditionPlugin(), new ProductsAvailableCheckoutPreConditionPlugin(), + new ProductBundleAvailabilityCheckoutPreConditionPlugin(), new PaymentPreCheckPlugin(), new ShipmentCheckoutPreCheckPlugin(), new ProductDiscontinuedCheckoutPreConditionPlugin(), diff --git a/src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php b/src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php new file mode 100644 index 0000000000..05bfe43698 --- /dev/null +++ b/src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php @@ -0,0 +1,38 @@ + + + + + + + +
+ +
diff --git a/src/Pyz/Zed/ProductRelationStorage/ProductRelationStorageConfig.php b/src/Pyz/Zed/ProductRelationStorage/ProductRelationStorageConfig.php new file mode 100644 index 0000000000..3888016e2e --- /dev/null +++ b/src/Pyz/Zed/ProductRelationStorage/ProductRelationStorageConfig.php @@ -0,0 +1,22 @@ + Date: Tue, 9 Oct 2018 13:08:17 +0000 Subject: [PATCH 14/91] SUITE-736: fixed codesniffer --- .../Zed/Synchronization/SynchronizationDependencyProvider.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php b/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php index ee894922fe..f68940836e 100644 --- a/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php +++ b/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php @@ -27,10 +27,7 @@ use Spryker\Zed\ProductImageStorage\Communication\Plugin\Synchronization\ProductConcreteImageSynchronizationDataPlugin; use Spryker\Zed\ProductLabelStorage\Communication\Plugin\Synchronization\ProductAbstractLabelSynchronizationDataPlugin; use Spryker\Zed\ProductLabelStorage\Communication\Plugin\Synchronization\ProductLabelDictionarySynchronizationDataPlugin; -use Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Synchronization\ProductConcreteMeasurementUnitSynchronizationDataPlugin; -use Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Synchronization\ProductMeasurementUnitSynchronizationDataPlugin; use Spryker\Zed\ProductOptionStorage\Communication\Plugin\Synchronization\ProductOptionSynchronizationDataPlugin; -use Spryker\Zed\ProductPackagingUnitStorage\Communication\Plugin\Synchronization\ProductPackagingUnitSynchronizationDataPlugin; use Spryker\Zed\ProductPageSearch\Communication\Plugin\Synchronization\ProductPageSynchronizationDataPlugin; use Spryker\Zed\ProductQuantityStorage\Communication\Plugin\Synchronization\ProductQuantitySynchronizationDataPlugin; use Spryker\Zed\ProductRelationStorage\Communication\Plugin\Synchronization\ProductRelationSynchronizationDataPlugin; @@ -41,7 +38,6 @@ use Spryker\Zed\ProductSetStorage\Communication\Plugin\Synchronization\ProductSetSynchronizationDataPlugin; use Spryker\Zed\ProductStorage\Communication\Plugin\Synchronization\ProductAbstractSynchronizationDataPlugin; use Spryker\Zed\ProductStorage\Communication\Plugin\Synchronization\ProductConcreteSynchronizationDataPlugin; -use Spryker\Zed\ShoppingListStorage\Communication\Plugin\Synchronization\ShoppingListSynchronizationDataPlugin; use Spryker\Zed\Synchronization\SynchronizationDependencyProvider as SprykerSynchronizationDependencyProvider; use Spryker\Zed\UrlStorage\Communication\Plugin\Synchronization\UrlRedirectSynchronizationDataPlugin; use Spryker\Zed\UrlStorage\Communication\Plugin\Synchronization\UrlSynchronizationDataPlugin; From f54ac2783f4c1431d2ffc1dd2e93030f2f2624b4 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Tue, 9 Oct 2018 13:28:03 +0000 Subject: [PATCH 15/91] SUITE-736: update storage configs --- .../CmsBlockCategoryStorageConfig.php | 22 ++++++++++++++ .../CmsBlockProductStorageConfig.php | 22 ++++++++++++++ .../GlossaryStorage/GlossaryStorageConfig.php | 22 ++++++++++++++ .../NavigationStorageConfig.php | 22 ++++++++++++++ .../ProductCategoryFilterStorageConfig.php | 22 ++++++++++++++ .../spy_product_quantity_storage.schema.xml | 14 +++++++++ .../ProductQuantityStorageConfig.php | 22 ++++++++++++++ src/Pyz/Zed/UrlStorage/UrlStorageConfig.php | 30 +++++++++++++++++++ 8 files changed, 176 insertions(+) create mode 100755 src/Pyz/Zed/CmsBlockCategoryStorage/CmsBlockCategoryStorageConfig.php create mode 100755 src/Pyz/Zed/CmsBlockProductStorage/CmsBlockProductStorageConfig.php create mode 100755 src/Pyz/Zed/GlossaryStorage/GlossaryStorageConfig.php create mode 100755 src/Pyz/Zed/NavigationStorage/NavigationStorageConfig.php create mode 100755 src/Pyz/Zed/ProductCategoryFilterStorage/ProductCategoryFilterStorageConfig.php create mode 100755 src/Pyz/Zed/ProductQuantityStorage/Persistence/Propel/Schema/spy_product_quantity_storage.schema.xml create mode 100644 src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php create mode 100644 src/Pyz/Zed/UrlStorage/UrlStorageConfig.php diff --git a/src/Pyz/Zed/CmsBlockCategoryStorage/CmsBlockCategoryStorageConfig.php b/src/Pyz/Zed/CmsBlockCategoryStorage/CmsBlockCategoryStorageConfig.php new file mode 100755 index 0000000000..d171486880 --- /dev/null +++ b/src/Pyz/Zed/CmsBlockCategoryStorage/CmsBlockCategoryStorageConfig.php @@ -0,0 +1,22 @@ + + + + + + + +
+ +
diff --git a/src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php b/src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php new file mode 100644 index 0000000000..00f0d2218d --- /dev/null +++ b/src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php @@ -0,0 +1,22 @@ + Date: Wed, 10 Oct 2018 06:33:01 +0000 Subject: [PATCH 16/91] SUITE-736: update composer --- composer.json | 1 + composer.lock | 286 ++++++++++++-------------------------------------- 2 files changed, 68 insertions(+), 219 deletions(-) diff --git a/composer.json b/composer.json index 1172661b0d..2d8d668311 100644 --- a/composer.json +++ b/composer.json @@ -324,6 +324,7 @@ "spryker/symfony": "^3.0.0", "spryker/synchronization": "^1.1.0", "spryker/synchronization-behavior": "^1.3.0", + "spryker/synchronization-extension": "^1.0.0", "spryker/tax": "^5.0.0", "spryker/tax-product-connector": "^4.0.0", "spryker/touch": "^4.0.0", diff --git a/composer.lock b/composer.lock index ca7fd0a875..5fec8852b7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "1f9f17855019872e3d436f21000bf43b", + "content-hash": "892c2d438141477c5af41952ceb7d6d6", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.69.2", + "version": "3.69.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "65c88e074dffe4cb25b840c154b2f39564b39287" + "reference": "92ade997fc057d22bbee902468f749ef8db1c162" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/65c88e074dffe4cb25b840c154b2f39564b39287", - "reference": "65c88e074dffe4cb25b840c154b2f39564b39287", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/92ade997fc057d22bbee902468f749ef8db1c162", + "reference": "92ade997fc057d22bbee902468f749ef8db1c162", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-08T20:05:34+00:00" + "time": "2018-10-09T20:35:16+00:00" }, { "name": "codeitnowin/barcode", @@ -897,48 +897,6 @@ ], "time": "2014-10-12T19:18:40+00:00" }, - { - "name": "ircmaxell/password-compat", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "type": "library", - "autoload": { - "files": [ - "lib/password.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anthony Ferrara", - "email": "ircmaxell@php.net", - "homepage": "http://blog.ircmaxell.com" - } - ], - "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", - "homepage": "https://github.com/ircmaxell/password_compat", - "keywords": [ - "hashing", - "password" - ], - "time": "2014-11-20T16:49:30+00:00" - }, { "name": "league/csv", "version": "9.1.4", @@ -19484,31 +19442,29 @@ }, { "name": "symfony/http-foundation", - "version": "v2.8.46", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff" + "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9fcce5f0b6896a135d192cc9fd5394fd46f74eff", - "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", + "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php54": "~1.0", - "symfony/polyfill-php55": "~1.0" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { - "symfony/expression-language": "~2.4|~3.0.0" + "symfony/expression-language": "~2.8|~3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -19535,7 +19491,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2018-09-23T15:27:53+00:00" + "time": "2016-07-17T13:54:30+00:00" }, { "name": "symfony/http-kernel", @@ -19981,120 +19937,6 @@ ], "time": "2018-08-06T14:22:27+00:00" }, - { - "name": "symfony/polyfill-php54", - "version": "v1.9.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php54.git", - "reference": "412977e090c6a8472dc39d50d1beb7d59495a965" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/412977e090c6a8472dc39d50d1beb7d59495a965", - "reference": "412977e090c6a8472dc39d50d1beb7d59495a965", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php54\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-08-06T14:22:27+00:00" - }, - { - "name": "symfony/polyfill-php55", - "version": "v1.9.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php55.git", - "reference": "578b8528da843de0fc65ec395900fa3181f2ead7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/578b8528da843de0fc65ec395900fa3181f2ead7", - "reference": "578b8528da843de0fc65ec395900fa3181f2ead7", - "shasum": "" - }, - "require": { - "ircmaxell/password-compat": "~1.0", - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php55\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-08-06T14:22:27+00:00" - }, { "name": "symfony/polyfill-php56", "version": "v1.9.0", @@ -20456,22 +20298,22 @@ }, { "name": "symfony/security", - "version": "v3.2.14", + "version": "v3.2.13", "source": { "type": "git", "url": "https://github.com/symfony/security.git", - "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77" + "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security/zipball/9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", - "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", + "url": "https://api.github.com/repos/symfony/security/zipball/3f6e39f1918f009524e36a56f1609cf74a8cd47c", + "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c", "shasum": "" }, "require": { "php": ">=5.5.9", "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.31|~3.2.14", + "symfony/http-foundation": "~2.8|~3.0", "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-php56": "~1.0", "symfony/polyfill-php70": "~1.0", @@ -20530,7 +20372,7 @@ ], "description": "Symfony Security Component", "homepage": "https://symfony.com", - "time": "2017-11-16T17:55:54+00:00" + "time": "2017-07-29T21:27:41+00:00" }, { "name": "symfony/serializer", @@ -20681,29 +20523,33 @@ }, { "name": "symfony/twig-bridge", - "version": "v3.0.9", + "version": "v3.3.18", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" + "reference": "c4f577a8043b175353e19ce003b637aff2130c57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c4f577a8043b175353e19ce003b637aff2130c57", + "reference": "c4f577a8043b175353e19ce003b637aff2130c57", "shasum": "" }, "require": { - "php": ">=5.5.9", - "twig/twig": "~1.23|~2.0" + "php": "^5.5.9|>=7.0.8", + "twig/twig": "~1.34|~2.4" + }, + "conflict": { + "symfony/form": "<3.2.10|~3.3,<3.3.3" }, "require-dev": { "symfony/asset": "~2.8|~3.0", "symfony/console": "~2.8|~3.0", "symfony/expression-language": "~2.8|~3.0", "symfony/finder": "~2.8|~3.0", - "symfony/form": "~3.0.4", - "symfony/http-kernel": "~2.8|~3.0", + "symfony/form": "^3.2.10|^3.3.3", + "symfony/http-foundation": "^3.3.11", + "symfony/http-kernel": "~3.2", "symfony/polyfill-intl-icu": "~1.0", "symfony/routing": "~2.8|~3.0", "symfony/security": "~2.8|~3.0", @@ -20711,7 +20557,9 @@ "symfony/stopwatch": "~2.8|~3.0", "symfony/templating": "~2.8|~3.0", "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", + "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2", + "symfony/web-link": "~3.3", + "symfony/workflow": "~3.3", "symfony/yaml": "~2.8|~3.0" }, "suggest": { @@ -20726,12 +20574,13 @@ "symfony/templating": "For using the TwigEngine", "symfony/translation": "For using the TranslationExtension", "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", "symfony/yaml": "For using the YamlExtension" }, "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -20758,7 +20607,7 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2016-07-28T11:13:34+00:00" + "time": "2018-01-03T17:13:53+00:00" }, { "name": "symfony/validator", @@ -23939,23 +23788,23 @@ }, { "name": "silex/web-profiler", - "version": "v1.0.8", + "version": "1.0.x-dev", "target-dir": "Silex/Provider", "source": { "type": "git", "url": "https://github.com/silexphp/Silex-WebProfiler.git", - "reference": "3b767e6c9006a542cac737474f02671bdf2909cb" + "reference": "2c5df830c864bec709307e706176771b57440be5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/3b767e6c9006a542cac737474f02671bdf2909cb", - "reference": "3b767e6c9006a542cac737474f02671bdf2909cb", + "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/2c5df830c864bec709307e706176771b57440be5", + "reference": "2c5df830c864bec709307e706176771b57440be5", "shasum": "" }, "require": { "silex/silex": "~1.1", - "symfony/stopwatch": "~2.2", - "symfony/web-profiler-bundle": "~2.4" + "symfony/stopwatch": "~2.2|3.0.*", + "symfony/web-profiler-bundle": "~2.4|3.0.*" }, "type": "library", "extra": { @@ -23981,7 +23830,7 @@ "description": "A WebProfiler for Silex", "homepage": "http://silex.sensiolabs.org/", "abandoned": true, - "time": "2016-01-10T11:39:13+00:00" + "time": "2016-05-04T16:32:42+00:00" }, { "name": "site5/phantoman", @@ -24755,25 +24604,25 @@ }, { "name": "symfony/stopwatch", - "version": "v2.8.46", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8" + "reference": "49c0ea2f3d3a779df4780927671332edc406ea84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", - "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/49c0ea2f3d3a779df4780927671332edc406ea84", + "reference": "49c0ea2f3d3a779df4780927671332edc406ea84", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -24800,7 +24649,7 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2018-07-24T10:05:38+00:00" + "time": "2016-06-29T05:40:00+00:00" }, { "name": "symfony/var-dumper", @@ -24879,35 +24728,34 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v2.8.46", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "c82e39721df25d505781238270be737871f9bb78" + "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c82e39721df25d505781238270be737871f9bb78", - "reference": "c82e39721df25d505781238270be737871f9bb78", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", + "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/http-kernel": "~2.4|~3.0.0", - "symfony/routing": "~2.2|~3.0.0", - "symfony/twig-bridge": "~2.7|~3.0.0", - "twig/twig": "~1.34|~2.4" + "php": ">=5.5.9", + "symfony/http-kernel": "~2.8|~3.0", + "symfony/routing": "~2.8|~3.0", + "symfony/twig-bridge": "~2.8|~3.0" }, "require-dev": { - "symfony/config": "~2.2|~3.0.0", - "symfony/console": "~2.3|~3.0.0", - "symfony/dependency-injection": "~2.2|~3.0.0", - "symfony/stopwatch": "~2.2|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/console": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -24934,7 +24782,7 @@ ], "description": "Symfony WebProfilerBundle", "homepage": "https://symfony.com", - "time": "2018-09-24T08:42:32+00:00" + "time": "2016-07-26T08:03:56+00:00" }, { "name": "theseer/fdomdocument", From 8ff6c3ef37c3d2cc8a4c778f6250e9fb828b9eee Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Wed, 10 Oct 2018 13:52:26 +0300 Subject: [PATCH 17/91] change demodata --- data/import/icecat_biz_data/product_abstract.csv | 4 ++-- data/import/icecat_biz_data/product_concrete.csv | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/import/icecat_biz_data/product_abstract.csv b/data/import/icecat_biz_data/product_abstract.csv index b5803e4082..61b6c9d35a 100644 --- a/data/import/icecat_biz_data/product_abstract.csv +++ b/data/import/icecat_biz_data/product_abstract.csv @@ -217,5 +217,5 @@ cables,,215,ASUS HDMI-HDMI Black,ASUS HDMI-HDMI Schwarz,/en/Asus-HDMI-HDMI-215,/ cables,,216,Neklan 500m Cat6 UTP Cable (DRUM),Neklan 500m Cat6 UTP Kabel (Trommel),/en/Neklan-Cat6-500-216,/de/Neklan-Cat6-500-216,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Neklan,,,color,Grey,color,Grau,#DCDCDC,"Neklan 500m Cat6 UTP. Cable length: 500 m, Cable standard: Cat6, Cable shielding: U/UTP (UTP), Cable colour: Grey","Neklan 500m Cat6 UTP. Kabellänge: 500 m, Kabelstandard: Cat6, Kabelschirmung: U/UTP (UTP), Kabelfarbe: Grau",//de.icecat.biz/prefere/de/p/neklan/3010099/networking-cables-Neklan-500m-Cat6-UTP-500m-Cat6-U-UTP-UTP-Grey-networking-cable-9509292.html,Communication Electronics,Neklan Network cable drum,Neklan Netzwerk Kabeltrommel,"Neklan, Cable, Network, Drum","Neklan, Kabel, Netzwerk, Trommel",The perfect cable for your home,Das perfekte Kabel für ihr zuhause,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",2018-04-01 00:00:00.000000,2018-04-01 00:00:00.000000 cables,,217,APC Cable parallel printer bi-directional (Ring),APC Kabel parallel printer bi-directional (Ring),/en/APC-printer-cable-ring-217,/de/APC-printer-cable-ring-217,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,APC,,,color,White,color,Weiß,#FFFFFF,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,Communication Electronics,APC Printer cable,APC Drucker Kabel,"APC, Printer, Cable, Ring","APC, Drucker, Kabel, Ring",The perfect cable for your home,Das perfekte Kabel für ihr zuhause,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",2018-04-01 00:00:00.000000,2018-04-01 00:00:00.000000 cables,,217,APC Cable parallel printer bi-directional (Ring),APC Kabel parallel printer bi-directional (Ring),/en/APC-printer-cable-ring-217,/de/APC-printer-cable-ring-217,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,APC,,,color,White,color,Weiß,#FFFFFF,APC cable parallel printer bi-directional. Ring: 5m,APC kabel parallel printer bi-directional. Ring: 5m,//de.icecat.biz/p/apc/1602-5m-e/computerkabel-APC-kabel-parallel-printer-bi-directional-28129.html,Communication Electronics,APC Printer cable,APC Drucker Kabel,"APC, Printer, Cable, Ring","APC, Drucker, Kabel, Ring",The perfect cable for your home,Das perfekte Kabel für ihr zuhause,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",2018-04-01 00:00:00.000000,2018-04-01 00:00:00.000000 -food,1,218,Chocolate Bar,Schokoladen Tafel,/en/Chocolate-bar-218,/de/Schokoladen-tafel-218,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Frey,,,,,,,,"Chocolat Frey Splendor. Contents 100g. Type: Milkchocolate, Calories (per 100g): 2330kj","Chocolat Frey Splendor. Inhalt: 100 g, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",,Tax Exempt,,,,,,,,2018-05-31 00:00:00.000000,2018-06-30 00:00:00.000000 -food,2,219,Coca Lola 1.5L,Coca Lola 1.5L,/en/Coca-lola-1500ml-219,/de/Coca-lola-1500ml-219,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Coca Lola,,,,,,,,"Coca-Lola Coca Lola 1.5L, 1500 ml, Cola, Plastic bottle, 1 Piece(s), carbonated water, sugar, coloring E-150d, acidulant E-338 and natural flavors (including caffeine)., 42 kcal","Coca-Lola Coca Lola 1.5L, 1500 ml, Cola, Plastikflasche, 1 Stück(e), carbonated water, sugar, coloring E-150d, acidulant E-338 and natural flavors (including caffeine)., 42 kcal",,Tax Exempt,,,,,,,,2018-05-31 00:00:00.000000,2018-06-30 00:00:00.000000 \ No newline at end of file +food,1,218,Chocolate Bar,Schokoladen Tafel,/en/chocolate-bar-218,/de/schokoladen-tafel-218,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Frey,,,,,,,,"Chocolat Frey Splendor. Contents 100g. Type: Milkchocolate, Calories (per 100g): 2330kj","Chocolat Frey Splendor. Inhalt: 100 g, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",,Tax Exempt,,,,,,,,2018-05-31 00:00:00.000000,2018-06-30 00:00:00.000000 +food,2,219,Coca Lola 1.5L,Coca Lola 1.5L,/en/coca-lola-1500ml-219,/de/coca-lola-1500ml-219,0,,,,,,,,,,,,,,,,,,,,,,,,,brand,Coca Lola,,,,,,,,"Coca-Lola Coca Lola 1.5L, 1500 ml, Cola, Plastic bottle, 1 Piece(s), carbonated water, sugar, coloring E-150d, acidulant E-338 and natural flavors (including caffeine)., 42 kcal","Coca-Lola Coca Lola 1.5L, 1500 ml, Cola, Plastikflasche, 1 Stück(e), carbonated water, sugar, coloring E-150d, acidulant E-338 and natural flavors (including caffeine)., 42 kcal",,Tax Exempt,,,,,,,,2018-05-31 00:00:00.000000,2018-06-30 00:00:00.000000 diff --git a/data/import/icecat_biz_data/product_concrete.csv b/data/import/icecat_biz_data/product_concrete.csv index 27c35f5192..a38fa3cd4d 100644 --- a/data/import/icecat_biz_data/product_concrete.csv +++ b/data/import/icecat_biz_data/product_concrete.csv @@ -306,4 +306,4 @@ abstract_sku,old_sku,concrete_sku,name.en_US,name.de_DE,attribute_key_1,value_1, 218,,218_1232,Chocolate Bar (Palette),Schokoladentafel (Palette),packaging_unit,Palette,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Palette of Chocolat Frey Splendor. Contents: 5000 - 100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Palette mit Chocolat Frey Splendor. Inhalt: 5000 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 218,,218_1233,Chocolate Bar (Giftbox),Schokoladentafel (Geschenkbox),packaging_unit,Giftbox,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Giftbox of Chocolat Frey Splendor. Contents: 5x100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Geschenkebox mit Chocolat Frey Splendor. Inhalt: 5 x 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 218,,218_1234,Chocolate Bar (Valentine's special) ,Schokoladentafel (Valentinstag spezial),packaging_unit,Valentine's special,,,,,,,//de.icecat.biz/p/chocolat-frey/7616500012004/schokoladentafeln-7616500012004-Chocolat-Frey-Splendor-100g-Milchschokolade-49752470.html,"Valentine's special with Chocolat Frey Splendor. Contents: 10x100g bars . Type: Milkchocolate, Calories (per 100g): 2330kj","Valentinstag spezial mit Überraschungsschokolade Inhalt: 10 x 100 g tafeln, Typ: Milchschokolade, Brennwert (pro 100 g): 2330 kJ",1,1,,,1 -219,,219_01,Coca Cola 1.5L,Coca Cola 1.5L,,,,,,,,,//de.icecat.biz/p/coca-cola/5449000051981/sprudelwasser-soda-5449000051981-Coca-Cola-Coca-Cola-1-5L-1500ml-33303896.html,"Coca-Cola Coca Cola 1.5L. Contents: 1500 ml, Softdrink Flavour: Cola, Packaging type: Plastic bottle. Energy (per 100 ml): 42 kcal, Energy (pro 100 ml): 180 kJ, Sugar (per 100 ml): 10,6 g","Coca-Cola Coca Cola 1.5L. Inhalt: 1500 ml, Softdrink Geschmack: Cola, Verpackungsart: Plastikflasche. Brennwert (pro 100 ml): 42 kcal, Brennwert (pro 100 ml): 180 kJ, Zuckergehalt (pro 100 ml): 10,6 g",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",0,0 \ No newline at end of file +219,,219_01,Coca Cola 1.5L,Coca Cola 1.5L,,,,,,,,,//de.icecat.biz/p/coca-cola/5449000051981/sprudelwasser-soda-5449000051981-Coca-Cola-Coca-Cola-1-5L-1500ml-33303896.html,"Coca-Cola Coca Cola 1.5L. Contents: 1500 ml, Softdrink Flavour: Cola, Packaging type: Plastic bottle. Energy (per 100 ml): 42 kcal, Energy (pro 100 ml): 180 kJ, Sugar (per 100 ml): 10,6 g","Coca-Cola Coca Cola 1.5L. Inhalt: 1500 ml, Softdrink Geschmack: Cola, Verpackungsart: Plastikflasche. Brennwert (pro 100 ml): 42 kcal, Brennwert (pro 100 ml): 180 kJ, Zuckergehalt (pro 100 ml): 10,6 g",1,1,"This CSV is part of Open Icecat catalog, version March 2 2016, March 2, 2016 (see //www.icecat.biz), whereby the original XML source was transformed into CSV and product data was completed or optimized, where necessary. (c) Icecat.biz For the full copyright and license information, please view the LICENSE and DISCLAIMER file that was distributed with this source code. Open Icecat and its sponsors are providing you as a user a large quantity of free product data - for more details please view //www.icecat.biz.",,0 From 0418f16d0433833cbc0ad1021af5e87341c380bf Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Wed, 10 Oct 2018 16:40:10 +0300 Subject: [PATCH 18/91] change demodata --- data/import/product_stock.csv | 2 +- package-lock.json | 2 +- .../Persistence/Propel/Schema/spy_availability.schema.xml | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/data/import/product_stock.csv b/data/import/product_stock.csv index 86c0b3d408..ad727ac1b1 100644 --- a/data/import/product_stock.csv +++ b/data/import/product_stock.csv @@ -307,4 +307,4 @@ concrete_sku,name,quantity,is_never_out_of_stock,is_bundle 218_1232,Warehouse1,0,1,0 218_1233,Warehouse1,0,1,0 218_1234,Warehouse1,10,0,0 -219_01,Warehouse1,100,1,0 \ No newline at end of file +219_01,Warehouse1,10,1,0 diff --git a/package-lock.json b/package-lock.json index 91f40e3d61..93e99a4780 100644 --- a/package-lock.json +++ b/package-lock.json @@ -99,7 +99,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { diff --git a/src/Pyz/Zed/Availability/Persistence/Propel/Schema/spy_availability.schema.xml b/src/Pyz/Zed/Availability/Persistence/Propel/Schema/spy_availability.schema.xml index 48c380c216..d705088d1b 100644 --- a/src/Pyz/Zed/Availability/Persistence/Propel/Schema/spy_availability.schema.xml +++ b/src/Pyz/Zed/Availability/Persistence/Propel/Schema/spy_availability.schema.xml @@ -3,7 +3,8 @@ - + +
From e9eb08e0460d3fc3804be58ca158a9ce24eb0bbb Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 08:10:50 +0000 Subject: [PATCH 19/91] SUITE-746: fixed travis --- .../PropelMigration_1539177877.php | 4865 +++++++++++++++++ .../PropelMigration_1539177880.php | 4865 +++++++++++++++++ .../PermissionDependencyProvider.php | 0 3 files changed, 9730 insertions(+) create mode 100644 src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php create mode 100644 src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php delete mode 100644 src/Pyz/Zed/Permission/PermissionDependencyProvider.php diff --git a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php new file mode 100644 index 0000000000..e1caa82568 --- /dev/null +++ b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php @@ -0,0 +1,4865 @@ + ' +BEGIN; + +CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; + +CREATE TABLE "spy_sales_reclamation" +( + "id_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "customer_name" VARCHAR(511) NOT NULL, + "customer_reference" VARCHAR(255), + "customer_email" VARCHAR(255) NOT NULL, + "state" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_reclamation") +); + +CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +CREATE TABLE "spy_sales_reclamation_item" +( + "id_sales_reclamation_item" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "state" INT2 NOT NULL, + PRIMARY KEY ("id_sales_reclamation_item") +); + +CREATE SEQUENCE "spy_acl_role_pk_seq"; + +CREATE TABLE "spy_acl_role" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role"), + CONSTRAINT "spy_acl_role-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_acl_rule_pk_seq"; + +CREATE TABLE "spy_acl_rule" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE SEQUENCE "spy_acl_group_pk_seq"; + +CREATE TABLE "spy_acl_group" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group"), + CONSTRAINT "spy_acl_group-name" UNIQUE ("name") +); + +CREATE TABLE "spy_acl_user_has_group" +( + "fk_user" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_user","fk_acl_group") +); + +CREATE TABLE "spy_acl_groups_has_roles" +( + "fk_acl_role" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_acl_role","fk_acl_group") +); + +CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; + +CREATE TABLE "spy_auth_reset_password" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user"), + CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_availability_abstract_pk_seq"; + +CREATE TABLE "spy_availability_abstract" +( + "id_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_availability_abstract"), + CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_pk_seq"; + +CREATE TABLE "spy_availability" +( + "id_availability" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + "quantity" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_availability"), + CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_storage_pk_seq"; + +CREATE TABLE "spy_availability_storage" +( + "id_availability_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_availability_storage"), + CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); + +CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); + +CREATE SEQUENCE "spy_category_pk_seq"; + +CREATE TABLE "spy_category" +( + "id_category" INTEGER NOT NULL, + "fk_category_template" INTEGER, + "category_key" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\', + "is_clickable" BOOLEAN DEFAULT \'t\', + "is_in_menu" BOOLEAN DEFAULT \'t\', + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_category"), + CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") +); + +CREATE SEQUENCE "spy_category_attribute_pk_seq"; + +CREATE TABLE "spy_category_attribute" +( + "id_category_attribute" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "category_image_name" VARCHAR(255), + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" TEXT, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_attribute") +); + +CREATE SEQUENCE "spy_category_node_pk_seq"; + +CREATE TABLE "spy_category_node" +( + "id_category_node" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_parent_category_node" INTEGER, + "is_main" BOOLEAN DEFAULT \'f\', + "is_root" BOOLEAN DEFAULT \'f\', + "node_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_category_node") +); + +CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); + +CREATE SEQUENCE "spy_category_closure_table_pk_seq"; + +CREATE TABLE "spy_category_closure_table" +( + "id_category_closure_table" INTEGER NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "fk_category_node_descendant" INTEGER NOT NULL, + "depth" INTEGER NOT NULL, + PRIMARY KEY ("id_category_closure_table") +); + +CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; + +CREATE TABLE "spy_category_node_page_search" +( + "id_category_node_page_search" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_page_search"), + CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; + +CREATE TABLE "spy_category_tree_storage" +( + "id_category_tree_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_tree_storage"), + CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_category_node_storage_pk_seq"; + +CREATE TABLE "spy_category_node_storage" +( + "id_category_node_storage" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_storage"), + CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_template_pk_seq"; + +CREATE TABLE "spy_category_template" +( + "id_category_template" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_category_template"), + CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_template_pk_seq"; + +CREATE TABLE "spy_cms_template" +( + "id_cms_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_template"), + CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); + +CREATE SEQUENCE "spy_cms_page_pk_seq"; + +CREATE TABLE "spy_cms_page" +( + "id_cms_page" INTEGER NOT NULL, + "fk_template" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, + "page_key" VARCHAR(32), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_cms_page") +); + +CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); + +CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +CREATE TABLE "spy_cms_page_localized_attributes" +( + "id_cms_page_localized_attributes" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_localized_attributes"), + CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") +); + +CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_glossary_key_mapping" +( + "id_cms_glossary_key_mapping" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_page" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_glossary_key_mapping"), + CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") +); + +CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); + +CREATE SEQUENCE "spy_cms_version_pk_seq"; + +CREATE TABLE "spy_cms_version" +( + "id_cms_version" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_user" INTEGER, + "data" TEXT, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_version") +); + +CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); + +CREATE SEQUENCE "spy_cms_block_template_pk_seq"; + +CREATE TABLE "spy_cms_block_template" +( + "id_cms_block_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_template"), + CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_block_glossary_key_mapping" +( + "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_block_glossary_key_mapping"), + CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") +); + +CREATE SEQUENCE "spy_cms_block_pk_seq"; + +CREATE TABLE "spy_cms_block" +( + "id_cms_block" INTEGER NOT NULL, + "fk_page" INTEGER, + "fk_template" INTEGER, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "name" VARCHAR(255) NOT NULL, + "type" VARCHAR(255), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "value" INTEGER, + PRIMARY KEY ("id_cms_block"), + CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") +); + +COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; + +CREATE SEQUENCE "id_cms_block_store_pk_seq"; + +CREATE TABLE "spy_cms_block_store" +( + "id_cms_block_store" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_store"), + CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") +); + +CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_category_connector" +( + "id_cms_block_category_connector" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_category_template" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_cms_block_category_position" INTEGER, + PRIMARY KEY ("id_cms_block_category_connector") +); + +CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; + +CREATE TABLE "spy_cms_block_category_position" +( + "id_cms_block_category_position" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_category_position") +); + +CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_category_storage" +( + "id_cms_block_category_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_category_storage"), + CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_product_connector" +( + "id_cms_block_product_connector" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_product_connector") +); + +CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_product_storage" +( + "id_cms_block_product_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_product_storage"), + CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_storage" +( + "id_cms_block_storage" INT8 NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "name" VARCHAR NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_storage"), + CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); + +CREATE SEQUENCE "spy_cms_page_search_pk_seq"; + +CREATE TABLE "spy_cms_page_search" +( + "id_cms_page_search" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_search"), + CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); + +CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; + +CREATE TABLE "spy_cms_page_storage" +( + "id_cms_page_storage" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_storage"), + CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); + +CREATE SEQUENCE "spy_country_pk_seq"; + +CREATE TABLE "spy_country" +( + "id_country" INTEGER NOT NULL, + "iso2_code" VARCHAR(2) NOT NULL, + "iso3_code" VARCHAR(3), + "name" VARCHAR(255), + "postal_code_mandatory" BOOLEAN DEFAULT \'f\', + "postal_code_regex" VARCHAR(500), + PRIMARY KEY ("id_country"), + CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), + CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") +); + +CREATE SEQUENCE "spy_region_pk_seq"; + +CREATE TABLE "spy_region" +( + "id_region" INTEGER NOT NULL, + "fk_country" INTEGER, + "name" VARCHAR(100) NOT NULL, + "iso2_code" VARCHAR(6) NOT NULL, + PRIMARY KEY ("id_region"), + CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") +); + +CREATE SEQUENCE "spy_currency_pk_seq"; + +CREATE TABLE "spy_currency" +( + "id_currency" INTEGER NOT NULL, + "name" VARCHAR(255), + "code" VARCHAR(5), + "symbol" VARCHAR(255), + PRIMARY KEY ("id_currency") +); + +CREATE SEQUENCE "spy_customer_pk_seq"; + +CREATE TABLE "spy_customer" +( + "id_customer" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_user" INTEGER, + "anonymized_at" TIMESTAMP, + "company" VARCHAR(100), + "customer_reference" VARCHAR(255) NOT NULL, + "date_of_birth" DATE, + "default_billing_address" INTEGER, + "default_shipping_address" INTEGER, + "email" VARCHAR(255) NOT NULL, + "first_name" VARCHAR(100), + "gender" INT2, + "last_name" VARCHAR(100), + "password" VARCHAR(255), + "phone" VARCHAR(255), + "registered" DATE, + "registration_key" VARCHAR(150), + "restore_password_date" TIMESTAMP, + "restore_password_key" VARCHAR(150), + "salutation" INT2, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer"), + CONSTRAINT "spy_customer-email" UNIQUE ("email"), + CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") +); + +CREATE SEQUENCE "spy_customer_address_pk_seq"; + +CREATE TABLE "spy_customer_address" +( + "id_customer_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "anonymized_at" TIMESTAMP, + "city" VARCHAR(255), + "comment" VARCHAR(255), + "company" VARCHAR(255), + "deleted_at" TIMESTAMP, + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "phone" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_address") +); + +CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); + +CREATE SEQUENCE "spy_customer_group_pk_seq"; + +CREATE TABLE "spy_customer_group" +( + "id_customer_group" INTEGER NOT NULL, + "name" VARCHAR(70) NOT NULL, + "description" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group"), + CONSTRAINT "spy_customer-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +CREATE TABLE "spy_customer_group_to_customer" +( + "id_customer_group_to_customer" INTEGER NOT NULL, + "fk_customer_group" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group_to_customer"), + CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") +); + +CREATE SEQUENCE "spy_customer_note_pk_seq"; + +CREATE TABLE "spy_customer_note" +( + "id_customer_note" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "username" VARCHAR, + "message" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_note") +); + +CREATE SEQUENCE "spy_discount_pk_seq"; + +CREATE TABLE "spy_discount" +( + "id_discount" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "fk_store" INTEGER, + "amount" INTEGER NOT NULL, + "calculator_plugin" VARCHAR(255), + "collector_query_string" VARCHAR, + "decision_rule_query_string" VARCHAR, + "description" VARCHAR(1024), + "discount_key" VARCHAR(32), + "discount_type" VARCHAR(255), + "display_name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "is_exclusive" BOOLEAN DEFAULT \'f\', + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount"), + CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), + CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") +); + +CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); + +CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); + +CREATE SEQUENCE "id_discount_store_pk_seq"; + +CREATE TABLE "spy_discount_store" +( + "id_discount_store" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_store"), + CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") +); + +CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +CREATE TABLE "spy_discount_voucher_pool" +( + "id_discount_voucher_pool" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher_pool") +); + +CREATE SEQUENCE "spy_discount_voucher_pk_seq"; + +CREATE TABLE "spy_discount_voucher" +( + "id_discount_voucher" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "code" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "max_number_of_uses" INTEGER, + "number_of_uses" INTEGER, + "voucher_batch" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher"), + CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_discount_amount_pk_seq"; + +CREATE TABLE "spy_discount_amount" +( + "id_discount_amount" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "gross_amount" INTEGER, + "net_amount" INTEGER, + PRIMARY KEY ("id_discount_amount"), + CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") +); + +CREATE SEQUENCE "spy_discount_promotion_pk_seq"; + +CREATE TABLE "spy_discount_promotion" +( + "id_discount_promotion" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_promotion") +); + +CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +CREATE TABLE "spy_event_behavior_entity_change" +( + "id_event_behavior_entity_change" INT8 NOT NULL, + "data" VARCHAR, + "process_id" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_event_behavior_entity_change") +); + +CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +CREATE TABLE "pyz_example_state_machine_item" +( + "id_example_state_machine_item" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER, + "name" VARCHAR, + PRIMARY KEY ("id_example_state_machine_item") +); + +CREATE SEQUENCE "spy_gift_card_pk_seq"; + +CREATE TABLE "spy_gift_card" +( + "id_gift_card" INTEGER NOT NULL, + "name" VARCHAR(40) NOT NULL, + "replacement_pattern" VARCHAR(40), + "code" VARCHAR(40) NOT NULL, + "value" INTEGER NOT NULL, + "currency_iso_code" VARCHAR(5), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "attributes" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration" +( + "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, + "code_pattern" VARCHAR(40) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_abstract_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration_link" +( + "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration" +( + "id_gift_card_product_configuration" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration_link" +( + "id_gift_card_product_configuration_link" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_gift_card_product_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_configuration_link") +); + +CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; + +CREATE TABLE "spy_payment_gift_card" +( + "id_payment_gift_card" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "fk_sales_payment" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_payment_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +CREATE TABLE "spy_gift_card_balance_log" +( + "id_gift_card_balance_log" INTEGER NOT NULL, + "fk_gift_card" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_gift_card_balance_log") +); + +CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); + +CREATE SEQUENCE "spy_glossary_key_pk_seq"; + +CREATE TABLE "spy_glossary_key" +( + "id_glossary_key" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_glossary_key"), + CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); + +CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); + +CREATE SEQUENCE "spy_glossary_translation_pk_seq"; + +CREATE TABLE "spy_glossary_translation" +( + "id_glossary_translation" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_glossary_translation"), + CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") +); + +CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); + +CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); + +CREATE SEQUENCE "spy_glossary_storage_pk_seq"; + +CREATE TABLE "spy_glossary_storage" +( + "id_glossary_storage" INT8 NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "glossary_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_glossary_storage"), + CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); + +CREATE SEQUENCE "spy_locale_pk_seq"; + +CREATE TABLE "spy_locale" +( + "id_locale" INTEGER NOT NULL, + "locale_name" VARCHAR(5) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_locale"), + CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") +); + +CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); + +CREATE SEQUENCE "spy_navigation_pk_seq"; + +CREATE TABLE "spy_navigation" +( + "id_navigation" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation"), + CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); + +CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); + +CREATE SEQUENCE "spy_navigation_node_pk_seq"; + +CREATE TABLE "spy_navigation_node" +( + "id_navigation_node" INTEGER NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "fk_parent_navigation_node" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "node_key" VARCHAR(32), + "node_type" VARCHAR(255), + "position" INTEGER, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_navigation_node") +); + +CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); + +CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); + +CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +CREATE TABLE "spy_navigation_node_localized_attributes" +( + "id_navigation_node_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_navigation_node" INTEGER NOT NULL, + "fk_url" INTEGER, + "css_class" VARCHAR(255), + "external_url" VARCHAR(255), + "link" VARCHAR(255), + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_node_localized_attributes") +); + +CREATE SEQUENCE "spy_navigation_storage_pk_seq"; + +CREATE TABLE "spy_navigation_storage" +( + "id_navigation_storage" INT8 NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "navigation_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_storage"), + CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); + +CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +CREATE TABLE "spy_newsletter_subscriber" +( + "id_newsletter_subscriber" INTEGER NOT NULL, + "fk_customer" INTEGER, + "email" VARCHAR(255) NOT NULL, + "subscriber_key" VARCHAR(150), + "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_subscriber"), + CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), + CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") +); + +CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); + +CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); + +CREATE SEQUENCE "spy_newsletter_type_pk_seq"; + +CREATE TABLE "spy_newsletter_type" +( + "id_newsletter_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_type"), + CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") +); + +CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); + +CREATE TABLE "spy_newsletter_subscription" +( + "fk_newsletter_subscriber" INTEGER NOT NULL, + "fk_newsletter_type" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") +); + +CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; + +CREATE TABLE "spy_nopayment_paid" +( + "id_nopayment_paid" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_nopayment_paid") +); + +CREATE SEQUENCE "spy_offer_pk_seq"; + +CREATE TABLE "spy_offer" +( + "id_offer" INTEGER NOT NULL, + "quote_data" TEXT NOT NULL, + "status" INT2 DEFAULT 0, + "fk_user" INTEGER, + "customer_reference" VARCHAR(255), + "contact_person" VARCHAR(255), + "contact_date" TIMESTAMP, + "note" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_offer") +); + +CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); + +CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; + +CREATE TABLE "spy_oms_transition_log" +( + "id_oms_transition_log" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "quantity" INTEGER, + "locked" BOOLEAN, + "fk_oms_order_process" INTEGER, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_transition_log") +); + +CREATE SEQUENCE "spy_oms_order_process_pk_seq"; + +CREATE TABLE "spy_oms_order_process" +( + "id_oms_order_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_process"), + CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_oms_state_machine_lock" +( + "id_oms_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "details" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_state_machine_lock"), + CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state" +( + "id_oms_order_item_state" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_oms_order_item_state"), + CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state_history" +( + "id_oms_order_item_state_history" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_item_state_history") +); + +CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); + +CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; + +CREATE TABLE "spy_oms_event_timeout" +( + "id_oms_event_timeout" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_event_timeout"), + CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") +); + +CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation" +( + "id_oms_product_reservation" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, + "fk_store" INTEGER, + PRIMARY KEY ("id_oms_product_reservation"), + CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_store" +( + "id_oms_product_reservation_store" INTEGER NOT NULL, + "store" VARCHAR(255) NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER NOT NULL, + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_product_reservation_store"), + CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") +); + +CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); + +CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); + +CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); + +CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_change_version" +( + "version" INT8 NOT NULL, + "id_oms_product_reservation_id" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("version") +); + +CREATE TABLE "spy_oms_product_reservation_last_exported_version" +( + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP +); + +CREATE SEQUENCE "spy_order_source_pk_seq"; + +CREATE TABLE "spy_order_source" +( + "id_order_source" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_order_source") +); + +CREATE SEQUENCE "spy_price_product_pk_seq"; + +CREATE TABLE "spy_price_product" +( + "id_price_product" INTEGER NOT NULL, + "fk_price_type" INTEGER NOT NULL, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "price" INTEGER DEFAULT 0, + PRIMARY KEY ("id_price_product"), + CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") +); + +CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); + +CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); + +CREATE SEQUENCE "spy_price_type_pk_seq"; + +CREATE TABLE "spy_price_type" +( + "id_price_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "price_mode_configuration" INT2, + PRIMARY KEY ("id_price_type"), + CONSTRAINT "spy_price_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_price_product_store_pk_seq"; + +CREATE TABLE "spy_price_product_store" +( + "id_price_product_store" INT8 NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_price_product" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + "price_data" TEXT, + "price_data_checksum" VARCHAR, + PRIMARY KEY ("id_price_product_store") +); + +CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); + +CREATE SEQUENCE "spy_price_product_default_pk_seq"; + +CREATE TABLE "spy_price_product_default" +( + "id_price_product_default" INT8 NOT NULL, + "fk_price_product_store" INT8 NOT NULL, + PRIMARY KEY ("id_price_product_default"), + CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") +); + +CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); + +CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_price_product_abstract_storage" +( + "id_price_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_abstract_storage"), + CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_price_product_concrete_storage" +( + "id_price_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_concrete_storage"), + CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_abstract" +( + "id_product_abstract" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "attributes" TEXT NOT NULL, + "color_code" VARCHAR(8), + "new_from" TIMESTAMP, + "new_to" TIMESTAMP, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract"), + CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_abstract_localized_attributes" +( + "id_abstract_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_abstract_attributes"), + CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") +); + +CREATE SEQUENCE "id_product_abstract_store_pk_seq"; + +CREATE TABLE "spy_product_abstract_store" +( + "id_product_abstract_store" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_product_abstract_store"), + CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") +); + +CREATE SEQUENCE "spy_product_pk_seq"; + +CREATE TABLE "spy_product" +( + "id_product" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product"), + CONSTRAINT "spy_product-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_localized_attributes" +( + "id_product_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "is_complete" BOOLEAN DEFAULT \'t\', + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_attributes"), + CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") +); + +CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; + +CREATE TABLE "spy_product_attribute_key" +( + "id_product_attribute_key" INTEGER NOT NULL, + "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_attribute_key"), + CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_alternative_pk_seq"; + +CREATE TABLE "spy_product_alternative" +( + "id_product_alternative" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_product_abstract_alternative" INTEGER, + "fk_product_concrete_alternative" INTEGER, + PRIMARY KEY ("id_product_alternative") +); + +CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; + +CREATE TABLE "spy_product_alternative_storage" +( + "id_product_alternative_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_alternative_storage"), + CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); + +CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +CREATE TABLE "spy_product_replacement_for_storage" +( + "id_product_replacement_for_storage" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_replacement_for_storage"), + CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); + +CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; + +CREATE TABLE "spy_product_management_attribute" +( + "id_product_management_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, + "input_type" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_management_attribute"), + CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value" +( + "id_product_management_attribute_value" INTEGER NOT NULL, + "fk_product_management_attribute" INTEGER NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value_translation" +( + "id_product_management_attribute_value_translation" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_management_attribute_value" INTEGER NOT NULL, + "translation" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value_translation"), + CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +CREATE TABLE "spy_sales_order_item_bundle" +( + "id_sales_order_item_bundle" INTEGER NOT NULL, + "cart_note" VARCHAR(255), + "gross_price" INTEGER NOT NULL, + "image" TEXT, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_bundle") +); + +CREATE SEQUENCE "spy_product_bundle_pk_seq"; + +CREATE TABLE "spy_product_bundle" +( + "id_product_bundle" INTEGER NOT NULL, + "fk_bundled_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_bundle") +); + +COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; + +COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; + +COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; + +CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); + +CREATE SEQUENCE "spy_product_category_pk_seq"; + +CREATE TABLE "spy_product_category" +( + "id_product_category" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "product_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_product_category"), + CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") +); + +CREATE SEQUENCE "spy_product_category_filter_pk_seq"; + +CREATE TABLE "spy_product_category_filter" +( + "id_product_category_filter" INTEGER NOT NULL, + "fk_category" INTEGER, + "filter_data" TEXT NOT NULL, + PRIMARY KEY ("id_product_category_filter"), + CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") +); + +CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); + +CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +CREATE TABLE "spy_product_category_filter_storage" +( + "id_product_category_filter_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_category_filter_storage"), + CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); + +CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_category_storage" +( + "id_product_abstract_category_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_category_storage"), + CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_discontinued_pk_seq"; + +CREATE TABLE "spy_product_discontinued" +( + "id_product_discontinued" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "active_until" DATE NOT NULL, + "discontinued_on" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued") +); + +CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; + +CREATE TABLE "spy_product_discontinued_note" +( + "id_product_discontinued_note" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "note" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_note"), + CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") +); + +CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; + +CREATE TABLE "spy_product_discontinued_storage" +( + "id_product_discontinued_storage" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_storage"), + CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); + +CREATE SEQUENCE "spy_product_group_pk_seq"; + +CREATE TABLE "spy_product_group" +( + "id_product_group" INTEGER NOT NULL, + "product_group_key" VARCHAR(32), + PRIMARY KEY ("id_product_group") +); + +CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); + +CREATE TABLE "spy_product_abstract_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_group" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_group") +); + +CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_group_storage" +( + "id_product_abstract_group_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_group_storage"), + CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_image_set_pk_seq"; + +CREATE TABLE "spy_product_image_set" +( + "id_product_image_set" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image_set"), + CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") +); + +CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); + +CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); + +CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_product_image_pk_seq"; + +CREATE TABLE "spy_product_image" +( + "id_product_image" INTEGER NOT NULL, + "external_url_large" VARCHAR(2048), + "external_url_small" VARCHAR(2048), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image") +); + +CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +CREATE TABLE "spy_product_image_set_to_product_image" +( + "id_product_image_set_to_product_image" INTEGER NOT NULL, + "fk_product_image" INTEGER NOT NULL, + "fk_product_image_set" INTEGER NOT NULL, + "sort_order" INTEGER NOT NULL, + PRIMARY KEY ("id_product_image_set_to_product_image"), + CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") +); + +CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_image_storage" +( + "id_product_abstract_image_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_image_storage"), + CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_image_storage" +( + "id_product_concrete_image_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_image_storage"), + CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_label_pk_seq"; + +CREATE TABLE "spy_product_label" +( + "id_product_label" INTEGER NOT NULL, + "front_end_reference" VARCHAR, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_published" BOOLEAN DEFAULT \'f\', + "name" VARCHAR NOT NULL, + "position" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label"), + CONSTRAINT "spy_product_label-name" UNIQUE ("name") +); + +CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); + +CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_label_localized_attributes" +( + "id_product_label_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + "name" VARCHAR, + PRIMARY KEY ("id_product_label_localized_attributes"), + CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") +); + +CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); + +CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_label_product_abstract" +( + "id_product_label_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + PRIMARY KEY ("id_product_label_product_abstract"), + CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") +); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +CREATE TABLE "spy_product_label_dictionary_storage" +( + "id_product_label_dictionary_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label_dictionary_storage"), + CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_label_storage" +( + "id_product_abstract_label_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_label_storage"), + CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_option_group_pk_seq"; + +CREATE TABLE "spy_product_option_group" +( + "id_product_option_group" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "active" BOOLEAN, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_group") +); + +CREATE TABLE "spy_product_abstract_product_option_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_option_group") +); + +CREATE SEQUENCE "spy_product_option_value_pk_seq"; + +CREATE TABLE "spy_product_option_value" +( + "id_product_option_value" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + "price" INTEGER, + "sku" VARCHAR(255) NOT NULL, + "value" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_value"), + CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") +); + +COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; + +CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; + +CREATE TABLE "spy_product_option_value_price" +( + "id_product_option_value_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_product_option_value" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + PRIMARY KEY ("id_product_option_value_price"), + CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_option_storage" +( + "id_product_abstract_option_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_option_storage"), + CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +CREATE TABLE "spy_product_abstract_page_search" +( + "id_product_abstract_page_search" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_page_search"), + CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_quantity_pk_seq"; + +CREATE TABLE "spy_product_quantity" +( + "id_product_quantity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity_interval" INTEGER NOT NULL, + "quantity_max" INTEGER, + "quantity_min" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity"), + CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") +); + +CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; + +CREATE TABLE "spy_product_quantity_storage" +( + "id_product_quantity_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity_storage") +); + +CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_relation_type_pk_seq"; + +CREATE TABLE "spy_product_relation_type" +( + "id_product_relation_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_type") +); + +CREATE SEQUENCE "spy_product_relation_pk_seq"; + +CREATE TABLE "spy_product_relation" +( + "id_product_relation" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation_type" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, + "query_set_data" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation"), + CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") +); + +CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +CREATE TABLE "spy_product_relation_product_abstract" +( + "id_product_relation_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation" INTEGER NOT NULL, + "order" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_product_abstract") +); + +CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_relation_storage" +( + "id_product_abstract_relation_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_relation_storage"), + CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_review_pk_seq"; + +CREATE TABLE "spy_product_review" +( + "id_product_review" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "description" TEXT, + "nickname" VARCHAR(255), + "rating" INTEGER DEFAULT 0 NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "summary" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review") +); + +CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); + +CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); + +CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); + +CREATE SEQUENCE "spy_product_review_search_pk_seq"; + +CREATE TABLE "spy_product_review_search" +( + "id_product_review_search" INT8 NOT NULL, + "fk_product_review" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review_search"), + CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); + +CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_review_storage" +( + "id_product_abstract_review_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_review_storage"), + CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_search_pk_seq"; + +CREATE TABLE "spy_product_search" +( + "id_product_search" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_product_search") +); + +CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); + +CREATE TABLE "spy_product_search_attribute_map" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); + +CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; + +CREATE TABLE "spy_product_search_attribute" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_product_search_attribute"), + CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; + +CREATE TABLE "spy_product_search_config_storage" +( + "id_product_search_config_storage" INT8 NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_config_storage"), + CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_set_pk_seq"; + +CREATE TABLE "spy_product_set" +( + "id_product_set" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "product_set_key" VARCHAR(255) NOT NULL, + "weight" INTEGER DEFAULT 0 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set"), + CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") +); + +CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; + +CREATE TABLE "spy_product_abstract_set" +( + "id_product_abstract_set" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_product_abstract_set"), + CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") +); + +CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); + +CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_set_data_pk_seq"; + +CREATE TABLE "spy_product_set_data" +( + "id_product_set_data" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_data"), + CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") +); + +CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); + +CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); + +CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; + +CREATE TABLE "spy_product_set_page_search" +( + "id_product_set_page_search" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_page_search"), + CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_set_storage_pk_seq"; + +CREATE TABLE "spy_product_set_storage" +( + "id_product_set_storage" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_storage"), + CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_storage" +( + "id_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_storage"), + CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_storage" +( + "id_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_storage"), + CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_validity_pk_seq"; + +CREATE TABLE "spy_product_validity" +( + "id_product_validity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_product_validity"), + CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") +); + +CREATE TABLE "spy_propel_heartbeat" +( + "heartbeat_check" VARCHAR NOT NULL, + PRIMARY KEY ("heartbeat_check") +); + +CREATE SEQUENCE "spy_queue_process_pk_seq"; + +CREATE TABLE "spy_queue_process" +( + "id_queue_process" INTEGER NOT NULL, + "server_id" VARCHAR(255) NOT NULL, + "process_pid" INTEGER NOT NULL, + "worker_pid" INTEGER NOT NULL, + "queue_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_queue_process"), + CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") +); + +CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); + +CREATE SEQUENCE "id_quote_pk_seq"; + +CREATE TABLE "spy_quote" +( + "id_quote" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "quote_data" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_quote") +); + +CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); + +CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); + +CREATE SEQUENCE "spy_refund_pk_seq"; + +CREATE TABLE "spy_refund" +( + "id_refund" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "comment" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_refund") +); + +CREATE SEQUENCE "spy_sales_order_pk_seq"; + +CREATE TABLE "spy_sales_order" +( + "id_sales_order" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_order_source" INTEGER, + "fk_sales_order_address_billing" INTEGER NOT NULL, + "fk_sales_order_address_shipping" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER, + "cart_note" VARCHAR(255), + "currency_iso_code" VARCHAR(5), + "customer_reference" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100), + "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, + "last_name" VARCHAR(100), + "order_reference" VARCHAR(45) NOT NULL, + "price_mode" INT2, + "salutation" INT2, + "store" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order"), + CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") +); + +CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); + +CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); + +CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); + +CREATE SEQUENCE "spy_sales_order_item_pk_seq"; + +CREATE TABLE "spy_sales_order_item" +( + "id_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "fk_oms_order_process" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_order_item_bundle" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "cart_note" VARCHAR(255), + "discount_amount_aggregation" INTEGER DEFAULT 0, + "discount_amount_full_aggregation" INTEGER DEFAULT 0, + "expense_price_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "group_key" VARCHAR(255), + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "product_option_price_aggregation" INTEGER DEFAULT 0, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "refundable_amount" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "subtotal_aggregation" INTEGER, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_amount_full_aggregation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "tax_rate_average_aggregation" NUMERIC(8,2), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item") +); + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; + +CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); + +CREATE SEQUENCE "spy_sales_discount_pk_seq"; + +CREATE TABLE "spy_sales_discount" +( + "id_sales_discount" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER, + "fk_sales_order_item" INTEGER, + "fk_sales_order_item_option" INTEGER, + "amount" INTEGER NOT NULL, + "description" VARCHAR(510), + "display_name" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount") +); + +CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; + +CREATE TABLE "spy_sales_discount_code" +( + "id_sales_discount_code" INTEGER NOT NULL, + "fk_sales_discount" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "codepool_name" VARCHAR(255) NOT NULL, + "is_once_per_customer" BOOLEAN DEFAULT \'t\', + "is_refundable" BOOLEAN DEFAULT \'f\', + "is_reusable" BOOLEAN DEFAULT \'f\', + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount_code") +); + +CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +CREATE TABLE "spy_sales_order_item_gift_card" +( + "id_sales_order_item_gift_card" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "attributes" TEXT, + "code" VARCHAR(40), + "pattern" VARCHAR(40), + "value" INTEGER, + PRIMARY KEY ("id_sales_order_item_gift_card") +); + +CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; + +CREATE TABLE "spy_sales_order_item_option" +( + "id_sales_order_item_option" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER DEFAULT 0 NOT NULL, + "group_name" VARCHAR NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "tax_amount" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2) NOT NULL, + "value" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_option") +); + +COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +CREATE SEQUENCE "spy_sales_order_address_pk_seq"; + +CREATE TABLE "spy_sales_order_address" +( + "id_sales_order_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address") +); + +CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; + +CREATE TABLE "spy_sales_order_address_history" +( + "id_sales_order_address_history" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "fk_sales_order_address" INTEGER NOT NULL, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "is_billing" BOOLEAN DEFAULT \'f\', + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address_history") +); + +CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; + +CREATE TABLE "spy_sales_order_totals" +( + "id_sales_order_totals" INTEGER NOT NULL, + "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, + "canceled_total" INTEGER DEFAULT 0, + "discount_total" INTEGER DEFAULT 0, + "grand_total" INTEGER DEFAULT 0, + "order_expense_total" INTEGER DEFAULT 0, + "refund_total" INTEGER DEFAULT 0, + "subtotal" INTEGER DEFAULT 0, + "tax_total" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_totals") +); + +CREATE SEQUENCE "spy_sales_order_note_pk_seq"; + +CREATE TABLE "spy_sales_order_note" +( + "id_sales_order_note" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "command" VARCHAR(255) NOT NULL, + "message" VARCHAR(255) NOT NULL, + "success" BOOLEAN NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_note") +); + +CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; + +CREATE TABLE "spy_sales_order_comment" +( + "id_sales_order_comment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "username" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_comment") +); + +CREATE SEQUENCE "spy_sales_expense_pk_seq"; + +CREATE TABLE "spy_sales_expense" +( + "id_sales_expense" INTEGER NOT NULL, + "fk_sales_order" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "name" VARCHAR(255), + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "refundable_amount" INTEGER DEFAULT 0, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "type" VARCHAR(150), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_expense"), + CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") +); + +COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; + +COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +CREATE TABLE "spy_sales_order_item_metadata" +( + "id_sales_order_item_metadata" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "image" TEXT, + "super_attributes" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_metadata") +); + +CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); + +CREATE SEQUENCE "spy_sales_shipment_pk_seq"; + +CREATE TABLE "spy_sales_shipment" +( + "id_sales_shipment" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "carrier_name" VARCHAR(255), + "delivery_time" VARCHAR(255), + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_shipment") +); + +CREATE SEQUENCE "spy_sales_payment_pk_seq"; + +CREATE TABLE "spy_sales_payment" +( + "id_sales_payment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_payment_method_type" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_payment") +); + +CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +CREATE TABLE "spy_sales_payment_method_type" +( + "id_sales_payment_method_type" INTEGER NOT NULL, + "payment_provider" VARCHAR NOT NULL, + "payment_method" VARCHAR NOT NULL, + PRIMARY KEY ("id_sales_payment_method_type") +); + +CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); + +CREATE SEQUENCE "spy_sequence_number_pk_seq"; + +CREATE TABLE "spy_sequence_number" +( + "id_sequence_number" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "current_id" INTEGER NOT NULL, + PRIMARY KEY ("id_sequence_number"), + CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; + +CREATE TABLE "spy_shipment_carrier" +( + "id_shipment_carrier" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_shipment_carrier") +); + +CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_pk_seq"; + +CREATE TABLE "spy_shipment_method" +( + "id_shipment_method" INTEGER NOT NULL, + "fk_shipment_carrier" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "name" VARCHAR(255) NOT NULL, + "shipment_method_key" VARCHAR(255), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "default_price" INTEGER, + "availability_plugin" VARCHAR(255), + "price_plugin" VARCHAR(255), + "delivery_time_plugin" VARCHAR(255), + PRIMARY KEY ("id_shipment_method") +); + +COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; + +CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; + +CREATE TABLE "spy_shipment_method_price" +( + "id_shipment_method_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_shipment_method" INTEGER NOT NULL, + "default_gross_price" INTEGER, + "default_net_price" INTEGER, + PRIMARY KEY ("id_shipment_method_price"), + CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +CREATE TABLE "spy_state_machine_transition_log" +( + "id_state_machine_transition_log" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "locked" BOOLEAN, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_transition_log") +); + +CREATE SEQUENCE "spy_state_machine_process_pk_seq"; + +CREATE TABLE "spy_state_machine_process" +( + "id_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "state_machine_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_process"), + CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") +); + +CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); + +CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_state_machine_lock" +( + "id_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_lock"), + CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state" +( + "id_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_state_machine_item_state"), + CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") +); + +CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state_history" +( + "id_state_machine_item_state_history" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_item_state_history") +); + +CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); + +CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +CREATE TABLE "spy_state_machine_event_timeout" +( + "id_state_machine_event_timeout" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_event_timeout"), + CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") +); + +CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_stock_pk_seq"; + +CREATE TABLE "spy_stock" +( + "id_stock" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_stock"), + CONSTRAINT "spy_stock-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_stock_product_pk_seq"; + +CREATE TABLE "spy_stock_product" +( + "id_stock_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_stock" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 0, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_stock_product"), + CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") +); + +CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); + +CREATE SEQUENCE "spy_store_pk_seq"; + +CREATE TABLE "spy_store" +( + "id_store" INTEGER NOT NULL, + "name" VARCHAR(255), + PRIMARY KEY ("id_store") +); + +CREATE SEQUENCE "spy_tax_set_pk_seq"; + +CREATE TABLE "spy_tax_set" +( + "id_tax_set" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_set") +); + +CREATE SEQUENCE "spy_tax_rate_pk_seq"; + +CREATE TABLE "spy_tax_rate" +( + "id_tax_rate" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "rate" NUMERIC(8,2) NOT NULL, + "fk_country" INTEGER, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_rate") +); + +CREATE TABLE "spy_tax_set_tax" +( + "fk_tax_set" INTEGER NOT NULL, + "fk_tax_rate" INTEGER NOT NULL, + PRIMARY KEY ("fk_tax_set","fk_tax_rate") +); + +CREATE SEQUENCE "spy_touch_pk_seq"; + +CREATE TABLE "spy_touch" +( + "id_touch" INTEGER NOT NULL, + "item_type" VARCHAR(255) NOT NULL, + "item_event" INT2 NOT NULL, + "item_id" INTEGER NOT NULL, + "touched" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_touch"), + CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") +); + +CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); + +CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); + +CREATE SEQUENCE "spy_touch_storage_pk_seq"; + +CREATE TABLE "spy_touch_storage" +( + "id_touch_storage" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_storage"), + CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); + +CREATE SEQUENCE "spy_touch_search_pk_seq"; + +CREATE TABLE "spy_touch_search" +( + "id_touch_search" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_search"), + CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); + +CREATE SEQUENCE "spy_url_pk_seq"; + +CREATE TABLE "spy_url" +( + "id_url" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_resource_categorynode" INTEGER, + "fk_resource_page" INTEGER, + "fk_resource_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "fk_resource_redirect" INTEGER, + "url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url"), + CONSTRAINT "spy_url_unique_key" UNIQUE ("url") +); + +CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_url_redirect_pk_seq"; + +CREATE TABLE "spy_url_redirect" +( + "id_url_redirect" INTEGER NOT NULL, + "status" INTEGER DEFAULT 301 NOT NULL, + "to_url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url_redirect") +); + +CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); + +CREATE SEQUENCE "spy_url_storage_pk_seq"; + +CREATE TABLE "spy_url_storage" +( + "id_url_storage" INT8 NOT NULL, + "fk_categorynode" INTEGER, + "fk_page" INTEGER, + "fk_product_abstract" INTEGER, + "fk_product_set" INTEGER, + "fk_redirect" INTEGER, + "fk_url" INTEGER NOT NULL, + "url" VARCHAR NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_storage"), + CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); + +CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; + +CREATE TABLE "spy_url_redirect_storage" +( + "id_url_redirect_storage" INT8 NOT NULL, + "fk_url_redirect" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_redirect_storage"), + CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); + +CREATE SEQUENCE "spy_user_pk_seq"; + +CREATE TABLE "spy_user" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_user"), + CONSTRAINT "spy_user-username" UNIQUE ("username") +); + +CREATE SEQUENCE "spy_wishlist_pk_seq"; + +CREATE TABLE "spy_wishlist" +( + "id_wishlist" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist"), + CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") +); + +CREATE SEQUENCE "spy_wishlist_item_pk_seq"; + +CREATE TABLE "spy_wishlist_item" +( + "id_wishlist_item" INTEGER NOT NULL, + "fk_wishlist" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist_item") +); + +CREATE TABLE "spy_acl_role_archive" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role") +); + +CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); + +CREATE TABLE "spy_acl_rule_archive" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE TABLE "spy_acl_group_archive" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group") +); + +CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); + +CREATE TABLE "spy_auth_reset_password_archive" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user") +); + +CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); + +CREATE TABLE "spy_product_search_attribute_map_archive" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + "archived_at" TIMESTAMP, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_product_search_attribute_archive" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_attribute") +); + +CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_user_archive" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_user") +); + +CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); + +ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" + FOREIGN KEY ("fk_availability_abstract") + REFERENCES "spy_availability_abstract" ("id_availability_abstract"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" + FOREIGN KEY ("fk_parent_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" + FOREIGN KEY ("fk_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" + FOREIGN KEY ("fk_category_node_descendant") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_template" ("id_cms_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" + FOREIGN KEY ("fk_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_block_template" ("id_cms_block_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block"); + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" + FOREIGN KEY ("fk_cms_block_category_position") + REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" + FOREIGN KEY ("default_billing_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" + FOREIGN KEY ("default_shipping_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" + FOREIGN KEY ("fk_customer_group") + REFERENCES "spy_customer_group" ("id_customer_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" + FOREIGN KEY ("fk_gift_card_product_abstract_configuration") + REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" + FOREIGN KEY ("fk_gift_card_product_configuration") + REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); + +ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" + FOREIGN KEY ("fk_sales_payment") + REFERENCES "spy_sales_payment" ("id_sales_payment"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" + FOREIGN KEY ("fk_gift_card") + REFERENCES "spy_gift_card" ("id_gift_card"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" + FOREIGN KEY ("fk_parent_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" + FOREIGN KEY ("fk_navigation") + REFERENCES "spy_navigation" ("id_navigation") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" + FOREIGN KEY ("fk_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" + FOREIGN KEY ("fk_url") + REFERENCES "spy_url" ("id_url"); + +ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" + FOREIGN KEY ("fk_newsletter_subscriber") + REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" + FOREIGN KEY ("fk_newsletter_type") + REFERENCES "spy_newsletter_type" ("id_newsletter_type"); + +ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" + FOREIGN KEY ("fk_price_type") + REFERENCES "spy_price_type" ("id_price_type"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" + FOREIGN KEY ("fk_price_product") + REFERENCES "spy_price_product" ("id_price_product"); + +ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" + FOREIGN KEY ("fk_price_product_store") + REFERENCES "spy_price_product_store" ("id_price_product_store") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" + FOREIGN KEY ("fk_product_abstract_alternative") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" + FOREIGN KEY ("fk_product_concrete_alternative") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" + FOREIGN KEY ("fk_product_management_attribute") + REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" + FOREIGN KEY ("fk_product_management_attribute_value") + REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" + FOREIGN KEY ("fk_bundled_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" + FOREIGN KEY ("fk_product_discontinued") + REFERENCES "spy_product_discontinued" ("id_product_discontinued"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" + FOREIGN KEY ("fk_product_group") + REFERENCES "spy_product_group" ("id_product_group"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" + FOREIGN KEY ("fk_product_image_set") + REFERENCES "spy_product_image_set" ("id_product_image_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" + FOREIGN KEY ("fk_product_image") + REFERENCES "spy_product_image" ("id_product_image"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE SET NULL; + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" + FOREIGN KEY ("fk_product_option_value") + REFERENCES "spy_product_option_value" ("id_product_option_value") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" + FOREIGN KEY ("fk_product_relation_type") + REFERENCES "spy_product_relation_type" ("id_product_relation_type"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" + FOREIGN KEY ("fk_product_relation") + REFERENCES "spy_product_relation" ("id_product_relation"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" + FOREIGN KEY ("fk_order_source") + REFERENCES "spy_order_source" ("id_order_source"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" + FOREIGN KEY ("fk_sales_order_address_billing") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" + FOREIGN KEY ("fk_sales_order_address_shipping") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" + FOREIGN KEY ("fk_sales_order_item_bundle") + REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" + FOREIGN KEY ("fk_sales_order_item_option") + REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); + +ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" + FOREIGN KEY ("fk_sales_discount") + REFERENCES "spy_sales_discount" ("id_sales_discount"); + +ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" + FOREIGN KEY ("fk_sales_order_address") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" + FOREIGN KEY ("fk_sales_payment_method_type") + REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" + FOREIGN KEY ("fk_shipment_carrier") + REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" + FOREIGN KEY ("fk_shipment_method") + REFERENCES "spy_shipment_method" ("id_shipment_method"); + +ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" + FOREIGN KEY ("fk_stock") + REFERENCES "spy_stock" ("id_stock"); + +ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" + FOREIGN KEY ("fk_tax_rate") + REFERENCES "spy_tax_rate" ("id_tax_rate"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" + FOREIGN KEY ("fk_resource_categorynode") + REFERENCES "spy_category_node" ("id_category_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" + FOREIGN KEY ("fk_resource_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" + FOREIGN KEY ("fk_resource_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" + FOREIGN KEY ("fk_resource_redirect") + REFERENCES "spy_url_redirect" ("id_url_redirect") + ON DELETE CASCADE; + +ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" + FOREIGN KEY ("fk_wishlist") + REFERENCES "spy_wishlist" ("id_wishlist"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" + FOREIGN KEY ("sku") + REFERENCES "spy_product" ("sku"); + +COMMIT; +', +); + } + + /** + * Get the SQL statements for the Down migration + * + * @return array list of the SQL strings to execute for the Down migration + * the keys being the datasources + */ + public function getDownSQL() + { + return array ( + 'zed' => ' +BEGIN; + +DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role" CASCADE; + +DROP SEQUENCE "spy_acl_role_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; + +DROP SEQUENCE "spy_acl_rule_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_group" CASCADE; + +DROP SEQUENCE "spy_acl_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; + +DROP SEQUENCE "spy_auth_reset_password_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; + +DROP SEQUENCE "spy_availability_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability" CASCADE; + +DROP SEQUENCE "spy_availability_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; + +DROP SEQUENCE "spy_availability_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category" CASCADE; + +DROP SEQUENCE "spy_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; + +DROP SEQUENCE "spy_category_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node" CASCADE; + +DROP SEQUENCE "spy_category_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; + +DROP SEQUENCE "spy_category_closure_table_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; + +DROP SEQUENCE "spy_category_node_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; + +DROP SEQUENCE "spy_category_tree_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; + +DROP SEQUENCE "spy_category_node_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_template" CASCADE; + +DROP SEQUENCE "spy_category_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_template" CASCADE; + +DROP SEQUENCE "spy_cms_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page" CASCADE; + +DROP SEQUENCE "spy_cms_page_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_version" CASCADE; + +DROP SEQUENCE "spy_cms_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; + +DROP SEQUENCE "spy_cms_block_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block" CASCADE; + +DROP SEQUENCE "spy_cms_block_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; + +DROP SEQUENCE "id_cms_block_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; + +DROP SEQUENCE "spy_cms_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; + +DROP SEQUENCE "spy_cms_page_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_country" CASCADE; + +DROP SEQUENCE "spy_country_pk_seq"; + +DROP TABLE IF EXISTS "spy_region" CASCADE; + +DROP SEQUENCE "spy_region_pk_seq"; + +DROP TABLE IF EXISTS "spy_currency" CASCADE; + +DROP SEQUENCE "spy_currency_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer" CASCADE; + +DROP SEQUENCE "spy_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_address" CASCADE; + +DROP SEQUENCE "spy_customer_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group" CASCADE; + +DROP SEQUENCE "spy_customer_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; + +DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_note" CASCADE; + +DROP SEQUENCE "spy_customer_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount" CASCADE; + +DROP SEQUENCE "spy_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_store" CASCADE; + +DROP SEQUENCE "id_discount_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; + +DROP SEQUENCE "spy_discount_amount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; + +DROP SEQUENCE "spy_discount_promotion_pk_seq"; + +DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; + +DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; + +DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card" CASCADE; + +DROP SEQUENCE "spy_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; + +DROP SEQUENCE "spy_payment_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; + +DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; + +DROP SEQUENCE "spy_glossary_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; + +DROP SEQUENCE "spy_glossary_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; + +DROP SEQUENCE "spy_glossary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_locale" CASCADE; + +DROP SEQUENCE "spy_locale_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation" CASCADE; + +DROP SEQUENCE "spy_navigation_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; + +DROP SEQUENCE "spy_navigation_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; + +DROP SEQUENCE "spy_navigation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; + +DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; + +DROP SEQUENCE "spy_newsletter_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; + +DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; + +DROP SEQUENCE "spy_nopayment_paid_pk_seq"; + +DROP TABLE IF EXISTS "spy_offer" CASCADE; + +DROP SEQUENCE "spy_offer_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; + +DROP SEQUENCE "spy_oms_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; + +DROP SEQUENCE "spy_oms_order_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; + +DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; + +DROP TABLE IF EXISTS "spy_order_source" CASCADE; + +DROP SEQUENCE "spy_order_source_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product" CASCADE; + +DROP SEQUENCE "spy_price_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_type" CASCADE; + +DROP SEQUENCE "spy_price_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; + +DROP SEQUENCE "spy_price_product_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; + +DROP SEQUENCE "spy_price_product_default_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; + +DROP SEQUENCE "id_product_abstract_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_product" CASCADE; + +DROP SEQUENCE "spy_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; + +DROP SEQUENCE "spy_product_attribute_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; + +DROP SEQUENCE "spy_product_alternative_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; + +DROP SEQUENCE "id_product_alternative_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; + +DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; + +DROP SEQUENCE "spy_product_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category" CASCADE; + +DROP SEQUENCE "spy_product_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; + +DROP SEQUENCE "id_product_discontinued_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; + +DROP SEQUENCE "id_product_discontinued_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; + +DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_group" CASCADE; + +DROP SEQUENCE "spy_product_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; + +DROP SEQUENCE "spy_product_image_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label" CASCADE; + +DROP SEQUENCE "spy_product_label_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; + +DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; + +DROP SEQUENCE "spy_product_option_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; + +DROP SEQUENCE "spy_product_option_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; + +DROP SEQUENCE "spy_product_option_value_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; + +DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; + +DROP SEQUENCE "id_product_quantity_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; + +DROP SEQUENCE "id_product_quantity_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; + +DROP SEQUENCE "spy_product_relation_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation" CASCADE; + +DROP SEQUENCE "spy_product_relation_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review" CASCADE; + +DROP SEQUENCE "id_product_review_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; + +DROP SEQUENCE "spy_product_review_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search" CASCADE; + +DROP SEQUENCE "spy_product_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; + +DROP SEQUENCE "spy_product_search_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; + +DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set" CASCADE; + +DROP SEQUENCE "spy_product_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; + +DROP SEQUENCE "spy_product_abstract_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; + +DROP SEQUENCE "spy_product_set_data_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; + +DROP SEQUENCE "spy_product_set_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; + +DROP SEQUENCE "spy_product_set_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_validity" CASCADE; + +DROP SEQUENCE "spy_product_validity_pk_seq"; + +DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; + +DROP TABLE IF EXISTS "spy_queue_process" CASCADE; + +DROP SEQUENCE "spy_queue_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_quote" CASCADE; + +DROP SEQUENCE "id_quote_pk_seq"; + +DROP TABLE IF EXISTS "spy_refund" CASCADE; + +DROP SEQUENCE "spy_refund_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order" CASCADE; + +DROP SEQUENCE "spy_sales_order_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; + +DROP SEQUENCE "spy_sales_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; + +DROP SEQUENCE "spy_sales_discount_code_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; + +DROP SEQUENCE "spy_sales_order_totals_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; + +DROP SEQUENCE "spy_sales_order_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; + +DROP SEQUENCE "spy_sales_order_comment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; + +DROP SEQUENCE "spy_sales_expense_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; + +DROP SEQUENCE "spy_sales_shipment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; + +DROP SEQUENCE "spy_sales_payment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; + +DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; + +DROP SEQUENCE "spy_sequence_number_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; + +DROP SEQUENCE "spy_shipment_carrier_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; + +DROP SEQUENCE "spy_shipment_method_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; + +DROP SEQUENCE "spy_shipment_method_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; + +DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; + +DROP SEQUENCE "spy_state_machine_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; + +DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock" CASCADE; + +DROP SEQUENCE "spy_stock_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock_product" CASCADE; + +DROP SEQUENCE "spy_stock_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_store" CASCADE; + +DROP SEQUENCE "spy_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set" CASCADE; + +DROP SEQUENCE "spy_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; + +DROP SEQUENCE "spy_tax_rate_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; + +DROP TABLE IF EXISTS "spy_touch" CASCADE; + +DROP SEQUENCE "spy_touch_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; + +DROP SEQUENCE "spy_touch_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_search" CASCADE; + +DROP SEQUENCE "spy_touch_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_url" CASCADE; + +DROP SEQUENCE "spy_url_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; + +DROP SEQUENCE "spy_url_redirect_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_storage" CASCADE; + +DROP SEQUENCE "spy_url_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; + +DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_user" CASCADE; + +DROP SEQUENCE "spy_user_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist" CASCADE; + +DROP SEQUENCE "spy_wishlist_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; + +DROP SEQUENCE "spy_wishlist_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_user_archive" CASCADE; + +COMMIT; +', +); + } + +} \ No newline at end of file diff --git a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php new file mode 100644 index 0000000000..f6c262f3ca --- /dev/null +++ b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php @@ -0,0 +1,4865 @@ + ' +BEGIN; + +CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; + +CREATE TABLE "spy_sales_reclamation" +( + "id_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "customer_name" VARCHAR(511) NOT NULL, + "customer_reference" VARCHAR(255), + "customer_email" VARCHAR(255) NOT NULL, + "state" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_reclamation") +); + +CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +CREATE TABLE "spy_sales_reclamation_item" +( + "id_sales_reclamation_item" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "state" INT2 NOT NULL, + PRIMARY KEY ("id_sales_reclamation_item") +); + +CREATE SEQUENCE "spy_acl_role_pk_seq"; + +CREATE TABLE "spy_acl_role" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role"), + CONSTRAINT "spy_acl_role-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_acl_rule_pk_seq"; + +CREATE TABLE "spy_acl_rule" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE SEQUENCE "spy_acl_group_pk_seq"; + +CREATE TABLE "spy_acl_group" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group"), + CONSTRAINT "spy_acl_group-name" UNIQUE ("name") +); + +CREATE TABLE "spy_acl_user_has_group" +( + "fk_user" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_user","fk_acl_group") +); + +CREATE TABLE "spy_acl_groups_has_roles" +( + "fk_acl_role" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_acl_role","fk_acl_group") +); + +CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; + +CREATE TABLE "spy_auth_reset_password" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user"), + CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_availability_abstract_pk_seq"; + +CREATE TABLE "spy_availability_abstract" +( + "id_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_availability_abstract"), + CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_pk_seq"; + +CREATE TABLE "spy_availability" +( + "id_availability" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + "quantity" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_availability"), + CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_storage_pk_seq"; + +CREATE TABLE "spy_availability_storage" +( + "id_availability_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_availability_storage"), + CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); + +CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); + +CREATE SEQUENCE "spy_category_pk_seq"; + +CREATE TABLE "spy_category" +( + "id_category" INTEGER NOT NULL, + "fk_category_template" INTEGER, + "category_key" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\', + "is_clickable" BOOLEAN DEFAULT \'t\', + "is_in_menu" BOOLEAN DEFAULT \'t\', + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_category"), + CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") +); + +CREATE SEQUENCE "spy_category_attribute_pk_seq"; + +CREATE TABLE "spy_category_attribute" +( + "id_category_attribute" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "category_image_name" VARCHAR(255), + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" TEXT, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_attribute") +); + +CREATE SEQUENCE "spy_category_node_pk_seq"; + +CREATE TABLE "spy_category_node" +( + "id_category_node" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_parent_category_node" INTEGER, + "is_main" BOOLEAN DEFAULT \'f\', + "is_root" BOOLEAN DEFAULT \'f\', + "node_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_category_node") +); + +CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); + +CREATE SEQUENCE "spy_category_closure_table_pk_seq"; + +CREATE TABLE "spy_category_closure_table" +( + "id_category_closure_table" INTEGER NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "fk_category_node_descendant" INTEGER NOT NULL, + "depth" INTEGER NOT NULL, + PRIMARY KEY ("id_category_closure_table") +); + +CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; + +CREATE TABLE "spy_category_node_page_search" +( + "id_category_node_page_search" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_page_search"), + CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; + +CREATE TABLE "spy_category_tree_storage" +( + "id_category_tree_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_tree_storage"), + CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_category_node_storage_pk_seq"; + +CREATE TABLE "spy_category_node_storage" +( + "id_category_node_storage" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_storage"), + CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_template_pk_seq"; + +CREATE TABLE "spy_category_template" +( + "id_category_template" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_category_template"), + CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_template_pk_seq"; + +CREATE TABLE "spy_cms_template" +( + "id_cms_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_template"), + CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); + +CREATE SEQUENCE "spy_cms_page_pk_seq"; + +CREATE TABLE "spy_cms_page" +( + "id_cms_page" INTEGER NOT NULL, + "fk_template" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, + "page_key" VARCHAR(32), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_cms_page") +); + +CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); + +CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +CREATE TABLE "spy_cms_page_localized_attributes" +( + "id_cms_page_localized_attributes" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_localized_attributes"), + CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") +); + +CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_glossary_key_mapping" +( + "id_cms_glossary_key_mapping" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_page" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_glossary_key_mapping"), + CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") +); + +CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); + +CREATE SEQUENCE "spy_cms_version_pk_seq"; + +CREATE TABLE "spy_cms_version" +( + "id_cms_version" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_user" INTEGER, + "data" TEXT, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_version") +); + +CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); + +CREATE SEQUENCE "spy_cms_block_template_pk_seq"; + +CREATE TABLE "spy_cms_block_template" +( + "id_cms_block_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_template"), + CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_block_glossary_key_mapping" +( + "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_block_glossary_key_mapping"), + CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") +); + +CREATE SEQUENCE "spy_cms_block_pk_seq"; + +CREATE TABLE "spy_cms_block" +( + "id_cms_block" INTEGER NOT NULL, + "fk_page" INTEGER, + "fk_template" INTEGER, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "name" VARCHAR(255) NOT NULL, + "type" VARCHAR(255), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "value" INTEGER, + PRIMARY KEY ("id_cms_block"), + CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") +); + +COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; + +CREATE SEQUENCE "id_cms_block_store_pk_seq"; + +CREATE TABLE "spy_cms_block_store" +( + "id_cms_block_store" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_store"), + CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") +); + +CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_category_connector" +( + "id_cms_block_category_connector" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_category_template" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_cms_block_category_position" INTEGER, + PRIMARY KEY ("id_cms_block_category_connector") +); + +CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; + +CREATE TABLE "spy_cms_block_category_position" +( + "id_cms_block_category_position" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_category_position") +); + +CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_category_storage" +( + "id_cms_block_category_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_category_storage"), + CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_product_connector" +( + "id_cms_block_product_connector" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_product_connector") +); + +CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_product_storage" +( + "id_cms_block_product_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_product_storage"), + CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_storage" +( + "id_cms_block_storage" INT8 NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "name" VARCHAR NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_storage"), + CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); + +CREATE SEQUENCE "spy_cms_page_search_pk_seq"; + +CREATE TABLE "spy_cms_page_search" +( + "id_cms_page_search" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_search"), + CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); + +CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; + +CREATE TABLE "spy_cms_page_storage" +( + "id_cms_page_storage" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_storage"), + CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); + +CREATE SEQUENCE "spy_country_pk_seq"; + +CREATE TABLE "spy_country" +( + "id_country" INTEGER NOT NULL, + "iso2_code" VARCHAR(2) NOT NULL, + "iso3_code" VARCHAR(3), + "name" VARCHAR(255), + "postal_code_mandatory" BOOLEAN DEFAULT \'f\', + "postal_code_regex" VARCHAR(500), + PRIMARY KEY ("id_country"), + CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), + CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") +); + +CREATE SEQUENCE "spy_region_pk_seq"; + +CREATE TABLE "spy_region" +( + "id_region" INTEGER NOT NULL, + "fk_country" INTEGER, + "name" VARCHAR(100) NOT NULL, + "iso2_code" VARCHAR(6) NOT NULL, + PRIMARY KEY ("id_region"), + CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") +); + +CREATE SEQUENCE "spy_currency_pk_seq"; + +CREATE TABLE "spy_currency" +( + "id_currency" INTEGER NOT NULL, + "name" VARCHAR(255), + "code" VARCHAR(5), + "symbol" VARCHAR(255), + PRIMARY KEY ("id_currency") +); + +CREATE SEQUENCE "spy_customer_pk_seq"; + +CREATE TABLE "spy_customer" +( + "id_customer" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_user" INTEGER, + "anonymized_at" TIMESTAMP, + "company" VARCHAR(100), + "customer_reference" VARCHAR(255) NOT NULL, + "date_of_birth" DATE, + "default_billing_address" INTEGER, + "default_shipping_address" INTEGER, + "email" VARCHAR(255) NOT NULL, + "first_name" VARCHAR(100), + "gender" INT2, + "last_name" VARCHAR(100), + "password" VARCHAR(255), + "phone" VARCHAR(255), + "registered" DATE, + "registration_key" VARCHAR(150), + "restore_password_date" TIMESTAMP, + "restore_password_key" VARCHAR(150), + "salutation" INT2, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer"), + CONSTRAINT "spy_customer-email" UNIQUE ("email"), + CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") +); + +CREATE SEQUENCE "spy_customer_address_pk_seq"; + +CREATE TABLE "spy_customer_address" +( + "id_customer_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "anonymized_at" TIMESTAMP, + "city" VARCHAR(255), + "comment" VARCHAR(255), + "company" VARCHAR(255), + "deleted_at" TIMESTAMP, + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "phone" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_address") +); + +CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); + +CREATE SEQUENCE "spy_customer_group_pk_seq"; + +CREATE TABLE "spy_customer_group" +( + "id_customer_group" INTEGER NOT NULL, + "name" VARCHAR(70) NOT NULL, + "description" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group"), + CONSTRAINT "spy_customer-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +CREATE TABLE "spy_customer_group_to_customer" +( + "id_customer_group_to_customer" INTEGER NOT NULL, + "fk_customer_group" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group_to_customer"), + CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") +); + +CREATE SEQUENCE "spy_customer_note_pk_seq"; + +CREATE TABLE "spy_customer_note" +( + "id_customer_note" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "username" VARCHAR, + "message" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_note") +); + +CREATE SEQUENCE "spy_discount_pk_seq"; + +CREATE TABLE "spy_discount" +( + "id_discount" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "fk_store" INTEGER, + "amount" INTEGER NOT NULL, + "calculator_plugin" VARCHAR(255), + "collector_query_string" VARCHAR, + "decision_rule_query_string" VARCHAR, + "description" VARCHAR(1024), + "discount_key" VARCHAR(32), + "discount_type" VARCHAR(255), + "display_name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "is_exclusive" BOOLEAN DEFAULT \'f\', + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount"), + CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), + CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") +); + +CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); + +CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); + +CREATE SEQUENCE "id_discount_store_pk_seq"; + +CREATE TABLE "spy_discount_store" +( + "id_discount_store" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_store"), + CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") +); + +CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +CREATE TABLE "spy_discount_voucher_pool" +( + "id_discount_voucher_pool" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher_pool") +); + +CREATE SEQUENCE "spy_discount_voucher_pk_seq"; + +CREATE TABLE "spy_discount_voucher" +( + "id_discount_voucher" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "code" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "max_number_of_uses" INTEGER, + "number_of_uses" INTEGER, + "voucher_batch" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher"), + CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_discount_amount_pk_seq"; + +CREATE TABLE "spy_discount_amount" +( + "id_discount_amount" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "gross_amount" INTEGER, + "net_amount" INTEGER, + PRIMARY KEY ("id_discount_amount"), + CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") +); + +CREATE SEQUENCE "spy_discount_promotion_pk_seq"; + +CREATE TABLE "spy_discount_promotion" +( + "id_discount_promotion" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_promotion") +); + +CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +CREATE TABLE "spy_event_behavior_entity_change" +( + "id_event_behavior_entity_change" INT8 NOT NULL, + "data" VARCHAR, + "process_id" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_event_behavior_entity_change") +); + +CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +CREATE TABLE "pyz_example_state_machine_item" +( + "id_example_state_machine_item" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER, + "name" VARCHAR, + PRIMARY KEY ("id_example_state_machine_item") +); + +CREATE SEQUENCE "spy_gift_card_pk_seq"; + +CREATE TABLE "spy_gift_card" +( + "id_gift_card" INTEGER NOT NULL, + "name" VARCHAR(40) NOT NULL, + "replacement_pattern" VARCHAR(40), + "code" VARCHAR(40) NOT NULL, + "value" INTEGER NOT NULL, + "currency_iso_code" VARCHAR(5), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "attributes" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration" +( + "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, + "code_pattern" VARCHAR(40) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_abstract_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration_link" +( + "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration" +( + "id_gift_card_product_configuration" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration_link" +( + "id_gift_card_product_configuration_link" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_gift_card_product_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_configuration_link") +); + +CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; + +CREATE TABLE "spy_payment_gift_card" +( + "id_payment_gift_card" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "fk_sales_payment" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_payment_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +CREATE TABLE "spy_gift_card_balance_log" +( + "id_gift_card_balance_log" INTEGER NOT NULL, + "fk_gift_card" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_gift_card_balance_log") +); + +CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); + +CREATE SEQUENCE "spy_glossary_key_pk_seq"; + +CREATE TABLE "spy_glossary_key" +( + "id_glossary_key" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_glossary_key"), + CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); + +CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); + +CREATE SEQUENCE "spy_glossary_translation_pk_seq"; + +CREATE TABLE "spy_glossary_translation" +( + "id_glossary_translation" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_glossary_translation"), + CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") +); + +CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); + +CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); + +CREATE SEQUENCE "spy_glossary_storage_pk_seq"; + +CREATE TABLE "spy_glossary_storage" +( + "id_glossary_storage" INT8 NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "glossary_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_glossary_storage"), + CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); + +CREATE SEQUENCE "spy_locale_pk_seq"; + +CREATE TABLE "spy_locale" +( + "id_locale" INTEGER NOT NULL, + "locale_name" VARCHAR(5) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_locale"), + CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") +); + +CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); + +CREATE SEQUENCE "spy_navigation_pk_seq"; + +CREATE TABLE "spy_navigation" +( + "id_navigation" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation"), + CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); + +CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); + +CREATE SEQUENCE "spy_navigation_node_pk_seq"; + +CREATE TABLE "spy_navigation_node" +( + "id_navigation_node" INTEGER NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "fk_parent_navigation_node" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "node_key" VARCHAR(32), + "node_type" VARCHAR(255), + "position" INTEGER, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_navigation_node") +); + +CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); + +CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); + +CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +CREATE TABLE "spy_navigation_node_localized_attributes" +( + "id_navigation_node_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_navigation_node" INTEGER NOT NULL, + "fk_url" INTEGER, + "css_class" VARCHAR(255), + "external_url" VARCHAR(255), + "link" VARCHAR(255), + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_node_localized_attributes") +); + +CREATE SEQUENCE "spy_navigation_storage_pk_seq"; + +CREATE TABLE "spy_navigation_storage" +( + "id_navigation_storage" INT8 NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "navigation_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_storage"), + CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); + +CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +CREATE TABLE "spy_newsletter_subscriber" +( + "id_newsletter_subscriber" INTEGER NOT NULL, + "fk_customer" INTEGER, + "email" VARCHAR(255) NOT NULL, + "subscriber_key" VARCHAR(150), + "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_subscriber"), + CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), + CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") +); + +CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); + +CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); + +CREATE SEQUENCE "spy_newsletter_type_pk_seq"; + +CREATE TABLE "spy_newsletter_type" +( + "id_newsletter_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_type"), + CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") +); + +CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); + +CREATE TABLE "spy_newsletter_subscription" +( + "fk_newsletter_subscriber" INTEGER NOT NULL, + "fk_newsletter_type" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") +); + +CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; + +CREATE TABLE "spy_nopayment_paid" +( + "id_nopayment_paid" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_nopayment_paid") +); + +CREATE SEQUENCE "spy_offer_pk_seq"; + +CREATE TABLE "spy_offer" +( + "id_offer" INTEGER NOT NULL, + "quote_data" TEXT NOT NULL, + "status" INT2 DEFAULT 0, + "fk_user" INTEGER, + "customer_reference" VARCHAR(255), + "contact_person" VARCHAR(255), + "contact_date" TIMESTAMP, + "note" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_offer") +); + +CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); + +CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; + +CREATE TABLE "spy_oms_transition_log" +( + "id_oms_transition_log" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "quantity" INTEGER, + "locked" BOOLEAN, + "fk_oms_order_process" INTEGER, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_transition_log") +); + +CREATE SEQUENCE "spy_oms_order_process_pk_seq"; + +CREATE TABLE "spy_oms_order_process" +( + "id_oms_order_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_process"), + CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_oms_state_machine_lock" +( + "id_oms_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "details" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_state_machine_lock"), + CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state" +( + "id_oms_order_item_state" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_oms_order_item_state"), + CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state_history" +( + "id_oms_order_item_state_history" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_item_state_history") +); + +CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); + +CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; + +CREATE TABLE "spy_oms_event_timeout" +( + "id_oms_event_timeout" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_event_timeout"), + CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") +); + +CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation" +( + "id_oms_product_reservation" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, + "fk_store" INTEGER, + PRIMARY KEY ("id_oms_product_reservation"), + CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_store" +( + "id_oms_product_reservation_store" INTEGER NOT NULL, + "store" VARCHAR(255) NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER NOT NULL, + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_product_reservation_store"), + CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") +); + +CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); + +CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); + +CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); + +CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_change_version" +( + "version" INT8 NOT NULL, + "id_oms_product_reservation_id" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("version") +); + +CREATE TABLE "spy_oms_product_reservation_last_exported_version" +( + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP +); + +CREATE SEQUENCE "spy_order_source_pk_seq"; + +CREATE TABLE "spy_order_source" +( + "id_order_source" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_order_source") +); + +CREATE SEQUENCE "spy_price_product_pk_seq"; + +CREATE TABLE "spy_price_product" +( + "id_price_product" INTEGER NOT NULL, + "fk_price_type" INTEGER NOT NULL, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "price" INTEGER DEFAULT 0, + PRIMARY KEY ("id_price_product"), + CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") +); + +CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); + +CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); + +CREATE SEQUENCE "spy_price_type_pk_seq"; + +CREATE TABLE "spy_price_type" +( + "id_price_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "price_mode_configuration" INT2, + PRIMARY KEY ("id_price_type"), + CONSTRAINT "spy_price_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_price_product_store_pk_seq"; + +CREATE TABLE "spy_price_product_store" +( + "id_price_product_store" INT8 NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_price_product" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + "price_data" TEXT, + "price_data_checksum" VARCHAR, + PRIMARY KEY ("id_price_product_store") +); + +CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); + +CREATE SEQUENCE "spy_price_product_default_pk_seq"; + +CREATE TABLE "spy_price_product_default" +( + "id_price_product_default" INT8 NOT NULL, + "fk_price_product_store" INT8 NOT NULL, + PRIMARY KEY ("id_price_product_default"), + CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") +); + +CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); + +CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_price_product_abstract_storage" +( + "id_price_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_abstract_storage"), + CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_price_product_concrete_storage" +( + "id_price_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_concrete_storage"), + CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_abstract" +( + "id_product_abstract" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "attributes" TEXT NOT NULL, + "color_code" VARCHAR(8), + "new_from" TIMESTAMP, + "new_to" TIMESTAMP, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract"), + CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_abstract_localized_attributes" +( + "id_abstract_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_abstract_attributes"), + CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") +); + +CREATE SEQUENCE "id_product_abstract_store_pk_seq"; + +CREATE TABLE "spy_product_abstract_store" +( + "id_product_abstract_store" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_product_abstract_store"), + CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") +); + +CREATE SEQUENCE "spy_product_pk_seq"; + +CREATE TABLE "spy_product" +( + "id_product" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product"), + CONSTRAINT "spy_product-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_localized_attributes" +( + "id_product_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "is_complete" BOOLEAN DEFAULT \'t\', + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_attributes"), + CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") +); + +CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; + +CREATE TABLE "spy_product_attribute_key" +( + "id_product_attribute_key" INTEGER NOT NULL, + "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_attribute_key"), + CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_alternative_pk_seq"; + +CREATE TABLE "spy_product_alternative" +( + "id_product_alternative" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_product_abstract_alternative" INTEGER, + "fk_product_concrete_alternative" INTEGER, + PRIMARY KEY ("id_product_alternative") +); + +CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; + +CREATE TABLE "spy_product_alternative_storage" +( + "id_product_alternative_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_alternative_storage"), + CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); + +CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +CREATE TABLE "spy_product_replacement_for_storage" +( + "id_product_replacement_for_storage" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_replacement_for_storage"), + CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); + +CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; + +CREATE TABLE "spy_product_management_attribute" +( + "id_product_management_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, + "input_type" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_management_attribute"), + CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value" +( + "id_product_management_attribute_value" INTEGER NOT NULL, + "fk_product_management_attribute" INTEGER NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value_translation" +( + "id_product_management_attribute_value_translation" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_management_attribute_value" INTEGER NOT NULL, + "translation" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value_translation"), + CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +CREATE TABLE "spy_sales_order_item_bundle" +( + "id_sales_order_item_bundle" INTEGER NOT NULL, + "cart_note" VARCHAR(255), + "gross_price" INTEGER NOT NULL, + "image" TEXT, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_bundle") +); + +CREATE SEQUENCE "spy_product_bundle_pk_seq"; + +CREATE TABLE "spy_product_bundle" +( + "id_product_bundle" INTEGER NOT NULL, + "fk_bundled_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_bundle") +); + +COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; + +COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; + +COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; + +CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); + +CREATE SEQUENCE "spy_product_category_pk_seq"; + +CREATE TABLE "spy_product_category" +( + "id_product_category" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "product_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_product_category"), + CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") +); + +CREATE SEQUENCE "spy_product_category_filter_pk_seq"; + +CREATE TABLE "spy_product_category_filter" +( + "id_product_category_filter" INTEGER NOT NULL, + "fk_category" INTEGER, + "filter_data" TEXT NOT NULL, + PRIMARY KEY ("id_product_category_filter"), + CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") +); + +CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); + +CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +CREATE TABLE "spy_product_category_filter_storage" +( + "id_product_category_filter_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_category_filter_storage"), + CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); + +CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_category_storage" +( + "id_product_abstract_category_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_category_storage"), + CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_discontinued_pk_seq"; + +CREATE TABLE "spy_product_discontinued" +( + "id_product_discontinued" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "active_until" DATE NOT NULL, + "discontinued_on" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued") +); + +CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; + +CREATE TABLE "spy_product_discontinued_note" +( + "id_product_discontinued_note" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "note" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_note"), + CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") +); + +CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; + +CREATE TABLE "spy_product_discontinued_storage" +( + "id_product_discontinued_storage" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_storage"), + CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); + +CREATE SEQUENCE "spy_product_group_pk_seq"; + +CREATE TABLE "spy_product_group" +( + "id_product_group" INTEGER NOT NULL, + "product_group_key" VARCHAR(32), + PRIMARY KEY ("id_product_group") +); + +CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); + +CREATE TABLE "spy_product_abstract_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_group" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_group") +); + +CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_group_storage" +( + "id_product_abstract_group_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_group_storage"), + CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_image_set_pk_seq"; + +CREATE TABLE "spy_product_image_set" +( + "id_product_image_set" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image_set"), + CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") +); + +CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); + +CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); + +CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_product_image_pk_seq"; + +CREATE TABLE "spy_product_image" +( + "id_product_image" INTEGER NOT NULL, + "external_url_large" VARCHAR(2048), + "external_url_small" VARCHAR(2048), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image") +); + +CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +CREATE TABLE "spy_product_image_set_to_product_image" +( + "id_product_image_set_to_product_image" INTEGER NOT NULL, + "fk_product_image" INTEGER NOT NULL, + "fk_product_image_set" INTEGER NOT NULL, + "sort_order" INTEGER NOT NULL, + PRIMARY KEY ("id_product_image_set_to_product_image"), + CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") +); + +CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_image_storage" +( + "id_product_abstract_image_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_image_storage"), + CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_image_storage" +( + "id_product_concrete_image_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_image_storage"), + CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_label_pk_seq"; + +CREATE TABLE "spy_product_label" +( + "id_product_label" INTEGER NOT NULL, + "front_end_reference" VARCHAR, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_published" BOOLEAN DEFAULT \'f\', + "name" VARCHAR NOT NULL, + "position" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label"), + CONSTRAINT "spy_product_label-name" UNIQUE ("name") +); + +CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); + +CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_label_localized_attributes" +( + "id_product_label_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + "name" VARCHAR, + PRIMARY KEY ("id_product_label_localized_attributes"), + CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") +); + +CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); + +CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_label_product_abstract" +( + "id_product_label_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + PRIMARY KEY ("id_product_label_product_abstract"), + CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") +); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +CREATE TABLE "spy_product_label_dictionary_storage" +( + "id_product_label_dictionary_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label_dictionary_storage"), + CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_label_storage" +( + "id_product_abstract_label_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_label_storage"), + CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_option_group_pk_seq"; + +CREATE TABLE "spy_product_option_group" +( + "id_product_option_group" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "active" BOOLEAN, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_group") +); + +CREATE TABLE "spy_product_abstract_product_option_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_option_group") +); + +CREATE SEQUENCE "spy_product_option_value_pk_seq"; + +CREATE TABLE "spy_product_option_value" +( + "id_product_option_value" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + "price" INTEGER, + "sku" VARCHAR(255) NOT NULL, + "value" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_value"), + CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") +); + +COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; + +CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; + +CREATE TABLE "spy_product_option_value_price" +( + "id_product_option_value_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_product_option_value" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + PRIMARY KEY ("id_product_option_value_price"), + CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_option_storage" +( + "id_product_abstract_option_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_option_storage"), + CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +CREATE TABLE "spy_product_abstract_page_search" +( + "id_product_abstract_page_search" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_page_search"), + CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_quantity_pk_seq"; + +CREATE TABLE "spy_product_quantity" +( + "id_product_quantity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity_interval" INTEGER NOT NULL, + "quantity_max" INTEGER, + "quantity_min" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity"), + CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") +); + +CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; + +CREATE TABLE "spy_product_quantity_storage" +( + "id_product_quantity_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_quantity_storage") +); + +CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_relation_type_pk_seq"; + +CREATE TABLE "spy_product_relation_type" +( + "id_product_relation_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_type") +); + +CREATE SEQUENCE "spy_product_relation_pk_seq"; + +CREATE TABLE "spy_product_relation" +( + "id_product_relation" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation_type" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, + "query_set_data" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation"), + CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") +); + +CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +CREATE TABLE "spy_product_relation_product_abstract" +( + "id_product_relation_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation" INTEGER NOT NULL, + "order" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_product_abstract") +); + +CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_relation_storage" +( + "id_product_abstract_relation_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_relation_storage"), + CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_review_pk_seq"; + +CREATE TABLE "spy_product_review" +( + "id_product_review" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "description" TEXT, + "nickname" VARCHAR(255), + "rating" INTEGER DEFAULT 0 NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "summary" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review") +); + +CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); + +CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); + +CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); + +CREATE SEQUENCE "spy_product_review_search_pk_seq"; + +CREATE TABLE "spy_product_review_search" +( + "id_product_review_search" INT8 NOT NULL, + "fk_product_review" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review_search"), + CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); + +CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_review_storage" +( + "id_product_abstract_review_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_review_storage"), + CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_search_pk_seq"; + +CREATE TABLE "spy_product_search" +( + "id_product_search" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_product_search") +); + +CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); + +CREATE TABLE "spy_product_search_attribute_map" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); + +CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; + +CREATE TABLE "spy_product_search_attribute" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_product_search_attribute"), + CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; + +CREATE TABLE "spy_product_search_config_storage" +( + "id_product_search_config_storage" INT8 NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_config_storage"), + CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_set_pk_seq"; + +CREATE TABLE "spy_product_set" +( + "id_product_set" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "product_set_key" VARCHAR(255) NOT NULL, + "weight" INTEGER DEFAULT 0 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set"), + CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") +); + +CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; + +CREATE TABLE "spy_product_abstract_set" +( + "id_product_abstract_set" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_product_abstract_set"), + CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") +); + +CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); + +CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_set_data_pk_seq"; + +CREATE TABLE "spy_product_set_data" +( + "id_product_set_data" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_data"), + CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") +); + +CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); + +CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); + +CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; + +CREATE TABLE "spy_product_set_page_search" +( + "id_product_set_page_search" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_page_search"), + CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_set_storage_pk_seq"; + +CREATE TABLE "spy_product_set_storage" +( + "id_product_set_storage" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_storage"), + CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_storage" +( + "id_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_storage"), + CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_storage" +( + "id_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_storage"), + CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_validity_pk_seq"; + +CREATE TABLE "spy_product_validity" +( + "id_product_validity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_product_validity"), + CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") +); + +CREATE TABLE "spy_propel_heartbeat" +( + "heartbeat_check" VARCHAR NOT NULL, + PRIMARY KEY ("heartbeat_check") +); + +CREATE SEQUENCE "spy_queue_process_pk_seq"; + +CREATE TABLE "spy_queue_process" +( + "id_queue_process" INTEGER NOT NULL, + "server_id" VARCHAR(255) NOT NULL, + "process_pid" INTEGER NOT NULL, + "worker_pid" INTEGER NOT NULL, + "queue_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_queue_process"), + CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") +); + +CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); + +CREATE SEQUENCE "id_quote_pk_seq"; + +CREATE TABLE "spy_quote" +( + "id_quote" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "quote_data" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_quote") +); + +CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); + +CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); + +CREATE SEQUENCE "spy_refund_pk_seq"; + +CREATE TABLE "spy_refund" +( + "id_refund" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "comment" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_refund") +); + +CREATE SEQUENCE "spy_sales_order_pk_seq"; + +CREATE TABLE "spy_sales_order" +( + "id_sales_order" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_order_source" INTEGER, + "fk_sales_order_address_billing" INTEGER NOT NULL, + "fk_sales_order_address_shipping" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER, + "cart_note" VARCHAR(255), + "currency_iso_code" VARCHAR(5), + "customer_reference" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100), + "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, + "last_name" VARCHAR(100), + "order_reference" VARCHAR(45) NOT NULL, + "price_mode" INT2, + "salutation" INT2, + "store" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order"), + CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") +); + +CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); + +CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); + +CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); + +CREATE SEQUENCE "spy_sales_order_item_pk_seq"; + +CREATE TABLE "spy_sales_order_item" +( + "id_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "fk_oms_order_process" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_order_item_bundle" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "cart_note" VARCHAR(255), + "discount_amount_aggregation" INTEGER DEFAULT 0, + "discount_amount_full_aggregation" INTEGER DEFAULT 0, + "expense_price_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "group_key" VARCHAR(255), + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "product_option_price_aggregation" INTEGER DEFAULT 0, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "refundable_amount" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "subtotal_aggregation" INTEGER, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_amount_full_aggregation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "tax_rate_average_aggregation" NUMERIC(8,2), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item") +); + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; + +CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); + +CREATE SEQUENCE "spy_sales_discount_pk_seq"; + +CREATE TABLE "spy_sales_discount" +( + "id_sales_discount" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER, + "fk_sales_order_item" INTEGER, + "fk_sales_order_item_option" INTEGER, + "amount" INTEGER NOT NULL, + "description" VARCHAR(510), + "display_name" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount") +); + +CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; + +CREATE TABLE "spy_sales_discount_code" +( + "id_sales_discount_code" INTEGER NOT NULL, + "fk_sales_discount" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "codepool_name" VARCHAR(255) NOT NULL, + "is_once_per_customer" BOOLEAN DEFAULT \'t\', + "is_refundable" BOOLEAN DEFAULT \'f\', + "is_reusable" BOOLEAN DEFAULT \'f\', + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount_code") +); + +CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +CREATE TABLE "spy_sales_order_item_gift_card" +( + "id_sales_order_item_gift_card" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "attributes" TEXT, + "code" VARCHAR(40), + "pattern" VARCHAR(40), + "value" INTEGER, + PRIMARY KEY ("id_sales_order_item_gift_card") +); + +CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; + +CREATE TABLE "spy_sales_order_item_option" +( + "id_sales_order_item_option" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER DEFAULT 0 NOT NULL, + "group_name" VARCHAR NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "tax_amount" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2) NOT NULL, + "value" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_option") +); + +COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +CREATE SEQUENCE "spy_sales_order_address_pk_seq"; + +CREATE TABLE "spy_sales_order_address" +( + "id_sales_order_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address") +); + +CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; + +CREATE TABLE "spy_sales_order_address_history" +( + "id_sales_order_address_history" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "fk_sales_order_address" INTEGER NOT NULL, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "is_billing" BOOLEAN DEFAULT \'f\', + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address_history") +); + +CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; + +CREATE TABLE "spy_sales_order_totals" +( + "id_sales_order_totals" INTEGER NOT NULL, + "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, + "canceled_total" INTEGER DEFAULT 0, + "discount_total" INTEGER DEFAULT 0, + "grand_total" INTEGER DEFAULT 0, + "order_expense_total" INTEGER DEFAULT 0, + "refund_total" INTEGER DEFAULT 0, + "subtotal" INTEGER DEFAULT 0, + "tax_total" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_totals") +); + +CREATE SEQUENCE "spy_sales_order_note_pk_seq"; + +CREATE TABLE "spy_sales_order_note" +( + "id_sales_order_note" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "command" VARCHAR(255) NOT NULL, + "message" VARCHAR(255) NOT NULL, + "success" BOOLEAN NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_note") +); + +CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; + +CREATE TABLE "spy_sales_order_comment" +( + "id_sales_order_comment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "username" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_comment") +); + +CREATE SEQUENCE "spy_sales_expense_pk_seq"; + +CREATE TABLE "spy_sales_expense" +( + "id_sales_expense" INTEGER NOT NULL, + "fk_sales_order" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "name" VARCHAR(255), + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "refundable_amount" INTEGER DEFAULT 0, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "type" VARCHAR(150), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_expense"), + CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") +); + +COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; + +COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +CREATE TABLE "spy_sales_order_item_metadata" +( + "id_sales_order_item_metadata" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "image" TEXT, + "super_attributes" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_metadata") +); + +CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); + +CREATE SEQUENCE "spy_sales_shipment_pk_seq"; + +CREATE TABLE "spy_sales_shipment" +( + "id_sales_shipment" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "carrier_name" VARCHAR(255), + "delivery_time" VARCHAR(255), + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_shipment") +); + +CREATE SEQUENCE "spy_sales_payment_pk_seq"; + +CREATE TABLE "spy_sales_payment" +( + "id_sales_payment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_payment_method_type" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_payment") +); + +CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +CREATE TABLE "spy_sales_payment_method_type" +( + "id_sales_payment_method_type" INTEGER NOT NULL, + "payment_provider" VARCHAR NOT NULL, + "payment_method" VARCHAR NOT NULL, + PRIMARY KEY ("id_sales_payment_method_type") +); + +CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); + +CREATE SEQUENCE "spy_sequence_number_pk_seq"; + +CREATE TABLE "spy_sequence_number" +( + "id_sequence_number" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "current_id" INTEGER NOT NULL, + PRIMARY KEY ("id_sequence_number"), + CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; + +CREATE TABLE "spy_shipment_carrier" +( + "id_shipment_carrier" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_shipment_carrier") +); + +CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_pk_seq"; + +CREATE TABLE "spy_shipment_method" +( + "id_shipment_method" INTEGER NOT NULL, + "fk_shipment_carrier" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "name" VARCHAR(255) NOT NULL, + "shipment_method_key" VARCHAR(255), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "default_price" INTEGER, + "availability_plugin" VARCHAR(255), + "price_plugin" VARCHAR(255), + "delivery_time_plugin" VARCHAR(255), + PRIMARY KEY ("id_shipment_method") +); + +COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; + +CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; + +CREATE TABLE "spy_shipment_method_price" +( + "id_shipment_method_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_shipment_method" INTEGER NOT NULL, + "default_gross_price" INTEGER, + "default_net_price" INTEGER, + PRIMARY KEY ("id_shipment_method_price"), + CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +CREATE TABLE "spy_state_machine_transition_log" +( + "id_state_machine_transition_log" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "locked" BOOLEAN, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_transition_log") +); + +CREATE SEQUENCE "spy_state_machine_process_pk_seq"; + +CREATE TABLE "spy_state_machine_process" +( + "id_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "state_machine_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_process"), + CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") +); + +CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); + +CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_state_machine_lock" +( + "id_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_lock"), + CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state" +( + "id_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_state_machine_item_state"), + CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") +); + +CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state_history" +( + "id_state_machine_item_state_history" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_item_state_history") +); + +CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); + +CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +CREATE TABLE "spy_state_machine_event_timeout" +( + "id_state_machine_event_timeout" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_event_timeout"), + CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") +); + +CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_stock_pk_seq"; + +CREATE TABLE "spy_stock" +( + "id_stock" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_stock"), + CONSTRAINT "spy_stock-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_stock_product_pk_seq"; + +CREATE TABLE "spy_stock_product" +( + "id_stock_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_stock" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 0, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_stock_product"), + CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") +); + +CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); + +CREATE SEQUENCE "spy_store_pk_seq"; + +CREATE TABLE "spy_store" +( + "id_store" INTEGER NOT NULL, + "name" VARCHAR(255), + PRIMARY KEY ("id_store") +); + +CREATE SEQUENCE "spy_tax_set_pk_seq"; + +CREATE TABLE "spy_tax_set" +( + "id_tax_set" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_set") +); + +CREATE SEQUENCE "spy_tax_rate_pk_seq"; + +CREATE TABLE "spy_tax_rate" +( + "id_tax_rate" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "rate" NUMERIC(8,2) NOT NULL, + "fk_country" INTEGER, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_rate") +); + +CREATE TABLE "spy_tax_set_tax" +( + "fk_tax_set" INTEGER NOT NULL, + "fk_tax_rate" INTEGER NOT NULL, + PRIMARY KEY ("fk_tax_set","fk_tax_rate") +); + +CREATE SEQUENCE "spy_touch_pk_seq"; + +CREATE TABLE "spy_touch" +( + "id_touch" INTEGER NOT NULL, + "item_type" VARCHAR(255) NOT NULL, + "item_event" INT2 NOT NULL, + "item_id" INTEGER NOT NULL, + "touched" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_touch"), + CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") +); + +CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); + +CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); + +CREATE SEQUENCE "spy_touch_storage_pk_seq"; + +CREATE TABLE "spy_touch_storage" +( + "id_touch_storage" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_storage"), + CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); + +CREATE SEQUENCE "spy_touch_search_pk_seq"; + +CREATE TABLE "spy_touch_search" +( + "id_touch_search" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_search"), + CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); + +CREATE SEQUENCE "spy_url_pk_seq"; + +CREATE TABLE "spy_url" +( + "id_url" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_resource_categorynode" INTEGER, + "fk_resource_page" INTEGER, + "fk_resource_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "fk_resource_redirect" INTEGER, + "url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url"), + CONSTRAINT "spy_url_unique_key" UNIQUE ("url") +); + +CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_url_redirect_pk_seq"; + +CREATE TABLE "spy_url_redirect" +( + "id_url_redirect" INTEGER NOT NULL, + "status" INTEGER DEFAULT 301 NOT NULL, + "to_url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url_redirect") +); + +CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); + +CREATE SEQUENCE "spy_url_storage_pk_seq"; + +CREATE TABLE "spy_url_storage" +( + "id_url_storage" INT8 NOT NULL, + "fk_categorynode" INTEGER, + "fk_page" INTEGER, + "fk_product_abstract" INTEGER, + "fk_product_set" INTEGER, + "fk_redirect" INTEGER, + "fk_url" INTEGER NOT NULL, + "url" VARCHAR NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_storage"), + CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); + +CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; + +CREATE TABLE "spy_url_redirect_storage" +( + "id_url_redirect_storage" INT8 NOT NULL, + "fk_url_redirect" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_redirect_storage"), + CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); + +CREATE SEQUENCE "spy_user_pk_seq"; + +CREATE TABLE "spy_user" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_user"), + CONSTRAINT "spy_user-username" UNIQUE ("username") +); + +CREATE SEQUENCE "spy_wishlist_pk_seq"; + +CREATE TABLE "spy_wishlist" +( + "id_wishlist" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist"), + CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") +); + +CREATE SEQUENCE "spy_wishlist_item_pk_seq"; + +CREATE TABLE "spy_wishlist_item" +( + "id_wishlist_item" INTEGER NOT NULL, + "fk_wishlist" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist_item") +); + +CREATE TABLE "spy_acl_role_archive" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role") +); + +CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); + +CREATE TABLE "spy_acl_rule_archive" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE TABLE "spy_acl_group_archive" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group") +); + +CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); + +CREATE TABLE "spy_auth_reset_password_archive" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user") +); + +CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); + +CREATE TABLE "spy_product_search_attribute_map_archive" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + "archived_at" TIMESTAMP, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_product_search_attribute_archive" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_attribute") +); + +CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_user_archive" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_user") +); + +CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); + +ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" + FOREIGN KEY ("fk_availability_abstract") + REFERENCES "spy_availability_abstract" ("id_availability_abstract"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" + FOREIGN KEY ("fk_parent_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" + FOREIGN KEY ("fk_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" + FOREIGN KEY ("fk_category_node_descendant") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_template" ("id_cms_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" + FOREIGN KEY ("fk_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_block_template" ("id_cms_block_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block"); + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" + FOREIGN KEY ("fk_cms_block_category_position") + REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" + FOREIGN KEY ("default_billing_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" + FOREIGN KEY ("default_shipping_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" + FOREIGN KEY ("fk_customer_group") + REFERENCES "spy_customer_group" ("id_customer_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" + FOREIGN KEY ("fk_gift_card_product_abstract_configuration") + REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" + FOREIGN KEY ("fk_gift_card_product_configuration") + REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); + +ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" + FOREIGN KEY ("fk_sales_payment") + REFERENCES "spy_sales_payment" ("id_sales_payment"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" + FOREIGN KEY ("fk_gift_card") + REFERENCES "spy_gift_card" ("id_gift_card"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" + FOREIGN KEY ("fk_parent_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" + FOREIGN KEY ("fk_navigation") + REFERENCES "spy_navigation" ("id_navigation") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" + FOREIGN KEY ("fk_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" + FOREIGN KEY ("fk_url") + REFERENCES "spy_url" ("id_url"); + +ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" + FOREIGN KEY ("fk_newsletter_subscriber") + REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" + FOREIGN KEY ("fk_newsletter_type") + REFERENCES "spy_newsletter_type" ("id_newsletter_type"); + +ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" + FOREIGN KEY ("fk_price_type") + REFERENCES "spy_price_type" ("id_price_type"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" + FOREIGN KEY ("fk_price_product") + REFERENCES "spy_price_product" ("id_price_product"); + +ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" + FOREIGN KEY ("fk_price_product_store") + REFERENCES "spy_price_product_store" ("id_price_product_store") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" + FOREIGN KEY ("fk_product_abstract_alternative") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" + FOREIGN KEY ("fk_product_concrete_alternative") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" + FOREIGN KEY ("fk_product_management_attribute") + REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" + FOREIGN KEY ("fk_product_management_attribute_value") + REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" + FOREIGN KEY ("fk_bundled_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" + FOREIGN KEY ("fk_product_discontinued") + REFERENCES "spy_product_discontinued" ("id_product_discontinued"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" + FOREIGN KEY ("fk_product_group") + REFERENCES "spy_product_group" ("id_product_group"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" + FOREIGN KEY ("fk_product_image_set") + REFERENCES "spy_product_image_set" ("id_product_image_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" + FOREIGN KEY ("fk_product_image") + REFERENCES "spy_product_image" ("id_product_image"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE SET NULL; + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" + FOREIGN KEY ("fk_product_option_value") + REFERENCES "spy_product_option_value" ("id_product_option_value") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" + FOREIGN KEY ("fk_product_relation_type") + REFERENCES "spy_product_relation_type" ("id_product_relation_type"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" + FOREIGN KEY ("fk_product_relation") + REFERENCES "spy_product_relation" ("id_product_relation"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" + FOREIGN KEY ("fk_order_source") + REFERENCES "spy_order_source" ("id_order_source"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" + FOREIGN KEY ("fk_sales_order_address_billing") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" + FOREIGN KEY ("fk_sales_order_address_shipping") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" + FOREIGN KEY ("fk_sales_order_item_bundle") + REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" + FOREIGN KEY ("fk_sales_order_item_option") + REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); + +ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" + FOREIGN KEY ("fk_sales_discount") + REFERENCES "spy_sales_discount" ("id_sales_discount"); + +ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" + FOREIGN KEY ("fk_sales_order_address") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" + FOREIGN KEY ("fk_sales_payment_method_type") + REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" + FOREIGN KEY ("fk_shipment_carrier") + REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" + FOREIGN KEY ("fk_shipment_method") + REFERENCES "spy_shipment_method" ("id_shipment_method"); + +ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" + FOREIGN KEY ("fk_stock") + REFERENCES "spy_stock" ("id_stock"); + +ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" + FOREIGN KEY ("fk_tax_rate") + REFERENCES "spy_tax_rate" ("id_tax_rate"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" + FOREIGN KEY ("fk_resource_categorynode") + REFERENCES "spy_category_node" ("id_category_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" + FOREIGN KEY ("fk_resource_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" + FOREIGN KEY ("fk_resource_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" + FOREIGN KEY ("fk_resource_redirect") + REFERENCES "spy_url_redirect" ("id_url_redirect") + ON DELETE CASCADE; + +ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" + FOREIGN KEY ("fk_wishlist") + REFERENCES "spy_wishlist" ("id_wishlist"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" + FOREIGN KEY ("sku") + REFERENCES "spy_product" ("sku"); + +COMMIT; +', +); + } + + /** + * Get the SQL statements for the Down migration + * + * @return array list of the SQL strings to execute for the Down migration + * the keys being the datasources + */ + public function getDownSQL() + { + return array ( + 'zed' => ' +BEGIN; + +DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role" CASCADE; + +DROP SEQUENCE "spy_acl_role_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; + +DROP SEQUENCE "spy_acl_rule_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_group" CASCADE; + +DROP SEQUENCE "spy_acl_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; + +DROP SEQUENCE "spy_auth_reset_password_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; + +DROP SEQUENCE "spy_availability_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability" CASCADE; + +DROP SEQUENCE "spy_availability_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; + +DROP SEQUENCE "spy_availability_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category" CASCADE; + +DROP SEQUENCE "spy_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; + +DROP SEQUENCE "spy_category_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node" CASCADE; + +DROP SEQUENCE "spy_category_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; + +DROP SEQUENCE "spy_category_closure_table_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; + +DROP SEQUENCE "spy_category_node_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; + +DROP SEQUENCE "spy_category_tree_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; + +DROP SEQUENCE "spy_category_node_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_template" CASCADE; + +DROP SEQUENCE "spy_category_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_template" CASCADE; + +DROP SEQUENCE "spy_cms_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page" CASCADE; + +DROP SEQUENCE "spy_cms_page_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_version" CASCADE; + +DROP SEQUENCE "spy_cms_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; + +DROP SEQUENCE "spy_cms_block_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block" CASCADE; + +DROP SEQUENCE "spy_cms_block_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; + +DROP SEQUENCE "id_cms_block_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; + +DROP SEQUENCE "spy_cms_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; + +DROP SEQUENCE "spy_cms_page_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_country" CASCADE; + +DROP SEQUENCE "spy_country_pk_seq"; + +DROP TABLE IF EXISTS "spy_region" CASCADE; + +DROP SEQUENCE "spy_region_pk_seq"; + +DROP TABLE IF EXISTS "spy_currency" CASCADE; + +DROP SEQUENCE "spy_currency_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer" CASCADE; + +DROP SEQUENCE "spy_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_address" CASCADE; + +DROP SEQUENCE "spy_customer_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group" CASCADE; + +DROP SEQUENCE "spy_customer_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; + +DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_note" CASCADE; + +DROP SEQUENCE "spy_customer_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount" CASCADE; + +DROP SEQUENCE "spy_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_store" CASCADE; + +DROP SEQUENCE "id_discount_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; + +DROP SEQUENCE "spy_discount_amount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; + +DROP SEQUENCE "spy_discount_promotion_pk_seq"; + +DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; + +DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; + +DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card" CASCADE; + +DROP SEQUENCE "spy_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; + +DROP SEQUENCE "spy_payment_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; + +DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; + +DROP SEQUENCE "spy_glossary_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; + +DROP SEQUENCE "spy_glossary_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; + +DROP SEQUENCE "spy_glossary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_locale" CASCADE; + +DROP SEQUENCE "spy_locale_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation" CASCADE; + +DROP SEQUENCE "spy_navigation_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; + +DROP SEQUENCE "spy_navigation_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; + +DROP SEQUENCE "spy_navigation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; + +DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; + +DROP SEQUENCE "spy_newsletter_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; + +DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; + +DROP SEQUENCE "spy_nopayment_paid_pk_seq"; + +DROP TABLE IF EXISTS "spy_offer" CASCADE; + +DROP SEQUENCE "spy_offer_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; + +DROP SEQUENCE "spy_oms_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; + +DROP SEQUENCE "spy_oms_order_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; + +DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; + +DROP TABLE IF EXISTS "spy_order_source" CASCADE; + +DROP SEQUENCE "spy_order_source_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product" CASCADE; + +DROP SEQUENCE "spy_price_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_type" CASCADE; + +DROP SEQUENCE "spy_price_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; + +DROP SEQUENCE "spy_price_product_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; + +DROP SEQUENCE "spy_price_product_default_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; + +DROP SEQUENCE "id_product_abstract_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_product" CASCADE; + +DROP SEQUENCE "spy_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; + +DROP SEQUENCE "spy_product_attribute_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; + +DROP SEQUENCE "spy_product_alternative_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; + +DROP SEQUENCE "id_product_alternative_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; + +DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; + +DROP SEQUENCE "spy_product_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category" CASCADE; + +DROP SEQUENCE "spy_product_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; + +DROP SEQUENCE "id_product_discontinued_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; + +DROP SEQUENCE "id_product_discontinued_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; + +DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_group" CASCADE; + +DROP SEQUENCE "spy_product_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; + +DROP SEQUENCE "spy_product_image_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label" CASCADE; + +DROP SEQUENCE "spy_product_label_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; + +DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; + +DROP SEQUENCE "spy_product_option_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; + +DROP SEQUENCE "spy_product_option_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; + +DROP SEQUENCE "spy_product_option_value_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; + +DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; + +DROP SEQUENCE "id_product_quantity_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; + +DROP SEQUENCE "id_product_quantity_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; + +DROP SEQUENCE "spy_product_relation_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation" CASCADE; + +DROP SEQUENCE "spy_product_relation_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review" CASCADE; + +DROP SEQUENCE "id_product_review_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; + +DROP SEQUENCE "spy_product_review_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search" CASCADE; + +DROP SEQUENCE "spy_product_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; + +DROP SEQUENCE "spy_product_search_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; + +DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set" CASCADE; + +DROP SEQUENCE "spy_product_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; + +DROP SEQUENCE "spy_product_abstract_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; + +DROP SEQUENCE "spy_product_set_data_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; + +DROP SEQUENCE "spy_product_set_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; + +DROP SEQUENCE "spy_product_set_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_validity" CASCADE; + +DROP SEQUENCE "spy_product_validity_pk_seq"; + +DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; + +DROP TABLE IF EXISTS "spy_queue_process" CASCADE; + +DROP SEQUENCE "spy_queue_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_quote" CASCADE; + +DROP SEQUENCE "id_quote_pk_seq"; + +DROP TABLE IF EXISTS "spy_refund" CASCADE; + +DROP SEQUENCE "spy_refund_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order" CASCADE; + +DROP SEQUENCE "spy_sales_order_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; + +DROP SEQUENCE "spy_sales_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; + +DROP SEQUENCE "spy_sales_discount_code_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; + +DROP SEQUENCE "spy_sales_order_totals_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; + +DROP SEQUENCE "spy_sales_order_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; + +DROP SEQUENCE "spy_sales_order_comment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; + +DROP SEQUENCE "spy_sales_expense_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; + +DROP SEQUENCE "spy_sales_shipment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; + +DROP SEQUENCE "spy_sales_payment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; + +DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; + +DROP SEQUENCE "spy_sequence_number_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; + +DROP SEQUENCE "spy_shipment_carrier_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; + +DROP SEQUENCE "spy_shipment_method_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; + +DROP SEQUENCE "spy_shipment_method_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; + +DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; + +DROP SEQUENCE "spy_state_machine_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; + +DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock" CASCADE; + +DROP SEQUENCE "spy_stock_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock_product" CASCADE; + +DROP SEQUENCE "spy_stock_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_store" CASCADE; + +DROP SEQUENCE "spy_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set" CASCADE; + +DROP SEQUENCE "spy_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; + +DROP SEQUENCE "spy_tax_rate_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; + +DROP TABLE IF EXISTS "spy_touch" CASCADE; + +DROP SEQUENCE "spy_touch_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; + +DROP SEQUENCE "spy_touch_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_search" CASCADE; + +DROP SEQUENCE "spy_touch_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_url" CASCADE; + +DROP SEQUENCE "spy_url_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; + +DROP SEQUENCE "spy_url_redirect_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_storage" CASCADE; + +DROP SEQUENCE "spy_url_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; + +DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_user" CASCADE; + +DROP SEQUENCE "spy_user_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist" CASCADE; + +DROP SEQUENCE "spy_wishlist_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; + +DROP SEQUENCE "spy_wishlist_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_user_archive" CASCADE; + +COMMIT; +', +); + } + +} \ No newline at end of file diff --git a/src/Pyz/Zed/Permission/PermissionDependencyProvider.php b/src/Pyz/Zed/Permission/PermissionDependencyProvider.php deleted file mode 100644 index e69de29bb2..0000000000 From 020439096b0c1f694ac581ebe2cbfdf72501f686 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 08:11:13 +0000 Subject: [PATCH 20/91] SUITE-746: fixed travis --- .../PropelMigration_1539177877.php | 4865 ----------------- .../PropelMigration_1539177880.php | 4865 ----------------- 2 files changed, 9730 deletions(-) delete mode 100644 src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php delete mode 100644 src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php diff --git a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php deleted file mode 100644 index e1caa82568..0000000000 --- a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1539177877.php +++ /dev/null @@ -1,4865 +0,0 @@ - ' -BEGIN; - -CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; - -CREATE TABLE "spy_sales_reclamation" -( - "id_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "customer_name" VARCHAR(511) NOT NULL, - "customer_reference" VARCHAR(255), - "customer_email" VARCHAR(255) NOT NULL, - "state" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_reclamation") -); - -CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -CREATE TABLE "spy_sales_reclamation_item" -( - "id_sales_reclamation_item" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "state" INT2 NOT NULL, - PRIMARY KEY ("id_sales_reclamation_item") -); - -CREATE SEQUENCE "spy_acl_role_pk_seq"; - -CREATE TABLE "spy_acl_role" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role"), - CONSTRAINT "spy_acl_role-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_acl_rule_pk_seq"; - -CREATE TABLE "spy_acl_rule" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE SEQUENCE "spy_acl_group_pk_seq"; - -CREATE TABLE "spy_acl_group" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group"), - CONSTRAINT "spy_acl_group-name" UNIQUE ("name") -); - -CREATE TABLE "spy_acl_user_has_group" -( - "fk_user" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_user","fk_acl_group") -); - -CREATE TABLE "spy_acl_groups_has_roles" -( - "fk_acl_role" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_acl_role","fk_acl_group") -); - -CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; - -CREATE TABLE "spy_auth_reset_password" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user"), - CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_availability_abstract_pk_seq"; - -CREATE TABLE "spy_availability_abstract" -( - "id_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_availability_abstract"), - CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_pk_seq"; - -CREATE TABLE "spy_availability" -( - "id_availability" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - "quantity" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_availability"), - CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_storage_pk_seq"; - -CREATE TABLE "spy_availability_storage" -( - "id_availability_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_availability_storage"), - CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); - -CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); - -CREATE SEQUENCE "spy_category_pk_seq"; - -CREATE TABLE "spy_category" -( - "id_category" INTEGER NOT NULL, - "fk_category_template" INTEGER, - "category_key" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\', - "is_clickable" BOOLEAN DEFAULT \'t\', - "is_in_menu" BOOLEAN DEFAULT \'t\', - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_category"), - CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") -); - -CREATE SEQUENCE "spy_category_attribute_pk_seq"; - -CREATE TABLE "spy_category_attribute" -( - "id_category_attribute" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "category_image_name" VARCHAR(255), - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" TEXT, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_attribute") -); - -CREATE SEQUENCE "spy_category_node_pk_seq"; - -CREATE TABLE "spy_category_node" -( - "id_category_node" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_parent_category_node" INTEGER, - "is_main" BOOLEAN DEFAULT \'f\', - "is_root" BOOLEAN DEFAULT \'f\', - "node_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_category_node") -); - -CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); - -CREATE SEQUENCE "spy_category_closure_table_pk_seq"; - -CREATE TABLE "spy_category_closure_table" -( - "id_category_closure_table" INTEGER NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "fk_category_node_descendant" INTEGER NOT NULL, - "depth" INTEGER NOT NULL, - PRIMARY KEY ("id_category_closure_table") -); - -CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; - -CREATE TABLE "spy_category_node_page_search" -( - "id_category_node_page_search" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_page_search"), - CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; - -CREATE TABLE "spy_category_tree_storage" -( - "id_category_tree_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_tree_storage"), - CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_category_node_storage_pk_seq"; - -CREATE TABLE "spy_category_node_storage" -( - "id_category_node_storage" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_storage"), - CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_template_pk_seq"; - -CREATE TABLE "spy_category_template" -( - "id_category_template" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_category_template"), - CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_template_pk_seq"; - -CREATE TABLE "spy_cms_template" -( - "id_cms_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_template"), - CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); - -CREATE SEQUENCE "spy_cms_page_pk_seq"; - -CREATE TABLE "spy_cms_page" -( - "id_cms_page" INTEGER NOT NULL, - "fk_template" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, - "page_key" VARCHAR(32), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_cms_page") -); - -CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); - -CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -CREATE TABLE "spy_cms_page_localized_attributes" -( - "id_cms_page_localized_attributes" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_localized_attributes"), - CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") -); - -CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_glossary_key_mapping" -( - "id_cms_glossary_key_mapping" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_page" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_glossary_key_mapping"), - CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") -); - -CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); - -CREATE SEQUENCE "spy_cms_version_pk_seq"; - -CREATE TABLE "spy_cms_version" -( - "id_cms_version" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_user" INTEGER, - "data" TEXT, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_version") -); - -CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); - -CREATE SEQUENCE "spy_cms_block_template_pk_seq"; - -CREATE TABLE "spy_cms_block_template" -( - "id_cms_block_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_template"), - CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_block_glossary_key_mapping" -( - "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_block_glossary_key_mapping"), - CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") -); - -CREATE SEQUENCE "spy_cms_block_pk_seq"; - -CREATE TABLE "spy_cms_block" -( - "id_cms_block" INTEGER NOT NULL, - "fk_page" INTEGER, - "fk_template" INTEGER, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "name" VARCHAR(255) NOT NULL, - "type" VARCHAR(255), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "value" INTEGER, - PRIMARY KEY ("id_cms_block"), - CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") -); - -COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; - -CREATE SEQUENCE "id_cms_block_store_pk_seq"; - -CREATE TABLE "spy_cms_block_store" -( - "id_cms_block_store" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_store"), - CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") -); - -CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_category_connector" -( - "id_cms_block_category_connector" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_category_template" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_cms_block_category_position" INTEGER, - PRIMARY KEY ("id_cms_block_category_connector") -); - -CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; - -CREATE TABLE "spy_cms_block_category_position" -( - "id_cms_block_category_position" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_category_position") -); - -CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_category_storage" -( - "id_cms_block_category_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_category_storage"), - CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_product_connector" -( - "id_cms_block_product_connector" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_product_connector") -); - -CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_product_storage" -( - "id_cms_block_product_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_product_storage"), - CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_storage" -( - "id_cms_block_storage" INT8 NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "name" VARCHAR NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_storage"), - CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); - -CREATE SEQUENCE "spy_cms_page_search_pk_seq"; - -CREATE TABLE "spy_cms_page_search" -( - "id_cms_page_search" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_search"), - CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); - -CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; - -CREATE TABLE "spy_cms_page_storage" -( - "id_cms_page_storage" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_storage"), - CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); - -CREATE SEQUENCE "spy_country_pk_seq"; - -CREATE TABLE "spy_country" -( - "id_country" INTEGER NOT NULL, - "iso2_code" VARCHAR(2) NOT NULL, - "iso3_code" VARCHAR(3), - "name" VARCHAR(255), - "postal_code_mandatory" BOOLEAN DEFAULT \'f\', - "postal_code_regex" VARCHAR(500), - PRIMARY KEY ("id_country"), - CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), - CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") -); - -CREATE SEQUENCE "spy_region_pk_seq"; - -CREATE TABLE "spy_region" -( - "id_region" INTEGER NOT NULL, - "fk_country" INTEGER, - "name" VARCHAR(100) NOT NULL, - "iso2_code" VARCHAR(6) NOT NULL, - PRIMARY KEY ("id_region"), - CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") -); - -CREATE SEQUENCE "spy_currency_pk_seq"; - -CREATE TABLE "spy_currency" -( - "id_currency" INTEGER NOT NULL, - "name" VARCHAR(255), - "code" VARCHAR(5), - "symbol" VARCHAR(255), - PRIMARY KEY ("id_currency") -); - -CREATE SEQUENCE "spy_customer_pk_seq"; - -CREATE TABLE "spy_customer" -( - "id_customer" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_user" INTEGER, - "anonymized_at" TIMESTAMP, - "company" VARCHAR(100), - "customer_reference" VARCHAR(255) NOT NULL, - "date_of_birth" DATE, - "default_billing_address" INTEGER, - "default_shipping_address" INTEGER, - "email" VARCHAR(255) NOT NULL, - "first_name" VARCHAR(100), - "gender" INT2, - "last_name" VARCHAR(100), - "password" VARCHAR(255), - "phone" VARCHAR(255), - "registered" DATE, - "registration_key" VARCHAR(150), - "restore_password_date" TIMESTAMP, - "restore_password_key" VARCHAR(150), - "salutation" INT2, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer"), - CONSTRAINT "spy_customer-email" UNIQUE ("email"), - CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") -); - -CREATE SEQUENCE "spy_customer_address_pk_seq"; - -CREATE TABLE "spy_customer_address" -( - "id_customer_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "anonymized_at" TIMESTAMP, - "city" VARCHAR(255), - "comment" VARCHAR(255), - "company" VARCHAR(255), - "deleted_at" TIMESTAMP, - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "phone" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_address") -); - -CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); - -CREATE SEQUENCE "spy_customer_group_pk_seq"; - -CREATE TABLE "spy_customer_group" -( - "id_customer_group" INTEGER NOT NULL, - "name" VARCHAR(70) NOT NULL, - "description" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group"), - CONSTRAINT "spy_customer-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -CREATE TABLE "spy_customer_group_to_customer" -( - "id_customer_group_to_customer" INTEGER NOT NULL, - "fk_customer_group" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group_to_customer"), - CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") -); - -CREATE SEQUENCE "spy_customer_note_pk_seq"; - -CREATE TABLE "spy_customer_note" -( - "id_customer_note" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "username" VARCHAR, - "message" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_note") -); - -CREATE SEQUENCE "spy_discount_pk_seq"; - -CREATE TABLE "spy_discount" -( - "id_discount" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "fk_store" INTEGER, - "amount" INTEGER NOT NULL, - "calculator_plugin" VARCHAR(255), - "collector_query_string" VARCHAR, - "decision_rule_query_string" VARCHAR, - "description" VARCHAR(1024), - "discount_key" VARCHAR(32), - "discount_type" VARCHAR(255), - "display_name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "is_exclusive" BOOLEAN DEFAULT \'f\', - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount"), - CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), - CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") -); - -CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); - -CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); - -CREATE SEQUENCE "id_discount_store_pk_seq"; - -CREATE TABLE "spy_discount_store" -( - "id_discount_store" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_store"), - CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") -); - -CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -CREATE TABLE "spy_discount_voucher_pool" -( - "id_discount_voucher_pool" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher_pool") -); - -CREATE SEQUENCE "spy_discount_voucher_pk_seq"; - -CREATE TABLE "spy_discount_voucher" -( - "id_discount_voucher" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "code" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "max_number_of_uses" INTEGER, - "number_of_uses" INTEGER, - "voucher_batch" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher"), - CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_discount_amount_pk_seq"; - -CREATE TABLE "spy_discount_amount" -( - "id_discount_amount" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "gross_amount" INTEGER, - "net_amount" INTEGER, - PRIMARY KEY ("id_discount_amount"), - CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") -); - -CREATE SEQUENCE "spy_discount_promotion_pk_seq"; - -CREATE TABLE "spy_discount_promotion" -( - "id_discount_promotion" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_promotion") -); - -CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -CREATE TABLE "spy_event_behavior_entity_change" -( - "id_event_behavior_entity_change" INT8 NOT NULL, - "data" VARCHAR, - "process_id" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_event_behavior_entity_change") -); - -CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -CREATE TABLE "pyz_example_state_machine_item" -( - "id_example_state_machine_item" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER, - "name" VARCHAR, - PRIMARY KEY ("id_example_state_machine_item") -); - -CREATE SEQUENCE "spy_gift_card_pk_seq"; - -CREATE TABLE "spy_gift_card" -( - "id_gift_card" INTEGER NOT NULL, - "name" VARCHAR(40) NOT NULL, - "replacement_pattern" VARCHAR(40), - "code" VARCHAR(40) NOT NULL, - "value" INTEGER NOT NULL, - "currency_iso_code" VARCHAR(5), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "attributes" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration" -( - "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, - "code_pattern" VARCHAR(40) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_abstract_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration_link" -( - "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration" -( - "id_gift_card_product_configuration" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration_link" -( - "id_gift_card_product_configuration_link" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_gift_card_product_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_configuration_link") -); - -CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; - -CREATE TABLE "spy_payment_gift_card" -( - "id_payment_gift_card" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "fk_sales_payment" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_payment_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -CREATE TABLE "spy_gift_card_balance_log" -( - "id_gift_card_balance_log" INTEGER NOT NULL, - "fk_gift_card" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_gift_card_balance_log") -); - -CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); - -CREATE SEQUENCE "spy_glossary_key_pk_seq"; - -CREATE TABLE "spy_glossary_key" -( - "id_glossary_key" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_glossary_key"), - CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); - -CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); - -CREATE SEQUENCE "spy_glossary_translation_pk_seq"; - -CREATE TABLE "spy_glossary_translation" -( - "id_glossary_translation" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_glossary_translation"), - CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") -); - -CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); - -CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); - -CREATE SEQUENCE "spy_glossary_storage_pk_seq"; - -CREATE TABLE "spy_glossary_storage" -( - "id_glossary_storage" INT8 NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "glossary_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_glossary_storage"), - CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); - -CREATE SEQUENCE "spy_locale_pk_seq"; - -CREATE TABLE "spy_locale" -( - "id_locale" INTEGER NOT NULL, - "locale_name" VARCHAR(5) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_locale"), - CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") -); - -CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); - -CREATE SEQUENCE "spy_navigation_pk_seq"; - -CREATE TABLE "spy_navigation" -( - "id_navigation" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation"), - CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); - -CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); - -CREATE SEQUENCE "spy_navigation_node_pk_seq"; - -CREATE TABLE "spy_navigation_node" -( - "id_navigation_node" INTEGER NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "fk_parent_navigation_node" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "node_key" VARCHAR(32), - "node_type" VARCHAR(255), - "position" INTEGER, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_navigation_node") -); - -CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); - -CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); - -CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -CREATE TABLE "spy_navigation_node_localized_attributes" -( - "id_navigation_node_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_navigation_node" INTEGER NOT NULL, - "fk_url" INTEGER, - "css_class" VARCHAR(255), - "external_url" VARCHAR(255), - "link" VARCHAR(255), - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_node_localized_attributes") -); - -CREATE SEQUENCE "spy_navigation_storage_pk_seq"; - -CREATE TABLE "spy_navigation_storage" -( - "id_navigation_storage" INT8 NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "navigation_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_storage"), - CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); - -CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -CREATE TABLE "spy_newsletter_subscriber" -( - "id_newsletter_subscriber" INTEGER NOT NULL, - "fk_customer" INTEGER, - "email" VARCHAR(255) NOT NULL, - "subscriber_key" VARCHAR(150), - "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_subscriber"), - CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), - CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") -); - -CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); - -CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); - -CREATE SEQUENCE "spy_newsletter_type_pk_seq"; - -CREATE TABLE "spy_newsletter_type" -( - "id_newsletter_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_type"), - CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") -); - -CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); - -CREATE TABLE "spy_newsletter_subscription" -( - "fk_newsletter_subscriber" INTEGER NOT NULL, - "fk_newsletter_type" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") -); - -CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; - -CREATE TABLE "spy_nopayment_paid" -( - "id_nopayment_paid" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_nopayment_paid") -); - -CREATE SEQUENCE "spy_offer_pk_seq"; - -CREATE TABLE "spy_offer" -( - "id_offer" INTEGER NOT NULL, - "quote_data" TEXT NOT NULL, - "status" INT2 DEFAULT 0, - "fk_user" INTEGER, - "customer_reference" VARCHAR(255), - "contact_person" VARCHAR(255), - "contact_date" TIMESTAMP, - "note" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_offer") -); - -CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); - -CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; - -CREATE TABLE "spy_oms_transition_log" -( - "id_oms_transition_log" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "quantity" INTEGER, - "locked" BOOLEAN, - "fk_oms_order_process" INTEGER, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_transition_log") -); - -CREATE SEQUENCE "spy_oms_order_process_pk_seq"; - -CREATE TABLE "spy_oms_order_process" -( - "id_oms_order_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_process"), - CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_oms_state_machine_lock" -( - "id_oms_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "details" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_state_machine_lock"), - CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state" -( - "id_oms_order_item_state" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_oms_order_item_state"), - CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state_history" -( - "id_oms_order_item_state_history" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_item_state_history") -); - -CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); - -CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; - -CREATE TABLE "spy_oms_event_timeout" -( - "id_oms_event_timeout" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_event_timeout"), - CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") -); - -CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation" -( - "id_oms_product_reservation" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, - "fk_store" INTEGER, - PRIMARY KEY ("id_oms_product_reservation"), - CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_store" -( - "id_oms_product_reservation_store" INTEGER NOT NULL, - "store" VARCHAR(255) NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER NOT NULL, - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_product_reservation_store"), - CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") -); - -CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); - -CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); - -CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); - -CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_change_version" -( - "version" INT8 NOT NULL, - "id_oms_product_reservation_id" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("version") -); - -CREATE TABLE "spy_oms_product_reservation_last_exported_version" -( - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP -); - -CREATE SEQUENCE "spy_order_source_pk_seq"; - -CREATE TABLE "spy_order_source" -( - "id_order_source" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_order_source") -); - -CREATE SEQUENCE "spy_price_product_pk_seq"; - -CREATE TABLE "spy_price_product" -( - "id_price_product" INTEGER NOT NULL, - "fk_price_type" INTEGER NOT NULL, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "price" INTEGER DEFAULT 0, - PRIMARY KEY ("id_price_product"), - CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") -); - -CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); - -CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); - -CREATE SEQUENCE "spy_price_type_pk_seq"; - -CREATE TABLE "spy_price_type" -( - "id_price_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "price_mode_configuration" INT2, - PRIMARY KEY ("id_price_type"), - CONSTRAINT "spy_price_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_price_product_store_pk_seq"; - -CREATE TABLE "spy_price_product_store" -( - "id_price_product_store" INT8 NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_price_product" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - "price_data" TEXT, - "price_data_checksum" VARCHAR, - PRIMARY KEY ("id_price_product_store") -); - -CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); - -CREATE SEQUENCE "spy_price_product_default_pk_seq"; - -CREATE TABLE "spy_price_product_default" -( - "id_price_product_default" INT8 NOT NULL, - "fk_price_product_store" INT8 NOT NULL, - PRIMARY KEY ("id_price_product_default"), - CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") -); - -CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); - -CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_price_product_abstract_storage" -( - "id_price_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_abstract_storage"), - CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_price_product_concrete_storage" -( - "id_price_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_concrete_storage"), - CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_abstract" -( - "id_product_abstract" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "attributes" TEXT NOT NULL, - "color_code" VARCHAR(8), - "new_from" TIMESTAMP, - "new_to" TIMESTAMP, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract"), - CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_abstract_localized_attributes" -( - "id_abstract_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_abstract_attributes"), - CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") -); - -CREATE SEQUENCE "id_product_abstract_store_pk_seq"; - -CREATE TABLE "spy_product_abstract_store" -( - "id_product_abstract_store" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_product_abstract_store"), - CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") -); - -CREATE SEQUENCE "spy_product_pk_seq"; - -CREATE TABLE "spy_product" -( - "id_product" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product"), - CONSTRAINT "spy_product-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_localized_attributes" -( - "id_product_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "is_complete" BOOLEAN DEFAULT \'t\', - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_attributes"), - CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") -); - -CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; - -CREATE TABLE "spy_product_attribute_key" -( - "id_product_attribute_key" INTEGER NOT NULL, - "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_attribute_key"), - CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_alternative_pk_seq"; - -CREATE TABLE "spy_product_alternative" -( - "id_product_alternative" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_product_abstract_alternative" INTEGER, - "fk_product_concrete_alternative" INTEGER, - PRIMARY KEY ("id_product_alternative") -); - -CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; - -CREATE TABLE "spy_product_alternative_storage" -( - "id_product_alternative_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_alternative_storage"), - CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); - -CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -CREATE TABLE "spy_product_replacement_for_storage" -( - "id_product_replacement_for_storage" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_replacement_for_storage"), - CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); - -CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; - -CREATE TABLE "spy_product_management_attribute" -( - "id_product_management_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, - "input_type" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_management_attribute"), - CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value" -( - "id_product_management_attribute_value" INTEGER NOT NULL, - "fk_product_management_attribute" INTEGER NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value_translation" -( - "id_product_management_attribute_value_translation" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_management_attribute_value" INTEGER NOT NULL, - "translation" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value_translation"), - CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -CREATE TABLE "spy_sales_order_item_bundle" -( - "id_sales_order_item_bundle" INTEGER NOT NULL, - "cart_note" VARCHAR(255), - "gross_price" INTEGER NOT NULL, - "image" TEXT, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_bundle") -); - -CREATE SEQUENCE "spy_product_bundle_pk_seq"; - -CREATE TABLE "spy_product_bundle" -( - "id_product_bundle" INTEGER NOT NULL, - "fk_bundled_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_bundle") -); - -COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; - -COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; - -COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; - -CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); - -CREATE SEQUENCE "spy_product_category_pk_seq"; - -CREATE TABLE "spy_product_category" -( - "id_product_category" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "product_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_product_category"), - CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") -); - -CREATE SEQUENCE "spy_product_category_filter_pk_seq"; - -CREATE TABLE "spy_product_category_filter" -( - "id_product_category_filter" INTEGER NOT NULL, - "fk_category" INTEGER, - "filter_data" TEXT NOT NULL, - PRIMARY KEY ("id_product_category_filter"), - CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") -); - -CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); - -CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -CREATE TABLE "spy_product_category_filter_storage" -( - "id_product_category_filter_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_category_filter_storage"), - CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); - -CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_category_storage" -( - "id_product_abstract_category_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_category_storage"), - CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_discontinued_pk_seq"; - -CREATE TABLE "spy_product_discontinued" -( - "id_product_discontinued" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "active_until" DATE NOT NULL, - "discontinued_on" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued") -); - -CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; - -CREATE TABLE "spy_product_discontinued_note" -( - "id_product_discontinued_note" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "note" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_note"), - CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") -); - -CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; - -CREATE TABLE "spy_product_discontinued_storage" -( - "id_product_discontinued_storage" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_storage"), - CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); - -CREATE SEQUENCE "spy_product_group_pk_seq"; - -CREATE TABLE "spy_product_group" -( - "id_product_group" INTEGER NOT NULL, - "product_group_key" VARCHAR(32), - PRIMARY KEY ("id_product_group") -); - -CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); - -CREATE TABLE "spy_product_abstract_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_group" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_group") -); - -CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_group_storage" -( - "id_product_abstract_group_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_group_storage"), - CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_image_set_pk_seq"; - -CREATE TABLE "spy_product_image_set" -( - "id_product_image_set" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image_set"), - CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") -); - -CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); - -CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); - -CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_product_image_pk_seq"; - -CREATE TABLE "spy_product_image" -( - "id_product_image" INTEGER NOT NULL, - "external_url_large" VARCHAR(2048), - "external_url_small" VARCHAR(2048), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image") -); - -CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -CREATE TABLE "spy_product_image_set_to_product_image" -( - "id_product_image_set_to_product_image" INTEGER NOT NULL, - "fk_product_image" INTEGER NOT NULL, - "fk_product_image_set" INTEGER NOT NULL, - "sort_order" INTEGER NOT NULL, - PRIMARY KEY ("id_product_image_set_to_product_image"), - CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") -); - -CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_image_storage" -( - "id_product_abstract_image_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_image_storage"), - CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_image_storage" -( - "id_product_concrete_image_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_image_storage"), - CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_label_pk_seq"; - -CREATE TABLE "spy_product_label" -( - "id_product_label" INTEGER NOT NULL, - "front_end_reference" VARCHAR, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_published" BOOLEAN DEFAULT \'f\', - "name" VARCHAR NOT NULL, - "position" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label"), - CONSTRAINT "spy_product_label-name" UNIQUE ("name") -); - -CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); - -CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_label_localized_attributes" -( - "id_product_label_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - "name" VARCHAR, - PRIMARY KEY ("id_product_label_localized_attributes"), - CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") -); - -CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); - -CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_label_product_abstract" -( - "id_product_label_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - PRIMARY KEY ("id_product_label_product_abstract"), - CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") -); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -CREATE TABLE "spy_product_label_dictionary_storage" -( - "id_product_label_dictionary_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label_dictionary_storage"), - CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_label_storage" -( - "id_product_abstract_label_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_label_storage"), - CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_option_group_pk_seq"; - -CREATE TABLE "spy_product_option_group" -( - "id_product_option_group" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "active" BOOLEAN, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_group") -); - -CREATE TABLE "spy_product_abstract_product_option_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_option_group") -); - -CREATE SEQUENCE "spy_product_option_value_pk_seq"; - -CREATE TABLE "spy_product_option_value" -( - "id_product_option_value" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - "price" INTEGER, - "sku" VARCHAR(255) NOT NULL, - "value" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_value"), - CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") -); - -COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; - -CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; - -CREATE TABLE "spy_product_option_value_price" -( - "id_product_option_value_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_product_option_value" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - PRIMARY KEY ("id_product_option_value_price"), - CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_option_storage" -( - "id_product_abstract_option_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_option_storage"), - CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -CREATE TABLE "spy_product_abstract_page_search" -( - "id_product_abstract_page_search" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_page_search"), - CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_quantity_pk_seq"; - -CREATE TABLE "spy_product_quantity" -( - "id_product_quantity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity_interval" INTEGER NOT NULL, - "quantity_max" INTEGER, - "quantity_min" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity"), - CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") -); - -CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; - -CREATE TABLE "spy_product_quantity_storage" -( - "id_product_quantity_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity_storage") -); - -CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_relation_type_pk_seq"; - -CREATE TABLE "spy_product_relation_type" -( - "id_product_relation_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_type") -); - -CREATE SEQUENCE "spy_product_relation_pk_seq"; - -CREATE TABLE "spy_product_relation" -( - "id_product_relation" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation_type" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, - "query_set_data" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation"), - CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") -); - -CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -CREATE TABLE "spy_product_relation_product_abstract" -( - "id_product_relation_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation" INTEGER NOT NULL, - "order" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_product_abstract") -); - -CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_relation_storage" -( - "id_product_abstract_relation_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_relation_storage"), - CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_review_pk_seq"; - -CREATE TABLE "spy_product_review" -( - "id_product_review" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "description" TEXT, - "nickname" VARCHAR(255), - "rating" INTEGER DEFAULT 0 NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "summary" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review") -); - -CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); - -CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); - -CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); - -CREATE SEQUENCE "spy_product_review_search_pk_seq"; - -CREATE TABLE "spy_product_review_search" -( - "id_product_review_search" INT8 NOT NULL, - "fk_product_review" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review_search"), - CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); - -CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_review_storage" -( - "id_product_abstract_review_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_review_storage"), - CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_search_pk_seq"; - -CREATE TABLE "spy_product_search" -( - "id_product_search" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_product_search") -); - -CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); - -CREATE TABLE "spy_product_search_attribute_map" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); - -CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; - -CREATE TABLE "spy_product_search_attribute" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_product_search_attribute"), - CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; - -CREATE TABLE "spy_product_search_config_storage" -( - "id_product_search_config_storage" INT8 NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_config_storage"), - CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_set_pk_seq"; - -CREATE TABLE "spy_product_set" -( - "id_product_set" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "product_set_key" VARCHAR(255) NOT NULL, - "weight" INTEGER DEFAULT 0 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set"), - CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") -); - -CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; - -CREATE TABLE "spy_product_abstract_set" -( - "id_product_abstract_set" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_product_abstract_set"), - CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") -); - -CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); - -CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_set_data_pk_seq"; - -CREATE TABLE "spy_product_set_data" -( - "id_product_set_data" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_data"), - CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") -); - -CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); - -CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); - -CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; - -CREATE TABLE "spy_product_set_page_search" -( - "id_product_set_page_search" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_page_search"), - CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_set_storage_pk_seq"; - -CREATE TABLE "spy_product_set_storage" -( - "id_product_set_storage" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_storage"), - CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_storage" -( - "id_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_storage"), - CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_storage" -( - "id_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_storage"), - CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_validity_pk_seq"; - -CREATE TABLE "spy_product_validity" -( - "id_product_validity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_product_validity"), - CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") -); - -CREATE TABLE "spy_propel_heartbeat" -( - "heartbeat_check" VARCHAR NOT NULL, - PRIMARY KEY ("heartbeat_check") -); - -CREATE SEQUENCE "spy_queue_process_pk_seq"; - -CREATE TABLE "spy_queue_process" -( - "id_queue_process" INTEGER NOT NULL, - "server_id" VARCHAR(255) NOT NULL, - "process_pid" INTEGER NOT NULL, - "worker_pid" INTEGER NOT NULL, - "queue_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_queue_process"), - CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") -); - -CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); - -CREATE SEQUENCE "id_quote_pk_seq"; - -CREATE TABLE "spy_quote" -( - "id_quote" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "quote_data" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_quote") -); - -CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); - -CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); - -CREATE SEQUENCE "spy_refund_pk_seq"; - -CREATE TABLE "spy_refund" -( - "id_refund" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "comment" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_refund") -); - -CREATE SEQUENCE "spy_sales_order_pk_seq"; - -CREATE TABLE "spy_sales_order" -( - "id_sales_order" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_order_source" INTEGER, - "fk_sales_order_address_billing" INTEGER NOT NULL, - "fk_sales_order_address_shipping" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER, - "cart_note" VARCHAR(255), - "currency_iso_code" VARCHAR(5), - "customer_reference" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100), - "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, - "last_name" VARCHAR(100), - "order_reference" VARCHAR(45) NOT NULL, - "price_mode" INT2, - "salutation" INT2, - "store" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order"), - CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") -); - -CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); - -CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); - -CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); - -CREATE SEQUENCE "spy_sales_order_item_pk_seq"; - -CREATE TABLE "spy_sales_order_item" -( - "id_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "fk_oms_order_process" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_order_item_bundle" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "cart_note" VARCHAR(255), - "discount_amount_aggregation" INTEGER DEFAULT 0, - "discount_amount_full_aggregation" INTEGER DEFAULT 0, - "expense_price_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "group_key" VARCHAR(255), - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "product_option_price_aggregation" INTEGER DEFAULT 0, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "refundable_amount" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "subtotal_aggregation" INTEGER, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_amount_full_aggregation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "tax_rate_average_aggregation" NUMERIC(8,2), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item") -); - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; - -CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); - -CREATE SEQUENCE "spy_sales_discount_pk_seq"; - -CREATE TABLE "spy_sales_discount" -( - "id_sales_discount" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER, - "fk_sales_order_item" INTEGER, - "fk_sales_order_item_option" INTEGER, - "amount" INTEGER NOT NULL, - "description" VARCHAR(510), - "display_name" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount") -); - -CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; - -CREATE TABLE "spy_sales_discount_code" -( - "id_sales_discount_code" INTEGER NOT NULL, - "fk_sales_discount" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "codepool_name" VARCHAR(255) NOT NULL, - "is_once_per_customer" BOOLEAN DEFAULT \'t\', - "is_refundable" BOOLEAN DEFAULT \'f\', - "is_reusable" BOOLEAN DEFAULT \'f\', - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount_code") -); - -CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -CREATE TABLE "spy_sales_order_item_gift_card" -( - "id_sales_order_item_gift_card" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "attributes" TEXT, - "code" VARCHAR(40), - "pattern" VARCHAR(40), - "value" INTEGER, - PRIMARY KEY ("id_sales_order_item_gift_card") -); - -CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; - -CREATE TABLE "spy_sales_order_item_option" -( - "id_sales_order_item_option" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER DEFAULT 0 NOT NULL, - "group_name" VARCHAR NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "tax_amount" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2) NOT NULL, - "value" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_option") -); - -COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -CREATE SEQUENCE "spy_sales_order_address_pk_seq"; - -CREATE TABLE "spy_sales_order_address" -( - "id_sales_order_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address") -); - -CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; - -CREATE TABLE "spy_sales_order_address_history" -( - "id_sales_order_address_history" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "fk_sales_order_address" INTEGER NOT NULL, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "is_billing" BOOLEAN DEFAULT \'f\', - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address_history") -); - -CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; - -CREATE TABLE "spy_sales_order_totals" -( - "id_sales_order_totals" INTEGER NOT NULL, - "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, - "canceled_total" INTEGER DEFAULT 0, - "discount_total" INTEGER DEFAULT 0, - "grand_total" INTEGER DEFAULT 0, - "order_expense_total" INTEGER DEFAULT 0, - "refund_total" INTEGER DEFAULT 0, - "subtotal" INTEGER DEFAULT 0, - "tax_total" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_totals") -); - -CREATE SEQUENCE "spy_sales_order_note_pk_seq"; - -CREATE TABLE "spy_sales_order_note" -( - "id_sales_order_note" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "command" VARCHAR(255) NOT NULL, - "message" VARCHAR(255) NOT NULL, - "success" BOOLEAN NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_note") -); - -CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; - -CREATE TABLE "spy_sales_order_comment" -( - "id_sales_order_comment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "message" TEXT NOT NULL, - "username" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_comment") -); - -CREATE SEQUENCE "spy_sales_expense_pk_seq"; - -CREATE TABLE "spy_sales_expense" -( - "id_sales_expense" INTEGER NOT NULL, - "fk_sales_order" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "name" VARCHAR(255), - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "refundable_amount" INTEGER DEFAULT 0, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "type" VARCHAR(150), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_expense"), - CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") -); - -COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; - -COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -CREATE TABLE "spy_sales_order_item_metadata" -( - "id_sales_order_item_metadata" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "image" TEXT, - "super_attributes" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_metadata") -); - -CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); - -CREATE SEQUENCE "spy_sales_shipment_pk_seq"; - -CREATE TABLE "spy_sales_shipment" -( - "id_sales_shipment" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "carrier_name" VARCHAR(255), - "delivery_time" VARCHAR(255), - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_shipment") -); - -CREATE SEQUENCE "spy_sales_payment_pk_seq"; - -CREATE TABLE "spy_sales_payment" -( - "id_sales_payment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_payment_method_type" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_payment") -); - -CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -CREATE TABLE "spy_sales_payment_method_type" -( - "id_sales_payment_method_type" INTEGER NOT NULL, - "payment_provider" VARCHAR NOT NULL, - "payment_method" VARCHAR NOT NULL, - PRIMARY KEY ("id_sales_payment_method_type") -); - -CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); - -CREATE SEQUENCE "spy_sequence_number_pk_seq"; - -CREATE TABLE "spy_sequence_number" -( - "id_sequence_number" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "current_id" INTEGER NOT NULL, - PRIMARY KEY ("id_sequence_number"), - CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; - -CREATE TABLE "spy_shipment_carrier" -( - "id_shipment_carrier" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_shipment_carrier") -); - -CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_pk_seq"; - -CREATE TABLE "spy_shipment_method" -( - "id_shipment_method" INTEGER NOT NULL, - "fk_shipment_carrier" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "name" VARCHAR(255) NOT NULL, - "shipment_method_key" VARCHAR(255), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "default_price" INTEGER, - "availability_plugin" VARCHAR(255), - "price_plugin" VARCHAR(255), - "delivery_time_plugin" VARCHAR(255), - PRIMARY KEY ("id_shipment_method") -); - -COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; - -CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; - -CREATE TABLE "spy_shipment_method_price" -( - "id_shipment_method_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_shipment_method" INTEGER NOT NULL, - "default_gross_price" INTEGER, - "default_net_price" INTEGER, - PRIMARY KEY ("id_shipment_method_price"), - CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -CREATE TABLE "spy_state_machine_transition_log" -( - "id_state_machine_transition_log" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "locked" BOOLEAN, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_transition_log") -); - -CREATE SEQUENCE "spy_state_machine_process_pk_seq"; - -CREATE TABLE "spy_state_machine_process" -( - "id_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "state_machine_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_process"), - CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") -); - -CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); - -CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_state_machine_lock" -( - "id_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_lock"), - CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state" -( - "id_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_state_machine_item_state"), - CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") -); - -CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state_history" -( - "id_state_machine_item_state_history" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_item_state_history") -); - -CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); - -CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -CREATE TABLE "spy_state_machine_event_timeout" -( - "id_state_machine_event_timeout" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_event_timeout"), - CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") -); - -CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_stock_pk_seq"; - -CREATE TABLE "spy_stock" -( - "id_stock" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_stock"), - CONSTRAINT "spy_stock-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_stock_product_pk_seq"; - -CREATE TABLE "spy_stock_product" -( - "id_stock_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_stock" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 0, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_stock_product"), - CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") -); - -CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); - -CREATE SEQUENCE "spy_store_pk_seq"; - -CREATE TABLE "spy_store" -( - "id_store" INTEGER NOT NULL, - "name" VARCHAR(255), - PRIMARY KEY ("id_store") -); - -CREATE SEQUENCE "spy_tax_set_pk_seq"; - -CREATE TABLE "spy_tax_set" -( - "id_tax_set" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_set") -); - -CREATE SEQUENCE "spy_tax_rate_pk_seq"; - -CREATE TABLE "spy_tax_rate" -( - "id_tax_rate" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "rate" NUMERIC(8,2) NOT NULL, - "fk_country" INTEGER, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_rate") -); - -CREATE TABLE "spy_tax_set_tax" -( - "fk_tax_set" INTEGER NOT NULL, - "fk_tax_rate" INTEGER NOT NULL, - PRIMARY KEY ("fk_tax_set","fk_tax_rate") -); - -CREATE SEQUENCE "spy_touch_pk_seq"; - -CREATE TABLE "spy_touch" -( - "id_touch" INTEGER NOT NULL, - "item_type" VARCHAR(255) NOT NULL, - "item_event" INT2 NOT NULL, - "item_id" INTEGER NOT NULL, - "touched" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_touch"), - CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") -); - -CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); - -CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); - -CREATE SEQUENCE "spy_touch_storage_pk_seq"; - -CREATE TABLE "spy_touch_storage" -( - "id_touch_storage" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_storage"), - CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); - -CREATE SEQUENCE "spy_touch_search_pk_seq"; - -CREATE TABLE "spy_touch_search" -( - "id_touch_search" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_search"), - CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); - -CREATE SEQUENCE "spy_url_pk_seq"; - -CREATE TABLE "spy_url" -( - "id_url" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_resource_categorynode" INTEGER, - "fk_resource_page" INTEGER, - "fk_resource_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "fk_resource_redirect" INTEGER, - "url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url"), - CONSTRAINT "spy_url_unique_key" UNIQUE ("url") -); - -CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_url_redirect_pk_seq"; - -CREATE TABLE "spy_url_redirect" -( - "id_url_redirect" INTEGER NOT NULL, - "status" INTEGER DEFAULT 301 NOT NULL, - "to_url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url_redirect") -); - -CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); - -CREATE SEQUENCE "spy_url_storage_pk_seq"; - -CREATE TABLE "spy_url_storage" -( - "id_url_storage" INT8 NOT NULL, - "fk_categorynode" INTEGER, - "fk_page" INTEGER, - "fk_product_abstract" INTEGER, - "fk_product_set" INTEGER, - "fk_redirect" INTEGER, - "fk_url" INTEGER NOT NULL, - "url" VARCHAR NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_storage"), - CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); - -CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; - -CREATE TABLE "spy_url_redirect_storage" -( - "id_url_redirect_storage" INT8 NOT NULL, - "fk_url_redirect" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_redirect_storage"), - CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); - -CREATE SEQUENCE "spy_user_pk_seq"; - -CREATE TABLE "spy_user" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_user"), - CONSTRAINT "spy_user-username" UNIQUE ("username") -); - -CREATE SEQUENCE "spy_wishlist_pk_seq"; - -CREATE TABLE "spy_wishlist" -( - "id_wishlist" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist"), - CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") -); - -CREATE SEQUENCE "spy_wishlist_item_pk_seq"; - -CREATE TABLE "spy_wishlist_item" -( - "id_wishlist_item" INTEGER NOT NULL, - "fk_wishlist" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist_item") -); - -CREATE TABLE "spy_acl_role_archive" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role") -); - -CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); - -CREATE TABLE "spy_acl_rule_archive" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE TABLE "spy_acl_group_archive" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group") -); - -CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); - -CREATE TABLE "spy_auth_reset_password_archive" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user") -); - -CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); - -CREATE TABLE "spy_product_search_attribute_map_archive" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - "archived_at" TIMESTAMP, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_product_search_attribute_archive" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_attribute") -); - -CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_user_archive" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_user") -); - -CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); - -ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" - FOREIGN KEY ("fk_availability_abstract") - REFERENCES "spy_availability_abstract" ("id_availability_abstract"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" - FOREIGN KEY ("fk_parent_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" - FOREIGN KEY ("fk_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" - FOREIGN KEY ("fk_category_node_descendant") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_template" ("id_cms_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" - FOREIGN KEY ("fk_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_block_template" ("id_cms_block_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block"); - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" - FOREIGN KEY ("fk_cms_block_category_position") - REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" - FOREIGN KEY ("default_billing_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" - FOREIGN KEY ("default_shipping_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" - FOREIGN KEY ("fk_customer_group") - REFERENCES "spy_customer_group" ("id_customer_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" - FOREIGN KEY ("fk_gift_card_product_abstract_configuration") - REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" - FOREIGN KEY ("fk_gift_card_product_configuration") - REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); - -ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" - FOREIGN KEY ("fk_sales_payment") - REFERENCES "spy_sales_payment" ("id_sales_payment"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" - FOREIGN KEY ("fk_gift_card") - REFERENCES "spy_gift_card" ("id_gift_card"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" - FOREIGN KEY ("fk_parent_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" - FOREIGN KEY ("fk_navigation") - REFERENCES "spy_navigation" ("id_navigation") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" - FOREIGN KEY ("fk_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" - FOREIGN KEY ("fk_url") - REFERENCES "spy_url" ("id_url"); - -ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" - FOREIGN KEY ("fk_newsletter_subscriber") - REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" - FOREIGN KEY ("fk_newsletter_type") - REFERENCES "spy_newsletter_type" ("id_newsletter_type"); - -ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" - FOREIGN KEY ("fk_price_type") - REFERENCES "spy_price_type" ("id_price_type"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" - FOREIGN KEY ("fk_price_product") - REFERENCES "spy_price_product" ("id_price_product"); - -ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" - FOREIGN KEY ("fk_price_product_store") - REFERENCES "spy_price_product_store" ("id_price_product_store") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" - FOREIGN KEY ("fk_product_abstract_alternative") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" - FOREIGN KEY ("fk_product_concrete_alternative") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" - FOREIGN KEY ("fk_product_management_attribute") - REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" - FOREIGN KEY ("fk_product_management_attribute_value") - REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" - FOREIGN KEY ("fk_bundled_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" - FOREIGN KEY ("fk_product_discontinued") - REFERENCES "spy_product_discontinued" ("id_product_discontinued"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" - FOREIGN KEY ("fk_product_group") - REFERENCES "spy_product_group" ("id_product_group"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" - FOREIGN KEY ("fk_product_image_set") - REFERENCES "spy_product_image_set" ("id_product_image_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" - FOREIGN KEY ("fk_product_image") - REFERENCES "spy_product_image" ("id_product_image"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE SET NULL; - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" - FOREIGN KEY ("fk_product_option_value") - REFERENCES "spy_product_option_value" ("id_product_option_value") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" - FOREIGN KEY ("fk_product_relation_type") - REFERENCES "spy_product_relation_type" ("id_product_relation_type"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" - FOREIGN KEY ("fk_product_relation") - REFERENCES "spy_product_relation" ("id_product_relation"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" - FOREIGN KEY ("fk_order_source") - REFERENCES "spy_order_source" ("id_order_source"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" - FOREIGN KEY ("fk_sales_order_address_billing") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" - FOREIGN KEY ("fk_sales_order_address_shipping") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" - FOREIGN KEY ("fk_sales_order_item_bundle") - REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" - FOREIGN KEY ("fk_sales_order_item_option") - REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); - -ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" - FOREIGN KEY ("fk_sales_discount") - REFERENCES "spy_sales_discount" ("id_sales_discount"); - -ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" - FOREIGN KEY ("fk_sales_order_address") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" - FOREIGN KEY ("fk_sales_payment_method_type") - REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" - FOREIGN KEY ("fk_shipment_carrier") - REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" - FOREIGN KEY ("fk_shipment_method") - REFERENCES "spy_shipment_method" ("id_shipment_method"); - -ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" - FOREIGN KEY ("fk_stock") - REFERENCES "spy_stock" ("id_stock"); - -ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" - FOREIGN KEY ("fk_tax_rate") - REFERENCES "spy_tax_rate" ("id_tax_rate"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" - FOREIGN KEY ("fk_resource_categorynode") - REFERENCES "spy_category_node" ("id_category_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" - FOREIGN KEY ("fk_resource_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" - FOREIGN KEY ("fk_resource_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" - FOREIGN KEY ("fk_resource_redirect") - REFERENCES "spy_url_redirect" ("id_url_redirect") - ON DELETE CASCADE; - -ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" - FOREIGN KEY ("fk_wishlist") - REFERENCES "spy_wishlist" ("id_wishlist"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" - FOREIGN KEY ("sku") - REFERENCES "spy_product" ("sku"); - -COMMIT; -', -); - } - - /** - * Get the SQL statements for the Down migration - * - * @return array list of the SQL strings to execute for the Down migration - * the keys being the datasources - */ - public function getDownSQL() - { - return array ( - 'zed' => ' -BEGIN; - -DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role" CASCADE; - -DROP SEQUENCE "spy_acl_role_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; - -DROP SEQUENCE "spy_acl_rule_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_group" CASCADE; - -DROP SEQUENCE "spy_acl_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; - -DROP SEQUENCE "spy_auth_reset_password_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; - -DROP SEQUENCE "spy_availability_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability" CASCADE; - -DROP SEQUENCE "spy_availability_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; - -DROP SEQUENCE "spy_availability_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category" CASCADE; - -DROP SEQUENCE "spy_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; - -DROP SEQUENCE "spy_category_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node" CASCADE; - -DROP SEQUENCE "spy_category_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; - -DROP SEQUENCE "spy_category_closure_table_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; - -DROP SEQUENCE "spy_category_node_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; - -DROP SEQUENCE "spy_category_tree_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; - -DROP SEQUENCE "spy_category_node_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_template" CASCADE; - -DROP SEQUENCE "spy_category_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_template" CASCADE; - -DROP SEQUENCE "spy_cms_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page" CASCADE; - -DROP SEQUENCE "spy_cms_page_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_version" CASCADE; - -DROP SEQUENCE "spy_cms_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; - -DROP SEQUENCE "spy_cms_block_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block" CASCADE; - -DROP SEQUENCE "spy_cms_block_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; - -DROP SEQUENCE "id_cms_block_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; - -DROP SEQUENCE "spy_cms_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; - -DROP SEQUENCE "spy_cms_page_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_country" CASCADE; - -DROP SEQUENCE "spy_country_pk_seq"; - -DROP TABLE IF EXISTS "spy_region" CASCADE; - -DROP SEQUENCE "spy_region_pk_seq"; - -DROP TABLE IF EXISTS "spy_currency" CASCADE; - -DROP SEQUENCE "spy_currency_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer" CASCADE; - -DROP SEQUENCE "spy_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_address" CASCADE; - -DROP SEQUENCE "spy_customer_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group" CASCADE; - -DROP SEQUENCE "spy_customer_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; - -DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_note" CASCADE; - -DROP SEQUENCE "spy_customer_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount" CASCADE; - -DROP SEQUENCE "spy_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_store" CASCADE; - -DROP SEQUENCE "id_discount_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; - -DROP SEQUENCE "spy_discount_amount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; - -DROP SEQUENCE "spy_discount_promotion_pk_seq"; - -DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; - -DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; - -DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card" CASCADE; - -DROP SEQUENCE "spy_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; - -DROP SEQUENCE "spy_payment_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; - -DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; - -DROP SEQUENCE "spy_glossary_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; - -DROP SEQUENCE "spy_glossary_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; - -DROP SEQUENCE "spy_glossary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_locale" CASCADE; - -DROP SEQUENCE "spy_locale_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation" CASCADE; - -DROP SEQUENCE "spy_navigation_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; - -DROP SEQUENCE "spy_navigation_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; - -DROP SEQUENCE "spy_navigation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; - -DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; - -DROP SEQUENCE "spy_newsletter_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; - -DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; - -DROP SEQUENCE "spy_nopayment_paid_pk_seq"; - -DROP TABLE IF EXISTS "spy_offer" CASCADE; - -DROP SEQUENCE "spy_offer_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; - -DROP SEQUENCE "spy_oms_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; - -DROP SEQUENCE "spy_oms_order_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; - -DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; - -DROP TABLE IF EXISTS "spy_order_source" CASCADE; - -DROP SEQUENCE "spy_order_source_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product" CASCADE; - -DROP SEQUENCE "spy_price_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_type" CASCADE; - -DROP SEQUENCE "spy_price_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; - -DROP SEQUENCE "spy_price_product_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; - -DROP SEQUENCE "spy_price_product_default_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; - -DROP SEQUENCE "id_product_abstract_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_product" CASCADE; - -DROP SEQUENCE "spy_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; - -DROP SEQUENCE "spy_product_attribute_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; - -DROP SEQUENCE "spy_product_alternative_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; - -DROP SEQUENCE "id_product_alternative_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; - -DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; - -DROP SEQUENCE "spy_product_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category" CASCADE; - -DROP SEQUENCE "spy_product_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; - -DROP SEQUENCE "id_product_discontinued_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; - -DROP SEQUENCE "id_product_discontinued_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; - -DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_group" CASCADE; - -DROP SEQUENCE "spy_product_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; - -DROP SEQUENCE "spy_product_image_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label" CASCADE; - -DROP SEQUENCE "spy_product_label_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; - -DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; - -DROP SEQUENCE "spy_product_option_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; - -DROP SEQUENCE "spy_product_option_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; - -DROP SEQUENCE "spy_product_option_value_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; - -DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; - -DROP SEQUENCE "id_product_quantity_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; - -DROP SEQUENCE "id_product_quantity_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; - -DROP SEQUENCE "spy_product_relation_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation" CASCADE; - -DROP SEQUENCE "spy_product_relation_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review" CASCADE; - -DROP SEQUENCE "id_product_review_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; - -DROP SEQUENCE "spy_product_review_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search" CASCADE; - -DROP SEQUENCE "spy_product_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; - -DROP SEQUENCE "spy_product_search_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; - -DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set" CASCADE; - -DROP SEQUENCE "spy_product_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; - -DROP SEQUENCE "spy_product_abstract_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; - -DROP SEQUENCE "spy_product_set_data_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; - -DROP SEQUENCE "spy_product_set_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; - -DROP SEQUENCE "spy_product_set_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_validity" CASCADE; - -DROP SEQUENCE "spy_product_validity_pk_seq"; - -DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; - -DROP TABLE IF EXISTS "spy_queue_process" CASCADE; - -DROP SEQUENCE "spy_queue_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_quote" CASCADE; - -DROP SEQUENCE "id_quote_pk_seq"; - -DROP TABLE IF EXISTS "spy_refund" CASCADE; - -DROP SEQUENCE "spy_refund_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order" CASCADE; - -DROP SEQUENCE "spy_sales_order_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; - -DROP SEQUENCE "spy_sales_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; - -DROP SEQUENCE "spy_sales_discount_code_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; - -DROP SEQUENCE "spy_sales_order_totals_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; - -DROP SEQUENCE "spy_sales_order_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; - -DROP SEQUENCE "spy_sales_order_comment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; - -DROP SEQUENCE "spy_sales_expense_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; - -DROP SEQUENCE "spy_sales_shipment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; - -DROP SEQUENCE "spy_sales_payment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; - -DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; - -DROP SEQUENCE "spy_sequence_number_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; - -DROP SEQUENCE "spy_shipment_carrier_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; - -DROP SEQUENCE "spy_shipment_method_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; - -DROP SEQUENCE "spy_shipment_method_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; - -DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; - -DROP SEQUENCE "spy_state_machine_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; - -DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock" CASCADE; - -DROP SEQUENCE "spy_stock_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock_product" CASCADE; - -DROP SEQUENCE "spy_stock_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_store" CASCADE; - -DROP SEQUENCE "spy_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set" CASCADE; - -DROP SEQUENCE "spy_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; - -DROP SEQUENCE "spy_tax_rate_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; - -DROP TABLE IF EXISTS "spy_touch" CASCADE; - -DROP SEQUENCE "spy_touch_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; - -DROP SEQUENCE "spy_touch_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_search" CASCADE; - -DROP SEQUENCE "spy_touch_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_url" CASCADE; - -DROP SEQUENCE "spy_url_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; - -DROP SEQUENCE "spy_url_redirect_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_storage" CASCADE; - -DROP SEQUENCE "spy_url_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; - -DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_user" CASCADE; - -DROP SEQUENCE "spy_user_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist" CASCADE; - -DROP SEQUENCE "spy_wishlist_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; - -DROP SEQUENCE "spy_wishlist_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_user_archive" CASCADE; - -COMMIT; -', -); - } - -} \ No newline at end of file diff --git a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php deleted file mode 100644 index f6c262f3ca..0000000000 --- a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1539177880.php +++ /dev/null @@ -1,4865 +0,0 @@ - ' -BEGIN; - -CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; - -CREATE TABLE "spy_sales_reclamation" -( - "id_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "customer_name" VARCHAR(511) NOT NULL, - "customer_reference" VARCHAR(255), - "customer_email" VARCHAR(255) NOT NULL, - "state" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_reclamation") -); - -CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -CREATE TABLE "spy_sales_reclamation_item" -( - "id_sales_reclamation_item" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "state" INT2 NOT NULL, - PRIMARY KEY ("id_sales_reclamation_item") -); - -CREATE SEQUENCE "spy_acl_role_pk_seq"; - -CREATE TABLE "spy_acl_role" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role"), - CONSTRAINT "spy_acl_role-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_acl_rule_pk_seq"; - -CREATE TABLE "spy_acl_rule" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE SEQUENCE "spy_acl_group_pk_seq"; - -CREATE TABLE "spy_acl_group" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group"), - CONSTRAINT "spy_acl_group-name" UNIQUE ("name") -); - -CREATE TABLE "spy_acl_user_has_group" -( - "fk_user" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_user","fk_acl_group") -); - -CREATE TABLE "spy_acl_groups_has_roles" -( - "fk_acl_role" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_acl_role","fk_acl_group") -); - -CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; - -CREATE TABLE "spy_auth_reset_password" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user"), - CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_availability_abstract_pk_seq"; - -CREATE TABLE "spy_availability_abstract" -( - "id_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_availability_abstract"), - CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_pk_seq"; - -CREATE TABLE "spy_availability" -( - "id_availability" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - "quantity" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_availability"), - CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_storage_pk_seq"; - -CREATE TABLE "spy_availability_storage" -( - "id_availability_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_availability_storage"), - CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); - -CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); - -CREATE SEQUENCE "spy_category_pk_seq"; - -CREATE TABLE "spy_category" -( - "id_category" INTEGER NOT NULL, - "fk_category_template" INTEGER, - "category_key" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\', - "is_clickable" BOOLEAN DEFAULT \'t\', - "is_in_menu" BOOLEAN DEFAULT \'t\', - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_category"), - CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") -); - -CREATE SEQUENCE "spy_category_attribute_pk_seq"; - -CREATE TABLE "spy_category_attribute" -( - "id_category_attribute" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "category_image_name" VARCHAR(255), - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" TEXT, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_attribute") -); - -CREATE SEQUENCE "spy_category_node_pk_seq"; - -CREATE TABLE "spy_category_node" -( - "id_category_node" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_parent_category_node" INTEGER, - "is_main" BOOLEAN DEFAULT \'f\', - "is_root" BOOLEAN DEFAULT \'f\', - "node_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_category_node") -); - -CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); - -CREATE SEQUENCE "spy_category_closure_table_pk_seq"; - -CREATE TABLE "spy_category_closure_table" -( - "id_category_closure_table" INTEGER NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "fk_category_node_descendant" INTEGER NOT NULL, - "depth" INTEGER NOT NULL, - PRIMARY KEY ("id_category_closure_table") -); - -CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; - -CREATE TABLE "spy_category_node_page_search" -( - "id_category_node_page_search" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_page_search"), - CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; - -CREATE TABLE "spy_category_tree_storage" -( - "id_category_tree_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_tree_storage"), - CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_category_node_storage_pk_seq"; - -CREATE TABLE "spy_category_node_storage" -( - "id_category_node_storage" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_storage"), - CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_template_pk_seq"; - -CREATE TABLE "spy_category_template" -( - "id_category_template" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_category_template"), - CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_template_pk_seq"; - -CREATE TABLE "spy_cms_template" -( - "id_cms_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_template"), - CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); - -CREATE SEQUENCE "spy_cms_page_pk_seq"; - -CREATE TABLE "spy_cms_page" -( - "id_cms_page" INTEGER NOT NULL, - "fk_template" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, - "page_key" VARCHAR(32), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_cms_page") -); - -CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); - -CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -CREATE TABLE "spy_cms_page_localized_attributes" -( - "id_cms_page_localized_attributes" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_localized_attributes"), - CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") -); - -CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_glossary_key_mapping" -( - "id_cms_glossary_key_mapping" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_page" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_glossary_key_mapping"), - CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") -); - -CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); - -CREATE SEQUENCE "spy_cms_version_pk_seq"; - -CREATE TABLE "spy_cms_version" -( - "id_cms_version" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_user" INTEGER, - "data" TEXT, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_version") -); - -CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); - -CREATE SEQUENCE "spy_cms_block_template_pk_seq"; - -CREATE TABLE "spy_cms_block_template" -( - "id_cms_block_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_template"), - CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_block_glossary_key_mapping" -( - "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_block_glossary_key_mapping"), - CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") -); - -CREATE SEQUENCE "spy_cms_block_pk_seq"; - -CREATE TABLE "spy_cms_block" -( - "id_cms_block" INTEGER NOT NULL, - "fk_page" INTEGER, - "fk_template" INTEGER, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "name" VARCHAR(255) NOT NULL, - "type" VARCHAR(255), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "value" INTEGER, - PRIMARY KEY ("id_cms_block"), - CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") -); - -COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; - -CREATE SEQUENCE "id_cms_block_store_pk_seq"; - -CREATE TABLE "spy_cms_block_store" -( - "id_cms_block_store" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_store"), - CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") -); - -CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_category_connector" -( - "id_cms_block_category_connector" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_category_template" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_cms_block_category_position" INTEGER, - PRIMARY KEY ("id_cms_block_category_connector") -); - -CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; - -CREATE TABLE "spy_cms_block_category_position" -( - "id_cms_block_category_position" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_category_position") -); - -CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_category_storage" -( - "id_cms_block_category_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_category_storage"), - CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_product_connector" -( - "id_cms_block_product_connector" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_product_connector") -); - -CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_product_storage" -( - "id_cms_block_product_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_product_storage"), - CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_storage" -( - "id_cms_block_storage" INT8 NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "name" VARCHAR NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_storage"), - CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); - -CREATE SEQUENCE "spy_cms_page_search_pk_seq"; - -CREATE TABLE "spy_cms_page_search" -( - "id_cms_page_search" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_search"), - CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); - -CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; - -CREATE TABLE "spy_cms_page_storage" -( - "id_cms_page_storage" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_storage"), - CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); - -CREATE SEQUENCE "spy_country_pk_seq"; - -CREATE TABLE "spy_country" -( - "id_country" INTEGER NOT NULL, - "iso2_code" VARCHAR(2) NOT NULL, - "iso3_code" VARCHAR(3), - "name" VARCHAR(255), - "postal_code_mandatory" BOOLEAN DEFAULT \'f\', - "postal_code_regex" VARCHAR(500), - PRIMARY KEY ("id_country"), - CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), - CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") -); - -CREATE SEQUENCE "spy_region_pk_seq"; - -CREATE TABLE "spy_region" -( - "id_region" INTEGER NOT NULL, - "fk_country" INTEGER, - "name" VARCHAR(100) NOT NULL, - "iso2_code" VARCHAR(6) NOT NULL, - PRIMARY KEY ("id_region"), - CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") -); - -CREATE SEQUENCE "spy_currency_pk_seq"; - -CREATE TABLE "spy_currency" -( - "id_currency" INTEGER NOT NULL, - "name" VARCHAR(255), - "code" VARCHAR(5), - "symbol" VARCHAR(255), - PRIMARY KEY ("id_currency") -); - -CREATE SEQUENCE "spy_customer_pk_seq"; - -CREATE TABLE "spy_customer" -( - "id_customer" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_user" INTEGER, - "anonymized_at" TIMESTAMP, - "company" VARCHAR(100), - "customer_reference" VARCHAR(255) NOT NULL, - "date_of_birth" DATE, - "default_billing_address" INTEGER, - "default_shipping_address" INTEGER, - "email" VARCHAR(255) NOT NULL, - "first_name" VARCHAR(100), - "gender" INT2, - "last_name" VARCHAR(100), - "password" VARCHAR(255), - "phone" VARCHAR(255), - "registered" DATE, - "registration_key" VARCHAR(150), - "restore_password_date" TIMESTAMP, - "restore_password_key" VARCHAR(150), - "salutation" INT2, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer"), - CONSTRAINT "spy_customer-email" UNIQUE ("email"), - CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") -); - -CREATE SEQUENCE "spy_customer_address_pk_seq"; - -CREATE TABLE "spy_customer_address" -( - "id_customer_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "anonymized_at" TIMESTAMP, - "city" VARCHAR(255), - "comment" VARCHAR(255), - "company" VARCHAR(255), - "deleted_at" TIMESTAMP, - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "phone" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_address") -); - -CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); - -CREATE SEQUENCE "spy_customer_group_pk_seq"; - -CREATE TABLE "spy_customer_group" -( - "id_customer_group" INTEGER NOT NULL, - "name" VARCHAR(70) NOT NULL, - "description" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group"), - CONSTRAINT "spy_customer-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -CREATE TABLE "spy_customer_group_to_customer" -( - "id_customer_group_to_customer" INTEGER NOT NULL, - "fk_customer_group" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group_to_customer"), - CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") -); - -CREATE SEQUENCE "spy_customer_note_pk_seq"; - -CREATE TABLE "spy_customer_note" -( - "id_customer_note" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "username" VARCHAR, - "message" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_note") -); - -CREATE SEQUENCE "spy_discount_pk_seq"; - -CREATE TABLE "spy_discount" -( - "id_discount" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "fk_store" INTEGER, - "amount" INTEGER NOT NULL, - "calculator_plugin" VARCHAR(255), - "collector_query_string" VARCHAR, - "decision_rule_query_string" VARCHAR, - "description" VARCHAR(1024), - "discount_key" VARCHAR(32), - "discount_type" VARCHAR(255), - "display_name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "is_exclusive" BOOLEAN DEFAULT \'f\', - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount"), - CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), - CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") -); - -CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); - -CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); - -CREATE SEQUENCE "id_discount_store_pk_seq"; - -CREATE TABLE "spy_discount_store" -( - "id_discount_store" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_store"), - CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") -); - -CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -CREATE TABLE "spy_discount_voucher_pool" -( - "id_discount_voucher_pool" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher_pool") -); - -CREATE SEQUENCE "spy_discount_voucher_pk_seq"; - -CREATE TABLE "spy_discount_voucher" -( - "id_discount_voucher" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "code" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "max_number_of_uses" INTEGER, - "number_of_uses" INTEGER, - "voucher_batch" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher"), - CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_discount_amount_pk_seq"; - -CREATE TABLE "spy_discount_amount" -( - "id_discount_amount" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "gross_amount" INTEGER, - "net_amount" INTEGER, - PRIMARY KEY ("id_discount_amount"), - CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") -); - -CREATE SEQUENCE "spy_discount_promotion_pk_seq"; - -CREATE TABLE "spy_discount_promotion" -( - "id_discount_promotion" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_promotion") -); - -CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -CREATE TABLE "spy_event_behavior_entity_change" -( - "id_event_behavior_entity_change" INT8 NOT NULL, - "data" VARCHAR, - "process_id" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_event_behavior_entity_change") -); - -CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -CREATE TABLE "pyz_example_state_machine_item" -( - "id_example_state_machine_item" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER, - "name" VARCHAR, - PRIMARY KEY ("id_example_state_machine_item") -); - -CREATE SEQUENCE "spy_gift_card_pk_seq"; - -CREATE TABLE "spy_gift_card" -( - "id_gift_card" INTEGER NOT NULL, - "name" VARCHAR(40) NOT NULL, - "replacement_pattern" VARCHAR(40), - "code" VARCHAR(40) NOT NULL, - "value" INTEGER NOT NULL, - "currency_iso_code" VARCHAR(5), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "attributes" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration" -( - "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, - "code_pattern" VARCHAR(40) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_abstract_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration_link" -( - "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration" -( - "id_gift_card_product_configuration" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration_link" -( - "id_gift_card_product_configuration_link" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_gift_card_product_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_configuration_link") -); - -CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; - -CREATE TABLE "spy_payment_gift_card" -( - "id_payment_gift_card" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "fk_sales_payment" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_payment_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -CREATE TABLE "spy_gift_card_balance_log" -( - "id_gift_card_balance_log" INTEGER NOT NULL, - "fk_gift_card" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_gift_card_balance_log") -); - -CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); - -CREATE SEQUENCE "spy_glossary_key_pk_seq"; - -CREATE TABLE "spy_glossary_key" -( - "id_glossary_key" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_glossary_key"), - CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); - -CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); - -CREATE SEQUENCE "spy_glossary_translation_pk_seq"; - -CREATE TABLE "spy_glossary_translation" -( - "id_glossary_translation" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_glossary_translation"), - CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") -); - -CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); - -CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); - -CREATE SEQUENCE "spy_glossary_storage_pk_seq"; - -CREATE TABLE "spy_glossary_storage" -( - "id_glossary_storage" INT8 NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "glossary_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_glossary_storage"), - CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); - -CREATE SEQUENCE "spy_locale_pk_seq"; - -CREATE TABLE "spy_locale" -( - "id_locale" INTEGER NOT NULL, - "locale_name" VARCHAR(5) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_locale"), - CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") -); - -CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); - -CREATE SEQUENCE "spy_navigation_pk_seq"; - -CREATE TABLE "spy_navigation" -( - "id_navigation" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation"), - CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); - -CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); - -CREATE SEQUENCE "spy_navigation_node_pk_seq"; - -CREATE TABLE "spy_navigation_node" -( - "id_navigation_node" INTEGER NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "fk_parent_navigation_node" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "node_key" VARCHAR(32), - "node_type" VARCHAR(255), - "position" INTEGER, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_navigation_node") -); - -CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); - -CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); - -CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -CREATE TABLE "spy_navigation_node_localized_attributes" -( - "id_navigation_node_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_navigation_node" INTEGER NOT NULL, - "fk_url" INTEGER, - "css_class" VARCHAR(255), - "external_url" VARCHAR(255), - "link" VARCHAR(255), - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_node_localized_attributes") -); - -CREATE SEQUENCE "spy_navigation_storage_pk_seq"; - -CREATE TABLE "spy_navigation_storage" -( - "id_navigation_storage" INT8 NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "navigation_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_storage"), - CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); - -CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -CREATE TABLE "spy_newsletter_subscriber" -( - "id_newsletter_subscriber" INTEGER NOT NULL, - "fk_customer" INTEGER, - "email" VARCHAR(255) NOT NULL, - "subscriber_key" VARCHAR(150), - "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_subscriber"), - CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), - CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") -); - -CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); - -CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); - -CREATE SEQUENCE "spy_newsletter_type_pk_seq"; - -CREATE TABLE "spy_newsletter_type" -( - "id_newsletter_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_type"), - CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") -); - -CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); - -CREATE TABLE "spy_newsletter_subscription" -( - "fk_newsletter_subscriber" INTEGER NOT NULL, - "fk_newsletter_type" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") -); - -CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; - -CREATE TABLE "spy_nopayment_paid" -( - "id_nopayment_paid" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_nopayment_paid") -); - -CREATE SEQUENCE "spy_offer_pk_seq"; - -CREATE TABLE "spy_offer" -( - "id_offer" INTEGER NOT NULL, - "quote_data" TEXT NOT NULL, - "status" INT2 DEFAULT 0, - "fk_user" INTEGER, - "customer_reference" VARCHAR(255), - "contact_person" VARCHAR(255), - "contact_date" TIMESTAMP, - "note" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_offer") -); - -CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); - -CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; - -CREATE TABLE "spy_oms_transition_log" -( - "id_oms_transition_log" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "quantity" INTEGER, - "locked" BOOLEAN, - "fk_oms_order_process" INTEGER, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_transition_log") -); - -CREATE SEQUENCE "spy_oms_order_process_pk_seq"; - -CREATE TABLE "spy_oms_order_process" -( - "id_oms_order_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_process"), - CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_oms_state_machine_lock" -( - "id_oms_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "details" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_state_machine_lock"), - CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state" -( - "id_oms_order_item_state" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_oms_order_item_state"), - CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state_history" -( - "id_oms_order_item_state_history" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_item_state_history") -); - -CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); - -CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; - -CREATE TABLE "spy_oms_event_timeout" -( - "id_oms_event_timeout" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_event_timeout"), - CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") -); - -CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation" -( - "id_oms_product_reservation" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, - "fk_store" INTEGER, - PRIMARY KEY ("id_oms_product_reservation"), - CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_store" -( - "id_oms_product_reservation_store" INTEGER NOT NULL, - "store" VARCHAR(255) NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER NOT NULL, - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_product_reservation_store"), - CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") -); - -CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); - -CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); - -CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); - -CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_change_version" -( - "version" INT8 NOT NULL, - "id_oms_product_reservation_id" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("version") -); - -CREATE TABLE "spy_oms_product_reservation_last_exported_version" -( - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP -); - -CREATE SEQUENCE "spy_order_source_pk_seq"; - -CREATE TABLE "spy_order_source" -( - "id_order_source" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_order_source") -); - -CREATE SEQUENCE "spy_price_product_pk_seq"; - -CREATE TABLE "spy_price_product" -( - "id_price_product" INTEGER NOT NULL, - "fk_price_type" INTEGER NOT NULL, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "price" INTEGER DEFAULT 0, - PRIMARY KEY ("id_price_product"), - CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") -); - -CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); - -CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); - -CREATE SEQUENCE "spy_price_type_pk_seq"; - -CREATE TABLE "spy_price_type" -( - "id_price_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "price_mode_configuration" INT2, - PRIMARY KEY ("id_price_type"), - CONSTRAINT "spy_price_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_price_product_store_pk_seq"; - -CREATE TABLE "spy_price_product_store" -( - "id_price_product_store" INT8 NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_price_product" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - "price_data" TEXT, - "price_data_checksum" VARCHAR, - PRIMARY KEY ("id_price_product_store") -); - -CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); - -CREATE SEQUENCE "spy_price_product_default_pk_seq"; - -CREATE TABLE "spy_price_product_default" -( - "id_price_product_default" INT8 NOT NULL, - "fk_price_product_store" INT8 NOT NULL, - PRIMARY KEY ("id_price_product_default"), - CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") -); - -CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); - -CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_price_product_abstract_storage" -( - "id_price_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_abstract_storage"), - CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_price_product_concrete_storage" -( - "id_price_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_concrete_storage"), - CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_abstract" -( - "id_product_abstract" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "attributes" TEXT NOT NULL, - "color_code" VARCHAR(8), - "new_from" TIMESTAMP, - "new_to" TIMESTAMP, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract"), - CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_abstract_localized_attributes" -( - "id_abstract_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_abstract_attributes"), - CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") -); - -CREATE SEQUENCE "id_product_abstract_store_pk_seq"; - -CREATE TABLE "spy_product_abstract_store" -( - "id_product_abstract_store" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_product_abstract_store"), - CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") -); - -CREATE SEQUENCE "spy_product_pk_seq"; - -CREATE TABLE "spy_product" -( - "id_product" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product"), - CONSTRAINT "spy_product-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_localized_attributes" -( - "id_product_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "is_complete" BOOLEAN DEFAULT \'t\', - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_attributes"), - CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") -); - -CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; - -CREATE TABLE "spy_product_attribute_key" -( - "id_product_attribute_key" INTEGER NOT NULL, - "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_attribute_key"), - CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_alternative_pk_seq"; - -CREATE TABLE "spy_product_alternative" -( - "id_product_alternative" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_product_abstract_alternative" INTEGER, - "fk_product_concrete_alternative" INTEGER, - PRIMARY KEY ("id_product_alternative") -); - -CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; - -CREATE TABLE "spy_product_alternative_storage" -( - "id_product_alternative_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_alternative_storage"), - CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); - -CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -CREATE TABLE "spy_product_replacement_for_storage" -( - "id_product_replacement_for_storage" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_replacement_for_storage"), - CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); - -CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; - -CREATE TABLE "spy_product_management_attribute" -( - "id_product_management_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, - "input_type" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_management_attribute"), - CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value" -( - "id_product_management_attribute_value" INTEGER NOT NULL, - "fk_product_management_attribute" INTEGER NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value_translation" -( - "id_product_management_attribute_value_translation" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_management_attribute_value" INTEGER NOT NULL, - "translation" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value_translation"), - CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -CREATE TABLE "spy_sales_order_item_bundle" -( - "id_sales_order_item_bundle" INTEGER NOT NULL, - "cart_note" VARCHAR(255), - "gross_price" INTEGER NOT NULL, - "image" TEXT, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_bundle") -); - -CREATE SEQUENCE "spy_product_bundle_pk_seq"; - -CREATE TABLE "spy_product_bundle" -( - "id_product_bundle" INTEGER NOT NULL, - "fk_bundled_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_bundle") -); - -COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; - -COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; - -COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; - -CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); - -CREATE SEQUENCE "spy_product_category_pk_seq"; - -CREATE TABLE "spy_product_category" -( - "id_product_category" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "product_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_product_category"), - CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") -); - -CREATE SEQUENCE "spy_product_category_filter_pk_seq"; - -CREATE TABLE "spy_product_category_filter" -( - "id_product_category_filter" INTEGER NOT NULL, - "fk_category" INTEGER, - "filter_data" TEXT NOT NULL, - PRIMARY KEY ("id_product_category_filter"), - CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") -); - -CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); - -CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -CREATE TABLE "spy_product_category_filter_storage" -( - "id_product_category_filter_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_category_filter_storage"), - CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); - -CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_category_storage" -( - "id_product_abstract_category_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_category_storage"), - CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_discontinued_pk_seq"; - -CREATE TABLE "spy_product_discontinued" -( - "id_product_discontinued" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "active_until" DATE NOT NULL, - "discontinued_on" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued") -); - -CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; - -CREATE TABLE "spy_product_discontinued_note" -( - "id_product_discontinued_note" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "note" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_note"), - CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") -); - -CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; - -CREATE TABLE "spy_product_discontinued_storage" -( - "id_product_discontinued_storage" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_storage"), - CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); - -CREATE SEQUENCE "spy_product_group_pk_seq"; - -CREATE TABLE "spy_product_group" -( - "id_product_group" INTEGER NOT NULL, - "product_group_key" VARCHAR(32), - PRIMARY KEY ("id_product_group") -); - -CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); - -CREATE TABLE "spy_product_abstract_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_group" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_group") -); - -CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_group_storage" -( - "id_product_abstract_group_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_group_storage"), - CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_image_set_pk_seq"; - -CREATE TABLE "spy_product_image_set" -( - "id_product_image_set" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image_set"), - CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") -); - -CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); - -CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); - -CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_product_image_pk_seq"; - -CREATE TABLE "spy_product_image" -( - "id_product_image" INTEGER NOT NULL, - "external_url_large" VARCHAR(2048), - "external_url_small" VARCHAR(2048), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image") -); - -CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -CREATE TABLE "spy_product_image_set_to_product_image" -( - "id_product_image_set_to_product_image" INTEGER NOT NULL, - "fk_product_image" INTEGER NOT NULL, - "fk_product_image_set" INTEGER NOT NULL, - "sort_order" INTEGER NOT NULL, - PRIMARY KEY ("id_product_image_set_to_product_image"), - CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") -); - -CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_image_storage" -( - "id_product_abstract_image_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_image_storage"), - CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_image_storage" -( - "id_product_concrete_image_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_image_storage"), - CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_label_pk_seq"; - -CREATE TABLE "spy_product_label" -( - "id_product_label" INTEGER NOT NULL, - "front_end_reference" VARCHAR, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_published" BOOLEAN DEFAULT \'f\', - "name" VARCHAR NOT NULL, - "position" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label"), - CONSTRAINT "spy_product_label-name" UNIQUE ("name") -); - -CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); - -CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_label_localized_attributes" -( - "id_product_label_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - "name" VARCHAR, - PRIMARY KEY ("id_product_label_localized_attributes"), - CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") -); - -CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); - -CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_label_product_abstract" -( - "id_product_label_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - PRIMARY KEY ("id_product_label_product_abstract"), - CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") -); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -CREATE TABLE "spy_product_label_dictionary_storage" -( - "id_product_label_dictionary_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label_dictionary_storage"), - CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_label_storage" -( - "id_product_abstract_label_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_label_storage"), - CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_option_group_pk_seq"; - -CREATE TABLE "spy_product_option_group" -( - "id_product_option_group" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "active" BOOLEAN, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_group") -); - -CREATE TABLE "spy_product_abstract_product_option_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_option_group") -); - -CREATE SEQUENCE "spy_product_option_value_pk_seq"; - -CREATE TABLE "spy_product_option_value" -( - "id_product_option_value" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - "price" INTEGER, - "sku" VARCHAR(255) NOT NULL, - "value" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_value"), - CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") -); - -COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; - -CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; - -CREATE TABLE "spy_product_option_value_price" -( - "id_product_option_value_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_product_option_value" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - PRIMARY KEY ("id_product_option_value_price"), - CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_option_storage" -( - "id_product_abstract_option_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_option_storage"), - CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -CREATE TABLE "spy_product_abstract_page_search" -( - "id_product_abstract_page_search" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_page_search"), - CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_quantity_pk_seq"; - -CREATE TABLE "spy_product_quantity" -( - "id_product_quantity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity_interval" INTEGER NOT NULL, - "quantity_max" INTEGER, - "quantity_min" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity"), - CONSTRAINT "spy_product_quantity-unique-fk_product" UNIQUE ("fk_product") -); - -CREATE SEQUENCE "id_product_quantity_storage_pk_seq"; - -CREATE TABLE "spy_product_quantity_storage" -( - "id_product_quantity_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_quantity_storage") -); - -CREATE INDEX "spy_product_quantity_storage-fk_product" ON "spy_product_quantity_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_relation_type_pk_seq"; - -CREATE TABLE "spy_product_relation_type" -( - "id_product_relation_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_type") -); - -CREATE SEQUENCE "spy_product_relation_pk_seq"; - -CREATE TABLE "spy_product_relation" -( - "id_product_relation" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation_type" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, - "query_set_data" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation"), - CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") -); - -CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -CREATE TABLE "spy_product_relation_product_abstract" -( - "id_product_relation_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation" INTEGER NOT NULL, - "order" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_product_abstract") -); - -CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_relation_storage" -( - "id_product_abstract_relation_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_relation_storage"), - CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_review_pk_seq"; - -CREATE TABLE "spy_product_review" -( - "id_product_review" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "description" TEXT, - "nickname" VARCHAR(255), - "rating" INTEGER DEFAULT 0 NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "summary" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review") -); - -CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); - -CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); - -CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); - -CREATE SEQUENCE "spy_product_review_search_pk_seq"; - -CREATE TABLE "spy_product_review_search" -( - "id_product_review_search" INT8 NOT NULL, - "fk_product_review" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review_search"), - CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); - -CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_review_storage" -( - "id_product_abstract_review_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_review_storage"), - CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_search_pk_seq"; - -CREATE TABLE "spy_product_search" -( - "id_product_search" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_product_search") -); - -CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); - -CREATE TABLE "spy_product_search_attribute_map" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); - -CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; - -CREATE TABLE "spy_product_search_attribute" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_product_search_attribute"), - CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; - -CREATE TABLE "spy_product_search_config_storage" -( - "id_product_search_config_storage" INT8 NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_config_storage"), - CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_set_pk_seq"; - -CREATE TABLE "spy_product_set" -( - "id_product_set" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "product_set_key" VARCHAR(255) NOT NULL, - "weight" INTEGER DEFAULT 0 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set"), - CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") -); - -CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; - -CREATE TABLE "spy_product_abstract_set" -( - "id_product_abstract_set" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_product_abstract_set"), - CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") -); - -CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); - -CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_set_data_pk_seq"; - -CREATE TABLE "spy_product_set_data" -( - "id_product_set_data" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_data"), - CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") -); - -CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); - -CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); - -CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; - -CREATE TABLE "spy_product_set_page_search" -( - "id_product_set_page_search" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_page_search"), - CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_set_storage_pk_seq"; - -CREATE TABLE "spy_product_set_storage" -( - "id_product_set_storage" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_storage"), - CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_storage" -( - "id_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_storage"), - CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_storage" -( - "id_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_storage"), - CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_validity_pk_seq"; - -CREATE TABLE "spy_product_validity" -( - "id_product_validity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_product_validity"), - CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") -); - -CREATE TABLE "spy_propel_heartbeat" -( - "heartbeat_check" VARCHAR NOT NULL, - PRIMARY KEY ("heartbeat_check") -); - -CREATE SEQUENCE "spy_queue_process_pk_seq"; - -CREATE TABLE "spy_queue_process" -( - "id_queue_process" INTEGER NOT NULL, - "server_id" VARCHAR(255) NOT NULL, - "process_pid" INTEGER NOT NULL, - "worker_pid" INTEGER NOT NULL, - "queue_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_queue_process"), - CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") -); - -CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); - -CREATE SEQUENCE "id_quote_pk_seq"; - -CREATE TABLE "spy_quote" -( - "id_quote" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "quote_data" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_quote") -); - -CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); - -CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); - -CREATE SEQUENCE "spy_refund_pk_seq"; - -CREATE TABLE "spy_refund" -( - "id_refund" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "comment" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_refund") -); - -CREATE SEQUENCE "spy_sales_order_pk_seq"; - -CREATE TABLE "spy_sales_order" -( - "id_sales_order" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_order_source" INTEGER, - "fk_sales_order_address_billing" INTEGER NOT NULL, - "fk_sales_order_address_shipping" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER, - "cart_note" VARCHAR(255), - "currency_iso_code" VARCHAR(5), - "customer_reference" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100), - "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, - "last_name" VARCHAR(100), - "order_reference" VARCHAR(45) NOT NULL, - "price_mode" INT2, - "salutation" INT2, - "store" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order"), - CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") -); - -CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); - -CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); - -CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); - -CREATE SEQUENCE "spy_sales_order_item_pk_seq"; - -CREATE TABLE "spy_sales_order_item" -( - "id_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "fk_oms_order_process" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_order_item_bundle" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "cart_note" VARCHAR(255), - "discount_amount_aggregation" INTEGER DEFAULT 0, - "discount_amount_full_aggregation" INTEGER DEFAULT 0, - "expense_price_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "group_key" VARCHAR(255), - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "product_option_price_aggregation" INTEGER DEFAULT 0, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "refundable_amount" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "subtotal_aggregation" INTEGER, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_amount_full_aggregation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "tax_rate_average_aggregation" NUMERIC(8,2), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item") -); - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; - -CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); - -CREATE SEQUENCE "spy_sales_discount_pk_seq"; - -CREATE TABLE "spy_sales_discount" -( - "id_sales_discount" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER, - "fk_sales_order_item" INTEGER, - "fk_sales_order_item_option" INTEGER, - "amount" INTEGER NOT NULL, - "description" VARCHAR(510), - "display_name" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount") -); - -CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; - -CREATE TABLE "spy_sales_discount_code" -( - "id_sales_discount_code" INTEGER NOT NULL, - "fk_sales_discount" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "codepool_name" VARCHAR(255) NOT NULL, - "is_once_per_customer" BOOLEAN DEFAULT \'t\', - "is_refundable" BOOLEAN DEFAULT \'f\', - "is_reusable" BOOLEAN DEFAULT \'f\', - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount_code") -); - -CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -CREATE TABLE "spy_sales_order_item_gift_card" -( - "id_sales_order_item_gift_card" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "attributes" TEXT, - "code" VARCHAR(40), - "pattern" VARCHAR(40), - "value" INTEGER, - PRIMARY KEY ("id_sales_order_item_gift_card") -); - -CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; - -CREATE TABLE "spy_sales_order_item_option" -( - "id_sales_order_item_option" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER DEFAULT 0 NOT NULL, - "group_name" VARCHAR NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "tax_amount" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2) NOT NULL, - "value" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_option") -); - -COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -CREATE SEQUENCE "spy_sales_order_address_pk_seq"; - -CREATE TABLE "spy_sales_order_address" -( - "id_sales_order_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address") -); - -CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; - -CREATE TABLE "spy_sales_order_address_history" -( - "id_sales_order_address_history" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "fk_sales_order_address" INTEGER NOT NULL, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "is_billing" BOOLEAN DEFAULT \'f\', - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address_history") -); - -CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; - -CREATE TABLE "spy_sales_order_totals" -( - "id_sales_order_totals" INTEGER NOT NULL, - "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, - "canceled_total" INTEGER DEFAULT 0, - "discount_total" INTEGER DEFAULT 0, - "grand_total" INTEGER DEFAULT 0, - "order_expense_total" INTEGER DEFAULT 0, - "refund_total" INTEGER DEFAULT 0, - "subtotal" INTEGER DEFAULT 0, - "tax_total" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_totals") -); - -CREATE SEQUENCE "spy_sales_order_note_pk_seq"; - -CREATE TABLE "spy_sales_order_note" -( - "id_sales_order_note" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "command" VARCHAR(255) NOT NULL, - "message" VARCHAR(255) NOT NULL, - "success" BOOLEAN NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_note") -); - -CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; - -CREATE TABLE "spy_sales_order_comment" -( - "id_sales_order_comment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "message" TEXT NOT NULL, - "username" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_comment") -); - -CREATE SEQUENCE "spy_sales_expense_pk_seq"; - -CREATE TABLE "spy_sales_expense" -( - "id_sales_expense" INTEGER NOT NULL, - "fk_sales_order" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "name" VARCHAR(255), - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "refundable_amount" INTEGER DEFAULT 0, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "type" VARCHAR(150), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_expense"), - CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") -); - -COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; - -COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -CREATE TABLE "spy_sales_order_item_metadata" -( - "id_sales_order_item_metadata" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "image" TEXT, - "super_attributes" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_metadata") -); - -CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); - -CREATE SEQUENCE "spy_sales_shipment_pk_seq"; - -CREATE TABLE "spy_sales_shipment" -( - "id_sales_shipment" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "carrier_name" VARCHAR(255), - "delivery_time" VARCHAR(255), - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_shipment") -); - -CREATE SEQUENCE "spy_sales_payment_pk_seq"; - -CREATE TABLE "spy_sales_payment" -( - "id_sales_payment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_payment_method_type" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_payment") -); - -CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -CREATE TABLE "spy_sales_payment_method_type" -( - "id_sales_payment_method_type" INTEGER NOT NULL, - "payment_provider" VARCHAR NOT NULL, - "payment_method" VARCHAR NOT NULL, - PRIMARY KEY ("id_sales_payment_method_type") -); - -CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); - -CREATE SEQUENCE "spy_sequence_number_pk_seq"; - -CREATE TABLE "spy_sequence_number" -( - "id_sequence_number" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "current_id" INTEGER NOT NULL, - PRIMARY KEY ("id_sequence_number"), - CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; - -CREATE TABLE "spy_shipment_carrier" -( - "id_shipment_carrier" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_shipment_carrier") -); - -CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_pk_seq"; - -CREATE TABLE "spy_shipment_method" -( - "id_shipment_method" INTEGER NOT NULL, - "fk_shipment_carrier" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "name" VARCHAR(255) NOT NULL, - "shipment_method_key" VARCHAR(255), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "default_price" INTEGER, - "availability_plugin" VARCHAR(255), - "price_plugin" VARCHAR(255), - "delivery_time_plugin" VARCHAR(255), - PRIMARY KEY ("id_shipment_method") -); - -COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; - -CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; - -CREATE TABLE "spy_shipment_method_price" -( - "id_shipment_method_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_shipment_method" INTEGER NOT NULL, - "default_gross_price" INTEGER, - "default_net_price" INTEGER, - PRIMARY KEY ("id_shipment_method_price"), - CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -CREATE TABLE "spy_state_machine_transition_log" -( - "id_state_machine_transition_log" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "locked" BOOLEAN, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_transition_log") -); - -CREATE SEQUENCE "spy_state_machine_process_pk_seq"; - -CREATE TABLE "spy_state_machine_process" -( - "id_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "state_machine_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_process"), - CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") -); - -CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); - -CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_state_machine_lock" -( - "id_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_lock"), - CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state" -( - "id_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_state_machine_item_state"), - CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") -); - -CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state_history" -( - "id_state_machine_item_state_history" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_item_state_history") -); - -CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); - -CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -CREATE TABLE "spy_state_machine_event_timeout" -( - "id_state_machine_event_timeout" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_event_timeout"), - CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") -); - -CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_stock_pk_seq"; - -CREATE TABLE "spy_stock" -( - "id_stock" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_stock"), - CONSTRAINT "spy_stock-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_stock_product_pk_seq"; - -CREATE TABLE "spy_stock_product" -( - "id_stock_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_stock" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 0, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_stock_product"), - CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") -); - -CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); - -CREATE SEQUENCE "spy_store_pk_seq"; - -CREATE TABLE "spy_store" -( - "id_store" INTEGER NOT NULL, - "name" VARCHAR(255), - PRIMARY KEY ("id_store") -); - -CREATE SEQUENCE "spy_tax_set_pk_seq"; - -CREATE TABLE "spy_tax_set" -( - "id_tax_set" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_set") -); - -CREATE SEQUENCE "spy_tax_rate_pk_seq"; - -CREATE TABLE "spy_tax_rate" -( - "id_tax_rate" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "rate" NUMERIC(8,2) NOT NULL, - "fk_country" INTEGER, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_rate") -); - -CREATE TABLE "spy_tax_set_tax" -( - "fk_tax_set" INTEGER NOT NULL, - "fk_tax_rate" INTEGER NOT NULL, - PRIMARY KEY ("fk_tax_set","fk_tax_rate") -); - -CREATE SEQUENCE "spy_touch_pk_seq"; - -CREATE TABLE "spy_touch" -( - "id_touch" INTEGER NOT NULL, - "item_type" VARCHAR(255) NOT NULL, - "item_event" INT2 NOT NULL, - "item_id" INTEGER NOT NULL, - "touched" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_touch"), - CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") -); - -CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); - -CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); - -CREATE SEQUENCE "spy_touch_storage_pk_seq"; - -CREATE TABLE "spy_touch_storage" -( - "id_touch_storage" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_storage"), - CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); - -CREATE SEQUENCE "spy_touch_search_pk_seq"; - -CREATE TABLE "spy_touch_search" -( - "id_touch_search" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_search"), - CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); - -CREATE SEQUENCE "spy_url_pk_seq"; - -CREATE TABLE "spy_url" -( - "id_url" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_resource_categorynode" INTEGER, - "fk_resource_page" INTEGER, - "fk_resource_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "fk_resource_redirect" INTEGER, - "url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url"), - CONSTRAINT "spy_url_unique_key" UNIQUE ("url") -); - -CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_url_redirect_pk_seq"; - -CREATE TABLE "spy_url_redirect" -( - "id_url_redirect" INTEGER NOT NULL, - "status" INTEGER DEFAULT 301 NOT NULL, - "to_url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url_redirect") -); - -CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); - -CREATE SEQUENCE "spy_url_storage_pk_seq"; - -CREATE TABLE "spy_url_storage" -( - "id_url_storage" INT8 NOT NULL, - "fk_categorynode" INTEGER, - "fk_page" INTEGER, - "fk_product_abstract" INTEGER, - "fk_product_set" INTEGER, - "fk_redirect" INTEGER, - "fk_url" INTEGER NOT NULL, - "url" VARCHAR NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_storage"), - CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); - -CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; - -CREATE TABLE "spy_url_redirect_storage" -( - "id_url_redirect_storage" INT8 NOT NULL, - "fk_url_redirect" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_redirect_storage"), - CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); - -CREATE SEQUENCE "spy_user_pk_seq"; - -CREATE TABLE "spy_user" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_user"), - CONSTRAINT "spy_user-username" UNIQUE ("username") -); - -CREATE SEQUENCE "spy_wishlist_pk_seq"; - -CREATE TABLE "spy_wishlist" -( - "id_wishlist" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist"), - CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") -); - -CREATE SEQUENCE "spy_wishlist_item_pk_seq"; - -CREATE TABLE "spy_wishlist_item" -( - "id_wishlist_item" INTEGER NOT NULL, - "fk_wishlist" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist_item") -); - -CREATE TABLE "spy_acl_role_archive" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role") -); - -CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); - -CREATE TABLE "spy_acl_rule_archive" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE TABLE "spy_acl_group_archive" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group") -); - -CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); - -CREATE TABLE "spy_auth_reset_password_archive" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user") -); - -CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); - -CREATE TABLE "spy_product_search_attribute_map_archive" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - "archived_at" TIMESTAMP, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_product_search_attribute_archive" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_attribute") -); - -CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_user_archive" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_user") -); - -CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); - -ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" - FOREIGN KEY ("fk_availability_abstract") - REFERENCES "spy_availability_abstract" ("id_availability_abstract"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" - FOREIGN KEY ("fk_parent_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" - FOREIGN KEY ("fk_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" - FOREIGN KEY ("fk_category_node_descendant") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_template" ("id_cms_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" - FOREIGN KEY ("fk_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_block_template" ("id_cms_block_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block"); - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" - FOREIGN KEY ("fk_cms_block_category_position") - REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" - FOREIGN KEY ("default_billing_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" - FOREIGN KEY ("default_shipping_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" - FOREIGN KEY ("fk_customer_group") - REFERENCES "spy_customer_group" ("id_customer_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" - FOREIGN KEY ("fk_gift_card_product_abstract_configuration") - REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" - FOREIGN KEY ("fk_gift_card_product_configuration") - REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); - -ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" - FOREIGN KEY ("fk_sales_payment") - REFERENCES "spy_sales_payment" ("id_sales_payment"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" - FOREIGN KEY ("fk_gift_card") - REFERENCES "spy_gift_card" ("id_gift_card"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" - FOREIGN KEY ("fk_parent_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" - FOREIGN KEY ("fk_navigation") - REFERENCES "spy_navigation" ("id_navigation") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" - FOREIGN KEY ("fk_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" - FOREIGN KEY ("fk_url") - REFERENCES "spy_url" ("id_url"); - -ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" - FOREIGN KEY ("fk_newsletter_subscriber") - REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" - FOREIGN KEY ("fk_newsletter_type") - REFERENCES "spy_newsletter_type" ("id_newsletter_type"); - -ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" - FOREIGN KEY ("fk_price_type") - REFERENCES "spy_price_type" ("id_price_type"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" - FOREIGN KEY ("fk_price_product") - REFERENCES "spy_price_product" ("id_price_product"); - -ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" - FOREIGN KEY ("fk_price_product_store") - REFERENCES "spy_price_product_store" ("id_price_product_store") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" - FOREIGN KEY ("fk_product_abstract_alternative") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" - FOREIGN KEY ("fk_product_concrete_alternative") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" - FOREIGN KEY ("fk_product_management_attribute") - REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" - FOREIGN KEY ("fk_product_management_attribute_value") - REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" - FOREIGN KEY ("fk_bundled_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" - FOREIGN KEY ("fk_product_discontinued") - REFERENCES "spy_product_discontinued" ("id_product_discontinued"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" - FOREIGN KEY ("fk_product_group") - REFERENCES "spy_product_group" ("id_product_group"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" - FOREIGN KEY ("fk_product_image_set") - REFERENCES "spy_product_image_set" ("id_product_image_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" - FOREIGN KEY ("fk_product_image") - REFERENCES "spy_product_image" ("id_product_image"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE SET NULL; - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" - FOREIGN KEY ("fk_product_option_value") - REFERENCES "spy_product_option_value" ("id_product_option_value") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_quantity" ADD CONSTRAINT "spy_product_quantity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" - FOREIGN KEY ("fk_product_relation_type") - REFERENCES "spy_product_relation_type" ("id_product_relation_type"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" - FOREIGN KEY ("fk_product_relation") - REFERENCES "spy_product_relation" ("id_product_relation"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" - FOREIGN KEY ("fk_order_source") - REFERENCES "spy_order_source" ("id_order_source"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" - FOREIGN KEY ("fk_sales_order_address_billing") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" - FOREIGN KEY ("fk_sales_order_address_shipping") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" - FOREIGN KEY ("fk_sales_order_item_bundle") - REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" - FOREIGN KEY ("fk_sales_order_item_option") - REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); - -ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" - FOREIGN KEY ("fk_sales_discount") - REFERENCES "spy_sales_discount" ("id_sales_discount"); - -ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" - FOREIGN KEY ("fk_sales_order_address") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" - FOREIGN KEY ("fk_sales_payment_method_type") - REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" - FOREIGN KEY ("fk_shipment_carrier") - REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" - FOREIGN KEY ("fk_shipment_method") - REFERENCES "spy_shipment_method" ("id_shipment_method"); - -ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" - FOREIGN KEY ("fk_stock") - REFERENCES "spy_stock" ("id_stock"); - -ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" - FOREIGN KEY ("fk_tax_rate") - REFERENCES "spy_tax_rate" ("id_tax_rate"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" - FOREIGN KEY ("fk_resource_categorynode") - REFERENCES "spy_category_node" ("id_category_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" - FOREIGN KEY ("fk_resource_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" - FOREIGN KEY ("fk_resource_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" - FOREIGN KEY ("fk_resource_redirect") - REFERENCES "spy_url_redirect" ("id_url_redirect") - ON DELETE CASCADE; - -ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" - FOREIGN KEY ("fk_wishlist") - REFERENCES "spy_wishlist" ("id_wishlist"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" - FOREIGN KEY ("sku") - REFERENCES "spy_product" ("sku"); - -COMMIT; -', -); - } - - /** - * Get the SQL statements for the Down migration - * - * @return array list of the SQL strings to execute for the Down migration - * the keys being the datasources - */ - public function getDownSQL() - { - return array ( - 'zed' => ' -BEGIN; - -DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role" CASCADE; - -DROP SEQUENCE "spy_acl_role_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; - -DROP SEQUENCE "spy_acl_rule_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_group" CASCADE; - -DROP SEQUENCE "spy_acl_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; - -DROP SEQUENCE "spy_auth_reset_password_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; - -DROP SEQUENCE "spy_availability_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability" CASCADE; - -DROP SEQUENCE "spy_availability_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; - -DROP SEQUENCE "spy_availability_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category" CASCADE; - -DROP SEQUENCE "spy_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; - -DROP SEQUENCE "spy_category_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node" CASCADE; - -DROP SEQUENCE "spy_category_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; - -DROP SEQUENCE "spy_category_closure_table_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; - -DROP SEQUENCE "spy_category_node_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; - -DROP SEQUENCE "spy_category_tree_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; - -DROP SEQUENCE "spy_category_node_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_template" CASCADE; - -DROP SEQUENCE "spy_category_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_template" CASCADE; - -DROP SEQUENCE "spy_cms_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page" CASCADE; - -DROP SEQUENCE "spy_cms_page_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_version" CASCADE; - -DROP SEQUENCE "spy_cms_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; - -DROP SEQUENCE "spy_cms_block_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block" CASCADE; - -DROP SEQUENCE "spy_cms_block_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; - -DROP SEQUENCE "id_cms_block_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; - -DROP SEQUENCE "spy_cms_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; - -DROP SEQUENCE "spy_cms_page_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_country" CASCADE; - -DROP SEQUENCE "spy_country_pk_seq"; - -DROP TABLE IF EXISTS "spy_region" CASCADE; - -DROP SEQUENCE "spy_region_pk_seq"; - -DROP TABLE IF EXISTS "spy_currency" CASCADE; - -DROP SEQUENCE "spy_currency_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer" CASCADE; - -DROP SEQUENCE "spy_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_address" CASCADE; - -DROP SEQUENCE "spy_customer_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group" CASCADE; - -DROP SEQUENCE "spy_customer_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; - -DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_note" CASCADE; - -DROP SEQUENCE "spy_customer_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount" CASCADE; - -DROP SEQUENCE "spy_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_store" CASCADE; - -DROP SEQUENCE "id_discount_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; - -DROP SEQUENCE "spy_discount_amount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; - -DROP SEQUENCE "spy_discount_promotion_pk_seq"; - -DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; - -DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; - -DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card" CASCADE; - -DROP SEQUENCE "spy_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; - -DROP SEQUENCE "spy_payment_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; - -DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; - -DROP SEQUENCE "spy_glossary_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; - -DROP SEQUENCE "spy_glossary_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; - -DROP SEQUENCE "spy_glossary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_locale" CASCADE; - -DROP SEQUENCE "spy_locale_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation" CASCADE; - -DROP SEQUENCE "spy_navigation_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; - -DROP SEQUENCE "spy_navigation_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; - -DROP SEQUENCE "spy_navigation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; - -DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; - -DROP SEQUENCE "spy_newsletter_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; - -DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; - -DROP SEQUENCE "spy_nopayment_paid_pk_seq"; - -DROP TABLE IF EXISTS "spy_offer" CASCADE; - -DROP SEQUENCE "spy_offer_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; - -DROP SEQUENCE "spy_oms_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; - -DROP SEQUENCE "spy_oms_order_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; - -DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; - -DROP TABLE IF EXISTS "spy_order_source" CASCADE; - -DROP SEQUENCE "spy_order_source_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product" CASCADE; - -DROP SEQUENCE "spy_price_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_type" CASCADE; - -DROP SEQUENCE "spy_price_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; - -DROP SEQUENCE "spy_price_product_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; - -DROP SEQUENCE "spy_price_product_default_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; - -DROP SEQUENCE "id_product_abstract_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_product" CASCADE; - -DROP SEQUENCE "spy_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; - -DROP SEQUENCE "spy_product_attribute_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; - -DROP SEQUENCE "spy_product_alternative_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; - -DROP SEQUENCE "id_product_alternative_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; - -DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; - -DROP SEQUENCE "spy_product_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category" CASCADE; - -DROP SEQUENCE "spy_product_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; - -DROP SEQUENCE "id_product_discontinued_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; - -DROP SEQUENCE "id_product_discontinued_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; - -DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_group" CASCADE; - -DROP SEQUENCE "spy_product_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; - -DROP SEQUENCE "spy_product_image_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label" CASCADE; - -DROP SEQUENCE "spy_product_label_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; - -DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; - -DROP SEQUENCE "spy_product_option_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; - -DROP SEQUENCE "spy_product_option_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; - -DROP SEQUENCE "spy_product_option_value_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; - -DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity" CASCADE; - -DROP SEQUENCE "id_product_quantity_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_quantity_storage" CASCADE; - -DROP SEQUENCE "id_product_quantity_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; - -DROP SEQUENCE "spy_product_relation_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation" CASCADE; - -DROP SEQUENCE "spy_product_relation_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review" CASCADE; - -DROP SEQUENCE "id_product_review_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; - -DROP SEQUENCE "spy_product_review_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search" CASCADE; - -DROP SEQUENCE "spy_product_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; - -DROP SEQUENCE "spy_product_search_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; - -DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set" CASCADE; - -DROP SEQUENCE "spy_product_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; - -DROP SEQUENCE "spy_product_abstract_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; - -DROP SEQUENCE "spy_product_set_data_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; - -DROP SEQUENCE "spy_product_set_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; - -DROP SEQUENCE "spy_product_set_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_validity" CASCADE; - -DROP SEQUENCE "spy_product_validity_pk_seq"; - -DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; - -DROP TABLE IF EXISTS "spy_queue_process" CASCADE; - -DROP SEQUENCE "spy_queue_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_quote" CASCADE; - -DROP SEQUENCE "id_quote_pk_seq"; - -DROP TABLE IF EXISTS "spy_refund" CASCADE; - -DROP SEQUENCE "spy_refund_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order" CASCADE; - -DROP SEQUENCE "spy_sales_order_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; - -DROP SEQUENCE "spy_sales_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; - -DROP SEQUENCE "spy_sales_discount_code_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; - -DROP SEQUENCE "spy_sales_order_totals_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; - -DROP SEQUENCE "spy_sales_order_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; - -DROP SEQUENCE "spy_sales_order_comment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; - -DROP SEQUENCE "spy_sales_expense_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; - -DROP SEQUENCE "spy_sales_shipment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; - -DROP SEQUENCE "spy_sales_payment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; - -DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; - -DROP SEQUENCE "spy_sequence_number_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; - -DROP SEQUENCE "spy_shipment_carrier_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; - -DROP SEQUENCE "spy_shipment_method_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; - -DROP SEQUENCE "spy_shipment_method_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; - -DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; - -DROP SEQUENCE "spy_state_machine_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; - -DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock" CASCADE; - -DROP SEQUENCE "spy_stock_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock_product" CASCADE; - -DROP SEQUENCE "spy_stock_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_store" CASCADE; - -DROP SEQUENCE "spy_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set" CASCADE; - -DROP SEQUENCE "spy_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; - -DROP SEQUENCE "spy_tax_rate_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; - -DROP TABLE IF EXISTS "spy_touch" CASCADE; - -DROP SEQUENCE "spy_touch_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; - -DROP SEQUENCE "spy_touch_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_search" CASCADE; - -DROP SEQUENCE "spy_touch_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_url" CASCADE; - -DROP SEQUENCE "spy_url_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; - -DROP SEQUENCE "spy_url_redirect_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_storage" CASCADE; - -DROP SEQUENCE "spy_url_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; - -DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_user" CASCADE; - -DROP SEQUENCE "spy_user_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist" CASCADE; - -DROP SEQUENCE "spy_wishlist_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; - -DROP SEQUENCE "spy_wishlist_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_user_archive" CASCADE; - -COMMIT; -', -); - } - -} \ No newline at end of file From c886ebd2f9307b4ed6867f70006ff6b8fee3b18d Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 09:18:49 +0000 Subject: [PATCH 21/91] SUITE-746: fixed travis --- phpstan.neon | 2 ++ .../Synchronization/SynchronizationDependencyProvider.php | 8 -------- .../DynamicType/AbstractSprykerDynamicTypeExtension.php | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 08ae5b0640..9cf5134a20 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -8,6 +8,8 @@ parameters: ignoreErrors: - '#Call to an undefined method .+Criteria::.+\(\).#' + reportUnmatchedIgnoredErrors: false + services: - class: PhpStan\DynamicType\FacadeDynamicTypeExtension diff --git a/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php b/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php index efdfe09802..f68940836e 100644 --- a/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php +++ b/src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php @@ -27,10 +27,7 @@ use Spryker\Zed\ProductImageStorage\Communication\Plugin\Synchronization\ProductConcreteImageSynchronizationDataPlugin; use Spryker\Zed\ProductLabelStorage\Communication\Plugin\Synchronization\ProductAbstractLabelSynchronizationDataPlugin; use Spryker\Zed\ProductLabelStorage\Communication\Plugin\Synchronization\ProductLabelDictionarySynchronizationDataPlugin; -use Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Synchronization\ProductConcreteMeasurementUnitSynchronizationDataPlugin; -use Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Synchronization\ProductMeasurementUnitSynchronizationDataPlugin; use Spryker\Zed\ProductOptionStorage\Communication\Plugin\Synchronization\ProductOptionSynchronizationDataPlugin; -use Spryker\Zed\ProductPackagingUnitStorage\Communication\Plugin\Synchronization\ProductPackagingUnitSynchronizationDataPlugin; use Spryker\Zed\ProductPageSearch\Communication\Plugin\Synchronization\ProductPageSynchronizationDataPlugin; use Spryker\Zed\ProductQuantityStorage\Communication\Plugin\Synchronization\ProductQuantitySynchronizationDataPlugin; use Spryker\Zed\ProductRelationStorage\Communication\Plugin\Synchronization\ProductRelationSynchronizationDataPlugin; @@ -41,7 +38,6 @@ use Spryker\Zed\ProductSetStorage\Communication\Plugin\Synchronization\ProductSetSynchronizationDataPlugin; use Spryker\Zed\ProductStorage\Communication\Plugin\Synchronization\ProductAbstractSynchronizationDataPlugin; use Spryker\Zed\ProductStorage\Communication\Plugin\Synchronization\ProductConcreteSynchronizationDataPlugin; -use Spryker\Zed\ShoppingListStorage\Communication\Plugin\Synchronization\ShoppingListSynchronizationDataPlugin; use Spryker\Zed\Synchronization\SynchronizationDependencyProvider as SprykerSynchronizationDependencyProvider; use Spryker\Zed\UrlStorage\Communication\Plugin\Synchronization\UrlRedirectSynchronizationDataPlugin; use Spryker\Zed\UrlStorage\Communication\Plugin\Synchronization\UrlSynchronizationDataPlugin; @@ -77,8 +73,6 @@ protected function getSynchronizationDataPlugins(): array new ProductConcreteImageSynchronizationDataPlugin(), new ProductAbstractLabelSynchronizationDataPlugin(), new ProductLabelDictionarySynchronizationDataPlugin(), - new ProductMeasurementUnitSynchronizationDataPlugin(), - new ProductConcreteMeasurementUnitSynchronizationDataPlugin(), new ProductQuantitySynchronizationDataPlugin(), new ProductOptionSynchronizationDataPlugin(), new ProductRelationSynchronizationDataPlugin(), @@ -89,8 +83,6 @@ protected function getSynchronizationDataPlugins(): array new ProductAbstractSynchronizationDataPlugin(), new UrlRedirectSynchronizationDataPlugin(), new UrlSynchronizationDataPlugin(), - new ProductPackagingUnitSynchronizationDataPlugin(), - new ShoppingListSynchronizationDataPlugin(), ]; } } diff --git a/tests/PhpStan/DynamicType/AbstractSprykerDynamicTypeExtension.php b/tests/PhpStan/DynamicType/AbstractSprykerDynamicTypeExtension.php index 05ff63a444..5f421bcf7b 100644 --- a/tests/PhpStan/DynamicType/AbstractSprykerDynamicTypeExtension.php +++ b/tests/PhpStan/DynamicType/AbstractSprykerDynamicTypeExtension.php @@ -56,7 +56,7 @@ public function getTypeFromMethodCall(MethodReflection $methodReflection, Method preg_match_all('#@method\s+(?:(?Pstatic)\s+)?(?:(?P[^\(\*]+?)(?[a-zA-Z0-9_]+)(?P(?:\([^\)]*\))?)#', $docComment, $matches, PREG_SET_ORDER); foreach ($matches as $match) { - if ($match['MethodName'] === $methodCall->name) { + if ($match['MethodName'] === $methodCall->name->name) { return new ObjectType($match['Type']); } } From 091fb8a8d21652b81f118d1f4680923cc0446082 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 09:51:50 +0000 Subject: [PATCH 22/91] SUITE-746: Fixed travis --- composer.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer.json b/composer.json index 22dc6c5725..fcc20b0762 100644 --- a/composer.json +++ b/composer.json @@ -300,6 +300,7 @@ "spryker/sales": "^8.0.0", "spryker/sales-extension": "^1.0.0", "spryker/sales-product-connector": "^1.0.0", + "spryker/sales-quantity": "^1.0.0", "spryker/sales-reclamation": "^0.3.0", "spryker/sales-split": "^3.0.0", "spryker/sales-statistics": "^1.0", From 7e4a7674c86e9f578536cfb66b24ce04c76614e7 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 12:33:08 +0000 Subject: [PATCH 23/91] SUITE-746: composer.lock update --- composer.lock | 745 ++++++++++++++++++++++++++++---------------------- 1 file changed, 418 insertions(+), 327 deletions(-) diff --git a/composer.lock b/composer.lock index 658703b9d3..bb7202b3be 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "00c5b6e499e78d46d0bfd54a5468972b", + "content-hash": "902be2b8bc469193a4a4b2a9fb8b4ef2", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.68.1", + "version": "3.69.4", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "2986beb07a14bcde94608e940ee7e5cba1ed4e38" + "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2986beb07a14bcde94608e940ee7e5cba1ed4e38", - "reference": "2986beb07a14bcde94608e940ee7e5cba1ed4e38", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8e66716ee7bf6a4a4881647c6d96aa8619e82152", + "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152", "shasum": "" }, "require": { @@ -38,6 +38,8 @@ "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", "nette/neon": "^2.3", "phpunit/phpunit": "^4.8.35|^5.4.3", "psr/cache": "^1.0" @@ -46,7 +48,8 @@ "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", "doctrine/cache": "To use the DoctrineCacheAdapter", "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages" + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" }, "type": "library", "extra": { @@ -84,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-02T21:11:29+00:00" + "time": "2018-10-10T22:18:53+00:00" }, { "name": "codeitnowin/barcode", @@ -1047,16 +1050,16 @@ }, { "name": "league/flysystem-aws-s3-v3", - "version": "1.0.20", + "version": "1.0.21", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "398c56027e49653712a8fba1eb12600d2a83f3b7" + "reference": "43523fec10a831ea48bedb3277e3f3fa218f4e49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/398c56027e49653712a8fba1eb12600d2a83f3b7", - "reference": "398c56027e49653712a8fba1eb12600d2a83f3b7", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/43523fec10a831ea48bedb3277e3f3fa218f4e49", + "reference": "43523fec10a831ea48bedb3277e3f3fa218f4e49", "shasum": "" }, "require": { @@ -1090,7 +1093,7 @@ } ], "description": "Flysystem adapter for the AWS S3 SDK v3.x", - "time": "2018-09-25T12:02:44+00:00" + "time": "2018-10-08T07:53:55+00:00" }, { "name": "mandrill/mandrill", @@ -2374,22 +2377,22 @@ }, { "name": "spryker-shop/cart-page", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-page.git", - "reference": "2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795" + "reference": "ebd7ee53a0d1d66d060a892518bd67852fd78ab7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795", - "reference": "2eec02c9d0c5e11c62f99b3a0f0169c9c18b8795", + "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/ebd7ee53a0d1d66d060a892518bd67852fd78ab7", + "reference": "ebd7ee53a0d1d66d060a892518bd67852fd78ab7", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-application": "^1.0.0", - "spryker-shop/shop-ui": "^1.0.0", + "spryker-shop/shop-ui": "^1.6.0", "spryker/availability": "^5.4.0 || ^6.0.0", "spryker/availability-storage": "^1.0.0", "spryker/cart": "^5.0.0", @@ -2425,20 +2428,20 @@ "proprietary" ], "description": "CartPage module", - "time": "2018-10-02T09:00:48+00:00" + "time": "2018-10-05T07:03:26+00:00" }, { "name": "spryker-shop/catalog-page", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/catalog-page.git", - "reference": "7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988" + "reference": "68ddaabc4e13711d7c134f620eae88486e8ba517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988", - "reference": "7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988", + "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/68ddaabc4e13711d7c134f620eae88486e8ba517", + "reference": "68ddaabc4e13711d7c134f620eae88486e8ba517", "shasum": "" }, "require": { @@ -2459,7 +2462,9 @@ "spryker/util-text": "^1.2.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -2480,7 +2485,7 @@ "proprietary" ], "description": "CatalogPage module", - "time": "2018-08-10T12:28:49+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/category-widget", @@ -2577,16 +2582,16 @@ }, { "name": "spryker-shop/checkout-page", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-page.git", - "reference": "cfbc8eef456c03318010f1bb67ff235af72b65d9" + "reference": "3dfea5146670c270671b2565c1c31ff02fd593c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/cfbc8eef456c03318010f1bb67ff235af72b65d9", - "reference": "cfbc8eef456c03318010f1bb67ff235af72b65d9", + "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/3dfea5146670c270671b2565c1c31ff02fd593c4", + "reference": "3dfea5146670c270671b2565c1c31ff02fd593c4", "shasum": "" }, "require": { @@ -2641,7 +2646,7 @@ "proprietary" ], "description": "CheckoutPage module", - "time": "2018-10-04T12:31:33+00:00" + "time": "2018-10-11T08:50:14+00:00" }, { "name": "spryker-shop/checkout-widget", @@ -2980,16 +2985,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.7.1", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "4c8ba134e291f4b58438bee76e20904f8094656e" + "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4c8ba134e291f4b58438bee76e20904f8094656e", - "reference": "4c8ba134e291f4b58438bee76e20904f8094656e", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", + "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", "shasum": "" }, "require": { @@ -2999,6 +3004,7 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/application": "^3.8.0", "spryker/customer": "^7.4.0", + "spryker/customer-access-permission": "^1.0.0", "spryker/kernel": "^3.16.0", "spryker/product-bundle": "^4.1.0", "spryker/quote": "^1.0.0 || ^2.1.0", @@ -3039,7 +3045,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-10-02T09:00:48+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -3235,16 +3241,16 @@ }, { "name": "spryker-shop/error-page", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/error-page.git", - "reference": "8f81e952ee689b6c18d603564504d387949b5d48" + "reference": "21381845d0be89af2db402f3e702af96fa6af1d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/error-page/zipball/8f81e952ee689b6c18d603564504d387949b5d48", - "reference": "8f81e952ee689b6c18d603564504d387949b5d48", + "url": "https://api.github.com/repos/spryker-shop/error-page/zipball/21381845d0be89af2db402f3e702af96fa6af1d6", + "reference": "21381845d0be89af2db402f3e702af96fa6af1d6", "shasum": "" }, "require": { @@ -3256,7 +3262,9 @@ }, "require-dev": { "spryker-shop/shop-application": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/shop-application": "Use this module when using plugins that need ShopApplication dependencies.", @@ -3278,7 +3286,7 @@ "proprietary" ], "description": "ErrorPage module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-05T13:08:43+00:00" }, { "name": "spryker-shop/heartbeat-page", @@ -3419,16 +3427,16 @@ }, { "name": "spryker-shop/money-widget", - "version": "1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/money-widget.git", - "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f" + "reference": "032389911616d0e30c36d192d9e9da9ce7e5b7cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/a8e74d309802c11dd4b0d69014e2d59b5b6f616f", - "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f", + "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/032389911616d0e30c36d192d9e9da9ce7e5b7cd", + "reference": "032389911616d0e30c36d192d9e9da9ce7e5b7cd", "shasum": "" }, "require": { @@ -3439,7 +3447,9 @@ "spryker/money": "^2.4.0" }, "require-dev": { + "spryker/code-sniffer": "*", "spryker/silex": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { @@ -3462,7 +3472,7 @@ "proprietary" ], "description": "MoneyWidget module", - "time": "2018-08-13T10:09:34+00:00" + "time": "2018-10-08T17:24:33+00:00" }, { "name": "spryker-shop/navigation-widget", @@ -3556,16 +3566,16 @@ }, { "name": "spryker-shop/newsletter-widget", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/newsletter-widget.git", - "reference": "2ba33d8813a14b819f62f889f98cb3a7b1f0f84d" + "reference": "44b52af75e46d54e78406f7f8cd9e1456b4b81ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/2ba33d8813a14b819f62f889f98cb3a7b1f0f84d", - "reference": "2ba33d8813a14b819f62f889f98cb3a7b1f0f84d", + "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/44b52af75e46d54e78406f7f8cd9e1456b4b81ea", + "reference": "44b52af75e46d54e78406f7f8cd9e1456b4b81ea", "shasum": "" }, "require": { @@ -3579,7 +3589,9 @@ }, "require-dev": { "spryker-shop/customer-page": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/customer-page": "Widget plugins are available for this module.", @@ -3601,20 +3613,20 @@ "proprietary" ], "description": "NewsletterWidget module", - "time": "2018-08-28T18:39:24+00:00" + "time": "2018-10-02T14:26:56+00:00" }, { "name": "spryker-shop/price-widget", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/price-widget.git", - "reference": "4056ec7e922f42a975c7b5e835a7c0efe1a30b16" + "reference": "d751d27454e028cb8c612a7e4e0264698f48520f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/price-widget/zipball/4056ec7e922f42a975c7b5e835a7c0efe1a30b16", - "reference": "4056ec7e922f42a975c7b5e835a7c0efe1a30b16", + "url": "https://api.github.com/repos/spryker-shop/price-widget/zipball/d751d27454e028cb8c612a7e4e0264698f48520f", + "reference": "d751d27454e028cb8c612a7e4e0264698f48520f", "shasum": "" }, "require": { @@ -3628,7 +3640,9 @@ "require-dev": { "spryker-shop/product-detail-page": "*", "spryker-shop/shop-application": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/product-detail-page": "Widget plugins are available for this module.", @@ -3651,7 +3665,7 @@ "proprietary" ], "description": "PriceWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/product-alternative-widget", @@ -3844,16 +3858,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.4.2", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "a4594d0e66a526bbba8a99510dc7c74e8c50a024" + "reference": "2d154314da4821704e4746fc7954ee0f81424b56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/a4594d0e66a526bbba8a99510dc7c74e8c50a024", - "reference": "a4594d0e66a526bbba8a99510dc7c74e8c50a024", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/2d154314da4821704e4746fc7954ee0f81424b56", + "reference": "2d154314da4821704e4746fc7954ee0f81424b56", "shasum": "" }, "require": { @@ -3886,7 +3900,7 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-09-27T09:00:11+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/product-discontinued-widget", @@ -4368,16 +4382,16 @@ }, { "name": "spryker-shop/product-set-widget", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-widget.git", - "reference": "3f5fac3b9e6bb84a542b9c288f88662e059c2fe6" + "reference": "3a0b94149d4fff13357dc33cb963862a47183f28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/3f5fac3b9e6bb84a542b9c288f88662e059c2fe6", - "reference": "3f5fac3b9e6bb84a542b9c288f88662e059c2fe6", + "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/3a0b94149d4fff13357dc33cb963862a47183f28", + "reference": "3a0b94149d4fff13357dc33cb963862a47183f28", "shasum": "" }, "require": { @@ -4413,7 +4427,7 @@ "proprietary" ], "description": "ProductSetWidget module", - "time": "2018-09-03T16:02:20+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/product-widget", @@ -4610,16 +4624,16 @@ }, { "name": "spryker-shop/shop-router", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-router.git", - "reference": "cb63ede85283bb9a1f6827fc833bc931f7e33adf" + "reference": "180f8cb8eb32fc7367dbf2c8f84820be762925ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-router/zipball/cb63ede85283bb9a1f6827fc833bc931f7e33adf", - "reference": "cb63ede85283bb9a1f6827fc833bc931f7e33adf", + "url": "https://api.github.com/repos/spryker-shop/shop-router/zipball/180f8cb8eb32fc7367dbf2c8f84820be762925ef", + "reference": "180f8cb8eb32fc7367dbf2c8f84820be762925ef", "shasum": "" }, "require": { @@ -4633,6 +4647,10 @@ "spryker/url-storage": "^1.0.0", "spryker/util-text": "^1.2.0" }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -4649,7 +4667,7 @@ "proprietary" ], "description": "ShopRouter module", - "time": "2018-06-13T15:26:14+00:00" + "time": "2018-10-05T14:52:24+00:00" }, { "name": "spryker-shop/shop-router-extension", @@ -4735,16 +4753,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.5.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "cca4adad2481b76a818035a0d0bf6928b8a2b2a1" + "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/cca4adad2481b76a818035a0d0bf6928b8a2b2a1", - "reference": "cca4adad2481b76a818035a0d0bf6928b8a2b2a1", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/27a4f6409342f7542e62c3667ed38a943d27ee9a", + "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a", "shasum": "" }, "require": { @@ -4776,7 +4794,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-09-27T07:45:52+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/shop-ui-extension", @@ -4861,16 +4879,16 @@ }, { "name": "spryker-shop/wishlist-page", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/wishlist-page.git", - "reference": "24a9f4f24c7544bacf91be71d8b4043a67b36d31" + "reference": "e4c591a74def3638d697c41ecbd3db6f58a9b7c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/24a9f4f24c7544bacf91be71d8b4043a67b36d31", - "reference": "24a9f4f24c7544bacf91be71d8b4043a67b36d31", + "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/e4c591a74def3638d697c41ecbd3db6f58a9b7c2", + "reference": "e4c591a74def3638d697c41ecbd3db6f58a9b7c2", "shasum": "" }, "require": { @@ -4886,7 +4904,9 @@ "spryker/wishlist": "^5.1.0 || ^6.0.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -4907,7 +4927,7 @@ "proprietary" ], "description": "WishlistPage module", - "time": "2018-08-02T06:30:34+00:00" + "time": "2018-10-02T17:02:56+00:00" }, { "name": "spryker-shop/wishlist-widget", @@ -5145,19 +5165,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Api module", - "support": { - "source": "https://github.com/spryker/Api/tree/master" - }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5299,19 +5311,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", - "support": { - "source": "https://github.com/spryker/Assertion/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5815,14 +5819,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", - "support": { - "source": "https://github.com/spryker/Cache/tree/3.1.0" - }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6325,16 +6326,16 @@ }, { "name": "spryker/catalog-search-rest-api", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/catalog-search-rest-api.git", - "reference": "15c6c1efb69b5f958c27a81c00aa17df8a0af29f" + "reference": "25a55744b7e85e5f6de74e7e8f0b2e71bc058bca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/catalog-search-rest-api/zipball/15c6c1efb69b5f958c27a81c00aa17df8a0af29f", - "reference": "15c6c1efb69b5f958c27a81c00aa17df8a0af29f", + "url": "https://api.github.com/repos/spryker/catalog-search-rest-api/zipball/25a55744b7e85e5f6de74e7e8f0b2e71bc058bca", + "reference": "25a55744b7e85e5f6de74e7e8f0b2e71bc058bca", "shasum": "" }, "require": { @@ -6367,7 +6368,7 @@ "proprietary" ], "description": "CatalogSearchRestApi module", - "time": "2018-09-07T07:25:57+00:00" + "time": "2018-10-09T07:01:49+00:00" }, { "name": "spryker/category", @@ -6549,14 +6550,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", - "support": { - "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" - }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -7812,19 +7810,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", - "support": { - "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" - }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8293,16 +8283,16 @@ }, { "name": "spryker/customer", - "version": "7.10.2", + "version": "7.11.0", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "0174a099a1d9db1e4ff46d6da9360a3cf2ce552c" + "reference": "5c7c4eeb561508f3cdb7010a6b880142008dfa4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/0174a099a1d9db1e4ff46d6da9360a3cf2ce552c", - "reference": "0174a099a1d9db1e4ff46d6da9360a3cf2ce552c", + "url": "https://api.github.com/repos/spryker/customer/zipball/5c7c4eeb561508f3cdb7010a6b880142008dfa4f", + "reference": "5c7c4eeb561508f3cdb7010a6b880142008dfa4f", "shasum": "" }, "require": { @@ -8326,15 +8316,10 @@ }, "require-dev": { "spryker/application": "*", - "spryker/assertion": "*", "spryker/checkout": "*", - "spryker/code-sniffer": "*", - "spryker/config": "*", - "spryker/console": "*", "spryker/sales": "*", - "spryker/silex": "*", "spryker/testify": "*", - "spryker/twig": "*" + "spryker/zed-navigation": "*" }, "suggest": { "spryker/checkout": "If you want to use Checkout plugins.", @@ -8357,7 +8342,147 @@ "proprietary" ], "description": "Customer module", - "time": "2018-07-25T09:11:18+00:00" + "time": "2018-10-04T08:01:59+00:00" + }, + { + "name": "spryker/customer-access", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-access.git", + "reference": "d270421b4fd5e35a9f11453c465d45cce9b8eb06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-access/zipball/d270421b4fd5e35a9f11453c465d45cce9b8eb06", + "reference": "d270421b4fd5e35a9f11453c465d45cce9b8eb06", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.17.0", + "spryker/propel-orm": "^1.5.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/propel": "^3.0.0", + "spryker/testify": "*" + }, + "suggest": { + "spryker/installer": "If the installer for the customer access will be used, InstallerPluginInterface is needed" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\CustomerAccess\\Helper\\": "tests/SprykerTest/Zed/CustomerAccess/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerAccess module", + "time": "2018-10-10T09:18:10+00:00" + }, + { + "name": "spryker/customer-access-permission", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-access-permission.git", + "reference": "8869e6224b408836f2034a0fafc19a423fd99e1e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-access-permission/zipball/8869e6224b408836f2034a0fafc19a423fd99e1e", + "reference": "8869e6224b408836f2034a0fafc19a423fd99e1e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/customer": "^7.0.0", + "spryker/customer-access-storage": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/permission-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerAccessPermission module", + "time": "2018-10-10T09:18:10+00:00" + }, + { + "name": "spryker/customer-access-storage", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-access-storage.git", + "reference": "059d5b066eef1979924f6e36ce15d6b84c5a2e5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-access-storage/zipball/059d5b066eef1979924f6e36ce15d6b84c5a2e5c", + "reference": "059d5b066eef1979924f6e36ce15d6b84c5a2e5c", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/customer-access": "^1.0.0", + "spryker/kernel": "^3.17.0", + "spryker/propel-orm": "^1.5.0", + "spryker/storage": "^3.0.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/event": "*", + "spryker/propel": "*", + "spryker/queue": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerAccessStorage module", + "time": "2018-10-10T09:18:10+00:00" }, { "name": "spryker/customer-api", @@ -8402,19 +8527,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", - "support": { - "source": "https://github.com/spryker/CustomerApi/tree/master" - }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -8917,16 +9034,16 @@ }, { "name": "spryker/discount", - "version": "6.3.2", + "version": "6.3.5", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "017adb5814a792b3e61af8110e35ecb2dbcacca8" + "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/017adb5814a792b3e61af8110e35ecb2dbcacca8", - "reference": "017adb5814a792b3e61af8110e35ecb2dbcacca8", + "url": "https://api.github.com/repos/spryker/discount/zipball/b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", + "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", "shasum": "" }, "require": { @@ -8947,16 +9064,16 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { + "spryker/application": "*", "spryker/checkout": "*", "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*", - "spryker/transfer": "*" + "spryker/zed-navigation": "*" }, "suggest": { - "spryker/checkout": "If you want to use Checkout plugins.", - "spryker/store": "StoreQuoteTransferExpander plugin can help to populate current Store into Quote, minimum required version: 1.4.0" + "spryker/checkout": "If you want to use Checkout plugins." }, "type": "library", "extra": { @@ -8975,7 +9092,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-08-03T12:00:35+00:00" + "time": "2018-10-09T14:39:40+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -9199,14 +9316,11 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Egulias module", - "support": { - "source": "https://github.com/spryker/Egulias/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -9290,16 +9404,16 @@ }, { "name": "spryker/event", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spryker/event.git", - "reference": "476a100fa5d78b770c7cb6a3a65ea8e7709fbeac" + "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/event/zipball/476a100fa5d78b770c7cb6a3a65ea8e7709fbeac", - "reference": "476a100fa5d78b770c7cb6a3a65ea8e7709fbeac", + "url": "https://api.github.com/repos/spryker/event/zipball/63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", + "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", "shasum": "" }, "require": { @@ -9331,7 +9445,7 @@ "proprietary" ], "description": "Event module", - "time": "2018-10-02T06:35:14+00:00" + "time": "2018-10-11T10:08:19+00:00" }, { "name": "spryker/event-behavior", @@ -9476,16 +9590,16 @@ }, { "name": "spryker/flysystem", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker/flysystem.git", - "reference": "afc7a133f7058bfaba1ae7578abaa763eb854b0c" + "reference": "4ec333b71ae49ed3993b93b2953d0c88e1d2fa8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/flysystem/zipball/afc7a133f7058bfaba1ae7578abaa763eb854b0c", - "reference": "afc7a133f7058bfaba1ae7578abaa763eb854b0c", + "url": "https://api.github.com/repos/spryker/flysystem/zipball/4ec333b71ae49ed3993b93b2953d0c88e1d2fa8b", + "reference": "4ec333b71ae49ed3993b93b2953d0c88e1d2fa8b", "shasum": "" }, "require": { @@ -9495,8 +9609,8 @@ "spryker/kernel": "^3.5.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/flysystem-local-file-system": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "suggest": { @@ -9520,7 +9634,7 @@ "proprietary" ], "description": "Flysystem module", - "time": "2018-08-13T09:56:14+00:00" + "time": "2018-10-08T08:29:08+00:00" }, { "name": "spryker/flysystem-aws3v3-file-system", @@ -9929,16 +10043,16 @@ }, { "name": "spryker/glue-application", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/glue-application.git", - "reference": "40999695a3a3820edfff7138f5ca3cdb2036909b" + "reference": "f14c4204555bec1c094d7583d36c43eab8516914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glue-application/zipball/40999695a3a3820edfff7138f5ca3cdb2036909b", - "reference": "40999695a3a3820edfff7138f5ca3cdb2036909b", + "url": "https://api.github.com/repos/spryker/glue-application/zipball/f14c4204555bec1c094d7583d36c43eab8516914", + "reference": "f14c4204555bec1c094d7583d36c43eab8516914", "shasum": "" }, "require": { @@ -9980,7 +10094,7 @@ "proprietary" ], "description": "GlueApplication module", - "time": "2018-10-01T14:10:26+00:00" + "time": "2018-10-09T11:54:08+00:00" }, { "name": "spryker/glue-application-extension", @@ -10064,19 +10178,11 @@ "Function": "tests/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", - "support": { - "source": "https://github.com/spryker/Graph/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10102,14 +10208,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", - "support": { - "source": "https://github.com/spryker/Graphviz/tree/2.0.1" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10354,20 +10457,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/", - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", - "support": { - "source": "https://github.com/spryker/Invoice/tree/2.0.1" - }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -11922,14 +12016,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", - "support": { - "source": "https://github.com/spryker/Pimple/tree/2.0.0" - }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -12351,16 +12442,16 @@ }, { "name": "spryker/product", - "version": "6.6.1", + "version": "6.7.0", "source": { "type": "git", "url": "https://github.com/spryker/product.git", - "reference": "912134c116379f58a1556c339bd27030ce8dd2b4" + "reference": "51e9e5f7e755beea4cc20f37125d8ac4e281aca7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product/zipball/912134c116379f58a1556c339bd27030ce8dd2b4", - "reference": "912134c116379f58a1556c339bd27030ce8dd2b4", + "url": "https://api.github.com/repos/spryker/product/zipball/51e9e5f7e755beea4cc20f37125d8ac4e281aca7", + "reference": "51e9e5f7e755beea4cc20f37125d8ac4e281aca7", "shasum": "" }, "require": { @@ -12399,7 +12490,7 @@ "proprietary" ], "description": "Product module", - "time": "2018-10-02T06:35:14+00:00" + "time": "2018-10-10T08:15:19+00:00" }, { "name": "spryker/product-abstract-data-feed", @@ -12814,16 +12905,16 @@ }, { "name": "spryker/product-attribute", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/product-attribute.git", - "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500" + "reference": "336bf0941be0b1c6b5434068bda866b1c91640a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-attribute/zipball/5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", - "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", + "url": "https://api.github.com/repos/spryker/product-attribute/zipball/336bf0941be0b1c6b5434068bda866b1c91640a3", + "reference": "336bf0941be0b1c6b5434068bda866b1c91640a3", "shasum": "" }, "require": { @@ -12857,7 +12948,7 @@ "proprietary" ], "description": "ProductAttribute module", - "time": "2018-08-15T06:37:03+00:00" + "time": "2018-10-02T10:26:32+00:00" }, { "name": "spryker/product-attribute-gui", @@ -14405,16 +14496,16 @@ }, { "name": "spryker/product-management", - "version": "0.14.6", + "version": "0.14.7", "source": { "type": "git", "url": "https://github.com/spryker/product-management.git", - "reference": "c145987644b122be0d2de32e3372bf491a0c0b81" + "reference": "d13004d857010e5eecd6bbf176b0cf447976a471" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-management/zipball/c145987644b122be0d2de32e3372bf491a0c0b81", - "reference": "c145987644b122be0d2de32e3372bf491a0c0b81", + "url": "https://api.github.com/repos/spryker/product-management/zipball/d13004d857010e5eecd6bbf176b0cf447976a471", + "reference": "d13004d857010e5eecd6bbf176b0cf447976a471", "shasum": "" }, "require": { @@ -14429,8 +14520,8 @@ "spryker/money": "^2.4.0", "spryker/price": "^5.0.0", "spryker/price-product": "^2.0.0", - "spryker/product": "^6.0.0", - "spryker/product-attribute": "^1.0.0", + "spryker/product": "^6.7.0", + "spryker/product-attribute": "^1.1.0", "spryker/product-bundle": "^2.0.0 || ^3.0.0 || ^4.0.0", "spryker/product-group": "^1.0.0", "spryker/product-image": "^3.0.0", @@ -14468,7 +14559,7 @@ "proprietary" ], "description": "ProductManagement module", - "time": "2018-09-27T12:19:24+00:00" + "time": "2018-10-10T15:08:15+00:00" }, { "name": "spryker/product-management-extension", @@ -14884,16 +14975,16 @@ }, { "name": "spryker/product-quantity-data-import", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker/product-quantity-data-import.git", - "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05" + "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/d8fccccfc1db9ca48121a32af6a698203fa7aa05", - "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05", + "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/51d75b2ad870a36bfb0da6c793db42fec8ea8581", + "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581", "shasum": "" }, "require": { @@ -14905,6 +14996,7 @@ }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -14921,10 +15013,10 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "proprietary" + "MIT" ], "description": "ProductQuantityDataImport module", - "time": "2018-06-04T14:08:46+00:00" + "time": "2018-10-02T20:21:20+00:00" }, { "name": "spryker/product-quantity-storage", @@ -15931,16 +16023,16 @@ }, { "name": "spryker/propel", - "version": "3.6.0", + "version": "3.6.1", "source": { "type": "git", "url": "https://github.com/spryker/propel.git", - "reference": "b92dca9747b4439b7a465eeb2ddaedaf40c73a66" + "reference": "29b4f609132c9bab4389de768bc054a2c80a5a95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/propel/zipball/b92dca9747b4439b7a465eeb2ddaedaf40c73a66", - "reference": "b92dca9747b4439b7a465eeb2ddaedaf40c73a66", + "url": "https://api.github.com/repos/spryker/propel/zipball/29b4f609132c9bab4389de768bc054a2c80a5a95", + "reference": "29b4f609132c9bab4389de768bc054a2c80a5a95", "shasum": "" }, "require": { @@ -15979,7 +16071,7 @@ "proprietary" ], "description": "Propel module", - "time": "2018-10-02T10:56:18+00:00" + "time": "2018-10-05T10:18:49+00:00" }, { "name": "spryker/propel-orm", @@ -16321,14 +16413,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", - "support": { - "source": "https://github.com/spryker/Redis/tree/2.0.1" - }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16371,22 +16460,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", - "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", - "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Refund module", - "support": { - "source": "https://github.com/spryker/Refund/tree/master" - }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -16431,16 +16509,16 @@ }, { "name": "spryker/sales", - "version": "8.14.0", + "version": "8.14.1", "source": { "type": "git", "url": "https://github.com/spryker/sales.git", - "reference": "71ca4fdce328ad9ceeb3102987c21061cb0701ab" + "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales/zipball/71ca4fdce328ad9ceeb3102987c21061cb0701ab", - "reference": "71ca4fdce328ad9ceeb3102987c21061cb0701ab", + "url": "https://api.github.com/repos/spryker/sales/zipball/6279109071a45e2f5f9792c44c5e0de269d9018f", + "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f", "shasum": "" }, "require": { @@ -16497,7 +16575,7 @@ "proprietary" ], "description": "Sales module", - "time": "2018-10-02T12:54:26+00:00" + "time": "2018-10-05T18:19:18+00:00" }, { "name": "spryker/sales-extension", @@ -16587,18 +16665,65 @@ "description": "SalesProductConnector module", "time": "2018-01-24T11:43:27+00:00" }, + { + "name": "spryker/sales-quantity", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-quantity.git", + "reference": "539f660e70ad7293a439257e763ee430c2f98062" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-quantity/zipball/539f660e70ad7293a439257e763ee430c2f98062", + "reference": "539f660e70ad7293a439257e763ee430c2f98062", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/discount-extension": "^1.0.0", + "spryker/kernel": "^3.17.0", + "spryker/product": "^6.0.0", + "spryker/sales-extension": "^1.0.0" + }, + "require-dev": { + "spryker/cart": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/cart": "If you want to use cart plugins: ^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesQuantity module", + "time": "2018-07-31T09:22:49+00:00" + }, { "name": "spryker/sales-reclamation", - "version": "0.3.0", + "version": "0.3.1", "source": { "type": "git", "url": "https://github.com/spryker/sales-reclamation.git", - "reference": "1de516c900934ddd7fc96723b92bf5ee303776e8" + "reference": "d9bb8254b94a26866b7c2a1bf677976e4acc3f7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-reclamation/zipball/1de516c900934ddd7fc96723b92bf5ee303776e8", - "reference": "1de516c900934ddd7fc96723b92bf5ee303776e8", + "url": "https://api.github.com/repos/spryker/sales-reclamation/zipball/d9bb8254b94a26866b7c2a1bf677976e4acc3f7f", + "reference": "d9bb8254b94a26866b7c2a1bf677976e4acc3f7f", "shasum": "" }, "require": { @@ -16636,7 +16761,7 @@ "proprietary" ], "description": "SalesReclamation module", - "time": "2018-06-04T10:26:58+00:00" + "time": "2018-10-08T21:45:33+00:00" }, { "name": "spryker/sales-split", @@ -17224,14 +17349,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", - "support": { - "source": "https://github.com/spryker/Silex/tree/2.0.1" - }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -17279,19 +17401,20 @@ }, { "name": "spryker/state-machine", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", - "url": "https://github.com/spryker/StateMachine.git", - "reference": "3983ca02405b39c9020051898fd7ff0117dc8f6a" + "url": "https://github.com/spryker/state-machine.git", + "reference": "aad45f29d5bcaa4e098bc189d03353a4263e82db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/StateMachine/zipball/3983ca02405b39c9020051898fd7ff0117dc8f6a", - "reference": "3983ca02405b39c9020051898fd7ff0117dc8f6a", + "url": "https://api.github.com/repos/spryker/state-machine/zipball/aad45f29d5bcaa4e098bc189d03353a4263e82db", + "reference": "aad45f29d5bcaa4e098bc189d03353a4263e82db", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/graph": "^3.0.0", "spryker/kernel": "^3.0.0", "spryker/propel-orm": "^1.0.0", @@ -17300,9 +17423,7 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "type": "library", @@ -17321,7 +17442,7 @@ "proprietary" ], "description": "StateMachine module", - "time": "2017-12-05T11:21:42+00:00" + "time": "2018-10-04T19:43:28+00:00" }, { "name": "spryker/step-engine", @@ -17458,16 +17579,16 @@ }, { "name": "spryker/storage", - "version": "3.4.1", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/spryker/storage.git", - "reference": "461a8a7483fa793d81d37b3eeadc86983aa60788" + "reference": "d51cbfc994551834c4d18d057c8ff79280633ab6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/storage/zipball/461a8a7483fa793d81d37b3eeadc86983aa60788", - "reference": "461a8a7483fa793d81d37b3eeadc86983aa60788", + "url": "https://api.github.com/repos/spryker/storage/zipball/d51cbfc994551834c4d18d057c8ff79280633ab6", + "reference": "d51cbfc994551834c4d18d057c8ff79280633ab6", "shasum": "" }, "require": { @@ -17505,7 +17626,7 @@ "proprietary" ], "description": "Storage module", - "time": "2018-09-20T13:14:36+00:00" + "time": "2018-10-08T09:32:54+00:00" }, { "name": "spryker/store", @@ -18387,19 +18508,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", - "support": { - "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18536,19 +18649,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilText module", - "support": { - "source": "https://github.com/spryker/UtilText/tree/master" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18625,19 +18730,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", - "support": { - "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -18721,28 +18818,25 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://code.spryker.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "WebProfiler module", - "support": { - "source": "https://github.com/spryker/WebProfiler/tree/1.0.0" - }, "time": "2018-01-10T11:59:45+00:00" }, { "name": "spryker/wishlist", - "version": "6.1.2", + "version": "6.2.0", "source": { "type": "git", "url": "https://github.com/spryker/wishlist.git", - "reference": "1b2191ffc9c7faca544196d120c1f0c3a75a3714" + "reference": "e97db51917cc57c718f5eb3135e23b9a3e190237" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/wishlist/zipball/1b2191ffc9c7faca544196d120c1f0c3a75a3714", - "reference": "1b2191ffc9c7faca544196d120c1f0c3a75a3714", + "url": "https://api.github.com/repos/spryker/wishlist/zipball/e97db51917cc57c718f5eb3135e23b9a3e190237", + "reference": "e97db51917cc57c718f5eb3135e23b9a3e190237", "shasum": "" }, "require": { @@ -18777,7 +18871,7 @@ "proprietary" ], "description": "Wishlist module", - "time": "2018-10-02T14:57:01+00:00" + "time": "2018-10-02T15:56:35+00:00" }, { "name": "spryker/wishlist-extension", @@ -18945,14 +19039,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Zend module", - "support": { - "source": "https://github.com/spryker/Zend/tree/2.1.0" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -22119,16 +22210,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.0.4", + "version": "v4.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c" + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/fa6ee28600d21d49b2b4e1006b48426cec8e579c", - "reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0", + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0", "shasum": "" }, "require": { @@ -22144,7 +22235,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -22166,7 +22257,7 @@ "parser", "php" ], - "time": "2018-09-18T07:03:24+00:00" + "time": "2018-10-10T09:24:14+00:00" }, { "name": "ocramius/package-versions", @@ -23935,16 +24026,16 @@ }, { "name": "slevomat/coding-standard", - "version": "4.8.4", + "version": "4.8.5", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "bc8a02f25e03eb5481c4976cc615621cdd75aef9" + "reference": "057f3f154cf4888b60eb4cdffadc509a3ae9dccd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/bc8a02f25e03eb5481c4976cc615621cdd75aef9", - "reference": "bc8a02f25e03eb5481c4976cc615621cdd75aef9", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/057f3f154cf4888b60eb4cdffadc509a3ae9dccd", + "reference": "057f3f154cf4888b60eb4cdffadc509a3ae9dccd", "shasum": "" }, "require": { @@ -23970,7 +24061,7 @@ "MIT" ], "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "time": "2018-10-01T20:16:49+00:00" + "time": "2018-10-05T12:10:21+00:00" }, { "name": "sllh/composer-versions-check", @@ -24013,7 +24104,7 @@ ], "authors": [ { - "name": "Sullivan SENECHAL", + "name": "Sullivan Sénéchal", "email": "soullivaneuh@gmail.com" } ], @@ -24172,16 +24263,16 @@ }, { "name": "spryker/development", - "version": "3.13.0", + "version": "3.13.1", "source": { "type": "git", "url": "https://github.com/spryker/development.git", - "reference": "85b3a74014a0626c72808ec1ebaedc66c7a3f4eb" + "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/development/zipball/85b3a74014a0626c72808ec1ebaedc66c7a3f4eb", - "reference": "85b3a74014a0626c72808ec1ebaedc66c7a3f4eb", + "url": "https://api.github.com/repos/spryker/development/zipball/32f755de7a020b60c9b386ca83416cfad9a5b79d", + "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d", "shasum": "" }, "require": { @@ -24218,7 +24309,7 @@ "proprietary" ], "description": "Development module", - "time": "2018-10-01T18:50:09+00:00" + "time": "2018-10-10T07:16:49+00:00" }, { "name": "spryker/testify", From 1cb2359e547cf94952c4b139a2f2fc8c8c3dd104 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 12:40:52 +0000 Subject: [PATCH 24/91] SUITE-746: composer.lock update --- composer.lock | 511 +++++++++++++++++++++++++++----------------------- 1 file changed, 274 insertions(+), 237 deletions(-) diff --git a/composer.lock b/composer.lock index d3c15d9124..ded8d7400b 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.69.1", + "version": "3.69.4", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "975bdc3181d08438174ce70cf25e361e18506242" + "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/975bdc3181d08438174ce70cf25e361e18506242", - "reference": "975bdc3181d08438174ce70cf25e361e18506242", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8e66716ee7bf6a4a4881647c6d96aa8619e82152", + "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-05T21:06:02+00:00" + "time": "2018-10-10T22:18:53+00:00" }, { "name": "codeitnowin/barcode", @@ -2432,16 +2432,16 @@ }, { "name": "spryker-shop/catalog-page", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/catalog-page.git", - "reference": "7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988" + "reference": "68ddaabc4e13711d7c134f620eae88486e8ba517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988", - "reference": "7ef6f2098d0db3aa6f8f7a874151e7a11eb1f988", + "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/68ddaabc4e13711d7c134f620eae88486e8ba517", + "reference": "68ddaabc4e13711d7c134f620eae88486e8ba517", "shasum": "" }, "require": { @@ -2462,7 +2462,9 @@ "spryker/util-text": "^1.2.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -2483,7 +2485,7 @@ "proprietary" ], "description": "CatalogPage module", - "time": "2018-08-10T12:28:49+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/category-widget", @@ -2580,16 +2582,16 @@ }, { "name": "spryker-shop/checkout-page", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-page.git", - "reference": "cfbc8eef456c03318010f1bb67ff235af72b65d9" + "reference": "3dfea5146670c270671b2565c1c31ff02fd593c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/cfbc8eef456c03318010f1bb67ff235af72b65d9", - "reference": "cfbc8eef456c03318010f1bb67ff235af72b65d9", + "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/3dfea5146670c270671b2565c1c31ff02fd593c4", + "reference": "3dfea5146670c270671b2565c1c31ff02fd593c4", "shasum": "" }, "require": { @@ -2644,7 +2646,7 @@ "proprietary" ], "description": "CheckoutPage module", - "time": "2018-10-04T12:31:33+00:00" + "time": "2018-10-11T08:50:14+00:00" }, { "name": "spryker-shop/checkout-widget", @@ -2983,16 +2985,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.7.2", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "133956db7007c2769abe3eb6000fac7028062730" + "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/133956db7007c2769abe3eb6000fac7028062730", - "reference": "133956db7007c2769abe3eb6000fac7028062730", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", + "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", "shasum": "" }, "require": { @@ -3002,6 +3004,7 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/application": "^3.8.0", "spryker/customer": "^7.4.0", + "spryker/customer-access-permission": "^1.0.0", "spryker/kernel": "^3.16.0", "spryker/product-bundle": "^4.1.0", "spryker/quote": "^1.0.0 || ^2.1.0", @@ -3042,7 +3045,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-10-05T18:15:24+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -3424,16 +3427,16 @@ }, { "name": "spryker-shop/money-widget", - "version": "1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/money-widget.git", - "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f" + "reference": "032389911616d0e30c36d192d9e9da9ce7e5b7cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/a8e74d309802c11dd4b0d69014e2d59b5b6f616f", - "reference": "a8e74d309802c11dd4b0d69014e2d59b5b6f616f", + "url": "https://api.github.com/repos/spryker-shop/money-widget/zipball/032389911616d0e30c36d192d9e9da9ce7e5b7cd", + "reference": "032389911616d0e30c36d192d9e9da9ce7e5b7cd", "shasum": "" }, "require": { @@ -3444,7 +3447,9 @@ "spryker/money": "^2.4.0" }, "require-dev": { + "spryker/code-sniffer": "*", "spryker/silex": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { @@ -3467,7 +3472,7 @@ "proprietary" ], "description": "MoneyWidget module", - "time": "2018-08-13T10:09:34+00:00" + "time": "2018-10-08T17:24:33+00:00" }, { "name": "spryker-shop/navigation-widget", @@ -3612,16 +3617,16 @@ }, { "name": "spryker-shop/price-widget", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/price-widget.git", - "reference": "4056ec7e922f42a975c7b5e835a7c0efe1a30b16" + "reference": "d751d27454e028cb8c612a7e4e0264698f48520f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/price-widget/zipball/4056ec7e922f42a975c7b5e835a7c0efe1a30b16", - "reference": "4056ec7e922f42a975c7b5e835a7c0efe1a30b16", + "url": "https://api.github.com/repos/spryker-shop/price-widget/zipball/d751d27454e028cb8c612a7e4e0264698f48520f", + "reference": "d751d27454e028cb8c612a7e4e0264698f48520f", "shasum": "" }, "require": { @@ -3635,7 +3640,9 @@ "require-dev": { "spryker-shop/product-detail-page": "*", "spryker-shop/shop-application": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/product-detail-page": "Widget plugins are available for this module.", @@ -3658,7 +3665,7 @@ "proprietary" ], "description": "PriceWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/product-alternative-widget", @@ -3851,16 +3858,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.4.2", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "a4594d0e66a526bbba8a99510dc7c74e8c50a024" + "reference": "2d154314da4821704e4746fc7954ee0f81424b56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/a4594d0e66a526bbba8a99510dc7c74e8c50a024", - "reference": "a4594d0e66a526bbba8a99510dc7c74e8c50a024", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/2d154314da4821704e4746fc7954ee0f81424b56", + "reference": "2d154314da4821704e4746fc7954ee0f81424b56", "shasum": "" }, "require": { @@ -3893,7 +3900,7 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-09-27T09:00:11+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/product-discontinued-widget", @@ -4375,16 +4382,16 @@ }, { "name": "spryker-shop/product-set-widget", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-widget.git", - "reference": "3f5fac3b9e6bb84a542b9c288f88662e059c2fe6" + "reference": "3a0b94149d4fff13357dc33cb963862a47183f28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/3f5fac3b9e6bb84a542b9c288f88662e059c2fe6", - "reference": "3f5fac3b9e6bb84a542b9c288f88662e059c2fe6", + "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/3a0b94149d4fff13357dc33cb963862a47183f28", + "reference": "3a0b94149d4fff13357dc33cb963862a47183f28", "shasum": "" }, "require": { @@ -4420,7 +4427,7 @@ "proprietary" ], "description": "ProductSetWidget module", - "time": "2018-09-03T16:02:20+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/product-widget", @@ -4746,16 +4753,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "9678c471f60300c4a5f9a50090f2ea522b1a147d" + "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/9678c471f60300c4a5f9a50090f2ea522b1a147d", - "reference": "9678c471f60300c4a5f9a50090f2ea522b1a147d", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/27a4f6409342f7542e62c3667ed38a943d27ee9a", + "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a", "shasum": "" }, "require": { @@ -4787,7 +4794,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-10-02T13:24:12+00:00" + "time": "2018-10-08T08:00:32+00:00" }, { "name": "spryker-shop/shop-ui-extension", @@ -5158,19 +5165,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Api module", - "support": { - "source": "https://github.com/spryker/Api/tree/master" - }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5312,19 +5311,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", - "support": { - "source": "https://github.com/spryker/Assertion/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5828,14 +5819,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", - "support": { - "source": "https://github.com/spryker/Cache/tree/3.1.0" - }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6338,16 +6326,16 @@ }, { "name": "spryker/catalog-search-rest-api", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/catalog-search-rest-api.git", - "reference": "15c6c1efb69b5f958c27a81c00aa17df8a0af29f" + "reference": "25a55744b7e85e5f6de74e7e8f0b2e71bc058bca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/catalog-search-rest-api/zipball/15c6c1efb69b5f958c27a81c00aa17df8a0af29f", - "reference": "15c6c1efb69b5f958c27a81c00aa17df8a0af29f", + "url": "https://api.github.com/repos/spryker/catalog-search-rest-api/zipball/25a55744b7e85e5f6de74e7e8f0b2e71bc058bca", + "reference": "25a55744b7e85e5f6de74e7e8f0b2e71bc058bca", "shasum": "" }, "require": { @@ -6380,7 +6368,7 @@ "proprietary" ], "description": "CatalogSearchRestApi module", - "time": "2018-09-07T07:25:57+00:00" + "time": "2018-10-09T07:01:49+00:00" }, { "name": "spryker/category", @@ -6562,14 +6550,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", - "support": { - "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" - }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -7825,19 +7810,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", - "support": { - "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" - }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8367,6 +8344,146 @@ "description": "Customer module", "time": "2018-10-04T08:01:59+00:00" }, + { + "name": "spryker/customer-access", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-access.git", + "reference": "d270421b4fd5e35a9f11453c465d45cce9b8eb06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-access/zipball/d270421b4fd5e35a9f11453c465d45cce9b8eb06", + "reference": "d270421b4fd5e35a9f11453c465d45cce9b8eb06", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.17.0", + "spryker/propel-orm": "^1.5.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/propel": "^3.0.0", + "spryker/testify": "*" + }, + "suggest": { + "spryker/installer": "If the installer for the customer access will be used, InstallerPluginInterface is needed" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\CustomerAccess\\Helper\\": "tests/SprykerTest/Zed/CustomerAccess/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerAccess module", + "time": "2018-10-10T09:18:10+00:00" + }, + { + "name": "spryker/customer-access-permission", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-access-permission.git", + "reference": "8869e6224b408836f2034a0fafc19a423fd99e1e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-access-permission/zipball/8869e6224b408836f2034a0fafc19a423fd99e1e", + "reference": "8869e6224b408836f2034a0fafc19a423fd99e1e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/customer": "^7.0.0", + "spryker/customer-access-storage": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/permission-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerAccessPermission module", + "time": "2018-10-10T09:18:10+00:00" + }, + { + "name": "spryker/customer-access-storage", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-access-storage.git", + "reference": "059d5b066eef1979924f6e36ce15d6b84c5a2e5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-access-storage/zipball/059d5b066eef1979924f6e36ce15d6b84c5a2e5c", + "reference": "059d5b066eef1979924f6e36ce15d6b84c5a2e5c", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/customer-access": "^1.0.0", + "spryker/kernel": "^3.17.0", + "spryker/propel-orm": "^1.5.0", + "spryker/storage": "^3.0.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/event": "*", + "spryker/propel": "*", + "spryker/queue": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerAccessStorage module", + "time": "2018-10-10T09:18:10+00:00" + }, { "name": "spryker/customer-api", "version": "0.1.3", @@ -8410,19 +8527,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", - "support": { - "source": "https://github.com/spryker/CustomerApi/tree/master" - }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -8925,16 +9034,16 @@ }, { "name": "spryker/discount", - "version": "6.3.4", + "version": "6.3.5", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "c4024cde1e43e373f2a17cfad79f9e546d3fdeec" + "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/c4024cde1e43e373f2a17cfad79f9e546d3fdeec", - "reference": "c4024cde1e43e373f2a17cfad79f9e546d3fdeec", + "url": "https://api.github.com/repos/spryker/discount/zipball/b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", + "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", "shasum": "" }, "require": { @@ -8983,7 +9092,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-10-08T07:27:26+00:00" + "time": "2018-10-09T14:39:40+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -9207,14 +9316,11 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Egulias module", - "support": { - "source": "https://github.com/spryker/Egulias/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -9298,16 +9404,16 @@ }, { "name": "spryker/event", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spryker/event.git", - "reference": "476a100fa5d78b770c7cb6a3a65ea8e7709fbeac" + "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/event/zipball/476a100fa5d78b770c7cb6a3a65ea8e7709fbeac", - "reference": "476a100fa5d78b770c7cb6a3a65ea8e7709fbeac", + "url": "https://api.github.com/repos/spryker/event/zipball/63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", + "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", "shasum": "" }, "require": { @@ -9339,7 +9445,7 @@ "proprietary" ], "description": "Event module", - "time": "2018-10-02T06:35:14+00:00" + "time": "2018-10-11T10:08:19+00:00" }, { "name": "spryker/event-behavior", @@ -9937,16 +10043,16 @@ }, { "name": "spryker/glue-application", - "version": "1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/glue-application.git", - "reference": "9045e667634ab5d339ed18eb08b2ec1a8ce43560" + "reference": "f14c4204555bec1c094d7583d36c43eab8516914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glue-application/zipball/9045e667634ab5d339ed18eb08b2ec1a8ce43560", - "reference": "9045e667634ab5d339ed18eb08b2ec1a8ce43560", + "url": "https://api.github.com/repos/spryker/glue-application/zipball/f14c4204555bec1c094d7583d36c43eab8516914", + "reference": "f14c4204555bec1c094d7583d36c43eab8516914", "shasum": "" }, "require": { @@ -9988,7 +10094,7 @@ "proprietary" ], "description": "GlueApplication module", - "time": "2018-10-02T15:56:35+00:00" + "time": "2018-10-09T11:54:08+00:00" }, { "name": "spryker/glue-application-extension", @@ -10072,19 +10178,11 @@ "Function": "tests/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", - "support": { - "source": "https://github.com/spryker/Graph/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10110,14 +10208,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", - "support": { - "source": "https://github.com/spryker/Graphviz/tree/2.0.1" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10362,20 +10457,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/", - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", - "support": { - "source": "https://github.com/spryker/Invoice/tree/2.0.1" - }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -11930,14 +12016,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", - "support": { - "source": "https://github.com/spryker/Pimple/tree/2.0.0" - }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -12359,16 +12442,16 @@ }, { "name": "spryker/product", - "version": "6.6.2", + "version": "6.7.0", "source": { "type": "git", "url": "https://github.com/spryker/product.git", - "reference": "13654561aa41fca63399864efe2021811704b4e0" + "reference": "51e9e5f7e755beea4cc20f37125d8ac4e281aca7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product/zipball/13654561aa41fca63399864efe2021811704b4e0", - "reference": "13654561aa41fca63399864efe2021811704b4e0", + "url": "https://api.github.com/repos/spryker/product/zipball/51e9e5f7e755beea4cc20f37125d8ac4e281aca7", + "reference": "51e9e5f7e755beea4cc20f37125d8ac4e281aca7", "shasum": "" }, "require": { @@ -12407,7 +12490,7 @@ "proprietary" ], "description": "Product module", - "time": "2018-10-05T17:01:48+00:00" + "time": "2018-10-10T08:15:19+00:00" }, { "name": "spryker/product-abstract-data-feed", @@ -12822,16 +12905,16 @@ }, { "name": "spryker/product-attribute", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/product-attribute.git", - "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500" + "reference": "336bf0941be0b1c6b5434068bda866b1c91640a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-attribute/zipball/5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", - "reference": "5a02239e6f54734d4f23cd47a2f5d4edb8ae8500", + "url": "https://api.github.com/repos/spryker/product-attribute/zipball/336bf0941be0b1c6b5434068bda866b1c91640a3", + "reference": "336bf0941be0b1c6b5434068bda866b1c91640a3", "shasum": "" }, "require": { @@ -12865,7 +12948,7 @@ "proprietary" ], "description": "ProductAttribute module", - "time": "2018-08-15T06:37:03+00:00" + "time": "2018-10-02T10:26:32+00:00" }, { "name": "spryker/product-attribute-gui", @@ -14413,16 +14496,16 @@ }, { "name": "spryker/product-management", - "version": "0.14.6", + "version": "0.14.7", "source": { "type": "git", "url": "https://github.com/spryker/product-management.git", - "reference": "c145987644b122be0d2de32e3372bf491a0c0b81" + "reference": "d13004d857010e5eecd6bbf176b0cf447976a471" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-management/zipball/c145987644b122be0d2de32e3372bf491a0c0b81", - "reference": "c145987644b122be0d2de32e3372bf491a0c0b81", + "url": "https://api.github.com/repos/spryker/product-management/zipball/d13004d857010e5eecd6bbf176b0cf447976a471", + "reference": "d13004d857010e5eecd6bbf176b0cf447976a471", "shasum": "" }, "require": { @@ -14437,8 +14520,8 @@ "spryker/money": "^2.4.0", "spryker/price": "^5.0.0", "spryker/price-product": "^2.0.0", - "spryker/product": "^6.0.0", - "spryker/product-attribute": "^1.0.0", + "spryker/product": "^6.7.0", + "spryker/product-attribute": "^1.1.0", "spryker/product-bundle": "^2.0.0 || ^3.0.0 || ^4.0.0", "spryker/product-group": "^1.0.0", "spryker/product-image": "^3.0.0", @@ -14476,7 +14559,7 @@ "proprietary" ], "description": "ProductManagement module", - "time": "2018-09-27T12:19:24+00:00" + "time": "2018-10-10T15:08:15+00:00" }, { "name": "spryker/product-management-extension", @@ -14892,16 +14975,16 @@ }, { "name": "spryker/product-quantity-data-import", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker/product-quantity-data-import.git", - "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05" + "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/d8fccccfc1db9ca48121a32af6a698203fa7aa05", - "reference": "d8fccccfc1db9ca48121a32af6a698203fa7aa05", + "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/51d75b2ad870a36bfb0da6c793db42fec8ea8581", + "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581", "shasum": "" }, "require": { @@ -14913,6 +14996,7 @@ }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -14929,10 +15013,10 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "proprietary" + "MIT" ], "description": "ProductQuantityDataImport module", - "time": "2018-06-04T14:08:46+00:00" + "time": "2018-10-02T20:21:20+00:00" }, { "name": "spryker/product-quantity-storage", @@ -16329,14 +16413,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", - "support": { - "source": "https://github.com/spryker/Redis/tree/2.0.1" - }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16379,22 +16460,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", - "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", - "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Refund module", - "support": { - "source": "https://github.com/spryker/Refund/tree/master" - }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -16644,16 +16714,16 @@ }, { "name": "spryker/sales-reclamation", - "version": "0.3.0", + "version": "0.3.1", "source": { "type": "git", "url": "https://github.com/spryker/sales-reclamation.git", - "reference": "1de516c900934ddd7fc96723b92bf5ee303776e8" + "reference": "d9bb8254b94a26866b7c2a1bf677976e4acc3f7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-reclamation/zipball/1de516c900934ddd7fc96723b92bf5ee303776e8", - "reference": "1de516c900934ddd7fc96723b92bf5ee303776e8", + "url": "https://api.github.com/repos/spryker/sales-reclamation/zipball/d9bb8254b94a26866b7c2a1bf677976e4acc3f7f", + "reference": "d9bb8254b94a26866b7c2a1bf677976e4acc3f7f", "shasum": "" }, "require": { @@ -16691,7 +16761,7 @@ "proprietary" ], "description": "SalesReclamation module", - "time": "2018-06-04T10:26:58+00:00" + "time": "2018-10-08T21:45:33+00:00" }, { "name": "spryker/sales-split", @@ -17279,14 +17349,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", - "support": { - "source": "https://github.com/spryker/Silex/tree/2.0.1" - }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -18441,19 +18508,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", - "support": { - "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18590,19 +18649,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilText module", - "support": { - "source": "https://github.com/spryker/UtilText/tree/master" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18679,19 +18730,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", - "support": { - "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -18775,14 +18818,11 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://code.spryker.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "WebProfiler module", - "support": { - "source": "https://github.com/spryker/WebProfiler/tree/1.0.0" - }, "time": "2018-01-10T11:59:45+00:00" }, { @@ -18999,14 +19039,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Zend module", - "support": { - "source": "https://github.com/spryker/Zend/tree/2.1.0" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -22173,16 +22210,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.0.4", + "version": "v4.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c" + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/fa6ee28600d21d49b2b4e1006b48426cec8e579c", - "reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0", + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0", "shasum": "" }, "require": { @@ -22198,7 +22235,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -22220,7 +22257,7 @@ "parser", "php" ], - "time": "2018-09-18T07:03:24+00:00" + "time": "2018-10-10T09:24:14+00:00" }, { "name": "ocramius/package-versions", @@ -24067,7 +24104,7 @@ ], "authors": [ { - "name": "Sullivan SENECHAL", + "name": "Sullivan Sénéchal", "email": "soullivaneuh@gmail.com" } ], @@ -24226,16 +24263,16 @@ }, { "name": "spryker/development", - "version": "3.13.0", + "version": "3.13.1", "source": { "type": "git", "url": "https://github.com/spryker/development.git", - "reference": "85b3a74014a0626c72808ec1ebaedc66c7a3f4eb" + "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/development/zipball/85b3a74014a0626c72808ec1ebaedc66c7a3f4eb", - "reference": "85b3a74014a0626c72808ec1ebaedc66c7a3f4eb", + "url": "https://api.github.com/repos/spryker/development/zipball/32f755de7a020b60c9b386ca83416cfad9a5b79d", + "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d", "shasum": "" }, "require": { @@ -24272,7 +24309,7 @@ "proprietary" ], "description": "Development module", - "time": "2018-10-01T18:50:09+00:00" + "time": "2018-10-10T07:16:49+00:00" }, { "name": "spryker/testify", From 05754f65ee65797258b4b41ebf5314cdea7f19d0 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 13:16:40 +0000 Subject: [PATCH 25/91] SUITE-746: fixed codesniffer --- .../SpyUnauthenticatedCustomerAccess.php | 24 +++++++++++++++++++ .../SpyUnauthenticatedCustomerAccessQuery.php | 24 +++++++++++++++++++ ...pyUnauthenticatedCustomerAccessStorage.php | 24 +++++++++++++++++++ ...uthenticatedCustomerAccessStorageQuery.php | 24 +++++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 src/Orm/Zed/CustomerAccess/Persistence/SpyUnauthenticatedCustomerAccess.php create mode 100644 src/Orm/Zed/CustomerAccess/Persistence/SpyUnauthenticatedCustomerAccessQuery.php create mode 100644 src/Orm/Zed/CustomerAccessStorage/Persistence/SpyUnauthenticatedCustomerAccessStorage.php create mode 100644 src/Orm/Zed/CustomerAccessStorage/Persistence/SpyUnauthenticatedCustomerAccessStorageQuery.php diff --git a/src/Orm/Zed/CustomerAccess/Persistence/SpyUnauthenticatedCustomerAccess.php b/src/Orm/Zed/CustomerAccess/Persistence/SpyUnauthenticatedCustomerAccess.php new file mode 100644 index 0000000000..a36ce697c5 --- /dev/null +++ b/src/Orm/Zed/CustomerAccess/Persistence/SpyUnauthenticatedCustomerAccess.php @@ -0,0 +1,24 @@ + Date: Thu, 11 Oct 2018 14:38:16 +0000 Subject: [PATCH 26/91] SUITE-718: Integrate Extract Payment Filter from Gift --- composer.json | 4 ++-- composer.lock | 12 ++++++------ .../CheckoutPage/CheckoutPageDependencyProvider.php | 11 +++++++++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 2d8d668311..2ef6014934 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,7 @@ "spryker-shop/catalog-page": "^1.2.0", "spryker-shop/category-widget": "^1.0.0", "spryker-shop/chart-widget": "^0.1.0", - "spryker-shop/checkout-page": "^1.4.0", + "spryker-shop/checkout-page": "^1.5.0", "spryker-shop/checkout-widget": "^1.0.0", "spryker-shop/cms-block-widget": "^1.0.0", "spryker-shop/cms-content-widget-chart-connector": "^1.0", @@ -69,7 +69,7 @@ "spryker-shop/shop-router": "^1.0.0", "spryker-shop/shop-router-extension": "^1.0.0", "spryker-shop/shop-translator": "^1.0.0", - "spryker-shop/shop-ui": "^1.6.0", + "spryker-shop/shop-ui": "^1.6.1", "spryker-shop/shop-ui-extension": "1.0.0", "spryker-shop/web-profiler-widget": "^1.0.0", "spryker-shop/wishlist-page": "^1.2.0", diff --git a/composer.lock b/composer.lock index ded8d7400b..1bab47cf7e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "b94c226e8f47611359c72cf525944884", + "content-hash": "46b0a46ab1155d1b92a03d2648fb7461", "packages": [ { "name": "aws/aws-sdk-php", @@ -18827,16 +18827,16 @@ }, { "name": "spryker/wishlist", - "version": "6.2.0", + "version": "6.2.1", "source": { "type": "git", "url": "https://github.com/spryker/wishlist.git", - "reference": "e97db51917cc57c718f5eb3135e23b9a3e190237" + "reference": "11bfc8e7bca7673e7f4cc50d6b930a74a3fac23a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/wishlist/zipball/e97db51917cc57c718f5eb3135e23b9a3e190237", - "reference": "e97db51917cc57c718f5eb3135e23b9a3e190237", + "url": "https://api.github.com/repos/spryker/wishlist/zipball/11bfc8e7bca7673e7f4cc50d6b930a74a3fac23a", + "reference": "11bfc8e7bca7673e7f4cc50d6b930a74a3fac23a", "shasum": "" }, "require": { @@ -18871,7 +18871,7 @@ "proprietary" ], "description": "Wishlist module", - "time": "2018-10-02T15:56:35+00:00" + "time": "2018-10-10T08:41:26+00:00" }, { "name": "spryker/wishlist-extension", diff --git a/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php b/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php index dbdc526327..c1d89a688a 100644 --- a/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php +++ b/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php @@ -9,6 +9,7 @@ use Spryker\Yves\Kernel\Container; use Spryker\Yves\Kernel\Plugin\Pimple; +use Spryker\Yves\Payment\Plugin\PaymentFormFilterPlugin; use SprykerShop\Yves\CartNoteWidget\Plugin\CheckoutPage\CartNoteQuoteItemNoteWidgetPlugin; use SprykerShop\Yves\CartNoteWidget\Plugin\CheckoutPage\CartNoteQuoteNoteWidgetPlugin; use SprykerShop\Yves\CheckoutPage\CheckoutPageDependencyProvider as SprykerShopCheckoutPageDependencyProvider; @@ -101,4 +102,14 @@ protected function getAddressStepFormDataProvider(Container $container) { return new CheckoutAddressFormDataProvider($this->getCustomerClient($container), $this->getStore()); } + + /** + * @return \Spryker\Yves\Checkout\Dependency\Plugin\Form\SubFormFilterPluginInterface[] + */ + protected function getSubFormFilterPlugins(): array + { + return [ + new PaymentFormFilterPlugin(), + ]; + } } From bde64cc55df4fd6c9b9b38040653158d1d60727a Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Thu, 11 Oct 2018 15:59:16 +0000 Subject: [PATCH 27/91] SUITE-742: fixed product quantity --- composer.json | 3 - composer.lock | 155 +----------------- src/Pyz/Zed/Cart/CartDependencyProvider.php | 7 +- .../DataImportDependencyProvider.php | 2 - src/Pyz/Zed/Event/EventDependencyProvider.php | 2 - .../Schema/spy_product_quantity.schema.xml | 14 -- .../spy_product_quantity_storage.schema.xml | 14 -- .../ProductQuantityStorageConfig.php | 22 --- .../SynchronizationDependencyProvider.php | 2 - 9 files changed, 7 insertions(+), 214 deletions(-) delete mode 100755 src/Pyz/Zed/ProductQuantity/Persistence/Propel/Schema/spy_product_quantity.schema.xml delete mode 100755 src/Pyz/Zed/ProductQuantityStorage/Persistence/Propel/Schema/spy_product_quantity_storage.schema.xml delete mode 100644 src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php diff --git a/composer.json b/composer.json index 2ef6014934..df952d5cc9 100644 --- a/composer.json +++ b/composer.json @@ -267,9 +267,6 @@ "spryker/product-option-cart-connector": "^5.0.0", "spryker/product-option-storage": "^1.0.0", "spryker/product-page-search": "^2.2.0", - "spryker/product-quantity": "^1.0.0", - "spryker/product-quantity-data-import": "^1.0.0", - "spryker/product-quantity-storage": "^1.0.0", "spryker/product-relation": "^2.0.0", "spryker/product-relation-collector": "^2.0.0", "spryker/product-relation-storage": "^1.0.0", diff --git a/composer.lock b/composer.lock index 1bab47cf7e..49ca9c3ed9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "46b0a46ab1155d1b92a03d2648fb7461", + "content-hash": "11f62cab314d6b6b31f9a25de421eab2", "packages": [ { "name": "aws/aws-sdk-php", @@ -9034,16 +9034,16 @@ }, { "name": "spryker/discount", - "version": "6.3.5", + "version": "6.3.6", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420" + "reference": "0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", - "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", + "url": "https://api.github.com/repos/spryker/discount/zipball/0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b", + "reference": "0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b", "shasum": "" }, "require": { @@ -9092,7 +9092,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-10-09T14:39:40+00:00" + "time": "2018-10-11T14:47:35+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -14926,149 +14926,6 @@ "description": "ProductPageSearchExtension module", "time": "2018-09-21T07:35:52+00:00" }, - { - "name": "spryker/product-quantity", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-quantity.git", - "reference": "4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity/zipball/4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409", - "reference": "4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/cart-extension": "^1.1.0 || ^2.0.0", - "spryker/kernel": "^3.17.0", - "spryker/product": "^6.0.0" - }, - "require-dev": { - "spryker/cart": "*", - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/cart": "If you want to use cart pre check plugins: ^4.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Shared\\ProductQuantity\\Helper\\": "tests/SprykerTest/Shared/ProductQuantity/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductQuantity module", - "time": "2018-07-30T12:46:42+00:00" - }, - { - "name": "spryker/product-quantity-data-import", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-quantity-data-import.git", - "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/51d75b2ad870a36bfb0da6c793db42fec8ea8581", - "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/data-import": "^1.3.0", - "spryker/kernel": "^3.20.0", - "spryker/product": "^6.0.0", - "spryker/product-quantity": "^0.1.1 || ^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductQuantityDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductQuantityDataImport/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "ProductQuantityDataImport module", - "time": "2018-10-02T20:21:20+00:00" - }, - { - "name": "spryker/product-quantity-storage", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-quantity-storage.git", - "reference": "d7e09180f76426244b2f1c0f959b80176331cd63" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity-storage/zipball/d7e09180f76426244b2f1c0f959b80176331cd63", - "reference": "d7e09180f76426244b2f1c0f959b80176331cd63", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/event-behavior": "^1.1.0", - "spryker/kernel": "^3.21.0", - "spryker/product-quantity": "^1.0.1", - "spryker/storage": "^3.0.0", - "spryker/synchronization": "^0.2.0 || ^1.0.0", - "spryker/synchronization-extension": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/event": "*", - "spryker/propel-orm": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/event": "If you want to use Event plugins: ^2.1.0", - "spryker/propel-orm": "If you want to use transaction functionality: ^1.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductQuantityStorage module", - "time": "2018-07-18T08:25:49+00:00" - }, { "name": "spryker/product-relation", "version": "2.1.5", diff --git a/src/Pyz/Zed/Cart/CartDependencyProvider.php b/src/Pyz/Zed/Cart/CartDependencyProvider.php index 0c5a5566b0..978ca262c3 100644 --- a/src/Pyz/Zed/Cart/CartDependencyProvider.php +++ b/src/Pyz/Zed/Cart/CartDependencyProvider.php @@ -31,8 +31,6 @@ use Spryker\Zed\ProductOptionCartConnector\Communication\Plugin\CartItemProductOptionPlugin; use Spryker\Zed\ProductOptionCartConnector\Communication\Plugin\ChangeProductOptionQuantityPlugin; use Spryker\Zed\ProductOptionCartConnector\Communication\Plugin\ProductOptionValuePriceExistsCartPreCheckPlugin; -use Spryker\Zed\ProductQuantity\Communication\Plugin\Cart\ProductQuantityRestrictionCartPreCheckPlugin; -use Spryker\Zed\ProductQuantity\Communication\Plugin\CartExtension\ProductQuantityRestrictionCartRemovalPreCheckPlugin; use Spryker\Zed\SalesQuantity\Communication\Plugin\Cart\IsQuantitySplittableItemExpanderPlugin; use Spryker\Zed\ShipmentCartConnector\Communication\Plugin\Cart\CartShipmentExpanderPlugin; use Spryker\Zed\ShipmentCartConnector\Communication\Plugin\Cart\CartShipmentPreCheckPlugin; @@ -75,7 +73,6 @@ protected function getCartPreCheckPlugins(Container $container) new ProductOptionValuePriceExistsCartPreCheckPlugin(), new CartBundleAvailabilityPreCheckPlugin(), new CartShipmentPreCheckPlugin(), - new ProductQuantityRestrictionCartPreCheckPlugin(), new ProductDiscontinuedCartPreCheckPlugin(), ]; } @@ -124,9 +121,7 @@ protected function getTerminationPlugins(Container $container) */ protected function getCartRemovalPreCheckPlugins(Container $container) { - return [ - new ProductQuantityRestrictionCartRemovalPreCheckPlugin(), - ]; + return []; } /** diff --git a/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php b/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php index 00e8208960..a7c9ed5260 100644 --- a/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php +++ b/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php @@ -15,7 +15,6 @@ use Spryker\Zed\PriceProductDataImport\Communication\Plugin\PriceProductDataImportPlugin; use Spryker\Zed\ProductAlternativeDataImport\Communication\Plugin\ProductAlternativeDataImportPlugin; use Spryker\Zed\ProductDiscontinuedDataImport\Communication\Plugin\ProductDiscontinuedDataImportPlugin; -use Spryker\Zed\ProductQuantityDataImport\Communication\Plugin\ProductQuantityDataImportPlugin; class DataImportDependencyProvider extends SprykerDataImportDependencyProvider { @@ -121,7 +120,6 @@ protected function getDataImporterPlugins(): array return [ [new CategoryDataImportPlugin(), DataImportConfig::IMPORT_TYPE_CATEGORY_TEMPLATE], new PriceProductDataImportPlugin(), - new ProductQuantityDataImportPlugin(), new PriceProductDataImportPlugin(), new ProductDiscontinuedDataImportPlugin(), new ProductAlternativeDataImportPlugin(), diff --git a/src/Pyz/Zed/Event/EventDependencyProvider.php b/src/Pyz/Zed/Event/EventDependencyProvider.php index a75f73c483..35dcd359e2 100644 --- a/src/Pyz/Zed/Event/EventDependencyProvider.php +++ b/src/Pyz/Zed/Event/EventDependencyProvider.php @@ -29,7 +29,6 @@ use Spryker\Zed\ProductLabelStorage\Communication\Plugin\Event\Subscriber\ProductLabelStorageEventSubscriber; use Spryker\Zed\ProductOptionStorage\Communication\Plugin\Event\Subscriber\ProductOptionStorageEventSubscriber; use Spryker\Zed\ProductPageSearch\Communication\Plugin\Event\Subscriber\ProductPageSearchEventSubscriber; -use Spryker\Zed\ProductQuantityStorage\Communication\Plugin\Event\Subscriber\ProductQuantityStorageEventSubscriber; use Spryker\Zed\ProductRelationStorage\Communication\Plugin\Event\Subscriber\ProductRelationStorageEventSubscriber; use Spryker\Zed\ProductReviewSearch\Communication\Plugin\Event\Subscriber\ProductReviewSearchEventSubscriber; use Spryker\Zed\ProductReviewStorage\Communication\Plugin\Event\Subscriber\ProductReviewStorageEventSubscriber; @@ -77,7 +76,6 @@ public function getEventSubscriberCollection() $eventSubscriberCollection->add(new ProductOptionStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductRelationStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductReviewStorageEventSubscriber()); - $eventSubscriberCollection->add(new ProductQuantityStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductLabelStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductSetStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductSearchConfigStorageEventSubscriber()); diff --git a/src/Pyz/Zed/ProductQuantity/Persistence/Propel/Schema/spy_product_quantity.schema.xml b/src/Pyz/Zed/ProductQuantity/Persistence/Propel/Schema/spy_product_quantity.schema.xml deleted file mode 100755 index 035b4eeb96..0000000000 --- a/src/Pyz/Zed/ProductQuantity/Persistence/Propel/Schema/spy_product_quantity.schema.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - -
- -
diff --git a/src/Pyz/Zed/ProductQuantityStorage/Persistence/Propel/Schema/spy_product_quantity_storage.schema.xml b/src/Pyz/Zed/ProductQuantityStorage/Persistence/Propel/Schema/spy_product_quantity_storage.schema.xml deleted file mode 100755 index adf810bcc6..0000000000 --- a/src/Pyz/Zed/ProductQuantityStorage/Persistence/Propel/Schema/spy_product_quantity_storage.schema.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - -
- -
diff --git a/src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php b/src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php deleted file mode 100644 index 00f0d2218d..0000000000 --- a/src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php +++ /dev/null @@ -1,22 +0,0 @@ - Date: Fri, 12 Oct 2018 15:23:45 +0300 Subject: [PATCH 28/91] suite-749: integration create new concrete products zed , cc-19. --- composer.json | 6 +- composer.lock | 155 +++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 136 insertions(+), 25 deletions(-) diff --git a/composer.json b/composer.json index df952d5cc9..e22dd0a297 100644 --- a/composer.json +++ b/composer.json @@ -219,7 +219,7 @@ "spryker/price-product": "^2.0.0", "spryker/price-product-data-import": "^0.1.0", "spryker/price-product-storage": "^2.0.0", - "spryker/product": "^6.0.0", + "spryker/product": "^6.7.0", "spryker/product-abstract-data-feed": "^0.2.0", "spryker/product-alternative": "^1.0", "spryker/product-alternative-data-import": "^1.0", @@ -229,7 +229,7 @@ "spryker/product-alternative-storage": "^1.1", "spryker/product-alternative-storage-extension": "^1.0", "spryker/product-api": "^0.1.0", - "spryker/product-attribute": "^1.0.0", + "spryker/product-attribute": "^1.1.0", "spryker/product-attribute-gui": "^1.0.0", "spryker/product-barcode": "^1.0.0", "spryker/product-barcode-gui": "^1.0.0", @@ -261,7 +261,7 @@ "spryker/product-label-gui": "^2.0.0", "spryker/product-label-search": "^1.0.0", "spryker/product-label-storage": "^1.0.0", - "spryker/product-management": "^0.14.0", + "spryker/product-management": "^0.14.7", "spryker/product-new": "^1.0.0", "spryker/product-option": "^6.0.0", "spryker/product-option-cart-connector": "^5.0.0", diff --git a/composer.lock b/composer.lock index 49ca9c3ed9..be12da380e 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "11f62cab314d6b6b31f9a25de421eab2", + "content-hash": "c6d1892d3865e5c02ca13e2e1eecc400", "packages": [ { "name": "aws/aws-sdk-php", @@ -5165,11 +5165,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Api module", + "support": { + "source": "https://github.com/spryker/Api/tree/master" + }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5311,11 +5319,19 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", + "support": { + "source": "https://github.com/spryker/Assertion/tree/3.0.0" + }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5819,11 +5835,14 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", + "support": { + "source": "https://github.com/spryker/Cache/tree/3.1.0" + }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6550,11 +6569,14 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", + "support": { + "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" + }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -7810,11 +7832,19 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Functional": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", + "support": { + "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" + }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8527,11 +8557,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", + "support": { + "source": "https://github.com/spryker/CustomerApi/tree/master" + }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -9316,11 +9354,14 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Egulias module", + "support": { + "source": "https://github.com/spryker/Egulias/tree/1.0.0" + }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -10178,11 +10219,19 @@ "Function": "tests/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", + "support": { + "source": "https://github.com/spryker/Graph/tree/3.0.0" + }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10208,11 +10257,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", + "support": { + "source": "https://github.com/spryker/Graphviz/tree/2.0.1" + }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10457,11 +10509,20 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Functional": "tests/", + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", + "support": { + "source": "https://github.com/spryker/Invoice/tree/2.0.1" + }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -12016,11 +12077,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", + "support": { + "source": "https://github.com/spryker/Pimple/tree/2.0.0" + }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -16270,11 +16334,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", + "support": { + "source": "https://github.com/spryker/Redis/tree/2.0.1" + }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16317,11 +16384,22 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", + "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", + "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Refund module", + "support": { + "source": "https://github.com/spryker/Refund/tree/master" + }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -17206,11 +17284,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", + "support": { + "source": "https://github.com/spryker/Silex/tree/2.0.1" + }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -18365,11 +18446,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", + "support": { + "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" + }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18506,11 +18595,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilText module", + "support": { + "source": "https://github.com/spryker/UtilText/tree/master" + }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18587,11 +18684,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", + "support": { + "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" + }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -18675,11 +18780,14 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.spryker.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "WebProfiler module", + "support": { + "source": "https://github.com/spryker/WebProfiler/tree/1.0.0" + }, "time": "2018-01-10T11:59:45+00:00" }, { @@ -18896,11 +19004,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Zend module", + "support": { + "source": "https://github.com/spryker/Zend/tree/2.1.0" + }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -23961,7 +24072,7 @@ ], "authors": [ { - "name": "Sullivan Sénéchal", + "name": "Sullivan SENECHAL", "email": "soullivaneuh@gmail.com" } ], From c47835d6a80d8e8300e40aa0b2f33d73ff2e9361 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Fri, 12 Oct 2018 16:39:18 +0000 Subject: [PATCH 29/91] SUITE-734: integrate min order value --- composer.json | 4 + composer.lock | 479 +++++++++++++----- data/import/glossary.csv | 18 + data/import/tax.csv | 4 +- .../Persistence/SpySalesOrderThreshold.php | 24 + .../SpySalesOrderThresholdQuery.php | 24 + .../SpySalesOrderThresholdTaxSet.php | 24 + .../SpySalesOrderThresholdTaxSetQuery.php | 24 + .../SpySalesOrderThresholdType.php | 24 + .../SpySalesOrderThresholdTypeQuery.php | 24 + .../CalculationDependencyProvider.php | 6 +- src/Pyz/Zed/Cart/CartDependencyProvider.php | 2 + .../Checkout/CheckoutDependencyProvider.php | 4 + .../DataImportDependencyProvider.php | 2 + .../Installer/InstallerDependencyProvider.php | 2 + .../SalesOrderThresholdDependencyProvider.php | 41 ++ 16 files changed, 582 insertions(+), 124 deletions(-) create mode 100644 src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThreshold.php create mode 100644 src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThresholdQuery.php create mode 100644 src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThresholdTaxSet.php create mode 100644 src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThresholdTaxSetQuery.php create mode 100644 src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThresholdType.php create mode 100644 src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThresholdTypeQuery.php create mode 100644 src/Pyz/Zed/SalesOrderThreshold/SalesOrderThresholdDependencyProvider.php diff --git a/composer.json b/composer.json index 2ef6014934..b5cb8115e0 100644 --- a/composer.json +++ b/composer.json @@ -64,6 +64,7 @@ "spryker-shop/product-set-widget": "^1.0.0", "spryker-shop/product-widget": "^1.1.0", "spryker-shop/redirect-page": "^1.0.0", + "spryker-shop/sales-order-threshold-widget": "^1.0.0", "spryker-shop/shop-application": "^1.2.0", "spryker-shop/shop-application-extension": "^1.0.0", "spryker-shop/shop-router": "^1.0.0", @@ -299,6 +300,9 @@ "spryker/refund": "^5.0.0", "spryker/sales": "^8.0.0", "spryker/sales-extension": "^1.2.0", + "spryker/sales-order-threshold": "^1.0", + "spryker/sales-order-threshold-data-import": "^0.1.0", + "spryker/sales-order-threshold-gui": "^1.0", "spryker/sales-product-connector": "^1.0.0", "spryker/sales-quantity": "^1.0", "spryker/sales-reclamation": "^0.3.0", diff --git a/composer.lock b/composer.lock index 1bab47cf7e..023787e49f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "46b0a46ab1155d1b92a03d2648fb7461", + "content-hash": "d4e7e4cbbd36e76f7a992cbb78c177fb", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.69.4", + "version": "3.69.5", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152" + "reference": "cf01c814404a28a76a2431f80d2e6ea82c9045c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8e66716ee7bf6a4a4881647c6d96aa8619e82152", - "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cf01c814404a28a76a2431f80d2e6ea82c9045c8", + "reference": "cf01c814404a28a76a2431f80d2e6ea82c9045c8", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-10T22:18:53+00:00" + "time": "2018-10-11T22:32:08+00:00" }, { "name": "codeitnowin/barcode", @@ -378,16 +378,16 @@ }, { "name": "everon/criteria-builder", - "version": "v1.1.5", + "version": "v1.1.6", "source": { "type": "git", "url": "https://github.com/oliwierptak/everon-criteria-builder.git", - "reference": "b841624421ab0fadbf7a9d36ae9f9d5ebbbe7112" + "reference": "5c8b0ba0dfb0bacb4e2a8f236d9201b6bdd26238" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/oliwierptak/everon-criteria-builder/zipball/b841624421ab0fadbf7a9d36ae9f9d5ebbbe7112", - "reference": "b841624421ab0fadbf7a9d36ae9f9d5ebbbe7112", + "url": "https://api.github.com/repos/oliwierptak/everon-criteria-builder/zipball/5c8b0ba0dfb0bacb4e2a8f236d9201b6bdd26238", + "reference": "5c8b0ba0dfb0bacb4e2a8f236d9201b6bdd26238", "shasum": "" }, "require": { @@ -418,7 +418,7 @@ } ], "description": "Everon Criteria Builder Component", - "time": "2016-03-20T14:50:11+00:00" + "time": "2018-10-11T12:41:03+00:00" }, { "name": "everon/factory", @@ -1398,16 +1398,16 @@ }, { "name": "php-amqplib/php-amqplib", - "version": "v2.7.2", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/php-amqplib/php-amqplib.git", - "reference": "dfd3694a86f1a7394d3693485259d4074a6ec79b" + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/dfd3694a86f1a7394d3693485259d4074a6ec79b", - "reference": "dfd3694a86f1a7394d3693485259d4074a6ec79b", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", "shasum": "" }, "require": { @@ -1465,7 +1465,7 @@ "queue", "rabbitmq" ], - "time": "2018-02-11T19:28:00+00:00" + "time": "2018-04-30T03:54:54+00:00" }, { "name": "phpdocumentor/graphviz", @@ -2985,16 +2985,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.8.0", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b" + "reference": "4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", - "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5", + "reference": "4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5", "shasum": "" }, "require": { @@ -3008,7 +3008,7 @@ "spryker/kernel": "^3.16.0", "spryker/product-bundle": "^4.1.0", "spryker/quote": "^1.0.0 || ^2.1.0", - "spryker/sales": "^8.5.0", + "spryker/sales": "^8.15.0", "spryker/step-engine": "^3.1.0", "spryker/symfony": "^3.1.0", "spryker/util-validate": "^1.0.0" @@ -3045,7 +3045,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-12T12:34:24+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -3858,16 +3858,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.4.3", + "version": "1.4.4", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "2d154314da4821704e4746fc7954ee0f81424b56" + "reference": "80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/2d154314da4821704e4746fc7954ee0f81424b56", - "reference": "2d154314da4821704e4746fc7954ee0f81424b56", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14", + "reference": "80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14", "shasum": "" }, "require": { @@ -3900,7 +3900,7 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-11T13:51:20+00:00" }, { "name": "spryker-shop/product-discontinued-widget", @@ -4525,6 +4525,53 @@ "description": "RedirectPage module", "time": "2018-06-13T13:42:55+00:00" }, + { + "name": "spryker-shop/sales-order-threshold-widget", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/sales-order-threshold-widget.git", + "reference": "dcdcc1d036b2aee99fd8d40e214a5dad0d15722b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/sales-order-threshold-widget/zipball/dcdcc1d036b2aee99fd8d40e214a5dad0d15722b", + "reference": "dcdcc1d036b2aee99fd8d40e214a5dad0d15722b", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker-shop/shop-ui": "^1.0.0", + "spryker/kernel": "^3.19.0" + }, + "require-dev": { + "spryker-shop/cart-page": "*", + "spryker-shop/checkout-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/cart-page": "Widget plugins are available for this module.", + "spryker-shop/checkout-page": "Widget plugins are available for this module." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThresholdWidget module", + "time": "2018-10-04T13:36:22+00:00" + }, { "name": "spryker-shop/shop-application", "version": "1.2.0", @@ -4753,16 +4800,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.6.1", + "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a" + "reference": "481b4be213038c331ce74f59a98c3f7cbd0df825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/27a4f6409342f7542e62c3667ed38a943d27ee9a", - "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/481b4be213038c331ce74f59a98c3f7cbd0df825", + "reference": "481b4be213038c331ce74f59a98c3f7cbd0df825", "shasum": "" }, "require": { @@ -4794,7 +4841,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-12T09:45:50+00:00" }, { "name": "spryker-shop/shop-ui-extension", @@ -6908,20 +6955,21 @@ }, { "name": "spryker/cms-block", - "version": "2.0.1", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/spryker/cms-block.git", - "reference": "68465a77ce277ff436f0cfaf42f05f3021489ab1" + "reference": "0176d28bf4a35c6f26ced1840232b67abb709412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-block/zipball/68465a77ce277ff436f0cfaf42f05f3021489ab1", - "reference": "68465a77ce277ff436f0cfaf42f05f3021489ab1", + "url": "https://api.github.com/repos/spryker/cms-block/zipball/0176d28bf4a35c6f26ced1840232b67abb709412", + "reference": "0176d28bf4a35c6f26ced1840232b67abb709412", "shasum": "" }, "require": { "php": ">=7.1", + "spryker/event": "^2.0.0", "spryker/glossary": "^3.1.0", "spryker/kernel": "^3.0.0", "spryker/key-builder": "^1.0.0", @@ -6960,7 +7008,7 @@ "proprietary" ], "description": "CmsBlock module", - "time": "2018-05-16T16:01:08+00:00" + "time": "2018-10-12T07:26:44+00:00" }, { "name": "spryker/cms-block-category-connector", @@ -9034,16 +9082,16 @@ }, { "name": "spryker/discount", - "version": "6.3.5", + "version": "6.3.6", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420" + "reference": "0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", - "reference": "b55ab5967f06facfdc2a28b5b5ae84c7b43ba420", + "url": "https://api.github.com/repos/spryker/discount/zipball/0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b", + "reference": "0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b", "shasum": "" }, "require": { @@ -9092,7 +9140,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-10-09T14:39:40+00:00" + "time": "2018-10-11T14:47:35+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -9404,16 +9452,16 @@ }, { "name": "spryker/event", - "version": "2.3.1", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/spryker/event.git", - "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab" + "reference": "75a9c0ef283626c4b13f57c4819ca3b4395680fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/event/zipball/63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", - "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", + "url": "https://api.github.com/repos/spryker/event/zipball/75a9c0ef283626c4b13f57c4819ca3b4395680fd", + "reference": "75a9c0ef283626c4b13f57c4819ca3b4395680fd", "shasum": "" }, "require": { @@ -9445,7 +9493,7 @@ "proprietary" ], "description": "Event module", - "time": "2018-10-11T10:08:19+00:00" + "time": "2018-10-11T17:12:44+00:00" }, { "name": "spryker/event-behavior", @@ -11674,16 +11722,16 @@ }, { "name": "spryker/oms", - "version": "8.3.0", + "version": "8.3.1", "source": { "type": "git", "url": "https://github.com/spryker/oms.git", - "reference": "f181d22f74c8c17e938193eeda473c0da60825c6" + "reference": "9a6ab93d0a450ddb7d193bdaef177109c86f500c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oms/zipball/f181d22f74c8c17e938193eeda473c0da60825c6", - "reference": "f181d22f74c8c17e938193eeda473c0da60825c6", + "url": "https://api.github.com/repos/spryker/oms/zipball/9a6ab93d0a450ddb7d193bdaef177109c86f500c", + "reference": "9a6ab93d0a450ddb7d193bdaef177109c86f500c", "shasum": "" }, "require": { @@ -11701,11 +11749,9 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { + "spryker/application": "*", "spryker/checkout": "*", - "spryker/code-sniffer": "*", - "spryker/config": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -11728,7 +11774,7 @@ "proprietary" ], "description": "Oms module", - "time": "2018-07-30T12:46:42+00:00" + "time": "2018-10-12T12:20:56+00:00" }, { "name": "spryker/oms-discount-connector", @@ -14825,22 +14871,23 @@ }, { "name": "spryker/product-page-search", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/spryker/product-page-search.git", - "reference": "7cfcc5e6471981b51462ae88a87b2c22a6af4cb1" + "reference": "b7dab7ee96091557b5abb7776d76666148246eda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-page-search/zipball/7cfcc5e6471981b51462ae88a87b2c22a6af4cb1", - "reference": "7cfcc5e6471981b51462ae88a87b2c22a6af4cb1", + "url": "https://api.github.com/repos/spryker/product-page-search/zipball/b7dab7ee96091557b5abb7776d76666148246eda", + "reference": "b7dab7ee96091557b5abb7776d76666148246eda", "shasum": "" }, "require": { "php": ">=7.1", "spryker/catalog-price-product-connector": "^1.1.0", "spryker/category": "^4.3.0", + "spryker/error-handler": "^2.0.0", "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/price": "^5.3.0", @@ -14885,7 +14932,7 @@ "proprietary" ], "description": "ProductPageSearch module", - "time": "2018-09-21T07:35:52+00:00" + "time": "2018-10-11T18:25:05+00:00" }, { "name": "spryker/product-page-search-extension", @@ -14975,16 +15022,16 @@ }, { "name": "spryker/product-quantity-data-import", - "version": "1.1.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/product-quantity-data-import.git", - "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581" + "reference": "b85ba3edd397dd2ca467c5ecf950eb0c7e0fe9d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/51d75b2ad870a36bfb0da6c793db42fec8ea8581", - "reference": "51d75b2ad870a36bfb0da6c793db42fec8ea8581", + "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/b85ba3edd397dd2ca467c5ecf950eb0c7e0fe9d9", + "reference": "b85ba3edd397dd2ca467c5ecf950eb0c7e0fe9d9", "shasum": "" }, "require": { @@ -15016,7 +15063,7 @@ "MIT" ], "description": "ProductQuantityDataImport module", - "time": "2018-10-02T20:21:20+00:00" + "time": "2018-10-10T14:35:07+00:00" }, { "name": "spryker/product-quantity-storage", @@ -16509,16 +16556,16 @@ }, { "name": "spryker/sales", - "version": "8.14.1", + "version": "8.15.0", "source": { "type": "git", "url": "https://github.com/spryker/sales.git", - "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f" + "reference": "a2c2263a983bacb6510e102d983e9b9ee4a09aed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales/zipball/6279109071a45e2f5f9792c44c5e0de269d9018f", - "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f", + "url": "https://api.github.com/repos/spryker/sales/zipball/a2c2263a983bacb6510e102d983e9b9ee4a09aed", + "reference": "a2c2263a983bacb6510e102d983e9b9ee4a09aed", "shasum": "" }, "require": { @@ -16575,7 +16622,7 @@ "proprietary" ], "description": "Sales module", - "time": "2018-10-05T18:19:18+00:00" + "time": "2018-10-12T12:20:56+00:00" }, { "name": "spryker/sales-extension", @@ -16616,6 +16663,200 @@ "description": "SalesExtension module", "time": "2018-06-18T17:01:18+00:00" }, + { + "name": "spryker/sales-order-threshold", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold.git", + "reference": "9f07d37642016171cb76b9d13cbdf1174d33a6a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold/zipball/9f07d37642016171cb76b9d13cbdf1174d33a6a2", + "reference": "9f07d37642016171cb76b9d13cbdf1174d33a6a2", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/calculation-extension": "^1.0.0", + "spryker/cart-extension": "^1.0.0 || ^2.0.0", + "spryker/checkout-extension": "^1.0.0", + "spryker/currency": "^3.0.0", + "spryker/glossary": "^3.1.0", + "spryker/kernel": "^3.17.0", + "spryker/messenger": "^3.1.0", + "spryker/money": "^2.0.0", + "spryker/sales": "^8.14.0", + "spryker/sales-order-threshold-extension": "^1.0.0", + "spryker/store": "^1.2.0", + "spryker/tax": "^5.0.0" + }, + "require-dev": { + "spryker/checkout": "*", + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/calculation": "If you want to use Calculation plugins.", + "spryker/cart": "If you want to use Cart plugins: ^4.0.0.", + "spryker/checkout": "If you want to use Checkout plugins: ^3.0.0.", + "spryker/installer": "If you want to use Installer plugins: ^4.0.0." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\SalesOrderThreshold\\Helper\\": "tests/SprykerTest/Zed/SalesOrderThreshold/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThreshold module", + "time": "2018-10-04T13:35:59+00:00" + }, + { + "name": "spryker/sales-order-threshold-data-import", + "version": "0.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold-data-import.git", + "reference": "7de4e5c8cfcf15ffe5f5dbbc7db09c5e9d1a33d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold-data-import/zipball/7de4e5c8cfcf15ffe5f5dbbc7db09c5e9d1a33d4", + "reference": "7de4e5c8cfcf15ffe5f5dbbc7db09c5e9d1a33d4", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/currency": "^3.0.0", + "spryker/data-import": "^1.3.0", + "spryker/kernel": "^3.17.0", + "spryker/sales-order-threshold": "^1.0.0", + "spryker/store": "^1.2.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\SalesOrderThresholdDataImport\\Helper\\": "tests/SprykerTest/Zed/SalesOrderThresholdDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "SalesOrderThresholdDataImport module", + "time": "2018-10-04T13:35:59+00:00" + }, + { + "name": "spryker/sales-order-threshold-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold-extension.git", + "reference": "897af49181ac74f936db1a4ee1cdee6d443f472d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold-extension/zipball/897af49181ac74f936db1a4ee1cdee6d443f472d", + "reference": "897af49181ac74f936db1a4ee1cdee6d443f472d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThresholdExtension module", + "time": "2018-10-04T13:35:59+00:00" + }, + { + "name": "spryker/sales-order-threshold-gui", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold-gui.git", + "reference": "93375f2cb3eed719c6affc1ebaf2c5ce6d60a661" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold-gui/zipball/93375f2cb3eed719c6affc1ebaf2c5ce6d60a661", + "reference": "93375f2cb3eed719c6affc1ebaf2c5ce6d60a661", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/currency": "^3.1.0", + "spryker/gui": "^3.1.0", + "spryker/kernel": "^3.18.0", + "spryker/locale": "^3.0.0", + "spryker/money": "^2.1.0", + "spryker/sales-order-threshold": "^1.0.0", + "spryker/store": "^1.2.0", + "spryker/symfony": "^3.1.0", + "spryker/tax": "^5.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThresholdGui module", + "time": "2018-10-04T13:35:59+00:00" + }, { "name": "spryker/sales-product-connector", "version": "1.1.1", @@ -18299,16 +18540,16 @@ }, { "name": "spryker/user", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/spryker/user.git", - "reference": "c8e0a8792a4f41502a445d46152cf357ac2426ac" + "reference": "fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/user/zipball/c8e0a8792a4f41502a445d46152cf357ac2426ac", - "reference": "c8e0a8792a4f41502a445d46152cf357ac2426ac", + "url": "https://api.github.com/repos/spryker/user/zipball/fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3", + "reference": "fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3", "shasum": "" }, "require": { @@ -18351,7 +18592,7 @@ "proprietary" ], "description": "User module", - "time": "2018-09-05T09:34:01+00:00" + "time": "2018-10-08T16:09:45+00:00" }, { "name": "spryker/user-extension", @@ -20668,33 +20909,29 @@ }, { "name": "symfony/twig-bridge", - "version": "v3.3.18", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "c4f577a8043b175353e19ce003b637aff2130c57" + "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c4f577a8043b175353e19ce003b637aff2130c57", - "reference": "c4f577a8043b175353e19ce003b637aff2130c57", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", + "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "twig/twig": "~1.34|~2.4" - }, - "conflict": { - "symfony/form": "<3.2.10|~3.3,<3.3.3" + "php": ">=5.5.9", + "twig/twig": "~1.23|~2.0" }, "require-dev": { "symfony/asset": "~2.8|~3.0", "symfony/console": "~2.8|~3.0", "symfony/expression-language": "~2.8|~3.0", "symfony/finder": "~2.8|~3.0", - "symfony/form": "^3.2.10|^3.3.3", - "symfony/http-foundation": "^3.3.11", - "symfony/http-kernel": "~3.2", + "symfony/form": "~3.0.4", + "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-intl-icu": "~1.0", "symfony/routing": "~2.8|~3.0", "symfony/security": "~2.8|~3.0", @@ -20702,9 +20939,7 @@ "symfony/stopwatch": "~2.8|~3.0", "symfony/templating": "~2.8|~3.0", "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2", - "symfony/web-link": "~3.3", - "symfony/workflow": "~3.3", + "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", "symfony/yaml": "~2.8|~3.0" }, "suggest": { @@ -20719,13 +20954,12 @@ "symfony/templating": "For using the TwigEngine", "symfony/translation": "For using the TranslationExtension", "symfony/var-dumper": "For using the DumpExtension", - "symfony/web-link": "For using the WebLinkExtension", "symfony/yaml": "For using the YamlExtension" }, "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -20752,7 +20986,7 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2018-01-03T17:13:53+00:00" + "time": "2016-07-28T11:13:34+00:00" }, { "name": "symfony/validator", @@ -23933,23 +24167,23 @@ }, { "name": "silex/web-profiler", - "version": "1.0.x-dev", + "version": "v1.0.8", "target-dir": "Silex/Provider", "source": { "type": "git", "url": "https://github.com/silexphp/Silex-WebProfiler.git", - "reference": "2c5df830c864bec709307e706176771b57440be5" + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/2c5df830c864bec709307e706176771b57440be5", - "reference": "2c5df830c864bec709307e706176771b57440be5", + "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/3b767e6c9006a542cac737474f02671bdf2909cb", + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb", "shasum": "" }, "require": { "silex/silex": "~1.1", - "symfony/stopwatch": "~2.2|3.0.*", - "symfony/web-profiler-bundle": "~2.4|3.0.*" + "symfony/stopwatch": "~2.2", + "symfony/web-profiler-bundle": "~2.4" }, "type": "library", "extra": { @@ -23975,7 +24209,7 @@ "description": "A WebProfiler for Silex", "homepage": "http://silex.sensiolabs.org/", "abandoned": true, - "time": "2016-05-04T16:32:42+00:00" + "time": "2016-01-10T11:39:13+00:00" }, { "name": "site5/phantoman", @@ -24104,7 +24338,7 @@ ], "authors": [ { - "name": "Sullivan Sénéchal", + "name": "Sullivan SENECHAL", "email": "soullivaneuh@gmail.com" } ], @@ -24749,25 +24983,25 @@ }, { "name": "symfony/stopwatch", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "49c0ea2f3d3a779df4780927671332edc406ea84" + "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/49c0ea2f3d3a779df4780927671332edc406ea84", - "reference": "49c0ea2f3d3a779df4780927671332edc406ea84", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", + "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": ">=5.3.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -24794,7 +25028,7 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2016-06-29T05:40:00+00:00" + "time": "2018-07-24T10:05:38+00:00" }, { "name": "symfony/var-dumper", @@ -24873,34 +25107,35 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7" + "reference": "c82e39721df25d505781238270be737871f9bb78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", - "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c82e39721df25d505781238270be737871f9bb78", + "reference": "c82e39721df25d505781238270be737871f9bb78", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/twig-bridge": "~2.8|~3.0" + "php": ">=5.3.9", + "symfony/http-kernel": "~2.4|~3.0.0", + "symfony/routing": "~2.2|~3.0.0", + "symfony/twig-bridge": "~2.7|~3.0.0", + "twig/twig": "~1.34|~2.4" }, "require-dev": { - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" + "symfony/config": "~2.2|~3.0.0", + "symfony/console": "~2.3|~3.0.0", + "symfony/dependency-injection": "~2.2|~3.0.0", + "symfony/stopwatch": "~2.2|~3.0.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -24927,7 +25162,7 @@ ], "description": "Symfony WebProfilerBundle", "homepage": "https://symfony.com", - "time": "2016-07-26T08:03:56+00:00" + "time": "2018-09-24T08:42:32+00:00" }, { "name": "theseer/fdomdocument", diff --git a/data/import/glossary.csv b/data/import/glossary.csv index f1a9ffedc4..cb5a1b3b2e 100644 --- a/data/import/glossary.csv +++ b/data/import/glossary.csv @@ -1930,3 +1930,21 @@ shopping_list.no_lists_created,You do not have any shopping lists yet.,en_US shopping_list.no_lists_created,Du hast noch keine Einkaufslisten.,de_DE multi_cart_widget.cart.was-deleted-before,Dieser Warenkorb wurde bereits gelöscht,de_DE multi_cart_widget.cart.was-deleted-before,This cart was already deleted,en_US +cart.sales-order-threshold,Mindestbestellwert,de_DE +cart.sales-order-threshold,Minimum Order Value,en_US +checkout.sales-order-threshold,Mindestbestellwert,de_DE +checkout.sales-order-threshold,Minimum Order Value,en_US +sales-order-threshold.expense.name,Zuschlag,de_DE +sales-order-threshold.expense.name,Surcharge,en_US +sales-order-threshold.strategy.soft-minimum-threshold-fixed-fee,Zuschlag,de_DE +sales-order-threshold.strategy.soft-minimum-threshold-fixed-fee,Surcharge,en_US +sales-order-threshold.strategy.soft-minimum-threshold-flexible-fee,Zuschlag,de_DE +sales-order-threshold.strategy.soft-minimum-threshold-flexible-fee,Surcharge,en_US +sales-order-threshold.hard-minimum-threshold.de.eur.message,"You should add items for {{threshold}} to pass a recommended threshold. You can't proceed with checkout",en_US +sales-order-threshold.hard-minimum-threshold.de.eur.message,"Sie sollten Waren im Wert von {{threshold}} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können nicht mit der Bestellung fortfahren",de_DE +sales-order-threshold.hard-minimum-threshold.de.chf.message,"You should add items for {{threshold}} to pass a recommended threshold. You can't proceed with checkout",en_US +sales-order-threshold.hard-minimum-threshold.de.chf.message,"Sie sollten Waren im Wert von {{threshold}} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können nicht mit der Bestellung fortfahren",de_DE +sales-order-threshold.soft-minimum-threshold.de.eur.message,"You need to add items for {{threshold}} to pass a recommended threshold, but if you want can proceed to checkout.",en_US +sales-order-threshold.soft-minimum-threshold.de.eur.message,"Sie sollten Waren im Wert von {{threshold}} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können trotzdem weiter zur Kasse.",de_DE +sales-order-threshold.soft-minimum-threshold.de.chf.message,"You need to add items for {{threshold}} to pass a recommended threshold, but if you want can proceed to checkout.",en_US +sales-order-threshold.soft-minimum-threshold.de.chf.message,"Sie sollten Waren im Wert von {{threshold}} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können trotzdem weiter zur Kasse.",de_DE diff --git a/data/import/tax.csv b/data/import/tax.csv index a1879637ef..7b8b59a799 100644 --- a/data/import/tax.csv +++ b/data/import/tax.csv @@ -60,6 +60,8 @@ Shipment Taxes,Romania,Romania Standard,20 Shipment Taxes,Slovakia,Slovakia Standard,20 Shipment Taxes,Slovenia,Slovenia Standard,22 Tax Exempt,,Tax Exempt,0 +MOV Taxes,Austria,Austria Standard,20 +MOV Taxes,Germany,Germany Standard,19 ,Austria,Austria Reduced1,13 ,Austria,Austria Reduced2,10 ,Belgium,Belgium Reduced1,12 @@ -80,4 +82,4 @@ Tax Exempt,,Tax Exempt,0 ,Romania,Romania Reduced1,5 ,Romania,Romania Reduced2,9 ,Slovakia,Slovakia Reduced1,10 -,Slovenia,Slovenia Reduced1,9.5 \ No newline at end of file +,Slovenia,Slovenia Reduced1,9.5 diff --git a/src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThreshold.php b/src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThreshold.php new file mode 100644 index 0000000000..819361cf9d --- /dev/null +++ b/src/Orm/Zed/SalesOrderThreshold/Persistence/SpySalesOrderThreshold.php @@ -0,0 +1,24 @@ + Date: Fri, 12 Oct 2018 17:15:53 +0000 Subject: [PATCH 30/91] SUITE-734: integrate min order value --- composer.lock | 826 +++++++++++++------- src/Pyz/Zed/Cart/CartDependencyProvider.php | 2 - 2 files changed, 554 insertions(+), 274 deletions(-) diff --git a/composer.lock b/composer.lock index be12da380e..5a5d6c84cf 100644 --- a/composer.lock +++ b/composer.lock @@ -1,23 +1,23 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "c6d1892d3865e5c02ca13e2e1eecc400", + "content-hash": "f7e7e660750236e3ea74d0166ff28b42", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.69.4", + "version": "3.69.5", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152" + "reference": "cf01c814404a28a76a2431f80d2e6ea82c9045c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8e66716ee7bf6a4a4881647c6d96aa8619e82152", - "reference": "8e66716ee7bf6a4a4881647c6d96aa8619e82152", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cf01c814404a28a76a2431f80d2e6ea82c9045c8", + "reference": "cf01c814404a28a76a2431f80d2e6ea82c9045c8", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-10T22:18:53+00:00" + "time": "2018-10-11T22:32:08+00:00" }, { "name": "codeitnowin/barcode", @@ -378,16 +378,16 @@ }, { "name": "everon/criteria-builder", - "version": "v1.1.5", + "version": "v1.1.6", "source": { "type": "git", "url": "https://github.com/oliwierptak/everon-criteria-builder.git", - "reference": "b841624421ab0fadbf7a9d36ae9f9d5ebbbe7112" + "reference": "5c8b0ba0dfb0bacb4e2a8f236d9201b6bdd26238" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/oliwierptak/everon-criteria-builder/zipball/b841624421ab0fadbf7a9d36ae9f9d5ebbbe7112", - "reference": "b841624421ab0fadbf7a9d36ae9f9d5ebbbe7112", + "url": "https://api.github.com/repos/oliwierptak/everon-criteria-builder/zipball/5c8b0ba0dfb0bacb4e2a8f236d9201b6bdd26238", + "reference": "5c8b0ba0dfb0bacb4e2a8f236d9201b6bdd26238", "shasum": "" }, "require": { @@ -418,7 +418,7 @@ } ], "description": "Everon Criteria Builder Component", - "time": "2016-03-20T14:50:11+00:00" + "time": "2018-10-11T12:41:03+00:00" }, { "name": "everon/factory", @@ -897,6 +897,48 @@ ], "time": "2014-10-12T19:18:40+00:00" }, + { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" + ], + "time": "2014-11-20T16:49:30+00:00" + }, { "name": "league/csv", "version": "9.1.4", @@ -1398,16 +1440,16 @@ }, { "name": "php-amqplib/php-amqplib", - "version": "v2.7.2", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/php-amqplib/php-amqplib.git", - "reference": "dfd3694a86f1a7394d3693485259d4074a6ec79b" + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/dfd3694a86f1a7394d3693485259d4074a6ec79b", - "reference": "dfd3694a86f1a7394d3693485259d4074a6ec79b", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", "shasum": "" }, "require": { @@ -1465,7 +1507,7 @@ "queue", "rabbitmq" ], - "time": "2018-02-11T19:28:00+00:00" + "time": "2018-04-30T03:54:54+00:00" }, { "name": "phpdocumentor/graphviz", @@ -2377,16 +2419,16 @@ }, { "name": "spryker-shop/cart-page", - "version": "1.3.1", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-page.git", - "reference": "ebd7ee53a0d1d66d060a892518bd67852fd78ab7" + "reference": "84214a87075e38f6a8c10658b7dbd80c20ddca80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/ebd7ee53a0d1d66d060a892518bd67852fd78ab7", - "reference": "ebd7ee53a0d1d66d060a892518bd67852fd78ab7", + "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/84214a87075e38f6a8c10658b7dbd80c20ddca80", + "reference": "84214a87075e38f6a8c10658b7dbd80c20ddca80", "shasum": "" }, "require": { @@ -2428,7 +2470,7 @@ "proprietary" ], "description": "CartPage module", - "time": "2018-10-05T07:03:26+00:00" + "time": "2018-10-09T05:58:23+00:00" }, { "name": "spryker-shop/catalog-page", @@ -2985,16 +3027,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.8.0", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b" + "reference": "4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", - "reference": "efcdabae85defe8e5ddc378f5b6b67be70b1ce0b", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5", + "reference": "4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5", "shasum": "" }, "require": { @@ -3008,7 +3050,7 @@ "spryker/kernel": "^3.16.0", "spryker/product-bundle": "^4.1.0", "spryker/quote": "^1.0.0 || ^2.1.0", - "spryker/sales": "^8.5.0", + "spryker/sales": "^8.15.0", "spryker/step-engine": "^3.1.0", "spryker/symfony": "^3.1.0", "spryker/util-validate": "^1.0.0" @@ -3045,7 +3087,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-12T12:34:24+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -3858,16 +3900,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.4.3", + "version": "1.4.4", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "2d154314da4821704e4746fc7954ee0f81424b56" + "reference": "80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/2d154314da4821704e4746fc7954ee0f81424b56", - "reference": "2d154314da4821704e4746fc7954ee0f81424b56", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14", + "reference": "80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14", "shasum": "" }, "require": { @@ -3900,7 +3942,7 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-11T13:51:20+00:00" }, { "name": "spryker-shop/product-discontinued-widget", @@ -4525,6 +4567,53 @@ "description": "RedirectPage module", "time": "2018-06-13T13:42:55+00:00" }, + { + "name": "spryker-shop/sales-order-threshold-widget", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/sales-order-threshold-widget.git", + "reference": "dcdcc1d036b2aee99fd8d40e214a5dad0d15722b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/sales-order-threshold-widget/zipball/dcdcc1d036b2aee99fd8d40e214a5dad0d15722b", + "reference": "dcdcc1d036b2aee99fd8d40e214a5dad0d15722b", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker-shop/shop-ui": "^1.0.0", + "spryker/kernel": "^3.19.0" + }, + "require-dev": { + "spryker-shop/cart-page": "*", + "spryker-shop/checkout-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/cart-page": "Widget plugins are available for this module.", + "spryker-shop/checkout-page": "Widget plugins are available for this module." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThresholdWidget module", + "time": "2018-10-04T13:36:22+00:00" + }, { "name": "spryker-shop/shop-application", "version": "1.2.0", @@ -4753,16 +4842,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.6.1", + "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a" + "reference": "481b4be213038c331ce74f59a98c3f7cbd0df825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/27a4f6409342f7542e62c3667ed38a943d27ee9a", - "reference": "27a4f6409342f7542e62c3667ed38a943d27ee9a", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/481b4be213038c331ce74f59a98c3f7cbd0df825", + "reference": "481b4be213038c331ce74f59a98c3f7cbd0df825", "shasum": "" }, "require": { @@ -4794,7 +4883,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-12T09:45:50+00:00" }, { "name": "spryker-shop/shop-ui-extension", @@ -4879,16 +4968,16 @@ }, { "name": "spryker-shop/wishlist-page", - "version": "1.2.1", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/wishlist-page.git", - "reference": "e4c591a74def3638d697c41ecbd3db6f58a9b7c2" + "reference": "2ff618d7718e0b9f09207a465fa096dfdd562b70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/e4c591a74def3638d697c41ecbd3db6f58a9b7c2", - "reference": "e4c591a74def3638d697c41ecbd3db6f58a9b7c2", + "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/2ff618d7718e0b9f09207a465fa096dfdd562b70", + "reference": "2ff618d7718e0b9f09207a465fa096dfdd562b70", "shasum": "" }, "require": { @@ -4927,7 +5016,7 @@ "proprietary" ], "description": "WishlistPage module", - "time": "2018-10-02T17:02:56+00:00" + "time": "2018-10-08T13:43:38+00:00" }, { "name": "spryker-shop/wishlist-widget", @@ -5165,19 +5254,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Api module", - "support": { - "source": "https://github.com/spryker/Api/tree/master" - }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5319,19 +5400,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", - "support": { - "source": "https://github.com/spryker/Assertion/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5835,14 +5908,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", - "support": { - "source": "https://github.com/spryker/Cache/tree/3.1.0" - }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6569,14 +6639,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", - "support": { - "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" - }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -6930,20 +6997,21 @@ }, { "name": "spryker/cms-block", - "version": "2.0.1", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/spryker/cms-block.git", - "reference": "68465a77ce277ff436f0cfaf42f05f3021489ab1" + "reference": "0176d28bf4a35c6f26ced1840232b67abb709412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-block/zipball/68465a77ce277ff436f0cfaf42f05f3021489ab1", - "reference": "68465a77ce277ff436f0cfaf42f05f3021489ab1", + "url": "https://api.github.com/repos/spryker/cms-block/zipball/0176d28bf4a35c6f26ced1840232b67abb709412", + "reference": "0176d28bf4a35c6f26ced1840232b67abb709412", "shasum": "" }, "require": { "php": ">=7.1", + "spryker/event": "^2.0.0", "spryker/glossary": "^3.1.0", "spryker/kernel": "^3.0.0", "spryker/key-builder": "^1.0.0", @@ -6982,7 +7050,7 @@ "proprietary" ], "description": "CmsBlock module", - "time": "2018-05-16T16:01:08+00:00" + "time": "2018-10-12T07:26:44+00:00" }, { "name": "spryker/cms-block-category-connector", @@ -7832,19 +7900,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", - "support": { - "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" - }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8557,19 +8617,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", - "support": { - "source": "https://github.com/spryker/CustomerApi/tree/master" - }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -9354,14 +9406,11 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Egulias module", - "support": { - "source": "https://github.com/spryker/Egulias/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -9445,16 +9494,16 @@ }, { "name": "spryker/event", - "version": "2.3.1", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/spryker/event.git", - "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab" + "reference": "75a9c0ef283626c4b13f57c4819ca3b4395680fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/event/zipball/63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", - "reference": "63ea1202673c2e6c91ac0ccf2bb1821a2a8bfaab", + "url": "https://api.github.com/repos/spryker/event/zipball/75a9c0ef283626c4b13f57c4819ca3b4395680fd", + "reference": "75a9c0ef283626c4b13f57c4819ca3b4395680fd", "shasum": "" }, "require": { @@ -9486,7 +9535,7 @@ "proprietary" ], "description": "Event module", - "time": "2018-10-11T10:08:19+00:00" + "time": "2018-10-11T17:12:44+00:00" }, { "name": "spryker/event-behavior", @@ -10219,19 +10268,11 @@ "Function": "tests/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", - "support": { - "source": "https://github.com/spryker/Graph/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10257,14 +10298,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", - "support": { - "source": "https://github.com/spryker/Graphviz/tree/2.0.1" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10509,20 +10547,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/", - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", - "support": { - "source": "https://github.com/spryker/Invoice/tree/2.0.1" - }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -11735,16 +11764,16 @@ }, { "name": "spryker/oms", - "version": "8.3.0", + "version": "8.3.1", "source": { "type": "git", "url": "https://github.com/spryker/oms.git", - "reference": "f181d22f74c8c17e938193eeda473c0da60825c6" + "reference": "9a6ab93d0a450ddb7d193bdaef177109c86f500c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oms/zipball/f181d22f74c8c17e938193eeda473c0da60825c6", - "reference": "f181d22f74c8c17e938193eeda473c0da60825c6", + "url": "https://api.github.com/repos/spryker/oms/zipball/9a6ab93d0a450ddb7d193bdaef177109c86f500c", + "reference": "9a6ab93d0a450ddb7d193bdaef177109c86f500c", "shasum": "" }, "require": { @@ -11762,11 +11791,9 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { + "spryker/application": "*", "spryker/checkout": "*", - "spryker/code-sniffer": "*", - "spryker/config": "*", "spryker/propel": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -11789,7 +11816,7 @@ "proprietary" ], "description": "Oms module", - "time": "2018-07-30T12:46:42+00:00" + "time": "2018-10-12T12:20:56+00:00" }, { "name": "spryker/oms-discount-connector", @@ -12077,14 +12104,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", - "support": { - "source": "https://github.com/spryker/Pimple/tree/2.0.0" - }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -14889,22 +14913,23 @@ }, { "name": "spryker/product-page-search", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/spryker/product-page-search.git", - "reference": "7cfcc5e6471981b51462ae88a87b2c22a6af4cb1" + "reference": "b7dab7ee96091557b5abb7776d76666148246eda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-page-search/zipball/7cfcc5e6471981b51462ae88a87b2c22a6af4cb1", - "reference": "7cfcc5e6471981b51462ae88a87b2c22a6af4cb1", + "url": "https://api.github.com/repos/spryker/product-page-search/zipball/b7dab7ee96091557b5abb7776d76666148246eda", + "reference": "b7dab7ee96091557b5abb7776d76666148246eda", "shasum": "" }, "require": { "php": ">=7.1", "spryker/catalog-price-product-connector": "^1.1.0", "spryker/category": "^4.3.0", + "spryker/error-handler": "^2.0.0", "spryker/event-behavior": "^1.1.0", "spryker/kernel": "^3.21.0", "spryker/price": "^5.3.0", @@ -14949,7 +14974,7 @@ "proprietary" ], "description": "ProductPageSearch module", - "time": "2018-09-21T07:35:52+00:00" + "time": "2018-10-11T18:25:05+00:00" }, { "name": "spryker/product-page-search-extension", @@ -16334,14 +16359,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", - "support": { - "source": "https://github.com/spryker/Redis/tree/2.0.1" - }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16384,22 +16406,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", - "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", - "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Refund module", - "support": { - "source": "https://github.com/spryker/Refund/tree/master" - }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -16444,16 +16455,16 @@ }, { "name": "spryker/sales", - "version": "8.14.1", + "version": "8.15.0", "source": { "type": "git", "url": "https://github.com/spryker/sales.git", - "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f" + "reference": "a2c2263a983bacb6510e102d983e9b9ee4a09aed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales/zipball/6279109071a45e2f5f9792c44c5e0de269d9018f", - "reference": "6279109071a45e2f5f9792c44c5e0de269d9018f", + "url": "https://api.github.com/repos/spryker/sales/zipball/a2c2263a983bacb6510e102d983e9b9ee4a09aed", + "reference": "a2c2263a983bacb6510e102d983e9b9ee4a09aed", "shasum": "" }, "require": { @@ -16510,7 +16521,7 @@ "proprietary" ], "description": "Sales module", - "time": "2018-10-05T18:19:18+00:00" + "time": "2018-10-12T12:20:56+00:00" }, { "name": "spryker/sales-extension", @@ -16551,6 +16562,200 @@ "description": "SalesExtension module", "time": "2018-06-18T17:01:18+00:00" }, + { + "name": "spryker/sales-order-threshold", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold.git", + "reference": "9f07d37642016171cb76b9d13cbdf1174d33a6a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold/zipball/9f07d37642016171cb76b9d13cbdf1174d33a6a2", + "reference": "9f07d37642016171cb76b9d13cbdf1174d33a6a2", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/calculation-extension": "^1.0.0", + "spryker/cart-extension": "^1.0.0 || ^2.0.0", + "spryker/checkout-extension": "^1.0.0", + "spryker/currency": "^3.0.0", + "spryker/glossary": "^3.1.0", + "spryker/kernel": "^3.17.0", + "spryker/messenger": "^3.1.0", + "spryker/money": "^2.0.0", + "spryker/sales": "^8.14.0", + "spryker/sales-order-threshold-extension": "^1.0.0", + "spryker/store": "^1.2.0", + "spryker/tax": "^5.0.0" + }, + "require-dev": { + "spryker/checkout": "*", + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/calculation": "If you want to use Calculation plugins.", + "spryker/cart": "If you want to use Cart plugins: ^4.0.0.", + "spryker/checkout": "If you want to use Checkout plugins: ^3.0.0.", + "spryker/installer": "If you want to use Installer plugins: ^4.0.0." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\SalesOrderThreshold\\Helper\\": "tests/SprykerTest/Zed/SalesOrderThreshold/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThreshold module", + "time": "2018-10-04T13:35:59+00:00" + }, + { + "name": "spryker/sales-order-threshold-data-import", + "version": "0.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold-data-import.git", + "reference": "7de4e5c8cfcf15ffe5f5dbbc7db09c5e9d1a33d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold-data-import/zipball/7de4e5c8cfcf15ffe5f5dbbc7db09c5e9d1a33d4", + "reference": "7de4e5c8cfcf15ffe5f5dbbc7db09c5e9d1a33d4", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/currency": "^3.0.0", + "spryker/data-import": "^1.3.0", + "spryker/kernel": "^3.17.0", + "spryker/sales-order-threshold": "^1.0.0", + "spryker/store": "^1.2.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\SalesOrderThresholdDataImport\\Helper\\": "tests/SprykerTest/Zed/SalesOrderThresholdDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "SalesOrderThresholdDataImport module", + "time": "2018-10-04T13:35:59+00:00" + }, + { + "name": "spryker/sales-order-threshold-extension", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold-extension.git", + "reference": "897af49181ac74f936db1a4ee1cdee6d443f472d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold-extension/zipball/897af49181ac74f936db1a4ee1cdee6d443f472d", + "reference": "897af49181ac74f936db1a4ee1cdee6d443f472d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThresholdExtension module", + "time": "2018-10-04T13:35:59+00:00" + }, + { + "name": "spryker/sales-order-threshold-gui", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/sales-order-threshold-gui.git", + "reference": "93375f2cb3eed719c6affc1ebaf2c5ce6d60a661" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/sales-order-threshold-gui/zipball/93375f2cb3eed719c6affc1ebaf2c5ce6d60a661", + "reference": "93375f2cb3eed719c6affc1ebaf2c5ce6d60a661", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/currency": "^3.1.0", + "spryker/gui": "^3.1.0", + "spryker/kernel": "^3.18.0", + "spryker/locale": "^3.0.0", + "spryker/money": "^2.1.0", + "spryker/sales-order-threshold": "^1.0.0", + "spryker/store": "^1.2.0", + "spryker/symfony": "^3.1.0", + "spryker/tax": "^5.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SalesOrderThresholdGui module", + "time": "2018-10-04T13:35:59+00:00" + }, { "name": "spryker/sales-product-connector", "version": "1.1.1", @@ -17284,14 +17489,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", - "support": { - "source": "https://github.com/spryker/Silex/tree/2.0.1" - }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -18237,16 +18439,16 @@ }, { "name": "spryker/user", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/spryker/user.git", - "reference": "c8e0a8792a4f41502a445d46152cf357ac2426ac" + "reference": "fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/user/zipball/c8e0a8792a4f41502a445d46152cf357ac2426ac", - "reference": "c8e0a8792a4f41502a445d46152cf357ac2426ac", + "url": "https://api.github.com/repos/spryker/user/zipball/fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3", + "reference": "fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3", "shasum": "" }, "require": { @@ -18289,7 +18491,7 @@ "proprietary" ], "description": "User module", - "time": "2018-09-05T09:34:01+00:00" + "time": "2018-10-08T16:09:45+00:00" }, { "name": "spryker/user-extension", @@ -18446,19 +18648,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", - "support": { - "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18595,19 +18789,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilText module", - "support": { - "source": "https://github.com/spryker/UtilText/tree/master" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18684,19 +18870,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", - "support": { - "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -18780,28 +18958,25 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://code.spryker.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "WebProfiler module", - "support": { - "source": "https://github.com/spryker/WebProfiler/tree/1.0.0" - }, "time": "2018-01-10T11:59:45+00:00" }, { "name": "spryker/wishlist", - "version": "6.2.1", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/spryker/wishlist.git", - "reference": "11bfc8e7bca7673e7f4cc50d6b930a74a3fac23a" + "reference": "36719ae7efcab8f75fcc34054416feb25e7c8eec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/wishlist/zipball/11bfc8e7bca7673e7f4cc50d6b930a74a3fac23a", - "reference": "11bfc8e7bca7673e7f4cc50d6b930a74a3fac23a", + "url": "https://api.github.com/repos/spryker/wishlist/zipball/36719ae7efcab8f75fcc34054416feb25e7c8eec", + "reference": "36719ae7efcab8f75fcc34054416feb25e7c8eec", "shasum": "" }, "require": { @@ -18836,7 +19011,7 @@ "proprietary" ], "description": "Wishlist module", - "time": "2018-10-10T08:41:26+00:00" + "time": "2018-10-12T14:55:45+00:00" }, { "name": "spryker/wishlist-extension", @@ -19004,14 +19179,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Zend module", - "support": { - "source": "https://github.com/spryker/Zend/tree/2.1.0" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -19555,29 +19727,31 @@ }, { "name": "symfony/http-foundation", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" + "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9fcce5f0b6896a135d192cc9fd5394fd46f74eff", + "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php54": "~1.0", + "symfony/polyfill-php55": "~1.0" }, "require-dev": { - "symfony/expression-language": "~2.8|~3.0" + "symfony/expression-language": "~2.4|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -19604,7 +19778,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2016-07-17T13:54:30+00:00" + "time": "2018-09-23T15:27:53+00:00" }, { "name": "symfony/http-kernel", @@ -20050,6 +20224,120 @@ ], "time": "2018-08-06T14:22:27+00:00" }, + { + "name": "symfony/polyfill-php54", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "412977e090c6a8472dc39d50d1beb7d59495a965" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/412977e090c6a8472dc39d50d1beb7d59495a965", + "reference": "412977e090c6a8472dc39d50d1beb7d59495a965", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-php55", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php55.git", + "reference": "578b8528da843de0fc65ec395900fa3181f2ead7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/578b8528da843de0fc65ec395900fa3181f2ead7", + "reference": "578b8528da843de0fc65ec395900fa3181f2ead7", + "shasum": "" + }, + "require": { + "ircmaxell/password-compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php55\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, { "name": "symfony/polyfill-php56", "version": "v1.9.0", @@ -20411,22 +20699,22 @@ }, { "name": "symfony/security", - "version": "v3.2.13", + "version": "v3.2.14", "source": { "type": "git", "url": "https://github.com/symfony/security.git", - "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c" + "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security/zipball/3f6e39f1918f009524e36a56f1609cf74a8cd47c", - "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c", + "url": "https://api.github.com/repos/symfony/security/zipball/9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", + "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", "shasum": "" }, "require": { "php": ">=5.5.9", "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", + "symfony/http-foundation": "~2.8.31|~3.2.14", "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-php56": "~1.0", "symfony/polyfill-php70": "~1.0", @@ -20485,7 +20773,7 @@ ], "description": "Symfony Security Component", "homepage": "https://symfony.com", - "time": "2017-07-29T21:27:41+00:00" + "time": "2017-11-16T17:55:54+00:00" }, { "name": "symfony/serializer", @@ -20636,33 +20924,29 @@ }, { "name": "symfony/twig-bridge", - "version": "v3.3.18", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "c4f577a8043b175353e19ce003b637aff2130c57" + "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c4f577a8043b175353e19ce003b637aff2130c57", - "reference": "c4f577a8043b175353e19ce003b637aff2130c57", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", + "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "twig/twig": "~1.34|~2.4" - }, - "conflict": { - "symfony/form": "<3.2.10|~3.3,<3.3.3" + "php": ">=5.5.9", + "twig/twig": "~1.23|~2.0" }, "require-dev": { "symfony/asset": "~2.8|~3.0", "symfony/console": "~2.8|~3.0", "symfony/expression-language": "~2.8|~3.0", "symfony/finder": "~2.8|~3.0", - "symfony/form": "^3.2.10|^3.3.3", - "symfony/http-foundation": "^3.3.11", - "symfony/http-kernel": "~3.2", + "symfony/form": "~3.0.4", + "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-intl-icu": "~1.0", "symfony/routing": "~2.8|~3.0", "symfony/security": "~2.8|~3.0", @@ -20670,9 +20954,7 @@ "symfony/stopwatch": "~2.8|~3.0", "symfony/templating": "~2.8|~3.0", "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2", - "symfony/web-link": "~3.3", - "symfony/workflow": "~3.3", + "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", "symfony/yaml": "~2.8|~3.0" }, "suggest": { @@ -20687,13 +20969,12 @@ "symfony/templating": "For using the TwigEngine", "symfony/translation": "For using the TranslationExtension", "symfony/var-dumper": "For using the DumpExtension", - "symfony/web-link": "For using the WebLinkExtension", "symfony/yaml": "For using the YamlExtension" }, "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -20720,7 +21001,7 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2018-01-03T17:13:53+00:00" + "time": "2016-07-28T11:13:34+00:00" }, { "name": "symfony/validator", @@ -23901,23 +24182,23 @@ }, { "name": "silex/web-profiler", - "version": "1.0.x-dev", + "version": "v1.0.8", "target-dir": "Silex/Provider", "source": { "type": "git", "url": "https://github.com/silexphp/Silex-WebProfiler.git", - "reference": "2c5df830c864bec709307e706176771b57440be5" + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/2c5df830c864bec709307e706176771b57440be5", - "reference": "2c5df830c864bec709307e706176771b57440be5", + "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/3b767e6c9006a542cac737474f02671bdf2909cb", + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb", "shasum": "" }, "require": { "silex/silex": "~1.1", - "symfony/stopwatch": "~2.2|3.0.*", - "symfony/web-profiler-bundle": "~2.4|3.0.*" + "symfony/stopwatch": "~2.2", + "symfony/web-profiler-bundle": "~2.4" }, "type": "library", "extra": { @@ -23943,7 +24224,7 @@ "description": "A WebProfiler for Silex", "homepage": "http://silex.sensiolabs.org/", "abandoned": true, - "time": "2016-05-04T16:32:42+00:00" + "time": "2016-01-10T11:39:13+00:00" }, { "name": "site5/phantoman", @@ -24717,25 +24998,25 @@ }, { "name": "symfony/stopwatch", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "49c0ea2f3d3a779df4780927671332edc406ea84" + "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/49c0ea2f3d3a779df4780927671332edc406ea84", - "reference": "49c0ea2f3d3a779df4780927671332edc406ea84", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", + "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": ">=5.3.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -24762,7 +25043,7 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2016-06-29T05:40:00+00:00" + "time": "2018-07-24T10:05:38+00:00" }, { "name": "symfony/var-dumper", @@ -24841,34 +25122,35 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7" + "reference": "c82e39721df25d505781238270be737871f9bb78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", - "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c82e39721df25d505781238270be737871f9bb78", + "reference": "c82e39721df25d505781238270be737871f9bb78", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/twig-bridge": "~2.8|~3.0" + "php": ">=5.3.9", + "symfony/http-kernel": "~2.4|~3.0.0", + "symfony/routing": "~2.2|~3.0.0", + "symfony/twig-bridge": "~2.7|~3.0.0", + "twig/twig": "~1.34|~2.4" }, "require-dev": { - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" + "symfony/config": "~2.2|~3.0.0", + "symfony/console": "~2.3|~3.0.0", + "symfony/dependency-injection": "~2.2|~3.0.0", + "symfony/stopwatch": "~2.2|~3.0.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -24895,7 +25177,7 @@ ], "description": "Symfony WebProfilerBundle", "homepage": "https://symfony.com", - "time": "2016-07-26T08:03:56+00:00" + "time": "2018-09-24T08:42:32+00:00" }, { "name": "theseer/fdomdocument", diff --git a/src/Pyz/Zed/Cart/CartDependencyProvider.php b/src/Pyz/Zed/Cart/CartDependencyProvider.php index 776779973b..3613f00370 100644 --- a/src/Pyz/Zed/Cart/CartDependencyProvider.php +++ b/src/Pyz/Zed/Cart/CartDependencyProvider.php @@ -31,8 +31,6 @@ use Spryker\Zed\ProductOptionCartConnector\Communication\Plugin\CartItemProductOptionPlugin; use Spryker\Zed\ProductOptionCartConnector\Communication\Plugin\ChangeProductOptionQuantityPlugin; use Spryker\Zed\ProductOptionCartConnector\Communication\Plugin\ProductOptionValuePriceExistsCartPreCheckPlugin; -use Spryker\Zed\ProductQuantity\Communication\Plugin\Cart\ProductQuantityRestrictionCartPreCheckPlugin; -use Spryker\Zed\ProductQuantity\Communication\Plugin\CartExtension\ProductQuantityRestrictionCartRemovalPreCheckPlugin; use Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Cart\AddThresholdMessagesCartPreReloadItemsPlugin; use Spryker\Zed\SalesQuantity\Communication\Plugin\Cart\IsQuantitySplittableItemExpanderPlugin; use Spryker\Zed\ShipmentCartConnector\Communication\Plugin\Cart\CartShipmentExpanderPlugin; From b3b919bbd41483222817512620533fad018041e3 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Tue, 16 Oct 2018 10:31:38 +0300 Subject: [PATCH 31/91] SUITE-743: update package.json --- package-lock.json | 737 ++++++++++++++++++---------------------------- package.json | 24 +- 2 files changed, 306 insertions(+), 455 deletions(-) diff --git a/package-lock.json b/package-lock.json index 93e99a4780..40f990155b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "spryker-suite", + "name": "spryker-master-suite", "requires": true, "lockfileVersion": 1, "dependencies": { @@ -37,36 +37,33 @@ "dev": true, "requires": { "@spryker/oryx": "1.2.0", - "autoprefixer": "8.3.0", "core-js": "2.5.7", "css-loader": "0.28.11", "es6-promise": "4.0.5", "file-loader": "1.1.11", "imports-loader": "0.8.0", "mini-css-extract-plugin": "0.4.0", - "node-sass": "4.8.3", "optimize-css-assets-webpack-plugin": "4.0.2", "postcss-loader": "2.1.5", "resolve-url-loader": "2.3.0", "sass-loader": "7.0.3", "style-loader": "0.21.0", "uglifyjs-webpack-plugin": "1.2.5", - "webpack": "4.6.0", "yargs": "11.0.0" } }, "@spryker/suite-frontend-builder": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@spryker/suite-frontend-builder/-/suite-frontend-builder-0.3.0.tgz", - "integrity": "sha512-sOsEVGE0OxKrC9s/86KxbVyuXoU6Bme5p4B58N2RVKBokXSri93B8ykDZhzrv1pILi2etU8V2umbNo3ZLCaCWA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@spryker/suite-frontend-builder/-/suite-frontend-builder-0.3.2.tgz", + "integrity": "sha512-itIvBhfeqKMkIZOS6TD47AzKg1r4GO51SYcMR1WDv9CNelpa3yvu6xV4rFHlQzBr7tZQ7gcNwelT0cC/SuJ55A==", "dev": true, "requires": { - "autoprefixer": "8.6.2", + "autoprefixer": "8.6.5", "clean-webpack-plugin": "0.1.19", "css-loader": "0.28.11", "fast-glob": "2.2.2", "mini-css-extract-plugin": "0.4.0", - "node-sass": "4.9.0", + "node-sass": "4.9.4", "optimize-css-assets-webpack-plugin": "4.0.2", "postcss-loader": "2.1.5", "sass-loader": "7.0.3", @@ -74,117 +71,7 @@ "ts-loader": "4.4.1", "typescript": "2.9.2", "uglifyjs-webpack-plugin": "1.2.5", - "webpack": "4.12.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "autoprefixer": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.2.tgz", - "integrity": "sha512-cv9v1mYYBcAnZq4MHseJ9AIdjQmNahnpCpPO46oTkQJS2GggsBp2azHjNpAuQ95Epvsg+AIsyjYhfI9YwFxGSA==", - "dev": true, - "requires": { - "browserslist": "3.2.8", - "caniuse-lite": "1.0.30000856", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.22", - "postcss-value-parser": "3.3.0" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "requires": { - "tslib": "1.9.2" - } - }, - "node-sass": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz", - "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", - "dev": true, - "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.3", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.1", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.10.0", - "node-gyp": "3.7.0", - "npmlog": "4.1.2", - "request": "2.79.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0", - "true-case-path": "1.0.2" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webpack": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.12.0.tgz", - "integrity": "sha512-EJj2FfhgtjrTbJbJaNulcVpDxi9vsQVvTahHN7xJvIv6W+k4r/E6Hxy4eyOrj+IAFWqYgaUtnpxmSGYP8MSZJw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.12", - "@webassemblyjs/helper-module-context": "1.5.12", - "@webassemblyjs/wasm-edit": "1.5.12", - "@webassemblyjs/wasm-opt": "1.5.12", - "@webassemblyjs/wasm-parser": "1.5.12", - "acorn": "5.7.1", - "acorn-dynamic-import": "3.0.0", - "ajv": "6.5.1", - "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", - "enhanced-resolve": "4.0.0", - "eslint-scope": "3.7.1", - "json-parse-better-errors": "1.0.2", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "neo-async": "2.5.1", - "node-libs-browser": "2.1.0", - "schema-utils": "0.4.5", - "tapable": "1.0.0", - "uglifyjs-webpack-plugin": "1.2.5", - "watchpack": "1.6.0", - "webpack-sources": "1.1.0" - } - } + "webpack": "4.12.2" } }, "@webassemblyjs/ast": { @@ -667,12 +554,6 @@ "util": "0.10.3" } }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -713,31 +594,38 @@ "dev": true }, "autoprefixer": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.3.0.tgz", - "integrity": "sha512-HY2K4efAvC97v6j83pgV97Lieal51xhIV8EitvS4SrWcI+IGVZgjpihvXImsmIUzA6kb/tglPKzERG1oRFOvRA==", + "version": "8.6.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz", + "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==", "dev": true, "requires": { "browserslist": "3.2.8", - "caniuse-lite": "1.0.30000856", + "caniuse-lite": "1.0.30000892", "normalize-range": "0.1.2", "num2fraction": "1.2.2", - "postcss": "6.0.22", + "postcss": "6.0.23", "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30000892", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz", + "integrity": "sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w==", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + } } }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "aws4": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", - "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", - "dev": true - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -886,15 +774,6 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1159,12 +1038,6 @@ "integrity": "sha512-x3mYcApHMQemyaHuH/RyqtKCGIYTgEA63fdi+VBvDz8xUSmRiVWTLeyKcoGQCGG6UPR9/+4qG4OKrTa6aSQRKg==", "dev": true }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true - }, "chalk": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", @@ -1202,12 +1075,6 @@ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true }, - "chrome-trace-event": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz", - "integrity": "sha512-sjndyZHrrWiu4RY7AkHgjn80GfAM2ZSzUkZLV/Js59Ldmh6JDThf0SUmOHU53rFu2rVxxfCzJ30Ukcfch3Gb/A==", - "dev": true - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1315,6 +1182,12 @@ "shallow-clone": "1.0.0" } }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, "coa": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", @@ -1401,12 +1274,6 @@ "delayed-stream": "1.0.0" } }, - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -1603,15 +1470,6 @@ "which": "1.3.1" } }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -2292,12 +2150,6 @@ } } }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -2513,17 +2365,6 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -3133,21 +2974,6 @@ "globule": "1.2.1" } }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "requires": { - "is-property": "1.0.2" - } - }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -3260,44 +3086,11 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.15.1", - "is-my-json-valid": "2.17.2", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "has": { "version": "1.0.3", @@ -3381,18 +3174,6 @@ "minimalistic-assert": "1.0.1" } }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -3404,12 +3185,6 @@ "minimalistic-crypto-utils": "1.0.1" } }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, "hosted-git-info": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", @@ -3422,17 +3197,6 @@ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", "dev": true }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" - } - }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -3677,25 +3441,6 @@ "is-extglob": "2.1.1" } }, - "is-my-ip-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", - "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", - "dev": true - }, - "is-my-json-valid": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", - "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", - "dev": true, - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" - } - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -3748,12 +3493,6 @@ "isobject": "3.0.1" } }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", - "dev": true - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3811,11 +3550,6 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" - }, "js-base64": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz", @@ -3881,12 +3615,6 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -4287,21 +4015,6 @@ "brorand": "1.1.0" } }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dev": true, - "requires": { - "mime-db": "1.33.0" - } - }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -4469,34 +4182,6 @@ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", "dev": true }, - "node-gyp": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz", - "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", - "dev": true, - "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.5", - "request": "2.79.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.1" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - } - } - }, "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", @@ -4537,9 +4222,9 @@ } }, "node-sass": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.8.3.tgz", - "integrity": "sha512-tfFWhUsCk/Y19zarDcPo5xpj+IW3qCfOjVdHtYeG6S1CKbQOh1zqylnQK6cV3z9k80yxAnFX9Y+a9+XysDhhfg==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.4.tgz", + "integrity": "sha512-MXyurANsUoE4/6KmfMkwGcBzAnJQ5xJBGW7Ei6ea8KnUKuzHr/SguVBIi3uaUAHtZCPUYkvlJ3Ef5T5VAwVpaA==", "dev": true, "requires": { "async-foreach": "0.1.3", @@ -4555,20 +4240,56 @@ "meow": "3.7.0", "mkdirp": "0.5.1", "nan": "2.10.0", - "node-gyp": "3.7.0", + "node-gyp": "3.8.0", "npmlog": "4.1.2", - "request": "2.79.0", + "request": "2.88.0", "sass-graph": "2.2.4", "stdout-stream": "1.4.0", "true-case-path": "1.0.2" }, "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -4582,11 +4303,173 @@ "supports-color": "2.0.0" } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.20" + } + }, + "har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true + }, + "mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "dev": true, + "requires": { + "mime-db": "1.36.0" + } + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.88.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.1.0", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.20", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "1.1.29", + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true } } }, @@ -4671,12 +4554,6 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -4926,6 +4803,12 @@ "sha.js": "2.4.11" } }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -6946,6 +6829,12 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, "public-encrypt": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", @@ -6992,12 +6881,6 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, - "qs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true - }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", @@ -7208,34 +7091,6 @@ "is-finite": "1.0.2" } }, - "request": { - "version": "2.79.0", - "resolved": "http://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.7.0", - "caseless": "0.11.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.6", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.4.3", - "uuid": "3.2.1" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -7730,15 +7585,6 @@ } } }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, "sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -7955,12 +7801,6 @@ "safe-buffer": "5.1.2" } }, - "stringstream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", - "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "dev": true - }, "strip-ansi": { "version": "3.0.1", "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -8112,23 +7952,6 @@ "repeat-string": "1.6.1" } }, - "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "dev": true, - "requires": { - "punycode": "1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -8184,12 +8007,6 @@ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true - }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", @@ -8419,12 +8236,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", - "dev": true - }, "validate-npm-package-license": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", @@ -8481,18 +8292,24 @@ } }, "webpack": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.6.0.tgz", - "integrity": "sha512-Fu/k/3fZeGtIhuFkiYpIy1UDHhMiGKjG4FFPVuvG+5Os2lWA1ttWpmi9Qnn6AgfZqj9MvhZW/rmj/ip+nHr06g==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.12.2.tgz", + "integrity": "sha512-qgZAR7T+pvvKSO62gn8kdn+lDeqAH4eyjaUMeLUx4BS/wQghFFCw/JamWhNJ2d95tTOSS130h2WNiNr+Ff3J+A==", "dev": true, "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/helper-module-context": "1.5.12", + "@webassemblyjs/wasm-edit": "1.5.12", + "@webassemblyjs/wasm-opt": "1.5.12", + "@webassemblyjs/wasm-parser": "1.5.12", "acorn": "5.7.1", "acorn-dynamic-import": "3.0.0", "ajv": "6.5.1", "ajv-keywords": "3.2.0", - "chrome-trace-event": "0.1.3", + "chrome-trace-event": "1.0.0", "enhanced-resolve": "4.0.0", "eslint-scope": "3.7.1", + "json-parse-better-errors": "1.0.2", "loader-runner": "2.3.0", "loader-utils": "1.1.0", "memory-fs": "0.4.1", @@ -8505,6 +8322,26 @@ "uglifyjs-webpack-plugin": "1.2.5", "watchpack": "1.6.0", "webpack-sources": "1.1.0" + }, + "dependencies": { + "chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "dev": true, + "requires": { + "tslib": "1.9.2" + } + } + } + }, + "webpack-merge": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", + "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" } }, "webpack-sources": { diff --git a/package.json b/package.json index 85280dc4c4..9d89bd99fb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, - "name": "spryker-suite", - "description": "Spryker Suite project", + "name": "spryker-master-suite", + "description": "Spryker Master Suite", "author": { "name": "Spryker Systems GmbH", "email": "info@spryker.com", @@ -20,14 +20,28 @@ "npm": ">=5.6.0" }, "dependencies": { - "@webcomponents/webcomponentsjs": "~2.0.0", + "@webcomponents/webcomponentsjs": "~2.0.2", "core-js": "~2.5.7", - "jquery": "^3.3.1", "lodash-es": "~4.17.10" }, "devDependencies": { "@spryker/oryx-for-zed": "^2.1.0", "@spryker/suite-frontend-builder": "^0.3.0", - "copy-webpack-plugin": "~4.5.1" + "autoprefixer": "~8.6.2", + "clean-webpack-plugin": "~0.1.19", + "copy-webpack-plugin": "~4.5.1", + "css-loader": "~0.28.10", + "fast-glob": "~2.2.2", + "mini-css-extract-plugin": "~0.4.0", + "node-sass": "~4.9.0", + "optimize-css-assets-webpack-plugin": "~4.0.2", + "postcss-loader": "~2.1.5", + "sass-loader": "~7.0.3", + "sass-resources-loader": "~1.3.3", + "ts-loader": "~4.4.1", + "typescript": "~2.9.1", + "uglifyjs-webpack-plugin": "~1.2.4", + "webpack": "~4.12.0", + "webpack-merge": "~4.1.3" } } From 99fba5690523b37d3e5d512db52e7f82e1177c4c Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Tue, 16 Oct 2018 11:09:32 +0000 Subject: [PATCH 32/91] SUITE-746: update composer, fixed OMS --- composer.lock | 388 ++++++++++++-------------------- package-lock.json | 554 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 696 insertions(+), 246 deletions(-) diff --git a/composer.lock b/composer.lock index 5a5d6c84cf..75f24a5b73 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.69.5", + "version": "3.69.7", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "cf01c814404a28a76a2431f80d2e6ea82c9045c8" + "reference": "24d9a07aba51a61a889d7ce427605f12087e3b42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cf01c814404a28a76a2431f80d2e6ea82c9045c8", - "reference": "cf01c814404a28a76a2431f80d2e6ea82c9045c8", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/24d9a07aba51a61a889d7ce427605f12087e3b42", + "reference": "24d9a07aba51a61a889d7ce427605f12087e3b42", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-10-11T22:32:08+00:00" + "time": "2018-10-15T21:16:38+00:00" }, { "name": "codeitnowin/barcode", @@ -897,48 +897,6 @@ ], "time": "2014-10-12T19:18:40+00:00" }, - { - "name": "ircmaxell/password-compat", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "type": "library", - "autoload": { - "files": [ - "lib/password.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anthony Ferrara", - "email": "ircmaxell@php.net", - "homepage": "http://blog.ircmaxell.com" - } - ], - "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", - "homepage": "https://github.com/ircmaxell/password_compat", - "keywords": [ - "hashing", - "password" - ], - "time": "2014-11-20T16:49:30+00:00" - }, { "name": "league/csv", "version": "9.1.4", @@ -1008,16 +966,16 @@ }, { "name": "league/flysystem", - "version": "1.0.47", + "version": "1.0.48", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c" + "reference": "a6ded5b2f6055e2db97b4b859fdfca2b952b78aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a11e4a75f256bdacf99d20780ce42d3b8272975c", - "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a6ded5b2f6055e2db97b4b859fdfca2b952b78aa", + "reference": "a6ded5b2f6055e2db97b4b859fdfca2b952b78aa", "shasum": "" }, "require": { @@ -1088,7 +1046,7 @@ "sftp", "storage" ], - "time": "2018-09-14T15:30:29+00:00" + "time": "2018-10-15T13:53:10+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -2126,15 +2084,16 @@ "source": { "type": "git", "url": "https://github.com/spryker-eco/loggly.git", - "reference": "7eba12eea3cc9b81d434a6de3ec52ea3cbff2e5b" + "reference": "fc1e2ff2e0f7974d8403ffc785b66a12a5265328" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-eco/loggly/zipball/7eba12eea3cc9b81d434a6de3ec52ea3cbff2e5b", - "reference": "7eba12eea3cc9b81d434a6de3ec52ea3cbff2e5b", + "url": "https://api.github.com/repos/spryker-eco/loggly/zipball/fc1e2ff2e0f7974d8403ffc785b66a12a5265328", + "reference": "fc1e2ff2e0f7974d8403ffc785b66a12a5265328", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/kernel": "^3.0.0" }, "require-dev": { @@ -2162,7 +2121,7 @@ "proprietary" ], "description": "Loggly module", - "time": "2018-09-04T14:37:05+00:00" + "time": "2018-10-16T09:31:49+00:00" }, { "name": "spryker-shop/agent-page", @@ -3900,16 +3859,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.4.4", + "version": "1.4.5", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14" + "reference": "ed04c3d952fe51cee655e3fa1280eb0a899968e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14", - "reference": "80ebdc8c00a7ddb317a8e4f82b6841bcb3a64b14", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/ed04c3d952fe51cee655e3fa1280eb0a899968e4", + "reference": "ed04c3d952fe51cee655e3fa1280eb0a899968e4", "shasum": "" }, "require": { @@ -3942,7 +3901,7 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-10-11T13:51:20+00:00" + "time": "2018-10-15T09:09:06+00:00" }, { "name": "spryker-shop/product-discontinued-widget", @@ -4176,33 +4135,37 @@ }, { "name": "spryker-shop/product-option-widget", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-option-widget.git", - "reference": "62bbfdc23c0f3e4b6bf214660915b9e7c37b617b" + "reference": "50b30567682c1a99fabf57dc8c71ace8643c5529" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-option-widget/zipball/62bbfdc23c0f3e4b6bf214660915b9e7c37b617b", - "reference": "62bbfdc23c0f3e4b6bf214660915b9e7c37b617b", + "url": "https://api.github.com/repos/spryker-shop/product-option-widget/zipball/50b30567682c1a99fabf57dc8c71ace8643c5529", + "reference": "50b30567682c1a99fabf57dc8c71ace8643c5529", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", + "spryker-shop/shopping-list-page-extension": "^1.1.0", "spryker/kernel": "^3.16.0", - "spryker/product-option-storage": "^1.0.0" + "spryker/product-option-storage": "^1.0.0", + "spryker/symfony": "^3.0.0" }, "require-dev": { "spryker-shop/cart-page": "*", "spryker-shop/product-detail-page": "*", + "spryker-shop/shopping-list-page": "*", "spryker/code-sniffer": "*", "spryker/testify": "*" }, "suggest": { "spryker-shop/cart-page": "Widget plugins are available for this module.", - "spryker-shop/product-detail-page": "Widget plugins are available for this module." + "spryker-shop/product-detail-page": "Widget plugins are available for this module.", + "spryker-shop/shopping-list-page": "Widget plugins are available for this module." }, "type": "library", "extra": { @@ -4220,7 +4183,7 @@ "proprietary" ], "description": "ProductOptionWidget module", - "time": "2018-09-20T08:42:29+00:00" + "time": "2018-10-08T11:31:51+00:00" }, { "name": "spryker-shop/product-relation-widget", @@ -4616,16 +4579,16 @@ }, { "name": "spryker-shop/shop-application", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-application.git", - "reference": "c61294a161eca82620bf989a879523fa88428d02" + "reference": "5da286b373f7a244118ba22181c30e5a5c07e4e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-application/zipball/c61294a161eca82620bf989a879523fa88428d02", - "reference": "c61294a161eca82620bf989a879523fa88428d02", + "url": "https://api.github.com/repos/spryker-shop/shop-application/zipball/5da286b373f7a244118ba22181c30e5a5c07e4e1", + "reference": "5da286b373f7a244118ba22181c30e5a5c07e4e1", "shasum": "" }, "require": { @@ -4666,7 +4629,7 @@ "proprietary" ], "description": "ShopApplication module", - "time": "2018-09-24T06:42:14+00:00" + "time": "2018-10-15T12:37:34+00:00" }, { "name": "spryker-shop/shop-application-extension", @@ -4923,6 +4886,49 @@ "description": "ShopUiExtension module", "time": "2018-05-25T12:28:17+00:00" }, + { + "name": "spryker-shop/shopping-list-page-extension", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/shopping-list-page-extension.git", + "reference": "8e4c1ab3e9ed596095c3920140c9c698e136b044" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/shopping-list-page-extension/zipball/8e4c1ab3e9ed596095c3920140c9c698e136b044", + "reference": "8e4c1ab3e9ed596095c3920140c9c698e136b044", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/symfony": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/symfony": "If you want to use ShoppingListPage form expander plugins." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ShoppingListPageExtension module", + "time": "2018-10-03T15:29:44+00:00" + }, { "name": "spryker-shop/web-profiler-widget", "version": "1.0.0", @@ -7954,16 +7960,16 @@ }, { "name": "spryker/collector", - "version": "6.1.6", + "version": "6.1.7", "source": { "type": "git", "url": "https://github.com/spryker/collector.git", - "reference": "1b4f455ce3aee1db420aab5e69ca5a8277dee7f5" + "reference": "6ef79f1d9842271e2aa9f9f9c397a0552947de6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/collector/zipball/1b4f455ce3aee1db420aab5e69ca5a8277dee7f5", - "reference": "1b4f455ce3aee1db420aab5e69ca5a8277dee7f5", + "url": "https://api.github.com/repos/spryker/collector/zipball/6ef79f1d9842271e2aa9f9f9c397a0552947de6e", + "reference": "6ef79f1d9842271e2aa9f9f9c397a0552947de6e", "shasum": "" }, "require": { @@ -8005,7 +8011,7 @@ "proprietary" ], "description": "Collector module", - "time": "2018-09-07T11:05:09+00:00" + "time": "2018-10-08T12:38:04+00:00" }, { "name": "spryker/collector-search-connector", @@ -11764,16 +11770,16 @@ }, { "name": "spryker/oms", - "version": "8.3.1", + "version": "8.3.2", "source": { "type": "git", "url": "https://github.com/spryker/oms.git", - "reference": "9a6ab93d0a450ddb7d193bdaef177109c86f500c" + "reference": "1a28cb0c8ad8cbc1014b5e729ccba3bcc3702864" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oms/zipball/9a6ab93d0a450ddb7d193bdaef177109c86f500c", - "reference": "9a6ab93d0a450ddb7d193bdaef177109c86f500c", + "url": "https://api.github.com/repos/spryker/oms/zipball/1a28cb0c8ad8cbc1014b5e729ccba3bcc3702864", + "reference": "1a28cb0c8ad8cbc1014b5e729ccba3bcc3702864", "shasum": "" }, "require": { @@ -11816,7 +11822,7 @@ "proprietary" ], "description": "Oms module", - "time": "2018-10-12T12:20:56+00:00" + "time": "2018-10-12T15:59:47+00:00" }, { "name": "spryker/oms-discount-connector", @@ -14744,16 +14750,16 @@ }, { "name": "spryker/product-option", - "version": "6.3.0", + "version": "6.4.0", "source": { "type": "git", "url": "https://github.com/spryker/product-option.git", - "reference": "4e6247c04f766ccebc23a9747d500f48105714ae" + "reference": "050f253d6e74e1512d0b5ee1fc9af4fa2170b617" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-option/zipball/4e6247c04f766ccebc23a9747d500f48105714ae", - "reference": "4e6247c04f766ccebc23a9747d500f48105714ae", + "url": "https://api.github.com/repos/spryker/product-option/zipball/050f253d6e74e1512d0b5ee1fc9af4fa2170b617", + "reference": "050f253d6e74e1512d0b5ee1fc9af4fa2170b617", "shasum": "" }, "require": { @@ -14780,12 +14786,13 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { + "spryker/application": "*", "spryker/calculation": "*", "spryker/checkout": "*", - "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/propel": "*", - "spryker/silex": "*", - "spryker/testify": "*" + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/calculation": "If tax rate calculation for options is needed.", @@ -14808,7 +14815,7 @@ "proprietary" ], "description": "ProductOption module", - "time": "2018-07-15T19:55:05+00:00" + "time": "2018-10-05T10:47:27+00:00" }, { "name": "spryker/product-option-cart-connector", @@ -16999,16 +17006,16 @@ }, { "name": "spryker/search", - "version": "8.3.0", + "version": "8.3.1", "source": { "type": "git", "url": "https://github.com/spryker/search.git", - "reference": "cedcac50a1ad270ca9e410ebd99394518c6e11e5" + "reference": "6378fcde998740183067575f4c8e33af52955314" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/search/zipball/cedcac50a1ad270ca9e410ebd99394518c6e11e5", - "reference": "cedcac50a1ad270ca9e410ebd99394518c6e11e5", + "url": "https://api.github.com/repos/spryker/search/zipball/6378fcde998740183067575f4c8e33af52955314", + "reference": "6378fcde998740183067575f4c8e33af52955314", "shasum": "" }, "require": { @@ -17047,7 +17054,7 @@ "proprietary" ], "description": "Search module", - "time": "2018-09-24T09:04:03+00:00" + "time": "2018-10-08T12:38:04+00:00" }, { "name": "spryker/sequence-number", @@ -17229,16 +17236,16 @@ }, { "name": "spryker/shipment", - "version": "6.5.0", + "version": "6.6.0", "source": { "type": "git", "url": "https://github.com/spryker/shipment.git", - "reference": "6a77ded7de2d8e34bb9456ee52b6b973c26056c3" + "reference": "68be044859cc120479cb911ab7c075aa1f132829" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipment/zipball/6a77ded7de2d8e34bb9456ee52b6b973c26056c3", - "reference": "6a77ded7de2d8e34bb9456ee52b6b973c26056c3", + "url": "https://api.github.com/repos/spryker/shipment/zipball/68be044859cc120479cb911ab7c075aa1f132829", + "reference": "68be044859cc120479cb911ab7c075aa1f132829", "shasum": "" }, "require": { @@ -17257,13 +17264,15 @@ "spryker/zed-request": "^3.0.0" }, "require-dev": { + "spryker/application": "*", "spryker/calculation": "*", "spryker/checkout": "*", "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/country": "*", "spryker/propel": "*", - "spryker/silex": "*", - "spryker/testify": "*" + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/calculation": "If you want to use Calculation plugins.", @@ -17286,7 +17295,7 @@ "proprietary" ], "description": "Shipment module", - "time": "2018-07-15T19:55:05+00:00" + "time": "2018-10-15T08:40:06+00:00" }, { "name": "spryker/shipment-cart-connector", @@ -17425,16 +17434,16 @@ }, { "name": "spryker/shopping-list-extension", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/shopping-list-extension.git", - "reference": "6af87f025b8f501977bffd8852ca1896ed63c1cd" + "reference": "518656875e02bcec80f315301c9ac7c8c2610cf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shopping-list-extension/zipball/6af87f025b8f501977bffd8852ca1896ed63c1cd", - "reference": "6af87f025b8f501977bffd8852ca1896ed63c1cd", + "url": "https://api.github.com/repos/spryker/shopping-list-extension/zipball/518656875e02bcec80f315301c9ac7c8c2610cf9", + "reference": "518656875e02bcec80f315301c9ac7c8c2610cf9", "shasum": "" }, "require": { @@ -17460,7 +17469,7 @@ "proprietary" ], "description": "ShoppingListExtension module", - "time": "2018-09-20T14:14:45+00:00" + "time": "2018-10-05T12:25:36+00:00" }, { "name": "spryker/silex", @@ -18924,28 +18933,31 @@ }, { "name": "spryker/web-profiler", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/spryker/WebProfiler.git", - "reference": "e4c9a60956ce66d042ae3fdf8098ecb8f58d01fc" + "url": "https://github.com/spryker/web-profiler.git", + "reference": "1941017baadf5ebb8befdc349eaaebb897804d15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/WebProfiler/zipball/e4c9a60956ce66d042ae3fdf8098ecb8f58d01fc", - "reference": "e4c9a60956ce66d042ae3fdf8098ecb8f58d01fc", + "url": "https://api.github.com/repos/spryker/web-profiler/zipball/1941017baadf5ebb8befdc349eaaebb897804d15", + "reference": "1941017baadf5ebb8befdc349eaaebb897804d15", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/kernel": "^3.15.0" }, "require-dev": { "spryker/code-sniffer": "*", "spryker/silex": "*", + "spryker/symfony": "*", "spryker/testify": "*" }, "suggest": { - "spryker/silex": "If you want to use ServiceProvider plugins." + "spryker/silex": "If you want to use ServiceProvider plugins.", + "spryker/symfony": "If you want to use the WebProfilerServiceProvider plugin." }, "type": "library", "extra": { @@ -18963,7 +18975,7 @@ "proprietary" ], "description": "WebProfiler module", - "time": "2018-01-10T11:59:45+00:00" + "time": "2018-10-15T11:57:03+00:00" }, { "name": "spryker/wishlist", @@ -19727,31 +19739,29 @@ }, { "name": "symfony/http-foundation", - "version": "v2.8.46", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff" + "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9fcce5f0b6896a135d192cc9fd5394fd46f74eff", - "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", + "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php54": "~1.0", - "symfony/polyfill-php55": "~1.0" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { - "symfony/expression-language": "~2.4|~3.0.0" + "symfony/expression-language": "~2.8|~3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -19778,7 +19788,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2018-09-23T15:27:53+00:00" + "time": "2016-07-17T13:54:30+00:00" }, { "name": "symfony/http-kernel", @@ -20224,120 +20234,6 @@ ], "time": "2018-08-06T14:22:27+00:00" }, - { - "name": "symfony/polyfill-php54", - "version": "v1.9.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php54.git", - "reference": "412977e090c6a8472dc39d50d1beb7d59495a965" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/412977e090c6a8472dc39d50d1beb7d59495a965", - "reference": "412977e090c6a8472dc39d50d1beb7d59495a965", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php54\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-08-06T14:22:27+00:00" - }, - { - "name": "symfony/polyfill-php55", - "version": "v1.9.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php55.git", - "reference": "578b8528da843de0fc65ec395900fa3181f2ead7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/578b8528da843de0fc65ec395900fa3181f2ead7", - "reference": "578b8528da843de0fc65ec395900fa3181f2ead7", - "shasum": "" - }, - "require": { - "ircmaxell/password-compat": "~1.0", - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php55\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-08-06T14:22:27+00:00" - }, { "name": "symfony/polyfill-php56", "version": "v1.9.0", @@ -20699,22 +20595,22 @@ }, { "name": "symfony/security", - "version": "v3.2.14", + "version": "v3.2.13", "source": { "type": "git", "url": "https://github.com/symfony/security.git", - "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77" + "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security/zipball/9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", - "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", + "url": "https://api.github.com/repos/symfony/security/zipball/3f6e39f1918f009524e36a56f1609cf74a8cd47c", + "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c", "shasum": "" }, "require": { "php": ">=5.5.9", "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.31|~3.2.14", + "symfony/http-foundation": "~2.8|~3.0", "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-php56": "~1.0", "symfony/polyfill-php70": "~1.0", @@ -20773,7 +20669,7 @@ ], "description": "Symfony Security Component", "homepage": "https://symfony.com", - "time": "2017-11-16T17:55:54+00:00" + "time": "2017-07-29T21:27:41+00:00" }, { "name": "symfony/serializer", diff --git a/package-lock.json b/package-lock.json index 40f990155b..890bca3db5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,19 +37,117 @@ "dev": true, "requires": { "@spryker/oryx": "1.2.0", + "autoprefixer": "8.3.0", "core-js": "2.5.7", "css-loader": "0.28.11", "es6-promise": "4.0.5", "file-loader": "1.1.11", "imports-loader": "0.8.0", "mini-css-extract-plugin": "0.4.0", + "node-sass": "4.8.3", "optimize-css-assets-webpack-plugin": "4.0.2", "postcss-loader": "2.1.5", "resolve-url-loader": "2.3.0", "sass-loader": "7.0.3", "style-loader": "0.21.0", "uglifyjs-webpack-plugin": "1.2.5", + "webpack": "4.6.0", "yargs": "11.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "autoprefixer": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.3.0.tgz", + "integrity": "sha512-HY2K4efAvC97v6j83pgV97Lieal51xhIV8EitvS4SrWcI+IGVZgjpihvXImsmIUzA6kb/tglPKzERG1oRFOvRA==", + "dev": true, + "requires": { + "browserslist": "3.2.8", + "caniuse-lite": "1.0.30000856", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.22", + "postcss-value-parser": "3.3.0" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "node-sass": { + "version": "4.8.3", + "resolved": "http://registry.npmjs.org/node-sass/-/node-sass-4.8.3.tgz", + "integrity": "sha512-tfFWhUsCk/Y19zarDcPo5xpj+IW3qCfOjVdHtYeG6S1CKbQOh1zqylnQK6cV3z9k80yxAnFX9Y+a9+XysDhhfg==", + "dev": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.10.0", + "node-gyp": "3.8.0", + "npmlog": "4.1.2", + "request": "2.79.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "webpack": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.6.0.tgz", + "integrity": "sha512-Fu/k/3fZeGtIhuFkiYpIy1UDHhMiGKjG4FFPVuvG+5Os2lWA1ttWpmi9Qnn6AgfZqj9MvhZW/rmj/ip+nHr06g==", + "dev": true, + "requires": { + "acorn": "5.7.1", + "acorn-dynamic-import": "3.0.0", + "ajv": "6.5.1", + "ajv-keywords": "3.2.0", + "chrome-trace-event": "0.1.3", + "enhanced-resolve": "4.0.0", + "eslint-scope": "3.7.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "neo-async": "2.5.1", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.5", + "tapable": "1.0.0", + "uglifyjs-webpack-plugin": "1.2.5", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0" + } + } } }, "@spryker/suite-frontend-builder": { @@ -554,6 +652,12 @@ "util": "0.10.3" } }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -626,6 +730,18 @@ } } }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -774,6 +890,15 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1038,6 +1163,12 @@ "integrity": "sha512-x3mYcApHMQemyaHuH/RyqtKCGIYTgEA63fdi+VBvDz8xUSmRiVWTLeyKcoGQCGG6UPR9/+4qG4OKrTa6aSQRKg==", "dev": true }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, "chalk": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", @@ -1075,6 +1206,12 @@ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true }, + "chrome-trace-event": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz", + "integrity": "sha512-sjndyZHrrWiu4RY7AkHgjn80GfAM2ZSzUkZLV/Js59Ldmh6JDThf0SUmOHU53rFu2rVxxfCzJ30Ukcfch3Gb/A==", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1274,6 +1411,12 @@ "delayed-stream": "1.0.0" } }, + "commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -1470,6 +1613,15 @@ "which": "1.3.1" } }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -2150,6 +2302,12 @@ } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -2365,6 +2523,17 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.20" + } + }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -2974,6 +3143,24 @@ "globule": "1.2.1" } }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -3092,6 +3279,42 @@ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, + "har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + } + } + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3174,6 +3397,18 @@ "minimalistic-assert": "1.0.1" } }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -3185,6 +3420,12 @@ "minimalistic-crypto-utils": "1.0.1" } }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, "hosted-git-info": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", @@ -3197,6 +3438,17 @@ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", "dev": true }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -3441,6 +3693,25 @@ "is-extglob": "2.1.1" } }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz", + "integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==", + "dev": true, + "requires": { + "generate-function": "2.3.1", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -3493,6 +3764,12 @@ "isobject": "3.0.1" } }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3615,6 +3892,12 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -4015,6 +4298,21 @@ "brorand": "1.1.0" } }, + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true + }, + "mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "dev": true, + "requires": { + "mime-db": "1.36.0" + } + }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -4182,6 +4480,62 @@ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", "dev": true }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.88.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" + }, + "dependencies": { + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.1.0", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.20", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", @@ -4554,6 +4908,12 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -6881,6 +7241,12 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", @@ -7091,6 +7457,146 @@ "is-finite": "1.0.2" } }, + "request": { + "version": "2.79.0", + "resolved": "http://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.8.0", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.20", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3", + "uuid": "3.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.20" + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.18.0", + "is-my-json-valid": "2.19.0", + "pinkie-promise": "2.0.1" + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -7585,6 +8091,15 @@ } } }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, "sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -7801,6 +8316,12 @@ "safe-buffer": "5.1.2" } }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -7952,6 +8473,24 @@ "repeat-string": "1.6.1" } }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "1.1.29", + "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -8007,6 +8546,15 @@ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", @@ -8236,6 +8784,12 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", From d01c27c753019b5ce96e3c0e5a854ab2adeefdca Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Tue, 16 Oct 2018 13:19:29 +0000 Subject: [PATCH 33/91] SUITE-746: update composer.lock --- composer.lock | 104 ++++++++++++++++++++++++++------------------------ 1 file changed, 55 insertions(+), 49 deletions(-) diff --git a/composer.lock b/composer.lock index 75f24a5b73..d17873f20f 100644 --- a/composer.lock +++ b/composer.lock @@ -2084,12 +2084,12 @@ "source": { "type": "git", "url": "https://github.com/spryker-eco/loggly.git", - "reference": "fc1e2ff2e0f7974d8403ffc785b66a12a5265328" + "reference": "db0cff40b0d164599cf9fdce150e31374c1369b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-eco/loggly/zipball/fc1e2ff2e0f7974d8403ffc785b66a12a5265328", - "reference": "fc1e2ff2e0f7974d8403ffc785b66a12a5265328", + "url": "https://api.github.com/repos/spryker-eco/loggly/zipball/db0cff40b0d164599cf9fdce150e31374c1369b1", + "reference": "db0cff40b0d164599cf9fdce150e31374c1369b1", "shasum": "" }, "require": { @@ -2121,7 +2121,7 @@ "proprietary" ], "description": "Loggly module", - "time": "2018-10-16T09:31:49+00:00" + "time": "2018-10-16T13:00:22+00:00" }, { "name": "spryker-shop/agent-page", @@ -8379,16 +8379,16 @@ }, { "name": "spryker/customer", - "version": "7.11.0", + "version": "7.11.1", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "5c7c4eeb561508f3cdb7010a6b880142008dfa4f" + "reference": "e8f5d0cba28a0fe9f1c47ef9c1dfbf93d4a9c2cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/5c7c4eeb561508f3cdb7010a6b880142008dfa4f", - "reference": "5c7c4eeb561508f3cdb7010a6b880142008dfa4f", + "url": "https://api.github.com/repos/spryker/customer/zipball/e8f5d0cba28a0fe9f1c47ef9c1dfbf93d4a9c2cb", + "reference": "e8f5d0cba28a0fe9f1c47ef9c1dfbf93d4a9c2cb", "shasum": "" }, "require": { @@ -8438,7 +8438,7 @@ "proprietary" ], "description": "Customer module", - "time": "2018-10-04T08:01:59+00:00" + "time": "2018-10-16T11:16:32+00:00" }, { "name": "spryker/customer-access", @@ -20820,29 +20820,33 @@ }, { "name": "symfony/twig-bridge", - "version": "v3.0.9", + "version": "v3.3.18", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" + "reference": "c4f577a8043b175353e19ce003b637aff2130c57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c4f577a8043b175353e19ce003b637aff2130c57", + "reference": "c4f577a8043b175353e19ce003b637aff2130c57", "shasum": "" }, "require": { - "php": ">=5.5.9", - "twig/twig": "~1.23|~2.0" + "php": "^5.5.9|>=7.0.8", + "twig/twig": "~1.34|~2.4" + }, + "conflict": { + "symfony/form": "<3.2.10|~3.3,<3.3.3" }, "require-dev": { "symfony/asset": "~2.8|~3.0", "symfony/console": "~2.8|~3.0", "symfony/expression-language": "~2.8|~3.0", "symfony/finder": "~2.8|~3.0", - "symfony/form": "~3.0.4", - "symfony/http-kernel": "~2.8|~3.0", + "symfony/form": "^3.2.10|^3.3.3", + "symfony/http-foundation": "^3.3.11", + "symfony/http-kernel": "~3.2", "symfony/polyfill-intl-icu": "~1.0", "symfony/routing": "~2.8|~3.0", "symfony/security": "~2.8|~3.0", @@ -20850,7 +20854,9 @@ "symfony/stopwatch": "~2.8|~3.0", "symfony/templating": "~2.8|~3.0", "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", + "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2", + "symfony/web-link": "~3.3", + "symfony/workflow": "~3.3", "symfony/yaml": "~2.8|~3.0" }, "suggest": { @@ -20865,12 +20871,13 @@ "symfony/templating": "For using the TwigEngine", "symfony/translation": "For using the TranslationExtension", "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", "symfony/yaml": "For using the YamlExtension" }, "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -20897,7 +20904,7 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2016-07-28T11:13:34+00:00" + "time": "2018-01-03T17:13:53+00:00" }, { "name": "symfony/validator", @@ -24078,23 +24085,23 @@ }, { "name": "silex/web-profiler", - "version": "v1.0.8", + "version": "1.0.x-dev", "target-dir": "Silex/Provider", "source": { "type": "git", "url": "https://github.com/silexphp/Silex-WebProfiler.git", - "reference": "3b767e6c9006a542cac737474f02671bdf2909cb" + "reference": "2c5df830c864bec709307e706176771b57440be5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/3b767e6c9006a542cac737474f02671bdf2909cb", - "reference": "3b767e6c9006a542cac737474f02671bdf2909cb", + "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/2c5df830c864bec709307e706176771b57440be5", + "reference": "2c5df830c864bec709307e706176771b57440be5", "shasum": "" }, "require": { "silex/silex": "~1.1", - "symfony/stopwatch": "~2.2", - "symfony/web-profiler-bundle": "~2.4" + "symfony/stopwatch": "~2.2|3.0.*", + "symfony/web-profiler-bundle": "~2.4|3.0.*" }, "type": "library", "extra": { @@ -24120,7 +24127,7 @@ "description": "A WebProfiler for Silex", "homepage": "http://silex.sensiolabs.org/", "abandoned": true, - "time": "2016-01-10T11:39:13+00:00" + "time": "2016-05-04T16:32:42+00:00" }, { "name": "site5/phantoman", @@ -24894,25 +24901,25 @@ }, { "name": "symfony/stopwatch", - "version": "v2.8.46", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8" + "reference": "49c0ea2f3d3a779df4780927671332edc406ea84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", - "reference": "12a4b0c2a1788adf16a5548ab18ab9e8801d71d8", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/49c0ea2f3d3a779df4780927671332edc406ea84", + "reference": "49c0ea2f3d3a779df4780927671332edc406ea84", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -24939,7 +24946,7 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2018-07-24T10:05:38+00:00" + "time": "2016-06-29T05:40:00+00:00" }, { "name": "symfony/var-dumper", @@ -25018,35 +25025,34 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v2.8.46", + "version": "v3.0.9", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "c82e39721df25d505781238270be737871f9bb78" + "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c82e39721df25d505781238270be737871f9bb78", - "reference": "c82e39721df25d505781238270be737871f9bb78", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", + "reference": "27f53ac86d85d6eeb3fbe08be026d7b447ad86d7", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/http-kernel": "~2.4|~3.0.0", - "symfony/routing": "~2.2|~3.0.0", - "symfony/twig-bridge": "~2.7|~3.0.0", - "twig/twig": "~1.34|~2.4" + "php": ">=5.5.9", + "symfony/http-kernel": "~2.8|~3.0", + "symfony/routing": "~2.8|~3.0", + "symfony/twig-bridge": "~2.8|~3.0" }, "require-dev": { - "symfony/config": "~2.2|~3.0.0", - "symfony/console": "~2.3|~3.0.0", - "symfony/dependency-injection": "~2.2|~3.0.0", - "symfony/stopwatch": "~2.2|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/console": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -25073,7 +25079,7 @@ ], "description": "Symfony WebProfilerBundle", "homepage": "https://symfony.com", - "time": "2018-09-24T08:42:32+00:00" + "time": "2016-07-26T08:03:56+00:00" }, { "name": "theseer/fdomdocument", From f068f8593eb5279f210f7d56fb6df19a2309702e Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Tue, 16 Oct 2018 19:27:50 +0300 Subject: [PATCH 34/91] SUITE-758: update composer, package --- composer.json | 2 +- composer.lock | 222 +++++++++++++++--- package-lock.json | 7 +- package.json | 5 +- src/Pyz/Zed/CmsStorage/CmsStorageConfig.php | 22 ++ .../Zed/Console/ConsoleDependencyProvider.php | 3 + 6 files changed, 225 insertions(+), 36 deletions(-) create mode 100755 src/Pyz/Zed/CmsStorage/CmsStorageConfig.php diff --git a/composer.json b/composer.json index a6979a9d57..410c992493 100644 --- a/composer.json +++ b/composer.json @@ -161,7 +161,7 @@ "spryker/egulias": "^1.0.0", "spryker/elastica": "^4.0.0", "spryker/error-handler": "^2.3.0", - "spryker/event": "^2.3.0", + "spryker/event": "^2.3.1", "spryker/event-behavior": "^1.1.0", "spryker/event-journal": "^3.0.0", "spryker/file-system": "^1.0.0", diff --git a/composer.lock b/composer.lock index d17873f20f..40bbf6f90f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "f7e7e660750236e3ea74d0166ff28b42", + "content-hash": "7fd5489c7b2820f77268dc31df0ff4dc", "packages": [ { "name": "aws/aws-sdk-php", @@ -897,6 +897,48 @@ ], "time": "2014-10-12T19:18:40+00:00" }, + { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" + ], + "time": "2014-11-20T16:49:30+00:00" + }, { "name": "league/csv", "version": "9.1.4", @@ -2986,16 +3028,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5" + "reference": "d38d65be647ed5eb41972938eec6c143ff4e21a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5", - "reference": "4064b8c67e338a9d43bf9c5dd17aebf7fa40fec5", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/d38d65be647ed5eb41972938eec6c143ff4e21a7", + "reference": "d38d65be647ed5eb41972938eec6c143ff4e21a7", "shasum": "" }, "require": { @@ -3046,7 +3088,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-10-12T12:34:24+00:00" + "time": "2018-10-16T12:29:03+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -8489,16 +8531,16 @@ }, { "name": "spryker/customer-access-permission", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/customer-access-permission.git", - "reference": "8869e6224b408836f2034a0fafc19a423fd99e1e" + "reference": "3180be9d73429e132f6c264f2e9d0008574bcfbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-access-permission/zipball/8869e6224b408836f2034a0fafc19a423fd99e1e", - "reference": "8869e6224b408836f2034a0fafc19a423fd99e1e", + "url": "https://api.github.com/repos/spryker/customer-access-permission/zipball/3180be9d73429e132f6c264f2e9d0008574bcfbe", + "reference": "3180be9d73429e132f6c264f2e9d0008574bcfbe", "shasum": "" }, "require": { @@ -8506,7 +8548,7 @@ "spryker/customer": "^7.0.0", "spryker/customer-access-storage": "^1.0.0", "spryker/kernel": "^3.0.0", - "spryker/permission-extension": "^1.0.0" + "spryker/permission-extension": "^1.1.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -8528,7 +8570,7 @@ "proprietary" ], "description": "CustomerAccessPermission module", - "time": "2018-10-10T09:18:10+00:00" + "time": "2018-10-16T11:38:02+00:00" }, { "name": "spryker/customer-access-storage", @@ -16462,16 +16504,16 @@ }, { "name": "spryker/sales", - "version": "8.15.0", + "version": "8.15.1", "source": { "type": "git", "url": "https://github.com/spryker/sales.git", - "reference": "a2c2263a983bacb6510e102d983e9b9ee4a09aed" + "reference": "e43006292892f9c746bd50efe32b8b91abede477" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales/zipball/a2c2263a983bacb6510e102d983e9b9ee4a09aed", - "reference": "a2c2263a983bacb6510e102d983e9b9ee4a09aed", + "url": "https://api.github.com/repos/spryker/sales/zipball/e43006292892f9c746bd50efe32b8b91abede477", + "reference": "e43006292892f9c746bd50efe32b8b91abede477", "shasum": "" }, "require": { @@ -16528,7 +16570,7 @@ "proprietary" ], "description": "Sales module", - "time": "2018-10-12T12:20:56+00:00" + "time": "2018-10-16T12:28:55+00:00" }, { "name": "spryker/sales-extension", @@ -19739,29 +19781,31 @@ }, { "name": "symfony/http-foundation", - "version": "v3.0.9", + "version": "v2.8.46", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" + "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9fcce5f0b6896a135d192cc9fd5394fd46f74eff", + "reference": "9fcce5f0b6896a135d192cc9fd5394fd46f74eff", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php54": "~1.0", + "symfony/polyfill-php55": "~1.0" }, "require-dev": { - "symfony/expression-language": "~2.8|~3.0" + "symfony/expression-language": "~2.4|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -19788,7 +19832,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2016-07-17T13:54:30+00:00" + "time": "2018-09-23T15:27:53+00:00" }, { "name": "symfony/http-kernel", @@ -20234,6 +20278,120 @@ ], "time": "2018-08-06T14:22:27+00:00" }, + { + "name": "symfony/polyfill-php54", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "412977e090c6a8472dc39d50d1beb7d59495a965" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/412977e090c6a8472dc39d50d1beb7d59495a965", + "reference": "412977e090c6a8472dc39d50d1beb7d59495a965", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-php55", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php55.git", + "reference": "578b8528da843de0fc65ec395900fa3181f2ead7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/578b8528da843de0fc65ec395900fa3181f2ead7", + "reference": "578b8528da843de0fc65ec395900fa3181f2ead7", + "shasum": "" + }, + "require": { + "ircmaxell/password-compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php55\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, { "name": "symfony/polyfill-php56", "version": "v1.9.0", @@ -20595,22 +20753,22 @@ }, { "name": "symfony/security", - "version": "v3.2.13", + "version": "v3.2.14", "source": { "type": "git", "url": "https://github.com/symfony/security.git", - "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c" + "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security/zipball/3f6e39f1918f009524e36a56f1609cf74a8cd47c", - "reference": "3f6e39f1918f009524e36a56f1609cf74a8cd47c", + "url": "https://api.github.com/repos/symfony/security/zipball/9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", + "reference": "9f41ec7293a6539b44c3a6b3ae5f1c02f752bf77", "shasum": "" }, "require": { "php": ">=5.5.9", "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", + "symfony/http-foundation": "~2.8.31|~3.2.14", "symfony/http-kernel": "~2.8|~3.0", "symfony/polyfill-php56": "~1.0", "symfony/polyfill-php70": "~1.0", @@ -20669,7 +20827,7 @@ ], "description": "Symfony Security Component", "homepage": "https://symfony.com", - "time": "2017-07-29T21:27:41+00:00" + "time": "2017-11-16T17:55:54+00:00" }, { "name": "symfony/serializer", diff --git a/package-lock.json b/package-lock.json index 890bca3db5..4e82f9ca67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "spryker-master-suite", + "name": "spryker-suite", "requires": true, "lockfileVersion": 1, "dependencies": { @@ -3827,6 +3827,11 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + }, "js-base64": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz", diff --git a/package.json b/package.json index 9d89bd99fb..7c8f7b881d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, - "name": "spryker-master-suite", - "description": "Spryker Master Suite", + "name": "spryker-suite", + "description": "Spryker Suite project", "author": { "name": "Spryker Systems GmbH", "email": "info@spryker.com", @@ -22,6 +22,7 @@ "dependencies": { "@webcomponents/webcomponentsjs": "~2.0.2", "core-js": "~2.5.7", + "jquery": "^3.3.1", "lodash-es": "~4.17.10" }, "devDependencies": { diff --git a/src/Pyz/Zed/CmsStorage/CmsStorageConfig.php b/src/Pyz/Zed/CmsStorage/CmsStorageConfig.php new file mode 100755 index 0000000000..1d0426fbf2 --- /dev/null +++ b/src/Pyz/Zed/CmsStorage/CmsStorageConfig.php @@ -0,0 +1,22 @@ + Date: Wed, 17 Oct 2018 15:35:26 +0300 Subject: [PATCH 35/91] SUITE-758: update dependency providers --- src/Pyz/Yves/CartPage/CartPageDependencyProvider.php | 2 ++ src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php b/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php index fbffddd281..b63bfd40f4 100644 --- a/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php +++ b/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php @@ -18,6 +18,7 @@ use SprykerShop\Yves\ProductBundleWidget\Plugin\CartPage\ProductBundleItemsWidgetPlugin; use SprykerShop\Yves\ProductOptionWidget\Plugin\CartPage\CartItemProductOptionWidgetPlugin; use SprykerShop\Yves\ProductRelationWidget\Plugin\CartPage\UpSellingProductsWidgetPlugin; +use SprykerShop\Yves\SalesOrderThresholdWidget\Plugin\CartPage\SalesOrderThresholdWidgetPlugin; class CartPageDependencyProvider extends SprykerCartPageDependencyProvider { @@ -36,6 +37,7 @@ protected function getCartPageWidgetPlugins(): array ProductBundleItemsWidgetPlugin::class, CartNoteQuoteWidgetPlugin::class, #CartNoteFeature CartNoteQuoteItemWidgetPlugin::class, #CartNoteFeature + SalesOrderThresholdWidgetPlugin::class, #SalesOrderThreshold ]; } diff --git a/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php b/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php index c1d89a688a..c82a643526 100644 --- a/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php +++ b/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php @@ -20,6 +20,7 @@ use SprykerShop\Yves\CustomerPage\Form\LoginForm; use SprykerShop\Yves\CustomerPage\Form\RegisterForm; use SprykerShop\Yves\DiscountWidget\Plugin\CheckoutPage\CheckoutVoucherFormWidgetPlugin; +use SprykerShop\Yves\SalesOrderThresholdWidget\Plugin\CheckoutPage\SalesOrderThresholdWidgetPlugin; class CheckoutPageDependencyProvider extends SprykerShopCheckoutPageDependencyProvider { @@ -32,6 +33,7 @@ protected function getSummaryPageWidgetPlugins(): array CheckoutVoucherFormWidgetPlugin::class, CartNoteQuoteItemNoteWidgetPlugin::class, #CartNoteFeature CartNoteQuoteNoteWidgetPlugin::class, #CartNoteFeature + SalesOrderThresholdWidgetPlugin::class, ]; } From 7aaf076115197f884583ef21ef757e59c6f5a317 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Wed, 17 Oct 2018 16:12:37 +0300 Subject: [PATCH 36/91] SUITE-758: fixed summary page --- .../Theme/default/views/summary/summary.twig | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig index 69bdc200bb..4f3ce7cbbb 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig @@ -15,6 +15,7 @@ overview: { shipmentMethod: _view.quoteTransfer.shipment.method.name, + expenses: _view.quoteTransfer.expenses, voucherDiscounts: _view.quoteTransfer.voucherDiscounts, cartRuleDiscounts: _view.quoteTransfer.cartRuleDiscounts, @@ -23,7 +24,7 @@ storeCurrency: _view.quoteTransfer.shipment.method.storeCurrencyPrice, grandTotal: _view.quoteTransfer.totals.grandtotal, tax: _view.quoteTransfer.totals.taxtotal.amount, - discountTotal: _view.quoteTransfer.totals.discounttotal | default(null) + discountTotal: _view.quoteTransfer.totals.discounttotal | default } }, @@ -36,9 +37,6 @@
{{ 'checkout.step.summary.with_method' | trans }} {{data.paymentMethod}}
{{ 'checkout.step.summary.payment' | trans }}
- {# {% if _view.quoteTransfer.payment.summaryPartialPath is defined and _view.quoteTransfer.payment.summaryPartialPath %} - {% include '@' ~ _view.quoteTransfer.payment.summaryPartialPath ~ '.twig' with {'_view.quoteTransfer': _view.quoteTransfer} %} - {% endif %} #}
{% include molecule('display-address') with { @@ -73,7 +71,7 @@ quantity: item.quantity, price: item.sumPrice | money, options: item.productOptions | default({}), - bundleItems: item.bundleItems | default([]), + bundleItems: item.bundleItems | default([]) }, embed: { isLast: not loop.last, @@ -100,7 +98,7 @@ data: { form: data.forms.summary, submit: { - enable: true, + enable: can('SeeOrderPlaceSubmitPermissionPlugin'), text: 'checkout.step.place.order' | trans }, cancel: { From 305701c2c17579a0bf924fd380aedc5f75e5c794 Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Mon, 22 Oct 2018 11:12:05 +0000 Subject: [PATCH 37/91] SUITE-766: File manager --- composer.json | 5 + composer.lock | 383 +- config/Shared/config_default.php | 6 + .../PropelMigration_1540205663.php | 5081 +++++++++++++++++ .../PropelMigration_1540205665.php | 5081 +++++++++++++++++ .../Zed/FileManager/Persistence/SpyFile.php | 24 + .../Persistence/SpyFileDirectory.php | 24 + .../SpyFileDirectoryLocalizedAttributes.php | 24 + ...yFileDirectoryLocalizedAttributesQuery.php | 24 + .../Persistence/SpyFileDirectoryQuery.php | 24 + .../FileManager/Persistence/SpyFileInfo.php | 24 + .../Persistence/SpyFileInfoQuery.php | 24 + .../SpyFileLocalizedAttributes.php | 24 + .../SpyFileLocalizedAttributesQuery.php | 24 + .../FileManager/Persistence/SpyFileQuery.php | 24 + .../FileManager/Persistence/SpyMimeType.php | 24 + .../Persistence/SpyMimeTypeQuery.php | 24 + .../Persistence/SpyFileStorage.php | 24 + .../Persistence/SpyFileStorageQuery.php | 24 + src/Pyz/Client/RabbitMq/RabbitMqConfig.php | 2 + .../CmsContentWidgetDependencyProvider.php | 5 + .../Yves/ShopApplication/YvesBootstrap.php | 2 + .../CmsContentWidgetConfig.php | 2 + .../DataImportDependencyProvider.php | 2 + src/Pyz/Zed/Event/EventDependencyProvider.php | 2 + .../Propel/Schema/spy_file_storage.schema.xml | 13 + src/Pyz/Zed/Queue/QueueDependencyProvider.php | 2 + 27 files changed, 10903 insertions(+), 19 deletions(-) create mode 100644 src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php create mode 100644 src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFile.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileDirectory.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileDirectoryLocalizedAttributes.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileDirectoryLocalizedAttributesQuery.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileDirectoryQuery.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileInfo.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileInfoQuery.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileLocalizedAttributes.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileLocalizedAttributesQuery.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyFileQuery.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyMimeType.php create mode 100644 src/Orm/Zed/FileManager/Persistence/SpyMimeTypeQuery.php create mode 100644 src/Orm/Zed/FileManagerStorage/Persistence/SpyFileStorage.php create mode 100644 src/Orm/Zed/FileManagerStorage/Persistence/SpyFileStorageQuery.php create mode 100644 src/Pyz/Zed/FileManagerStorage/Persistence/Propel/Schema/spy_file_storage.schema.xml diff --git a/composer.json b/composer.json index 410c992493..ed76594e68 100644 --- a/composer.json +++ b/composer.json @@ -38,6 +38,7 @@ "spryker-shop/discount-promotion-widget": "^1.1.0", "spryker-shop/discount-widget": "^1.0.0", "spryker-shop/error-page": "^1.0.0", + "spryker-shop/file-manager-widget": "^1.0", "spryker-shop/heartbeat-page": "^1.0.0", "spryker-shop/home-page": "^1.0.0", "spryker-shop/language-switcher-widget": "^1.0.0", @@ -164,6 +165,10 @@ "spryker/event": "^2.3.1", "spryker/event-behavior": "^1.1.0", "spryker/event-journal": "^3.0.0", + "spryker/file-manager": "^1.0", + "spryker/file-manager-data-import": "^1.0", + "spryker/file-manager-gui": "^1.0", + "spryker/file-manager-storage": "^1.0", "spryker/file-system": "^1.0.0", "spryker/flysystem": "^1.0.0", "spryker/flysystem-aws3v3-file-system": "^1.0.0", diff --git a/composer.lock b/composer.lock index 40bbf6f90f..15bf13b7d2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "7fd5489c7b2820f77268dc31df0ff4dc", + "content-hash": "b1c83b833545712567f390b1eb9582f0", "packages": [ { "name": "aws/aws-sdk-php", @@ -3331,6 +3331,56 @@ "description": "ErrorPage module", "time": "2018-10-05T13:08:43+00:00" }, + { + "name": "spryker-shop/file-manager-widget", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/file-manager-widget.git", + "reference": "a45acfc71a60bc1e7ea01034ea310fa950469cb9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/file-manager-widget/zipball/a45acfc71a60bc1e7ea01034ea310fa950469cb9", + "reference": "a45acfc71a60bc1e7ea01034ea310fa950469cb9", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/cms-content-widget": "^1.0.0", + "spryker/file-manager": "^1.0.0", + "spryker/file-manager-storage": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/symfony": "^3.0.0" + }, + "require-dev": { + "spryker-shop/shop-application": "*", + "spryker/silex": "*", + "spryker/twig": "*" + }, + "suggest": { + "spryker-shop/shop-application": "Use this module when using plugins that need Twig dependencies.", + "spryker/silex": "Use this module when using plugins that need Silex dependencies.", + "spryker/twig": "Use this module when using plugins that need Twig dependencies." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "FileManagerWidget module", + "time": "2018-07-18T14:28:23+00:00" + }, { "name": "spryker-shop/heartbeat-page", "version": "1.0.0", @@ -5302,11 +5352,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Api module", + "support": { + "source": "https://github.com/spryker/Api/tree/master" + }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5448,11 +5506,19 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", + "support": { + "source": "https://github.com/spryker/Assertion/tree/3.0.0" + }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5956,11 +6022,14 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", + "support": { + "source": "https://github.com/spryker/Cache/tree/3.1.0" + }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6687,11 +6756,14 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", + "support": { + "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" + }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -7948,11 +8020,19 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Functional": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", + "support": { + "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" + }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8665,11 +8745,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", + "support": { + "source": "https://github.com/spryker/CustomerApi/tree/master" + }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -9454,11 +9542,14 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Egulias module", + "support": { + "source": "https://github.com/spryker/Egulias/tree/1.0.0" + }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -9687,6 +9778,193 @@ "description": "EventJournal bundle", "time": "2017-02-22T12:08:46+00:00" }, + { + "name": "spryker/file-manager", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/file-manager.git", + "reference": "c68be7f427d1e6f0f92f4ae18c7f4ecb67ac2173" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/file-manager/zipball/c68be7f427d1e6f0f92f4ae18c7f4ecb67ac2173", + "reference": "c68be7f427d1e6f0f92f4ae18c7f4ecb67ac2173", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/file-system": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/propel-orm": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/flysystem": "*", + "spryker/flysystem-local-file-system": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "FileManager module", + "time": "2018-10-02T10:56:18+00:00" + }, + { + "name": "spryker/file-manager-data-import", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/file-manager-data-import.git", + "reference": "48fd2a3c2390061c9a2f3dd9a37a7f95a652c822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/file-manager-data-import/zipball/48fd2a3c2390061c9a2f3dd9a37a7f95a652c822", + "reference": "48fd2a3c2390061c9a2f3dd9a37a7f95a652c822", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/data-import": "^1.3.0", + "spryker/file-manager": "^1.0.0", + "spryker/kernel": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\FileManagerDataImport\\Helper\\": "tests/SprykerTest/Zed/FileManagerDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "FileManagerDataImport module", + "time": "2018-08-08T10:51:12+00:00" + }, + { + "name": "spryker/file-manager-gui", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/file-manager-gui.git", + "reference": "3b4ffe4ea281309e787bc750ad9d5caa3605c7ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/file-manager-gui/zipball/3b4ffe4ea281309e787bc750ad9d5caa3605c7ef", + "reference": "3b4ffe4ea281309e787bc750ad9d5caa3605c7ef", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/file-manager": "^1.0.0", + "spryker/file-system": "^1.0.0", + "spryker/gui": "^3.0.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/symfony": "^3.0.0", + "spryker/util-text": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "FileManagerGui module", + "time": "2018-08-01T10:53:28+00:00" + }, + { + "name": "spryker/file-manager-storage", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/file-manager-storage.git", + "reference": "fadcc57a89f9500f935d0e90b769b2559ff73f41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/file-manager-storage/zipball/fadcc57a89f9500f935d0e90b769b2559ff73f41", + "reference": "fadcc57a89f9500f935d0e90b769b2559ff73f41", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/event-behavior": "^1.0.0", + "spryker/file-manager": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/locale": "^3.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/storage": "^3.0.0", + "spryker/synchronization": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/event": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "FileManagerStorage module", + "time": "2018-08-01T14:24:30+00:00" + }, { "name": "spryker/file-system", "version": "1.0.2", @@ -10316,11 +10594,19 @@ "Function": "tests/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", + "support": { + "source": "https://github.com/spryker/Graph/tree/3.0.0" + }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10346,11 +10632,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", + "support": { + "source": "https://github.com/spryker/Graphviz/tree/2.0.1" + }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10595,11 +10884,20 @@ "Spryker": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-0": { + "Functional": "tests/", + "Unit": "tests/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", + "support": { + "source": "https://github.com/spryker/Invoice/tree/2.0.1" + }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -12152,11 +12450,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", + "support": { + "source": "https://github.com/spryker/Pimple/tree/2.0.0" + }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -16408,11 +16709,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", + "support": { + "source": "https://github.com/spryker/Redis/tree/2.0.1" + }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16455,11 +16759,22 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", + "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", + "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Refund module", + "support": { + "source": "https://github.com/spryker/Refund/tree/master" + }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -17540,11 +17855,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", + "support": { + "source": "https://github.com/spryker/Silex/tree/2.0.1" + }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -18699,11 +19017,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", + "support": { + "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" + }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18840,11 +19166,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilText module", + "support": { + "source": "https://github.com/spryker/UtilText/tree/master" + }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -18921,11 +19255,19 @@ "Spryker\\": "src/Spryker/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", + "support": { + "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" + }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -19233,11 +19575,14 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", + "notification-url": "https://code.foo.com/repo/private/downloads/", "license": [ "proprietary" ], "description": "Zend module", + "support": { + "source": "https://github.com/spryker/Zend/tree/2.1.0" + }, "time": "2017-08-02T16:31:17+00:00" }, { diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 3b61353c4c..12cc9fd497 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -15,6 +15,8 @@ use Spryker\Shared\Event\EventConstants; use Spryker\Shared\EventBehavior\EventBehaviorConstants; use Spryker\Shared\EventJournal\EventJournalConstants; +use Spryker\Shared\FileManager\FileManagerConstants; +use Spryker\Shared\FileManagerGui\FileManagerGuiConstants; use Spryker\Shared\FileSystem\FileSystemConstants; use Spryker\Shared\Flysystem\FlysystemConstants; use Spryker\Shared\Kernel\ClassResolver\Cache\Provider\File; @@ -413,3 +415,7 @@ // ---------- Loggly $config[LogglyConstants::TOKEN] = 'loggly-token:sample:123456'; + +// ---------- FileManager +$config[FileManagerConstants::STORAGE_NAME] = 'files'; +$config[FileManagerGuiConstants::DEFAULT_FILE_MAX_SIZE] = '10M'; diff --git a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php new file mode 100644 index 0000000000..acc820984e --- /dev/null +++ b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php @@ -0,0 +1,5081 @@ + ' +BEGIN; + +CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; + +CREATE TABLE "spy_sales_reclamation" +( + "id_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "customer_name" VARCHAR(511) NOT NULL, + "customer_reference" VARCHAR(255), + "customer_email" VARCHAR(255) NOT NULL, + "state" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_reclamation") +); + +CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +CREATE TABLE "spy_sales_reclamation_item" +( + "id_sales_reclamation_item" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "state" INT2 NOT NULL, + PRIMARY KEY ("id_sales_reclamation_item") +); + +CREATE SEQUENCE "spy_acl_role_pk_seq"; + +CREATE TABLE "spy_acl_role" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role"), + CONSTRAINT "spy_acl_role-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_acl_rule_pk_seq"; + +CREATE TABLE "spy_acl_rule" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE SEQUENCE "spy_acl_group_pk_seq"; + +CREATE TABLE "spy_acl_group" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group"), + CONSTRAINT "spy_acl_group-name" UNIQUE ("name") +); + +CREATE TABLE "spy_acl_user_has_group" +( + "fk_user" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_user","fk_acl_group") +); + +CREATE TABLE "spy_acl_groups_has_roles" +( + "fk_acl_role" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_acl_role","fk_acl_group") +); + +CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; + +CREATE TABLE "spy_auth_reset_password" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user"), + CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_availability_abstract_pk_seq"; + +CREATE TABLE "spy_availability_abstract" +( + "id_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_availability_abstract"), + CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_pk_seq"; + +CREATE TABLE "spy_availability" +( + "id_availability" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + "quantity" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_availability"), + CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_storage_pk_seq"; + +CREATE TABLE "spy_availability_storage" +( + "id_availability_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_availability_storage"), + CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); + +CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); + +CREATE SEQUENCE "spy_category_pk_seq"; + +CREATE TABLE "spy_category" +( + "id_category" INTEGER NOT NULL, + "fk_category_template" INTEGER, + "category_key" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\', + "is_clickable" BOOLEAN DEFAULT \'t\', + "is_in_menu" BOOLEAN DEFAULT \'t\', + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_category"), + CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") +); + +CREATE SEQUENCE "spy_category_attribute_pk_seq"; + +CREATE TABLE "spy_category_attribute" +( + "id_category_attribute" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "category_image_name" VARCHAR(255), + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" TEXT, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_attribute") +); + +CREATE SEQUENCE "spy_category_node_pk_seq"; + +CREATE TABLE "spy_category_node" +( + "id_category_node" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_parent_category_node" INTEGER, + "is_main" BOOLEAN DEFAULT \'f\', + "is_root" BOOLEAN DEFAULT \'f\', + "node_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_category_node") +); + +CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); + +CREATE SEQUENCE "spy_category_closure_table_pk_seq"; + +CREATE TABLE "spy_category_closure_table" +( + "id_category_closure_table" INTEGER NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "fk_category_node_descendant" INTEGER NOT NULL, + "depth" INTEGER NOT NULL, + PRIMARY KEY ("id_category_closure_table") +); + +CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; + +CREATE TABLE "spy_category_node_page_search" +( + "id_category_node_page_search" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_page_search"), + CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; + +CREATE TABLE "spy_category_tree_storage" +( + "id_category_tree_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_tree_storage"), + CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_category_node_storage_pk_seq"; + +CREATE TABLE "spy_category_node_storage" +( + "id_category_node_storage" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_storage"), + CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_template_pk_seq"; + +CREATE TABLE "spy_category_template" +( + "id_category_template" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_category_template"), + CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_template_pk_seq"; + +CREATE TABLE "spy_cms_template" +( + "id_cms_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_template"), + CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); + +CREATE SEQUENCE "spy_cms_page_pk_seq"; + +CREATE TABLE "spy_cms_page" +( + "id_cms_page" INTEGER NOT NULL, + "fk_template" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, + "page_key" VARCHAR(32), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_cms_page") +); + +CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); + +CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +CREATE TABLE "spy_cms_page_localized_attributes" +( + "id_cms_page_localized_attributes" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_localized_attributes"), + CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") +); + +CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_glossary_key_mapping" +( + "id_cms_glossary_key_mapping" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_page" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_glossary_key_mapping"), + CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") +); + +CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); + +CREATE SEQUENCE "spy_cms_version_pk_seq"; + +CREATE TABLE "spy_cms_version" +( + "id_cms_version" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_user" INTEGER, + "data" TEXT, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_version") +); + +CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); + +CREATE SEQUENCE "spy_cms_block_template_pk_seq"; + +CREATE TABLE "spy_cms_block_template" +( + "id_cms_block_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_template"), + CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_block_glossary_key_mapping" +( + "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_block_glossary_key_mapping"), + CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") +); + +CREATE SEQUENCE "spy_cms_block_pk_seq"; + +CREATE TABLE "spy_cms_block" +( + "id_cms_block" INTEGER NOT NULL, + "fk_page" INTEGER, + "fk_template" INTEGER, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "name" VARCHAR(255) NOT NULL, + "type" VARCHAR(255), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "value" INTEGER, + PRIMARY KEY ("id_cms_block"), + CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") +); + +COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; + +CREATE SEQUENCE "id_cms_block_store_pk_seq"; + +CREATE TABLE "spy_cms_block_store" +( + "id_cms_block_store" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_store"), + CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") +); + +CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_category_connector" +( + "id_cms_block_category_connector" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_category_template" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_cms_block_category_position" INTEGER, + PRIMARY KEY ("id_cms_block_category_connector") +); + +CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; + +CREATE TABLE "spy_cms_block_category_position" +( + "id_cms_block_category_position" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_category_position") +); + +CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_category_storage" +( + "id_cms_block_category_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_category_storage"), + CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_product_connector" +( + "id_cms_block_product_connector" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_product_connector") +); + +CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_product_storage" +( + "id_cms_block_product_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_product_storage"), + CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_storage" +( + "id_cms_block_storage" INT8 NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "name" VARCHAR NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_storage"), + CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); + +CREATE SEQUENCE "spy_cms_page_search_pk_seq"; + +CREATE TABLE "spy_cms_page_search" +( + "id_cms_page_search" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_search"), + CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); + +CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; + +CREATE TABLE "spy_cms_page_storage" +( + "id_cms_page_storage" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_storage"), + CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); + +CREATE SEQUENCE "spy_country_pk_seq"; + +CREATE TABLE "spy_country" +( + "id_country" INTEGER NOT NULL, + "iso2_code" VARCHAR(2) NOT NULL, + "iso3_code" VARCHAR(3), + "name" VARCHAR(255), + "postal_code_mandatory" BOOLEAN DEFAULT \'f\', + "postal_code_regex" VARCHAR(500), + PRIMARY KEY ("id_country"), + CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), + CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") +); + +CREATE SEQUENCE "spy_region_pk_seq"; + +CREATE TABLE "spy_region" +( + "id_region" INTEGER NOT NULL, + "fk_country" INTEGER, + "name" VARCHAR(100) NOT NULL, + "iso2_code" VARCHAR(6) NOT NULL, + PRIMARY KEY ("id_region"), + CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") +); + +CREATE SEQUENCE "spy_currency_pk_seq"; + +CREATE TABLE "spy_currency" +( + "id_currency" INTEGER NOT NULL, + "name" VARCHAR(255), + "code" VARCHAR(5), + "symbol" VARCHAR(255), + PRIMARY KEY ("id_currency") +); + +CREATE SEQUENCE "spy_customer_pk_seq"; + +CREATE TABLE "spy_customer" +( + "id_customer" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_user" INTEGER, + "anonymized_at" TIMESTAMP, + "company" VARCHAR(100), + "customer_reference" VARCHAR(255) NOT NULL, + "date_of_birth" DATE, + "default_billing_address" INTEGER, + "default_shipping_address" INTEGER, + "email" VARCHAR(255) NOT NULL, + "first_name" VARCHAR(100), + "gender" INT2, + "last_name" VARCHAR(100), + "password" VARCHAR(255), + "phone" VARCHAR(255), + "registered" DATE, + "registration_key" VARCHAR(150), + "restore_password_date" TIMESTAMP, + "restore_password_key" VARCHAR(150), + "salutation" INT2, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer"), + CONSTRAINT "spy_customer-email" UNIQUE ("email"), + CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") +); + +CREATE SEQUENCE "spy_customer_address_pk_seq"; + +CREATE TABLE "spy_customer_address" +( + "id_customer_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "anonymized_at" TIMESTAMP, + "city" VARCHAR(255), + "comment" VARCHAR(255), + "company" VARCHAR(255), + "deleted_at" TIMESTAMP, + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "phone" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_address") +); + +CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); + +CREATE SEQUENCE "spy_customer_group_pk_seq"; + +CREATE TABLE "spy_customer_group" +( + "id_customer_group" INTEGER NOT NULL, + "name" VARCHAR(70) NOT NULL, + "description" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group"), + CONSTRAINT "spy_customer-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +CREATE TABLE "spy_customer_group_to_customer" +( + "id_customer_group_to_customer" INTEGER NOT NULL, + "fk_customer_group" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group_to_customer"), + CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") +); + +CREATE SEQUENCE "spy_customer_note_pk_seq"; + +CREATE TABLE "spy_customer_note" +( + "id_customer_note" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "username" VARCHAR, + "message" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_note") +); + +CREATE SEQUENCE "spy_discount_pk_seq"; + +CREATE TABLE "spy_discount" +( + "id_discount" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "fk_store" INTEGER, + "amount" INTEGER NOT NULL, + "calculator_plugin" VARCHAR(255), + "collector_query_string" VARCHAR, + "decision_rule_query_string" VARCHAR, + "description" VARCHAR(1024), + "discount_key" VARCHAR(32), + "discount_type" VARCHAR(255), + "display_name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "is_exclusive" BOOLEAN DEFAULT \'f\', + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount"), + CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), + CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") +); + +CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); + +CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); + +CREATE SEQUENCE "id_discount_store_pk_seq"; + +CREATE TABLE "spy_discount_store" +( + "id_discount_store" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_store"), + CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") +); + +CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +CREATE TABLE "spy_discount_voucher_pool" +( + "id_discount_voucher_pool" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher_pool") +); + +CREATE SEQUENCE "spy_discount_voucher_pk_seq"; + +CREATE TABLE "spy_discount_voucher" +( + "id_discount_voucher" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "code" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "max_number_of_uses" INTEGER, + "number_of_uses" INTEGER, + "voucher_batch" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher"), + CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_discount_amount_pk_seq"; + +CREATE TABLE "spy_discount_amount" +( + "id_discount_amount" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "gross_amount" INTEGER, + "net_amount" INTEGER, + PRIMARY KEY ("id_discount_amount"), + CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") +); + +CREATE SEQUENCE "spy_discount_promotion_pk_seq"; + +CREATE TABLE "spy_discount_promotion" +( + "id_discount_promotion" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_promotion") +); + +CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +CREATE TABLE "spy_event_behavior_entity_change" +( + "id_event_behavior_entity_change" INT8 NOT NULL, + "data" VARCHAR, + "process_id" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_event_behavior_entity_change") +); + +CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +CREATE TABLE "pyz_example_state_machine_item" +( + "id_example_state_machine_item" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER, + "name" VARCHAR, + PRIMARY KEY ("id_example_state_machine_item") +); + +CREATE SEQUENCE "spy_file_pk_seq"; + +CREATE TABLE "spy_file" +( + "id_file" INTEGER NOT NULL, + "fk_file_directory" INTEGER, + "file_name" VARCHAR(500) NOT NULL, + PRIMARY KEY ("id_file") +); + +CREATE SEQUENCE "spy_file_info_pk_seq"; + +CREATE TABLE "spy_file_info" +( + "id_file_info" INTEGER NOT NULL, + "fk_file" INTEGER NOT NULL, + "type" VARCHAR(255) NOT NULL, + "size" INTEGER NOT NULL, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255) NOT NULL, + "storage_name" VARCHAR(255), + "storage_file_name" VARCHAR(255), + "extension" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_file_info") +); + +CREATE SEQUENCE "spy_file_localized_attributes_pk_seq"; + +CREATE TABLE "spy_file_localized_attributes" +( + "id_file_localized_attributes" INTEGER NOT NULL, + "fk_file" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "title" VARCHAR(255), + "alt" TEXT, + PRIMARY KEY ("id_file_localized_attributes"), + CONSTRAINT "spy_file_localized_attributes-unique-fk_file" UNIQUE ("fk_file","fk_locale") +); + +CREATE SEQUENCE "spy_file_directory_pk_seq"; + +CREATE TABLE "spy_file_directory" +( + "id_file_directory" INTEGER NOT NULL, + "fk_parent_file_directory" INTEGER, + "name" VARCHAR(255) NOT NULL, + "position" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_file_directory") +); + +CREATE INDEX "spy_file_directory_i_ba7161" ON "spy_file_directory" ("position"); + +CREATE SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; + +CREATE TABLE "spy_file_directory_localized_attributes" +( + "id_file_directory_localized_attributes" INTEGER NOT NULL, + "fk_file_directory" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_file_directory_localized_attributes"), + CONSTRAINT "spy_file_directory_localized_attributes-unique-fk_file_director" UNIQUE ("fk_file_directory","fk_locale") +); + +CREATE SEQUENCE "spy_mime_type_pk_seq"; + +CREATE TABLE "spy_mime_type" +( + "id_mime_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "is_allowed" BOOLEAN NOT NULL, + PRIMARY KEY ("id_mime_type"), + CONSTRAINT "spy_mime_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_file_storage_pk_seq"; + +CREATE TABLE "spy_file_storage" +( + "id_file_storage" INTEGER NOT NULL, + "fk_file" INTEGER, + "file_name" VARCHAR, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + PRIMARY KEY ("id_file_storage"), + CONSTRAINT "spy_file_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_file_storage-fk_file" ON "spy_file_storage" ("fk_file"); + +CREATE SEQUENCE "spy_gift_card_pk_seq"; + +CREATE TABLE "spy_gift_card" +( + "id_gift_card" INTEGER NOT NULL, + "name" VARCHAR(40) NOT NULL, + "replacement_pattern" VARCHAR(40), + "code" VARCHAR(40) NOT NULL, + "value" INTEGER NOT NULL, + "currency_iso_code" VARCHAR(5), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "attributes" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration" +( + "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, + "code_pattern" VARCHAR(40) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_abstract_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration_link" +( + "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration" +( + "id_gift_card_product_configuration" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration_link" +( + "id_gift_card_product_configuration_link" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_gift_card_product_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_configuration_link") +); + +CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; + +CREATE TABLE "spy_payment_gift_card" +( + "id_payment_gift_card" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "fk_sales_payment" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_payment_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +CREATE TABLE "spy_gift_card_balance_log" +( + "id_gift_card_balance_log" INTEGER NOT NULL, + "fk_gift_card" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_gift_card_balance_log") +); + +CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); + +CREATE SEQUENCE "spy_glossary_key_pk_seq"; + +CREATE TABLE "spy_glossary_key" +( + "id_glossary_key" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_glossary_key"), + CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); + +CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); + +CREATE SEQUENCE "spy_glossary_translation_pk_seq"; + +CREATE TABLE "spy_glossary_translation" +( + "id_glossary_translation" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_glossary_translation"), + CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") +); + +CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); + +CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); + +CREATE SEQUENCE "spy_glossary_storage_pk_seq"; + +CREATE TABLE "spy_glossary_storage" +( + "id_glossary_storage" INT8 NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "glossary_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_glossary_storage"), + CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); + +CREATE SEQUENCE "spy_locale_pk_seq"; + +CREATE TABLE "spy_locale" +( + "id_locale" INTEGER NOT NULL, + "locale_name" VARCHAR(5) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_locale"), + CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") +); + +CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); + +CREATE SEQUENCE "spy_navigation_pk_seq"; + +CREATE TABLE "spy_navigation" +( + "id_navigation" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation"), + CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); + +CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); + +CREATE SEQUENCE "spy_navigation_node_pk_seq"; + +CREATE TABLE "spy_navigation_node" +( + "id_navigation_node" INTEGER NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "fk_parent_navigation_node" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "node_key" VARCHAR(32), + "node_type" VARCHAR(255), + "position" INTEGER, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_navigation_node") +); + +CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); + +CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); + +CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +CREATE TABLE "spy_navigation_node_localized_attributes" +( + "id_navigation_node_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_navigation_node" INTEGER NOT NULL, + "fk_url" INTEGER, + "css_class" VARCHAR(255), + "external_url" VARCHAR(255), + "link" VARCHAR(255), + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_node_localized_attributes") +); + +CREATE SEQUENCE "spy_navigation_storage_pk_seq"; + +CREATE TABLE "spy_navigation_storage" +( + "id_navigation_storage" INT8 NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "navigation_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_storage"), + CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); + +CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +CREATE TABLE "spy_newsletter_subscriber" +( + "id_newsletter_subscriber" INTEGER NOT NULL, + "fk_customer" INTEGER, + "email" VARCHAR(255) NOT NULL, + "subscriber_key" VARCHAR(150), + "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_subscriber"), + CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), + CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") +); + +CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); + +CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); + +CREATE SEQUENCE "spy_newsletter_type_pk_seq"; + +CREATE TABLE "spy_newsletter_type" +( + "id_newsletter_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_type"), + CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") +); + +CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); + +CREATE TABLE "spy_newsletter_subscription" +( + "fk_newsletter_subscriber" INTEGER NOT NULL, + "fk_newsletter_type" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") +); + +CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; + +CREATE TABLE "spy_nopayment_paid" +( + "id_nopayment_paid" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_nopayment_paid") +); + +CREATE SEQUENCE "spy_offer_pk_seq"; + +CREATE TABLE "spy_offer" +( + "id_offer" INTEGER NOT NULL, + "quote_data" TEXT NOT NULL, + "status" INT2 DEFAULT 0, + "fk_user" INTEGER, + "customer_reference" VARCHAR(255), + "contact_person" VARCHAR(255), + "contact_date" TIMESTAMP, + "note" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_offer") +); + +CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); + +CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; + +CREATE TABLE "spy_oms_transition_log" +( + "id_oms_transition_log" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "quantity" INTEGER, + "locked" BOOLEAN, + "fk_oms_order_process" INTEGER, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_transition_log") +); + +CREATE SEQUENCE "spy_oms_order_process_pk_seq"; + +CREATE TABLE "spy_oms_order_process" +( + "id_oms_order_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_process"), + CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_oms_state_machine_lock" +( + "id_oms_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "details" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_state_machine_lock"), + CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state" +( + "id_oms_order_item_state" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_oms_order_item_state"), + CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state_history" +( + "id_oms_order_item_state_history" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_item_state_history") +); + +CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); + +CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; + +CREATE TABLE "spy_oms_event_timeout" +( + "id_oms_event_timeout" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_event_timeout"), + CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") +); + +CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation" +( + "id_oms_product_reservation" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, + "fk_store" INTEGER, + PRIMARY KEY ("id_oms_product_reservation"), + CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_store" +( + "id_oms_product_reservation_store" INTEGER NOT NULL, + "store" VARCHAR(255) NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER NOT NULL, + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_product_reservation_store"), + CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") +); + +CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); + +CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); + +CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); + +CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_change_version" +( + "version" INT8 NOT NULL, + "id_oms_product_reservation_id" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("version") +); + +CREATE TABLE "spy_oms_product_reservation_last_exported_version" +( + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP +); + +CREATE SEQUENCE "spy_order_source_pk_seq"; + +CREATE TABLE "spy_order_source" +( + "id_order_source" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_order_source") +); + +CREATE SEQUENCE "spy_price_product_pk_seq"; + +CREATE TABLE "spy_price_product" +( + "id_price_product" INTEGER NOT NULL, + "fk_price_type" INTEGER NOT NULL, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "price" INTEGER DEFAULT 0, + PRIMARY KEY ("id_price_product"), + CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") +); + +CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); + +CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); + +CREATE SEQUENCE "spy_price_type_pk_seq"; + +CREATE TABLE "spy_price_type" +( + "id_price_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "price_mode_configuration" INT2, + PRIMARY KEY ("id_price_type"), + CONSTRAINT "spy_price_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_price_product_store_pk_seq"; + +CREATE TABLE "spy_price_product_store" +( + "id_price_product_store" INT8 NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_price_product" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + "price_data" TEXT, + "price_data_checksum" VARCHAR, + PRIMARY KEY ("id_price_product_store") +); + +CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); + +CREATE SEQUENCE "spy_price_product_default_pk_seq"; + +CREATE TABLE "spy_price_product_default" +( + "id_price_product_default" INT8 NOT NULL, + "fk_price_product_store" INT8 NOT NULL, + PRIMARY KEY ("id_price_product_default"), + CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") +); + +CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); + +CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_price_product_abstract_storage" +( + "id_price_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_abstract_storage"), + CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_price_product_concrete_storage" +( + "id_price_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_concrete_storage"), + CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_abstract" +( + "id_product_abstract" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "attributes" TEXT NOT NULL, + "color_code" VARCHAR(8), + "new_from" TIMESTAMP, + "new_to" TIMESTAMP, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract"), + CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_abstract_localized_attributes" +( + "id_abstract_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_abstract_attributes"), + CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") +); + +CREATE SEQUENCE "id_product_abstract_store_pk_seq"; + +CREATE TABLE "spy_product_abstract_store" +( + "id_product_abstract_store" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_product_abstract_store"), + CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") +); + +CREATE SEQUENCE "spy_product_pk_seq"; + +CREATE TABLE "spy_product" +( + "id_product" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product"), + CONSTRAINT "spy_product-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_localized_attributes" +( + "id_product_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "is_complete" BOOLEAN DEFAULT \'t\', + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_attributes"), + CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") +); + +CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; + +CREATE TABLE "spy_product_attribute_key" +( + "id_product_attribute_key" INTEGER NOT NULL, + "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_attribute_key"), + CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_alternative_pk_seq"; + +CREATE TABLE "spy_product_alternative" +( + "id_product_alternative" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_product_abstract_alternative" INTEGER, + "fk_product_concrete_alternative" INTEGER, + PRIMARY KEY ("id_product_alternative") +); + +CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; + +CREATE TABLE "spy_product_alternative_storage" +( + "id_product_alternative_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_alternative_storage"), + CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); + +CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +CREATE TABLE "spy_product_replacement_for_storage" +( + "id_product_replacement_for_storage" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_replacement_for_storage"), + CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); + +CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; + +CREATE TABLE "spy_product_management_attribute" +( + "id_product_management_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, + "input_type" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_management_attribute"), + CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value" +( + "id_product_management_attribute_value" INTEGER NOT NULL, + "fk_product_management_attribute" INTEGER NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value_translation" +( + "id_product_management_attribute_value_translation" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_management_attribute_value" INTEGER NOT NULL, + "translation" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value_translation"), + CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +CREATE TABLE "spy_sales_order_item_bundle" +( + "id_sales_order_item_bundle" INTEGER NOT NULL, + "cart_note" VARCHAR(255), + "gross_price" INTEGER NOT NULL, + "image" TEXT, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_bundle") +); + +CREATE SEQUENCE "spy_product_bundle_pk_seq"; + +CREATE TABLE "spy_product_bundle" +( + "id_product_bundle" INTEGER NOT NULL, + "fk_bundled_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_bundle") +); + +COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; + +COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; + +COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; + +CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); + +CREATE SEQUENCE "spy_product_category_pk_seq"; + +CREATE TABLE "spy_product_category" +( + "id_product_category" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "product_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_product_category"), + CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") +); + +CREATE SEQUENCE "spy_product_category_filter_pk_seq"; + +CREATE TABLE "spy_product_category_filter" +( + "id_product_category_filter" INTEGER NOT NULL, + "fk_category" INTEGER, + "filter_data" TEXT NOT NULL, + PRIMARY KEY ("id_product_category_filter"), + CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") +); + +CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); + +CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +CREATE TABLE "spy_product_category_filter_storage" +( + "id_product_category_filter_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_category_filter_storage"), + CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); + +CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_category_storage" +( + "id_product_abstract_category_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_category_storage"), + CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_discontinued_pk_seq"; + +CREATE TABLE "spy_product_discontinued" +( + "id_product_discontinued" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "active_until" DATE NOT NULL, + "discontinued_on" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued") +); + +CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; + +CREATE TABLE "spy_product_discontinued_note" +( + "id_product_discontinued_note" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "note" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_note"), + CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") +); + +CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; + +CREATE TABLE "spy_product_discontinued_storage" +( + "id_product_discontinued_storage" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_storage"), + CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); + +CREATE SEQUENCE "spy_product_group_pk_seq"; + +CREATE TABLE "spy_product_group" +( + "id_product_group" INTEGER NOT NULL, + "product_group_key" VARCHAR(32), + PRIMARY KEY ("id_product_group") +); + +CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); + +CREATE TABLE "spy_product_abstract_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_group" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_group") +); + +CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_group_storage" +( + "id_product_abstract_group_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_group_storage"), + CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_image_set_pk_seq"; + +CREATE TABLE "spy_product_image_set" +( + "id_product_image_set" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image_set"), + CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") +); + +CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); + +CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); + +CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_product_image_pk_seq"; + +CREATE TABLE "spy_product_image" +( + "id_product_image" INTEGER NOT NULL, + "external_url_large" VARCHAR(2048), + "external_url_small" VARCHAR(2048), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image") +); + +CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +CREATE TABLE "spy_product_image_set_to_product_image" +( + "id_product_image_set_to_product_image" INTEGER NOT NULL, + "fk_product_image" INTEGER NOT NULL, + "fk_product_image_set" INTEGER NOT NULL, + "sort_order" INTEGER NOT NULL, + PRIMARY KEY ("id_product_image_set_to_product_image"), + CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") +); + +CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_image_storage" +( + "id_product_abstract_image_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_image_storage"), + CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_image_storage" +( + "id_product_concrete_image_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_image_storage"), + CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_label_pk_seq"; + +CREATE TABLE "spy_product_label" +( + "id_product_label" INTEGER NOT NULL, + "front_end_reference" VARCHAR, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_published" BOOLEAN DEFAULT \'f\', + "name" VARCHAR NOT NULL, + "position" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label"), + CONSTRAINT "spy_product_label-name" UNIQUE ("name") +); + +CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); + +CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_label_localized_attributes" +( + "id_product_label_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + "name" VARCHAR, + PRIMARY KEY ("id_product_label_localized_attributes"), + CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") +); + +CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); + +CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_label_product_abstract" +( + "id_product_label_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + PRIMARY KEY ("id_product_label_product_abstract"), + CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") +); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +CREATE TABLE "spy_product_label_dictionary_storage" +( + "id_product_label_dictionary_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label_dictionary_storage"), + CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_label_storage" +( + "id_product_abstract_label_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_label_storage"), + CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_option_group_pk_seq"; + +CREATE TABLE "spy_product_option_group" +( + "id_product_option_group" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "active" BOOLEAN, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_group") +); + +CREATE TABLE "spy_product_abstract_product_option_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_option_group") +); + +CREATE SEQUENCE "spy_product_option_value_pk_seq"; + +CREATE TABLE "spy_product_option_value" +( + "id_product_option_value" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + "price" INTEGER, + "sku" VARCHAR(255) NOT NULL, + "value" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_value"), + CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") +); + +COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; + +CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; + +CREATE TABLE "spy_product_option_value_price" +( + "id_product_option_value_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_product_option_value" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + PRIMARY KEY ("id_product_option_value_price"), + CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_option_storage" +( + "id_product_abstract_option_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_option_storage"), + CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +CREATE TABLE "spy_product_abstract_page_search" +( + "id_product_abstract_page_search" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_page_search"), + CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_relation_type_pk_seq"; + +CREATE TABLE "spy_product_relation_type" +( + "id_product_relation_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_type") +); + +CREATE SEQUENCE "spy_product_relation_pk_seq"; + +CREATE TABLE "spy_product_relation" +( + "id_product_relation" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation_type" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, + "query_set_data" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation"), + CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") +); + +CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +CREATE TABLE "spy_product_relation_product_abstract" +( + "id_product_relation_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation" INTEGER NOT NULL, + "order" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_product_abstract") +); + +CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_relation_storage" +( + "id_product_abstract_relation_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_relation_storage"), + CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_review_pk_seq"; + +CREATE TABLE "spy_product_review" +( + "id_product_review" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "description" TEXT, + "nickname" VARCHAR(255), + "rating" INTEGER DEFAULT 0 NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "summary" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review") +); + +CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); + +CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); + +CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); + +CREATE SEQUENCE "spy_product_review_search_pk_seq"; + +CREATE TABLE "spy_product_review_search" +( + "id_product_review_search" INT8 NOT NULL, + "fk_product_review" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review_search"), + CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); + +CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_review_storage" +( + "id_product_abstract_review_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_review_storage"), + CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_search_pk_seq"; + +CREATE TABLE "spy_product_search" +( + "id_product_search" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_product_search") +); + +CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); + +CREATE TABLE "spy_product_search_attribute_map" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); + +CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; + +CREATE TABLE "spy_product_search_attribute" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_product_search_attribute"), + CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; + +CREATE TABLE "spy_product_search_config_storage" +( + "id_product_search_config_storage" INT8 NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_config_storage"), + CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_set_pk_seq"; + +CREATE TABLE "spy_product_set" +( + "id_product_set" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "product_set_key" VARCHAR(255) NOT NULL, + "weight" INTEGER DEFAULT 0 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set"), + CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") +); + +CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; + +CREATE TABLE "spy_product_abstract_set" +( + "id_product_abstract_set" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_product_abstract_set"), + CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") +); + +CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); + +CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_set_data_pk_seq"; + +CREATE TABLE "spy_product_set_data" +( + "id_product_set_data" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_data"), + CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") +); + +CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); + +CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); + +CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; + +CREATE TABLE "spy_product_set_page_search" +( + "id_product_set_page_search" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_page_search"), + CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_set_storage_pk_seq"; + +CREATE TABLE "spy_product_set_storage" +( + "id_product_set_storage" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_storage"), + CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_storage" +( + "id_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_storage"), + CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_storage" +( + "id_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_storage"), + CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_validity_pk_seq"; + +CREATE TABLE "spy_product_validity" +( + "id_product_validity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_product_validity"), + CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") +); + +CREATE TABLE "spy_propel_heartbeat" +( + "heartbeat_check" VARCHAR NOT NULL, + PRIMARY KEY ("heartbeat_check") +); + +CREATE SEQUENCE "spy_queue_process_pk_seq"; + +CREATE TABLE "spy_queue_process" +( + "id_queue_process" INTEGER NOT NULL, + "server_id" VARCHAR(255) NOT NULL, + "process_pid" INTEGER NOT NULL, + "worker_pid" INTEGER NOT NULL, + "queue_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_queue_process"), + CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") +); + +CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); + +CREATE SEQUENCE "id_quote_pk_seq"; + +CREATE TABLE "spy_quote" +( + "id_quote" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "quote_data" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_quote") +); + +CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); + +CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); + +CREATE SEQUENCE "spy_refund_pk_seq"; + +CREATE TABLE "spy_refund" +( + "id_refund" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "comment" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_refund") +); + +CREATE SEQUENCE "spy_sales_order_pk_seq"; + +CREATE TABLE "spy_sales_order" +( + "id_sales_order" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_order_source" INTEGER, + "fk_sales_order_address_billing" INTEGER NOT NULL, + "fk_sales_order_address_shipping" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER, + "cart_note" VARCHAR(255), + "currency_iso_code" VARCHAR(5), + "customer_reference" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100), + "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, + "last_name" VARCHAR(100), + "order_reference" VARCHAR(45) NOT NULL, + "price_mode" INT2, + "salutation" INT2, + "store" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order"), + CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") +); + +CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); + +CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); + +CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); + +CREATE SEQUENCE "spy_sales_order_item_pk_seq"; + +CREATE TABLE "spy_sales_order_item" +( + "id_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "fk_oms_order_process" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_order_item_bundle" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "cart_note" VARCHAR(255), + "discount_amount_aggregation" INTEGER DEFAULT 0, + "discount_amount_full_aggregation" INTEGER DEFAULT 0, + "expense_price_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "group_key" VARCHAR(255), + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "product_option_price_aggregation" INTEGER DEFAULT 0, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "refundable_amount" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "subtotal_aggregation" INTEGER, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_amount_full_aggregation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "tax_rate_average_aggregation" NUMERIC(8,2), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item") +); + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; + +CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); + +CREATE SEQUENCE "spy_sales_discount_pk_seq"; + +CREATE TABLE "spy_sales_discount" +( + "id_sales_discount" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER, + "fk_sales_order_item" INTEGER, + "fk_sales_order_item_option" INTEGER, + "amount" INTEGER NOT NULL, + "description" VARCHAR(510), + "display_name" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount") +); + +CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; + +CREATE TABLE "spy_sales_discount_code" +( + "id_sales_discount_code" INTEGER NOT NULL, + "fk_sales_discount" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "codepool_name" VARCHAR(255) NOT NULL, + "is_once_per_customer" BOOLEAN DEFAULT \'t\', + "is_refundable" BOOLEAN DEFAULT \'f\', + "is_reusable" BOOLEAN DEFAULT \'f\', + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount_code") +); + +CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +CREATE TABLE "spy_sales_order_item_gift_card" +( + "id_sales_order_item_gift_card" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "attributes" TEXT, + "code" VARCHAR(40), + "pattern" VARCHAR(40), + "value" INTEGER, + PRIMARY KEY ("id_sales_order_item_gift_card") +); + +CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; + +CREATE TABLE "spy_sales_order_item_option" +( + "id_sales_order_item_option" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER DEFAULT 0 NOT NULL, + "group_name" VARCHAR NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "tax_amount" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2) NOT NULL, + "value" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_option") +); + +COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +CREATE SEQUENCE "spy_sales_order_address_pk_seq"; + +CREATE TABLE "spy_sales_order_address" +( + "id_sales_order_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address") +); + +CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; + +CREATE TABLE "spy_sales_order_address_history" +( + "id_sales_order_address_history" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "fk_sales_order_address" INTEGER NOT NULL, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "is_billing" BOOLEAN DEFAULT \'f\', + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address_history") +); + +CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; + +CREATE TABLE "spy_sales_order_totals" +( + "id_sales_order_totals" INTEGER NOT NULL, + "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, + "canceled_total" INTEGER DEFAULT 0, + "discount_total" INTEGER DEFAULT 0, + "grand_total" INTEGER DEFAULT 0, + "order_expense_total" INTEGER DEFAULT 0, + "refund_total" INTEGER DEFAULT 0, + "subtotal" INTEGER DEFAULT 0, + "tax_total" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_totals") +); + +CREATE SEQUENCE "spy_sales_order_note_pk_seq"; + +CREATE TABLE "spy_sales_order_note" +( + "id_sales_order_note" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "command" VARCHAR(255) NOT NULL, + "message" VARCHAR(255) NOT NULL, + "success" BOOLEAN NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_note") +); + +CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; + +CREATE TABLE "spy_sales_order_comment" +( + "id_sales_order_comment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "username" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_comment") +); + +CREATE SEQUENCE "spy_sales_expense_pk_seq"; + +CREATE TABLE "spy_sales_expense" +( + "id_sales_expense" INTEGER NOT NULL, + "fk_sales_order" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "name" VARCHAR(255), + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "refundable_amount" INTEGER DEFAULT 0, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "type" VARCHAR(150), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_expense"), + CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") +); + +COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; + +COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +CREATE TABLE "spy_sales_order_item_metadata" +( + "id_sales_order_item_metadata" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "image" TEXT, + "super_attributes" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_metadata") +); + +CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); + +CREATE SEQUENCE "spy_sales_shipment_pk_seq"; + +CREATE TABLE "spy_sales_shipment" +( + "id_sales_shipment" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "carrier_name" VARCHAR(255), + "delivery_time" VARCHAR(255), + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_shipment") +); + +CREATE SEQUENCE "id_sales_order_threshold_pk_seq"; + +CREATE TABLE "spy_sales_order_threshold" +( + "id_sales_order_threshold" INTEGER NOT NULL, + "fk_sales_order_threshold_type" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "threshold" INTEGER NOT NULL, + "fee" INTEGER, + "message_glossary_key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_threshold") +); + +CREATE SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; + +CREATE TABLE "spy_sales_order_threshold_tax_set" +( + "id_sales_order_threshold_tax_set" INTEGER NOT NULL, + "fk_tax_set" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_threshold_tax_set") +); + +CREATE SEQUENCE "id_sales_order_threshold_type_pk_seq"; + +CREATE TABLE "spy_sales_order_threshold_type" +( + "id_sales_order_threshold_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "threshold_group" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_threshold_type"), + CONSTRAINT "spy_sales_order_threshold_type-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_sales_payment_pk_seq"; + +CREATE TABLE "spy_sales_payment" +( + "id_sales_payment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_payment_method_type" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_payment") +); + +CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +CREATE TABLE "spy_sales_payment_method_type" +( + "id_sales_payment_method_type" INTEGER NOT NULL, + "payment_provider" VARCHAR NOT NULL, + "payment_method" VARCHAR NOT NULL, + PRIMARY KEY ("id_sales_payment_method_type") +); + +CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); + +CREATE SEQUENCE "spy_sequence_number_pk_seq"; + +CREATE TABLE "spy_sequence_number" +( + "id_sequence_number" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "current_id" INTEGER NOT NULL, + PRIMARY KEY ("id_sequence_number"), + CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; + +CREATE TABLE "spy_shipment_carrier" +( + "id_shipment_carrier" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_shipment_carrier") +); + +CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_pk_seq"; + +CREATE TABLE "spy_shipment_method" +( + "id_shipment_method" INTEGER NOT NULL, + "fk_shipment_carrier" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "name" VARCHAR(255) NOT NULL, + "shipment_method_key" VARCHAR(255), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "default_price" INTEGER, + "availability_plugin" VARCHAR(255), + "price_plugin" VARCHAR(255), + "delivery_time_plugin" VARCHAR(255), + PRIMARY KEY ("id_shipment_method") +); + +COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; + +CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; + +CREATE TABLE "spy_shipment_method_price" +( + "id_shipment_method_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_shipment_method" INTEGER NOT NULL, + "default_gross_price" INTEGER, + "default_net_price" INTEGER, + PRIMARY KEY ("id_shipment_method_price"), + CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +CREATE TABLE "spy_state_machine_transition_log" +( + "id_state_machine_transition_log" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "locked" BOOLEAN, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_transition_log") +); + +CREATE SEQUENCE "spy_state_machine_process_pk_seq"; + +CREATE TABLE "spy_state_machine_process" +( + "id_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "state_machine_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_process"), + CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") +); + +CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); + +CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_state_machine_lock" +( + "id_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_lock"), + CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state" +( + "id_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_state_machine_item_state"), + CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") +); + +CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state_history" +( + "id_state_machine_item_state_history" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_item_state_history") +); + +CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); + +CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +CREATE TABLE "spy_state_machine_event_timeout" +( + "id_state_machine_event_timeout" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_event_timeout"), + CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") +); + +CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_stock_pk_seq"; + +CREATE TABLE "spy_stock" +( + "id_stock" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_stock"), + CONSTRAINT "spy_stock-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_stock_product_pk_seq"; + +CREATE TABLE "spy_stock_product" +( + "id_stock_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_stock" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 0, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_stock_product"), + CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") +); + +CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); + +CREATE SEQUENCE "spy_store_pk_seq"; + +CREATE TABLE "spy_store" +( + "id_store" INTEGER NOT NULL, + "name" VARCHAR(255), + PRIMARY KEY ("id_store") +); + +CREATE SEQUENCE "spy_tax_set_pk_seq"; + +CREATE TABLE "spy_tax_set" +( + "id_tax_set" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_set") +); + +CREATE SEQUENCE "spy_tax_rate_pk_seq"; + +CREATE TABLE "spy_tax_rate" +( + "id_tax_rate" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "rate" NUMERIC(8,2) NOT NULL, + "fk_country" INTEGER, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_rate") +); + +CREATE TABLE "spy_tax_set_tax" +( + "fk_tax_set" INTEGER NOT NULL, + "fk_tax_rate" INTEGER NOT NULL, + PRIMARY KEY ("fk_tax_set","fk_tax_rate") +); + +CREATE SEQUENCE "spy_touch_pk_seq"; + +CREATE TABLE "spy_touch" +( + "id_touch" INTEGER NOT NULL, + "item_type" VARCHAR(255) NOT NULL, + "item_event" INT2 NOT NULL, + "item_id" INTEGER NOT NULL, + "touched" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_touch"), + CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") +); + +CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); + +CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); + +CREATE SEQUENCE "spy_touch_storage_pk_seq"; + +CREATE TABLE "spy_touch_storage" +( + "id_touch_storage" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_storage"), + CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); + +CREATE SEQUENCE "spy_touch_search_pk_seq"; + +CREATE TABLE "spy_touch_search" +( + "id_touch_search" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_search"), + CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); + +CREATE SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; + +CREATE TABLE "spy_unauthenticated_customer_access" +( + "id_unauthenticated_customer_access" INTEGER NOT NULL, + "content_type" VARCHAR(100) NOT NULL, + "is_restricted" BOOLEAN NOT NULL, + PRIMARY KEY ("id_unauthenticated_customer_access"), + CONSTRAINT "spy_unauthenticated_customer_access_u_0984b8" UNIQUE ("content_type") +); + +CREATE SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; + +CREATE TABLE "spy_unauthenticated_customer_access_storage" +( + "id_unauthenticated_customer_access_storage" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_unauthenticated_customer_access_storage"), + CONSTRAINT "spy_unauthenticated_customer_access_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_url_pk_seq"; + +CREATE TABLE "spy_url" +( + "id_url" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_resource_categorynode" INTEGER, + "fk_resource_page" INTEGER, + "fk_resource_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "fk_resource_redirect" INTEGER, + "url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url"), + CONSTRAINT "spy_url_unique_key" UNIQUE ("url") +); + +CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_url_redirect_pk_seq"; + +CREATE TABLE "spy_url_redirect" +( + "id_url_redirect" INTEGER NOT NULL, + "status" INTEGER DEFAULT 301 NOT NULL, + "to_url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url_redirect") +); + +CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); + +CREATE SEQUENCE "spy_url_storage_pk_seq"; + +CREATE TABLE "spy_url_storage" +( + "id_url_storage" INT8 NOT NULL, + "fk_categorynode" INTEGER, + "fk_page" INTEGER, + "fk_product_abstract" INTEGER, + "fk_product_set" INTEGER, + "fk_redirect" INTEGER, + "fk_url" INTEGER NOT NULL, + "url" VARCHAR NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_storage"), + CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); + +CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; + +CREATE TABLE "spy_url_redirect_storage" +( + "id_url_redirect_storage" INT8 NOT NULL, + "fk_url_redirect" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_redirect_storage"), + CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); + +CREATE SEQUENCE "spy_user_pk_seq"; + +CREATE TABLE "spy_user" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_user"), + CONSTRAINT "spy_user-username" UNIQUE ("username") +); + +CREATE SEQUENCE "spy_wishlist_pk_seq"; + +CREATE TABLE "spy_wishlist" +( + "id_wishlist" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist"), + CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") +); + +CREATE SEQUENCE "spy_wishlist_item_pk_seq"; + +CREATE TABLE "spy_wishlist_item" +( + "id_wishlist_item" INTEGER NOT NULL, + "fk_wishlist" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist_item") +); + +CREATE TABLE "spy_acl_role_archive" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role") +); + +CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); + +CREATE TABLE "spy_acl_rule_archive" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE TABLE "spy_acl_group_archive" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group") +); + +CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); + +CREATE TABLE "spy_auth_reset_password_archive" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user") +); + +CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); + +CREATE TABLE "spy_product_search_attribute_map_archive" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + "archived_at" TIMESTAMP, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_product_search_attribute_archive" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_attribute") +); + +CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_user_archive" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_user") +); + +CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); + +ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" + FOREIGN KEY ("fk_availability_abstract") + REFERENCES "spy_availability_abstract" ("id_availability_abstract"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" + FOREIGN KEY ("fk_parent_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" + FOREIGN KEY ("fk_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" + FOREIGN KEY ("fk_category_node_descendant") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_template" ("id_cms_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" + FOREIGN KEY ("fk_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_block_template" ("id_cms_block_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block"); + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" + FOREIGN KEY ("fk_cms_block_category_position") + REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" + FOREIGN KEY ("default_billing_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" + FOREIGN KEY ("default_shipping_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" + FOREIGN KEY ("fk_customer_group") + REFERENCES "spy_customer_group" ("id_customer_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_file" ADD CONSTRAINT "spy_file-fk_file_directory" + FOREIGN KEY ("fk_file_directory") + REFERENCES "spy_file_directory" ("id_file_directory"); + +ALTER TABLE "spy_file_info" ADD CONSTRAINT "spy_file_info-fk_file" + FOREIGN KEY ("fk_file") + REFERENCES "spy_file" ("id_file") + ON DELETE CASCADE; + +ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_file" + FOREIGN KEY ("fk_file") + REFERENCES "spy_file" ("id_file") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_file_directory" ADD CONSTRAINT "spy_file_directory_fk_47023d" + FOREIGN KEY ("fk_parent_file_directory") + REFERENCES "spy_file_directory" ("id_file_directory") + ON DELETE CASCADE; + +ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_52d44c" + FOREIGN KEY ("fk_file_directory") + REFERENCES "spy_file_directory" ("id_file_directory") + ON DELETE CASCADE; + +ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" + FOREIGN KEY ("fk_gift_card_product_abstract_configuration") + REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" + FOREIGN KEY ("fk_gift_card_product_configuration") + REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); + +ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" + FOREIGN KEY ("fk_sales_payment") + REFERENCES "spy_sales_payment" ("id_sales_payment"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" + FOREIGN KEY ("fk_gift_card") + REFERENCES "spy_gift_card" ("id_gift_card"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" + FOREIGN KEY ("fk_parent_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" + FOREIGN KEY ("fk_navigation") + REFERENCES "spy_navigation" ("id_navigation") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" + FOREIGN KEY ("fk_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" + FOREIGN KEY ("fk_url") + REFERENCES "spy_url" ("id_url"); + +ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" + FOREIGN KEY ("fk_newsletter_subscriber") + REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" + FOREIGN KEY ("fk_newsletter_type") + REFERENCES "spy_newsletter_type" ("id_newsletter_type"); + +ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" + FOREIGN KEY ("fk_price_type") + REFERENCES "spy_price_type" ("id_price_type"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" + FOREIGN KEY ("fk_price_product") + REFERENCES "spy_price_product" ("id_price_product"); + +ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" + FOREIGN KEY ("fk_price_product_store") + REFERENCES "spy_price_product_store" ("id_price_product_store") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" + FOREIGN KEY ("fk_product_abstract_alternative") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" + FOREIGN KEY ("fk_product_concrete_alternative") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" + FOREIGN KEY ("fk_product_management_attribute") + REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" + FOREIGN KEY ("fk_product_management_attribute_value") + REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" + FOREIGN KEY ("fk_bundled_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" + FOREIGN KEY ("fk_product_discontinued") + REFERENCES "spy_product_discontinued" ("id_product_discontinued"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" + FOREIGN KEY ("fk_product_group") + REFERENCES "spy_product_group" ("id_product_group"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" + FOREIGN KEY ("fk_product_image_set") + REFERENCES "spy_product_image_set" ("id_product_image_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" + FOREIGN KEY ("fk_product_image") + REFERENCES "spy_product_image" ("id_product_image"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE SET NULL; + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" + FOREIGN KEY ("fk_product_option_value") + REFERENCES "spy_product_option_value" ("id_product_option_value") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" + FOREIGN KEY ("fk_product_relation_type") + REFERENCES "spy_product_relation_type" ("id_product_relation_type"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" + FOREIGN KEY ("fk_product_relation") + REFERENCES "spy_product_relation" ("id_product_relation"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" + FOREIGN KEY ("fk_order_source") + REFERENCES "spy_order_source" ("id_order_source"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" + FOREIGN KEY ("fk_sales_order_address_billing") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" + FOREIGN KEY ("fk_sales_order_address_shipping") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" + FOREIGN KEY ("fk_sales_order_item_bundle") + REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" + FOREIGN KEY ("fk_sales_order_item_option") + REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); + +ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" + FOREIGN KEY ("fk_sales_discount") + REFERENCES "spy_sales_discount" ("id_sales_discount"); + +ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" + FOREIGN KEY ("fk_sales_order_address") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_sales_order_threshold_type" + FOREIGN KEY ("fk_sales_order_threshold_type") + REFERENCES "spy_sales_order_threshold_type" ("id_sales_order_threshold_type"); + +ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_sales_order_threshold_tax_set" ADD CONSTRAINT "spy_sales_order_threshold_tax_set-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" + FOREIGN KEY ("fk_sales_payment_method_type") + REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" + FOREIGN KEY ("fk_shipment_carrier") + REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" + FOREIGN KEY ("fk_shipment_method") + REFERENCES "spy_shipment_method" ("id_shipment_method"); + +ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" + FOREIGN KEY ("fk_stock") + REFERENCES "spy_stock" ("id_stock"); + +ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" + FOREIGN KEY ("fk_tax_rate") + REFERENCES "spy_tax_rate" ("id_tax_rate"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" + FOREIGN KEY ("fk_resource_categorynode") + REFERENCES "spy_category_node" ("id_category_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" + FOREIGN KEY ("fk_resource_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" + FOREIGN KEY ("fk_resource_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" + FOREIGN KEY ("fk_resource_redirect") + REFERENCES "spy_url_redirect" ("id_url_redirect") + ON DELETE CASCADE; + +ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" + FOREIGN KEY ("fk_wishlist") + REFERENCES "spy_wishlist" ("id_wishlist"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" + FOREIGN KEY ("sku") + REFERENCES "spy_product" ("sku"); + +COMMIT; +', +); + } + + /** + * Get the SQL statements for the Down migration + * + * @return array list of the SQL strings to execute for the Down migration + * the keys being the datasources + */ + public function getDownSQL() + { + return array ( + 'zed' => ' +BEGIN; + +DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role" CASCADE; + +DROP SEQUENCE "spy_acl_role_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; + +DROP SEQUENCE "spy_acl_rule_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_group" CASCADE; + +DROP SEQUENCE "spy_acl_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; + +DROP SEQUENCE "spy_auth_reset_password_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; + +DROP SEQUENCE "spy_availability_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability" CASCADE; + +DROP SEQUENCE "spy_availability_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; + +DROP SEQUENCE "spy_availability_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category" CASCADE; + +DROP SEQUENCE "spy_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; + +DROP SEQUENCE "spy_category_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node" CASCADE; + +DROP SEQUENCE "spy_category_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; + +DROP SEQUENCE "spy_category_closure_table_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; + +DROP SEQUENCE "spy_category_node_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; + +DROP SEQUENCE "spy_category_tree_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; + +DROP SEQUENCE "spy_category_node_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_template" CASCADE; + +DROP SEQUENCE "spy_category_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_template" CASCADE; + +DROP SEQUENCE "spy_cms_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page" CASCADE; + +DROP SEQUENCE "spy_cms_page_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_version" CASCADE; + +DROP SEQUENCE "spy_cms_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; + +DROP SEQUENCE "spy_cms_block_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block" CASCADE; + +DROP SEQUENCE "spy_cms_block_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; + +DROP SEQUENCE "id_cms_block_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; + +DROP SEQUENCE "spy_cms_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; + +DROP SEQUENCE "spy_cms_page_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_country" CASCADE; + +DROP SEQUENCE "spy_country_pk_seq"; + +DROP TABLE IF EXISTS "spy_region" CASCADE; + +DROP SEQUENCE "spy_region_pk_seq"; + +DROP TABLE IF EXISTS "spy_currency" CASCADE; + +DROP SEQUENCE "spy_currency_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer" CASCADE; + +DROP SEQUENCE "spy_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_address" CASCADE; + +DROP SEQUENCE "spy_customer_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group" CASCADE; + +DROP SEQUENCE "spy_customer_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; + +DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_note" CASCADE; + +DROP SEQUENCE "spy_customer_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount" CASCADE; + +DROP SEQUENCE "spy_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_store" CASCADE; + +DROP SEQUENCE "id_discount_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; + +DROP SEQUENCE "spy_discount_amount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; + +DROP SEQUENCE "spy_discount_promotion_pk_seq"; + +DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; + +DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; + +DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_file" CASCADE; + +DROP SEQUENCE "spy_file_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_info" CASCADE; + +DROP SEQUENCE "spy_file_info_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_file_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_directory" CASCADE; + +DROP SEQUENCE "spy_file_directory_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_directory_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_mime_type" CASCADE; + +DROP SEQUENCE "spy_mime_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_storage" CASCADE; + +DROP SEQUENCE "spy_file_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card" CASCADE; + +DROP SEQUENCE "spy_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; + +DROP SEQUENCE "spy_payment_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; + +DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; + +DROP SEQUENCE "spy_glossary_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; + +DROP SEQUENCE "spy_glossary_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; + +DROP SEQUENCE "spy_glossary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_locale" CASCADE; + +DROP SEQUENCE "spy_locale_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation" CASCADE; + +DROP SEQUENCE "spy_navigation_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; + +DROP SEQUENCE "spy_navigation_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; + +DROP SEQUENCE "spy_navigation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; + +DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; + +DROP SEQUENCE "spy_newsletter_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; + +DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; + +DROP SEQUENCE "spy_nopayment_paid_pk_seq"; + +DROP TABLE IF EXISTS "spy_offer" CASCADE; + +DROP SEQUENCE "spy_offer_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; + +DROP SEQUENCE "spy_oms_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; + +DROP SEQUENCE "spy_oms_order_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; + +DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; + +DROP TABLE IF EXISTS "spy_order_source" CASCADE; + +DROP SEQUENCE "spy_order_source_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product" CASCADE; + +DROP SEQUENCE "spy_price_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_type" CASCADE; + +DROP SEQUENCE "spy_price_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; + +DROP SEQUENCE "spy_price_product_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; + +DROP SEQUENCE "spy_price_product_default_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; + +DROP SEQUENCE "id_product_abstract_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_product" CASCADE; + +DROP SEQUENCE "spy_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; + +DROP SEQUENCE "spy_product_attribute_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; + +DROP SEQUENCE "spy_product_alternative_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; + +DROP SEQUENCE "id_product_alternative_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; + +DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; + +DROP SEQUENCE "spy_product_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category" CASCADE; + +DROP SEQUENCE "spy_product_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; + +DROP SEQUENCE "id_product_discontinued_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; + +DROP SEQUENCE "id_product_discontinued_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; + +DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_group" CASCADE; + +DROP SEQUENCE "spy_product_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; + +DROP SEQUENCE "spy_product_image_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label" CASCADE; + +DROP SEQUENCE "spy_product_label_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; + +DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; + +DROP SEQUENCE "spy_product_option_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; + +DROP SEQUENCE "spy_product_option_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; + +DROP SEQUENCE "spy_product_option_value_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; + +DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; + +DROP SEQUENCE "spy_product_relation_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation" CASCADE; + +DROP SEQUENCE "spy_product_relation_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review" CASCADE; + +DROP SEQUENCE "id_product_review_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; + +DROP SEQUENCE "spy_product_review_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search" CASCADE; + +DROP SEQUENCE "spy_product_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; + +DROP SEQUENCE "spy_product_search_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; + +DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set" CASCADE; + +DROP SEQUENCE "spy_product_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; + +DROP SEQUENCE "spy_product_abstract_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; + +DROP SEQUENCE "spy_product_set_data_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; + +DROP SEQUENCE "spy_product_set_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; + +DROP SEQUENCE "spy_product_set_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_validity" CASCADE; + +DROP SEQUENCE "spy_product_validity_pk_seq"; + +DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; + +DROP TABLE IF EXISTS "spy_queue_process" CASCADE; + +DROP SEQUENCE "spy_queue_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_quote" CASCADE; + +DROP SEQUENCE "id_quote_pk_seq"; + +DROP TABLE IF EXISTS "spy_refund" CASCADE; + +DROP SEQUENCE "spy_refund_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order" CASCADE; + +DROP SEQUENCE "spy_sales_order_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; + +DROP SEQUENCE "spy_sales_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; + +DROP SEQUENCE "spy_sales_discount_code_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; + +DROP SEQUENCE "spy_sales_order_totals_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; + +DROP SEQUENCE "spy_sales_order_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; + +DROP SEQUENCE "spy_sales_order_comment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; + +DROP SEQUENCE "spy_sales_expense_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; + +DROP SEQUENCE "spy_sales_shipment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_threshold" CASCADE; + +DROP SEQUENCE "id_sales_order_threshold_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_threshold_tax_set" CASCADE; + +DROP SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_threshold_type" CASCADE; + +DROP SEQUENCE "id_sales_order_threshold_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; + +DROP SEQUENCE "spy_sales_payment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; + +DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; + +DROP SEQUENCE "spy_sequence_number_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; + +DROP SEQUENCE "spy_shipment_carrier_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; + +DROP SEQUENCE "spy_shipment_method_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; + +DROP SEQUENCE "spy_shipment_method_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; + +DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; + +DROP SEQUENCE "spy_state_machine_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; + +DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock" CASCADE; + +DROP SEQUENCE "spy_stock_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock_product" CASCADE; + +DROP SEQUENCE "spy_stock_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_store" CASCADE; + +DROP SEQUENCE "spy_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set" CASCADE; + +DROP SEQUENCE "spy_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; + +DROP SEQUENCE "spy_tax_rate_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; + +DROP TABLE IF EXISTS "spy_touch" CASCADE; + +DROP SEQUENCE "spy_touch_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; + +DROP SEQUENCE "spy_touch_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_search" CASCADE; + +DROP SEQUENCE "spy_touch_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_unauthenticated_customer_access" CASCADE; + +DROP SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; + +DROP TABLE IF EXISTS "spy_unauthenticated_customer_access_storage" CASCADE; + +DROP SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url" CASCADE; + +DROP SEQUENCE "spy_url_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; + +DROP SEQUENCE "spy_url_redirect_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_storage" CASCADE; + +DROP SEQUENCE "spy_url_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; + +DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_user" CASCADE; + +DROP SEQUENCE "spy_user_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist" CASCADE; + +DROP SEQUENCE "spy_wishlist_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; + +DROP SEQUENCE "spy_wishlist_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_user_archive" CASCADE; + +COMMIT; +', +); + } + +} \ No newline at end of file diff --git a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php new file mode 100644 index 0000000000..434a70ca3a --- /dev/null +++ b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php @@ -0,0 +1,5081 @@ + ' +BEGIN; + +CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; + +CREATE TABLE "spy_sales_reclamation" +( + "id_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "customer_name" VARCHAR(511) NOT NULL, + "customer_reference" VARCHAR(255), + "customer_email" VARCHAR(255) NOT NULL, + "state" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_reclamation") +); + +CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +CREATE TABLE "spy_sales_reclamation_item" +( + "id_sales_reclamation_item" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "state" INT2 NOT NULL, + PRIMARY KEY ("id_sales_reclamation_item") +); + +CREATE SEQUENCE "spy_acl_role_pk_seq"; + +CREATE TABLE "spy_acl_role" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role"), + CONSTRAINT "spy_acl_role-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_acl_rule_pk_seq"; + +CREATE TABLE "spy_acl_rule" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE SEQUENCE "spy_acl_group_pk_seq"; + +CREATE TABLE "spy_acl_group" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group"), + CONSTRAINT "spy_acl_group-name" UNIQUE ("name") +); + +CREATE TABLE "spy_acl_user_has_group" +( + "fk_user" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_user","fk_acl_group") +); + +CREATE TABLE "spy_acl_groups_has_roles" +( + "fk_acl_role" INTEGER NOT NULL, + "fk_acl_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_acl_role","fk_acl_group") +); + +CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; + +CREATE TABLE "spy_auth_reset_password" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user"), + CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_availability_abstract_pk_seq"; + +CREATE TABLE "spy_availability_abstract" +( + "id_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_availability_abstract"), + CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_pk_seq"; + +CREATE TABLE "spy_availability" +( + "id_availability" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "fk_store" INTEGER, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + "quantity" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_availability"), + CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_availability_storage_pk_seq"; + +CREATE TABLE "spy_availability_storage" +( + "id_availability_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_availability_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_availability_storage"), + CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); + +CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); + +CREATE SEQUENCE "spy_category_pk_seq"; + +CREATE TABLE "spy_category" +( + "id_category" INTEGER NOT NULL, + "fk_category_template" INTEGER, + "category_key" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\', + "is_clickable" BOOLEAN DEFAULT \'t\', + "is_in_menu" BOOLEAN DEFAULT \'t\', + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_category"), + CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") +); + +CREATE SEQUENCE "spy_category_attribute_pk_seq"; + +CREATE TABLE "spy_category_attribute" +( + "id_category_attribute" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "category_image_name" VARCHAR(255), + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" TEXT, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_attribute") +); + +CREATE SEQUENCE "spy_category_node_pk_seq"; + +CREATE TABLE "spy_category_node" +( + "id_category_node" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_parent_category_node" INTEGER, + "is_main" BOOLEAN DEFAULT \'f\', + "is_root" BOOLEAN DEFAULT \'f\', + "node_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_category_node") +); + +CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); + +CREATE SEQUENCE "spy_category_closure_table_pk_seq"; + +CREATE TABLE "spy_category_closure_table" +( + "id_category_closure_table" INTEGER NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "fk_category_node_descendant" INTEGER NOT NULL, + "depth" INTEGER NOT NULL, + PRIMARY KEY ("id_category_closure_table") +); + +CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; + +CREATE TABLE "spy_category_node_page_search" +( + "id_category_node_page_search" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_page_search"), + CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; + +CREATE TABLE "spy_category_tree_storage" +( + "id_category_tree_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_tree_storage"), + CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_category_node_storage_pk_seq"; + +CREATE TABLE "spy_category_node_storage" +( + "id_category_node_storage" INT8 NOT NULL, + "fk_category_node" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_category_node_storage"), + CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); + +CREATE SEQUENCE "spy_category_template_pk_seq"; + +CREATE TABLE "spy_category_template" +( + "id_category_template" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_category_template"), + CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_template_pk_seq"; + +CREATE TABLE "spy_cms_template" +( + "id_cms_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_template"), + CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); + +CREATE SEQUENCE "spy_cms_page_pk_seq"; + +CREATE TABLE "spy_cms_page" +( + "id_cms_page" INTEGER NOT NULL, + "fk_template" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, + "page_key" VARCHAR(32), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_cms_page") +); + +CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); + +CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +CREATE TABLE "spy_cms_page_localized_attributes" +( + "id_cms_page_localized_attributes" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_localized_attributes"), + CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") +); + +CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_glossary_key_mapping" +( + "id_cms_glossary_key_mapping" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_page" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_glossary_key_mapping"), + CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") +); + +CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); + +CREATE SEQUENCE "spy_cms_version_pk_seq"; + +CREATE TABLE "spy_cms_version" +( + "id_cms_version" INTEGER NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "fk_user" INTEGER, + "data" TEXT, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_version") +); + +CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); + +CREATE SEQUENCE "spy_cms_block_template_pk_seq"; + +CREATE TABLE "spy_cms_block_template" +( + "id_cms_block_template" INTEGER NOT NULL, + "template_name" VARCHAR(255) NOT NULL, + "template_path" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_template"), + CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") +); + +CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +CREATE TABLE "spy_cms_block_glossary_key_mapping" +( + "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "placeholder" VARCHAR NOT NULL, + PRIMARY KEY ("id_cms_block_glossary_key_mapping"), + CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") +); + +CREATE SEQUENCE "spy_cms_block_pk_seq"; + +CREATE TABLE "spy_cms_block" +( + "id_cms_block" INTEGER NOT NULL, + "fk_page" INTEGER, + "fk_template" INTEGER, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "name" VARCHAR(255) NOT NULL, + "type" VARCHAR(255), + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "value" INTEGER, + PRIMARY KEY ("id_cms_block"), + CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") +); + +COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; + +COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; + +CREATE SEQUENCE "id_cms_block_store_pk_seq"; + +CREATE TABLE "spy_cms_block_store" +( + "id_cms_block_store" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_store"), + CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") +); + +CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_category_connector" +( + "id_cms_block_category_connector" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_category_template" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_cms_block_category_position" INTEGER, + PRIMARY KEY ("id_cms_block_category_connector") +); + +CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; + +CREATE TABLE "spy_cms_block_category_position" +( + "id_cms_block_category_position" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_cms_block_category_position") +); + +CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_category_storage" +( + "id_cms_block_category_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_category_storage"), + CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); + +CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +CREATE TABLE "spy_cms_block_product_connector" +( + "id_cms_block_product_connector" INTEGER NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + PRIMARY KEY ("id_cms_block_product_connector") +); + +CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); + +CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_product_storage" +( + "id_cms_block_product_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_product_storage"), + CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; + +CREATE TABLE "spy_cms_block_storage" +( + "id_cms_block_storage" INT8 NOT NULL, + "fk_cms_block" INTEGER NOT NULL, + "name" VARCHAR NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_block_storage"), + CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); + +CREATE SEQUENCE "spy_cms_page_search_pk_seq"; + +CREATE TABLE "spy_cms_page_search" +( + "id_cms_page_search" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_search"), + CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); + +CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; + +CREATE TABLE "spy_cms_page_storage" +( + "id_cms_page_storage" INT8 NOT NULL, + "fk_cms_page" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_cms_page_storage"), + CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); + +CREATE SEQUENCE "spy_country_pk_seq"; + +CREATE TABLE "spy_country" +( + "id_country" INTEGER NOT NULL, + "iso2_code" VARCHAR(2) NOT NULL, + "iso3_code" VARCHAR(3), + "name" VARCHAR(255), + "postal_code_mandatory" BOOLEAN DEFAULT \'f\', + "postal_code_regex" VARCHAR(500), + PRIMARY KEY ("id_country"), + CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), + CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") +); + +CREATE SEQUENCE "spy_region_pk_seq"; + +CREATE TABLE "spy_region" +( + "id_region" INTEGER NOT NULL, + "fk_country" INTEGER, + "name" VARCHAR(100) NOT NULL, + "iso2_code" VARCHAR(6) NOT NULL, + PRIMARY KEY ("id_region"), + CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") +); + +CREATE SEQUENCE "spy_currency_pk_seq"; + +CREATE TABLE "spy_currency" +( + "id_currency" INTEGER NOT NULL, + "name" VARCHAR(255), + "code" VARCHAR(5), + "symbol" VARCHAR(255), + PRIMARY KEY ("id_currency") +); + +CREATE SEQUENCE "spy_customer_pk_seq"; + +CREATE TABLE "spy_customer" +( + "id_customer" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_user" INTEGER, + "anonymized_at" TIMESTAMP, + "company" VARCHAR(100), + "customer_reference" VARCHAR(255) NOT NULL, + "date_of_birth" DATE, + "default_billing_address" INTEGER, + "default_shipping_address" INTEGER, + "email" VARCHAR(255) NOT NULL, + "first_name" VARCHAR(100), + "gender" INT2, + "last_name" VARCHAR(100), + "password" VARCHAR(255), + "phone" VARCHAR(255), + "registered" DATE, + "registration_key" VARCHAR(150), + "restore_password_date" TIMESTAMP, + "restore_password_key" VARCHAR(150), + "salutation" INT2, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer"), + CONSTRAINT "spy_customer-email" UNIQUE ("email"), + CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") +); + +CREATE SEQUENCE "spy_customer_address_pk_seq"; + +CREATE TABLE "spy_customer_address" +( + "id_customer_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "anonymized_at" TIMESTAMP, + "city" VARCHAR(255), + "comment" VARCHAR(255), + "company" VARCHAR(255), + "deleted_at" TIMESTAMP, + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "phone" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_address") +); + +CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); + +CREATE SEQUENCE "spy_customer_group_pk_seq"; + +CREATE TABLE "spy_customer_group" +( + "id_customer_group" INTEGER NOT NULL, + "name" VARCHAR(70) NOT NULL, + "description" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group"), + CONSTRAINT "spy_customer-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +CREATE TABLE "spy_customer_group_to_customer" +( + "id_customer_group_to_customer" INTEGER NOT NULL, + "fk_customer_group" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_group_to_customer"), + CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") +); + +CREATE SEQUENCE "spy_customer_note_pk_seq"; + +CREATE TABLE "spy_customer_note" +( + "id_customer_note" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "username" VARCHAR, + "message" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_customer_note") +); + +CREATE SEQUENCE "spy_discount_pk_seq"; + +CREATE TABLE "spy_discount" +( + "id_discount" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "fk_store" INTEGER, + "amount" INTEGER NOT NULL, + "calculator_plugin" VARCHAR(255), + "collector_query_string" VARCHAR, + "decision_rule_query_string" VARCHAR, + "description" VARCHAR(1024), + "discount_key" VARCHAR(32), + "discount_type" VARCHAR(255), + "display_name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "is_exclusive" BOOLEAN DEFAULT \'f\', + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount"), + CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), + CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") +); + +CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); + +CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); + +CREATE SEQUENCE "id_discount_store_pk_seq"; + +CREATE TABLE "spy_discount_store" +( + "id_discount_store" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_store"), + CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") +); + +CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +CREATE TABLE "spy_discount_voucher_pool" +( + "id_discount_voucher_pool" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher_pool") +); + +CREATE SEQUENCE "spy_discount_voucher_pk_seq"; + +CREATE TABLE "spy_discount_voucher" +( + "id_discount_voucher" INTEGER NOT NULL, + "fk_discount_voucher_pool" INTEGER, + "code" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\', + "max_number_of_uses" INTEGER, + "number_of_uses" INTEGER, + "voucher_batch" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_discount_voucher"), + CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") +); + +CREATE SEQUENCE "spy_discount_amount_pk_seq"; + +CREATE TABLE "spy_discount_amount" +( + "id_discount_amount" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "gross_amount" INTEGER, + "net_amount" INTEGER, + PRIMARY KEY ("id_discount_amount"), + CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") +); + +CREATE SEQUENCE "spy_discount_promotion_pk_seq"; + +CREATE TABLE "spy_discount_promotion" +( + "id_discount_promotion" INTEGER NOT NULL, + "fk_discount" INTEGER NOT NULL, + "abstract_sku" VARCHAR(255) NOT NULL, + "quantity" INTEGER NOT NULL, + PRIMARY KEY ("id_discount_promotion") +); + +CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +CREATE TABLE "spy_event_behavior_entity_change" +( + "id_event_behavior_entity_change" INT8 NOT NULL, + "data" VARCHAR, + "process_id" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_event_behavior_entity_change") +); + +CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +CREATE TABLE "pyz_example_state_machine_item" +( + "id_example_state_machine_item" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER, + "name" VARCHAR, + PRIMARY KEY ("id_example_state_machine_item") +); + +CREATE SEQUENCE "spy_file_pk_seq"; + +CREATE TABLE "spy_file" +( + "id_file" INTEGER NOT NULL, + "fk_file_directory" INTEGER, + "file_name" VARCHAR(500) NOT NULL, + PRIMARY KEY ("id_file") +); + +CREATE SEQUENCE "spy_file_info_pk_seq"; + +CREATE TABLE "spy_file_info" +( + "id_file_info" INTEGER NOT NULL, + "fk_file" INTEGER NOT NULL, + "type" VARCHAR(255) NOT NULL, + "size" INTEGER NOT NULL, + "version" INTEGER NOT NULL, + "version_name" VARCHAR(255) NOT NULL, + "storage_name" VARCHAR(255), + "storage_file_name" VARCHAR(255), + "extension" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_file_info") +); + +CREATE SEQUENCE "spy_file_localized_attributes_pk_seq"; + +CREATE TABLE "spy_file_localized_attributes" +( + "id_file_localized_attributes" INTEGER NOT NULL, + "fk_file" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "title" VARCHAR(255), + "alt" TEXT, + PRIMARY KEY ("id_file_localized_attributes"), + CONSTRAINT "spy_file_localized_attributes-unique-fk_file" UNIQUE ("fk_file","fk_locale") +); + +CREATE SEQUENCE "spy_file_directory_pk_seq"; + +CREATE TABLE "spy_file_directory" +( + "id_file_directory" INTEGER NOT NULL, + "fk_parent_file_directory" INTEGER, + "name" VARCHAR(255) NOT NULL, + "position" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_file_directory") +); + +CREATE INDEX "spy_file_directory_i_ba7161" ON "spy_file_directory" ("position"); + +CREATE SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; + +CREATE TABLE "spy_file_directory_localized_attributes" +( + "id_file_directory_localized_attributes" INTEGER NOT NULL, + "fk_file_directory" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_file_directory_localized_attributes"), + CONSTRAINT "spy_file_directory_localized_attributes-unique-fk_file_director" UNIQUE ("fk_file_directory","fk_locale") +); + +CREATE SEQUENCE "spy_mime_type_pk_seq"; + +CREATE TABLE "spy_mime_type" +( + "id_mime_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "is_allowed" BOOLEAN NOT NULL, + PRIMARY KEY ("id_mime_type"), + CONSTRAINT "spy_mime_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_file_storage_pk_seq"; + +CREATE TABLE "spy_file_storage" +( + "id_file_storage" INTEGER NOT NULL, + "fk_file" INTEGER, + "file_name" VARCHAR, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + PRIMARY KEY ("id_file_storage"), + CONSTRAINT "spy_file_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_file_storage-fk_file" ON "spy_file_storage" ("fk_file"); + +CREATE SEQUENCE "spy_gift_card_pk_seq"; + +CREATE TABLE "spy_gift_card" +( + "id_gift_card" INTEGER NOT NULL, + "name" VARCHAR(40) NOT NULL, + "replacement_pattern" VARCHAR(40), + "code" VARCHAR(40) NOT NULL, + "value" INTEGER NOT NULL, + "currency_iso_code" VARCHAR(5), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "attributes" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration" +( + "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, + "code_pattern" VARCHAR(40) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_abstract_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_abstract_configuration_link" +( + "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration" +( + "id_gift_card_product_configuration" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_gift_card_product_configuration") +); + +CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +CREATE TABLE "spy_gift_card_product_configuration_link" +( + "id_gift_card_product_configuration_link" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_gift_card_product_configuration" INTEGER NOT NULL, + PRIMARY KEY ("id_gift_card_product_configuration_link") +); + +CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; + +CREATE TABLE "spy_payment_gift_card" +( + "id_payment_gift_card" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "fk_sales_payment" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_payment_gift_card") +); + +CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +CREATE TABLE "spy_gift_card_balance_log" +( + "id_gift_card_balance_log" INTEGER NOT NULL, + "fk_gift_card" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "value" INTEGER NOT NULL, + "created_at" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_gift_card_balance_log") +); + +CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); + +CREATE SEQUENCE "spy_glossary_key_pk_seq"; + +CREATE TABLE "spy_glossary_key" +( + "id_glossary_key" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_glossary_key"), + CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); + +CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); + +CREATE SEQUENCE "spy_glossary_translation_pk_seq"; + +CREATE TABLE "spy_glossary_translation" +( + "id_glossary_translation" INTEGER NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_glossary_translation"), + CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") +); + +CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); + +CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); + +CREATE SEQUENCE "spy_glossary_storage_pk_seq"; + +CREATE TABLE "spy_glossary_storage" +( + "id_glossary_storage" INT8 NOT NULL, + "fk_glossary_key" INTEGER NOT NULL, + "glossary_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_glossary_storage"), + CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); + +CREATE SEQUENCE "spy_locale_pk_seq"; + +CREATE TABLE "spy_locale" +( + "id_locale" INTEGER NOT NULL, + "locale_name" VARCHAR(5) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_locale"), + CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") +); + +CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); + +CREATE SEQUENCE "spy_navigation_pk_seq"; + +CREATE TABLE "spy_navigation" +( + "id_navigation" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "key" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation"), + CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); + +CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); + +CREATE SEQUENCE "spy_navigation_node_pk_seq"; + +CREATE TABLE "spy_navigation_node" +( + "id_navigation_node" INTEGER NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "fk_parent_navigation_node" INTEGER, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "node_key" VARCHAR(32), + "node_type" VARCHAR(255), + "position" INTEGER, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_navigation_node") +); + +CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); + +CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); + +CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +CREATE TABLE "spy_navigation_node_localized_attributes" +( + "id_navigation_node_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_navigation_node" INTEGER NOT NULL, + "fk_url" INTEGER, + "css_class" VARCHAR(255), + "external_url" VARCHAR(255), + "link" VARCHAR(255), + "title" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_node_localized_attributes") +); + +CREATE SEQUENCE "spy_navigation_storage_pk_seq"; + +CREATE TABLE "spy_navigation_storage" +( + "id_navigation_storage" INT8 NOT NULL, + "fk_navigation" INTEGER NOT NULL, + "navigation_key" VARCHAR NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_navigation_storage"), + CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); + +CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +CREATE TABLE "spy_newsletter_subscriber" +( + "id_newsletter_subscriber" INTEGER NOT NULL, + "fk_customer" INTEGER, + "email" VARCHAR(255) NOT NULL, + "subscriber_key" VARCHAR(150), + "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_subscriber"), + CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), + CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") +); + +CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); + +CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); + +CREATE SEQUENCE "spy_newsletter_type_pk_seq"; + +CREATE TABLE "spy_newsletter_type" +( + "id_newsletter_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_newsletter_type"), + CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") +); + +CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); + +CREATE TABLE "spy_newsletter_subscription" +( + "fk_newsletter_subscriber" INTEGER NOT NULL, + "fk_newsletter_type" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") +); + +CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; + +CREATE TABLE "spy_nopayment_paid" +( + "id_nopayment_paid" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_nopayment_paid") +); + +CREATE SEQUENCE "spy_offer_pk_seq"; + +CREATE TABLE "spy_offer" +( + "id_offer" INTEGER NOT NULL, + "quote_data" TEXT NOT NULL, + "status" INT2 DEFAULT 0, + "fk_user" INTEGER, + "customer_reference" VARCHAR(255), + "contact_person" VARCHAR(255), + "contact_date" TIMESTAMP, + "note" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_offer") +); + +CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); + +CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; + +CREATE TABLE "spy_oms_transition_log" +( + "id_oms_transition_log" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "quantity" INTEGER, + "locked" BOOLEAN, + "fk_oms_order_process" INTEGER, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_transition_log") +); + +CREATE SEQUENCE "spy_oms_order_process_pk_seq"; + +CREATE TABLE "spy_oms_order_process" +( + "id_oms_order_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_process"), + CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_oms_state_machine_lock" +( + "id_oms_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "details" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_state_machine_lock"), + CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state" +( + "id_oms_order_item_state" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_oms_order_item_state"), + CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +CREATE TABLE "spy_oms_order_item_state_history" +( + "id_oms_order_item_state_history" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_oms_order_item_state_history") +); + +CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); + +CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; + +CREATE TABLE "spy_oms_event_timeout" +( + "id_oms_event_timeout" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_event_timeout"), + CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") +); + +CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation" +( + "id_oms_product_reservation" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, + "fk_store" INTEGER, + PRIMARY KEY ("id_oms_product_reservation"), + CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") +); + +CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_store" +( + "id_oms_product_reservation_store" INTEGER NOT NULL, + "store" VARCHAR(255) NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "reservation_quantity" INTEGER NOT NULL, + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_oms_product_reservation_store"), + CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") +); + +CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); + +CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); + +CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); + +CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +CREATE TABLE "spy_oms_product_reservation_change_version" +( + "version" INT8 NOT NULL, + "id_oms_product_reservation_id" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("version") +); + +CREATE TABLE "spy_oms_product_reservation_last_exported_version" +( + "version" INT8 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP +); + +CREATE SEQUENCE "spy_order_source_pk_seq"; + +CREATE TABLE "spy_order_source" +( + "id_order_source" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_order_source") +); + +CREATE SEQUENCE "spy_price_product_pk_seq"; + +CREATE TABLE "spy_price_product" +( + "id_price_product" INTEGER NOT NULL, + "fk_price_type" INTEGER NOT NULL, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "price" INTEGER DEFAULT 0, + PRIMARY KEY ("id_price_product"), + CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") +); + +CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); + +CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); + +CREATE SEQUENCE "spy_price_type_pk_seq"; + +CREATE TABLE "spy_price_type" +( + "id_price_type" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "price_mode_configuration" INT2, + PRIMARY KEY ("id_price_type"), + CONSTRAINT "spy_price_type-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_price_product_store_pk_seq"; + +CREATE TABLE "spy_price_product_store" +( + "id_price_product_store" INT8 NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_price_product" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + "price_data" TEXT, + "price_data_checksum" VARCHAR, + PRIMARY KEY ("id_price_product_store") +); + +CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); + +CREATE SEQUENCE "spy_price_product_default_pk_seq"; + +CREATE TABLE "spy_price_product_default" +( + "id_price_product_default" INT8 NOT NULL, + "fk_price_product_store" INT8 NOT NULL, + PRIMARY KEY ("id_price_product_default"), + CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") +); + +CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); + +CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_price_product_abstract_storage" +( + "id_price_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_abstract_storage"), + CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_price_product_concrete_storage" +( + "id_price_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128), + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_price_product_concrete_storage"), + CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_abstract" +( + "id_product_abstract" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "attributes" TEXT NOT NULL, + "color_code" VARCHAR(8), + "new_from" TIMESTAMP, + "new_to" TIMESTAMP, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract"), + CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_abstract_localized_attributes" +( + "id_abstract_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_abstract_attributes"), + CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") +); + +CREATE SEQUENCE "id_product_abstract_store_pk_seq"; + +CREATE TABLE "spy_product_abstract_store" +( + "id_product_abstract_store" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + PRIMARY KEY ("id_product_abstract_store"), + CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") +); + +CREATE SEQUENCE "spy_product_pk_seq"; + +CREATE TABLE "spy_product" +( + "id_product" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product"), + CONSTRAINT "spy_product-sku" UNIQUE ("sku") +); + +CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_localized_attributes" +( + "id_product_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "attributes" TEXT NOT NULL, + "description" TEXT, + "is_complete" BOOLEAN DEFAULT \'t\', + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_attributes"), + CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") +); + +CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; + +CREATE TABLE "spy_product_attribute_key" +( + "id_product_attribute_key" INTEGER NOT NULL, + "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_attribute_key"), + CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_alternative_pk_seq"; + +CREATE TABLE "spy_product_alternative" +( + "id_product_alternative" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_product_abstract_alternative" INTEGER, + "fk_product_concrete_alternative" INTEGER, + PRIMARY KEY ("id_product_alternative") +); + +CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; + +CREATE TABLE "spy_product_alternative_storage" +( + "id_product_alternative_storage" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_alternative_storage"), + CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); + +CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +CREATE TABLE "spy_product_replacement_for_storage" +( + "id_product_replacement_for_storage" INTEGER NOT NULL, + "data" TEXT, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_replacement_for_storage"), + CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); + +CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; + +CREATE TABLE "spy_product_management_attribute" +( + "id_product_management_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, + "input_type" VARCHAR NOT NULL, + PRIMARY KEY ("id_product_management_attribute"), + CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value" +( + "id_product_management_attribute_value" INTEGER NOT NULL, + "fk_product_management_attribute" INTEGER NOT NULL, + "value" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +CREATE TABLE "spy_product_management_attribute_value_translation" +( + "id_product_management_attribute_value_translation" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_management_attribute_value" INTEGER NOT NULL, + "translation" TEXT NOT NULL, + PRIMARY KEY ("id_product_management_attribute_value_translation"), + CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") +); + +CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +CREATE TABLE "spy_sales_order_item_bundle" +( + "id_sales_order_item_bundle" INTEGER NOT NULL, + "cart_note" VARCHAR(255), + "gross_price" INTEGER NOT NULL, + "image" TEXT, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_bundle") +); + +CREATE SEQUENCE "spy_product_bundle_pk_seq"; + +CREATE TABLE "spy_product_bundle" +( + "id_product_bundle" INTEGER NOT NULL, + "fk_bundled_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_bundle") +); + +COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; + +COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; + +COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; + +CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); + +CREATE SEQUENCE "spy_product_category_pk_seq"; + +CREATE TABLE "spy_product_category" +( + "id_product_category" INTEGER NOT NULL, + "fk_category" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "product_order" INTEGER DEFAULT 0, + PRIMARY KEY ("id_product_category"), + CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") +); + +CREATE SEQUENCE "spy_product_category_filter_pk_seq"; + +CREATE TABLE "spy_product_category_filter" +( + "id_product_category_filter" INTEGER NOT NULL, + "fk_category" INTEGER, + "filter_data" TEXT NOT NULL, + PRIMARY KEY ("id_product_category_filter"), + CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") +); + +CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); + +CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +CREATE TABLE "spy_product_category_filter_storage" +( + "id_product_category_filter_storage" INT8 NOT NULL, + "fk_category" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_category_filter_storage"), + CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); + +CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_category_storage" +( + "id_product_abstract_category_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_category_storage"), + CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_discontinued_pk_seq"; + +CREATE TABLE "spy_product_discontinued" +( + "id_product_discontinued" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "active_until" DATE NOT NULL, + "discontinued_on" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued") +); + +CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; + +CREATE TABLE "spy_product_discontinued_note" +( + "id_product_discontinued_note" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "note" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_note"), + CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") +); + +CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; + +CREATE TABLE "spy_product_discontinued_storage" +( + "id_product_discontinued_storage" INTEGER NOT NULL, + "fk_product_discontinued" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_discontinued_storage"), + CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); + +CREATE SEQUENCE "spy_product_group_pk_seq"; + +CREATE TABLE "spy_product_group" +( + "id_product_group" INTEGER NOT NULL, + "product_group_key" VARCHAR(32), + PRIMARY KEY ("id_product_group") +); + +CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); + +CREATE TABLE "spy_product_abstract_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_group" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_group") +); + +CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_group_storage" +( + "id_product_abstract_group_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_group_storage"), + CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_image_set_pk_seq"; + +CREATE TABLE "spy_product_image_set" +( + "id_product_image_set" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "fk_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image_set"), + CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") +); + +CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); + +CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); + +CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_product_image_pk_seq"; + +CREATE TABLE "spy_product_image" +( + "id_product_image" INTEGER NOT NULL, + "external_url_large" VARCHAR(2048), + "external_url_small" VARCHAR(2048), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_image") +); + +CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +CREATE TABLE "spy_product_image_set_to_product_image" +( + "id_product_image_set_to_product_image" INTEGER NOT NULL, + "fk_product_image" INTEGER NOT NULL, + "fk_product_image_set" INTEGER NOT NULL, + "sort_order" INTEGER NOT NULL, + PRIMARY KEY ("id_product_image_set_to_product_image"), + CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") +); + +CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_image_storage" +( + "id_product_abstract_image_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_image_storage"), + CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_image_storage" +( + "id_product_concrete_image_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_image_storage"), + CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_label_pk_seq"; + +CREATE TABLE "spy_product_label" +( + "id_product_label" INTEGER NOT NULL, + "front_end_reference" VARCHAR, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, + "is_published" BOOLEAN DEFAULT \'f\', + "name" VARCHAR NOT NULL, + "position" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label"), + CONSTRAINT "spy_product_label-name" UNIQUE ("name") +); + +CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); + +CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +CREATE TABLE "spy_product_label_localized_attributes" +( + "id_product_label_localized_attributes" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + "name" VARCHAR, + PRIMARY KEY ("id_product_label_localized_attributes"), + CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") +); + +CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); + +CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +CREATE TABLE "spy_product_label_product_abstract" +( + "id_product_label_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_label" INTEGER NOT NULL, + PRIMARY KEY ("id_product_label_product_abstract"), + CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") +); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); + +CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +CREATE TABLE "spy_product_label_dictionary_storage" +( + "id_product_label_dictionary_storage" INT8 NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_label_dictionary_storage"), + CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_label_storage" +( + "id_product_abstract_label_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_label_storage"), + CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_option_group_pk_seq"; + +CREATE TABLE "spy_product_option_group" +( + "id_product_option_group" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "active" BOOLEAN, + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_group") +); + +CREATE TABLE "spy_product_abstract_product_option_group" +( + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + PRIMARY KEY ("fk_product_abstract","fk_product_option_group") +); + +CREATE SEQUENCE "spy_product_option_value_pk_seq"; + +CREATE TABLE "spy_product_option_value" +( + "id_product_option_value" INTEGER NOT NULL, + "fk_product_option_group" INTEGER NOT NULL, + "price" INTEGER, + "sku" VARCHAR(255) NOT NULL, + "value" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_option_value"), + CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") +); + +COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; + +CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; + +CREATE TABLE "spy_product_option_value_price" +( + "id_product_option_value_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_product_option_value" INTEGER NOT NULL, + "fk_store" INTEGER, + "gross_price" INTEGER, + "net_price" INTEGER, + PRIMARY KEY ("id_product_option_value_price"), + CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_option_storage" +( + "id_product_abstract_option_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_option_storage"), + CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +CREATE TABLE "spy_product_abstract_page_search" +( + "id_product_abstract_page_search" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_page_search"), + CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_relation_type_pk_seq"; + +CREATE TABLE "spy_product_relation_type" +( + "id_product_relation_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_type") +); + +CREATE SEQUENCE "spy_product_relation_pk_seq"; + +CREATE TABLE "spy_product_relation" +( + "id_product_relation" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation_type" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, + "query_set_data" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation"), + CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") +); + +CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +CREATE TABLE "spy_product_relation_product_abstract" +( + "id_product_relation_product_abstract" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_relation" INTEGER NOT NULL, + "order" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_relation_product_abstract") +); + +CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_relation_storage" +( + "id_product_abstract_relation_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_relation_storage"), + CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "id_product_review_pk_seq"; + +CREATE TABLE "spy_product_review" +( + "id_product_review" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "description" TEXT, + "nickname" VARCHAR(255), + "rating" INTEGER DEFAULT 0 NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "summary" TEXT, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review") +); + +CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); + +CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); + +CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); + +CREATE SEQUENCE "spy_product_review_search_pk_seq"; + +CREATE TABLE "spy_product_review_search" +( + "id_product_review_search" INT8 NOT NULL, + "fk_product_review" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_review_search"), + CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); + +CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_review_storage" +( + "id_product_abstract_review_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_review_storage"), + CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_search_pk_seq"; + +CREATE TABLE "spy_product_search" +( + "id_product_search" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_product" INTEGER, + "is_searchable" BOOLEAN DEFAULT \'t\', + PRIMARY KEY ("id_product_search") +); + +CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); + +CREATE TABLE "spy_product_search_attribute_map" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); + +CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; + +CREATE TABLE "spy_product_search_attribute" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_product_search_attribute"), + CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") +); + +CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; + +CREATE TABLE "spy_product_search_config_storage" +( + "id_product_search_config_storage" INT8 NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_config_storage"), + CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_product_set_pk_seq"; + +CREATE TABLE "spy_product_set" +( + "id_product_set" INTEGER NOT NULL, + "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, + "product_set_key" VARCHAR(255) NOT NULL, + "weight" INTEGER DEFAULT 0 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set"), + CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") +); + +CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; + +CREATE TABLE "spy_product_abstract_set" +( + "id_product_abstract_set" INTEGER NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + PRIMARY KEY ("id_product_abstract_set"), + CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") +); + +CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); + +CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_set_data_pk_seq"; + +CREATE TABLE "spy_product_set_data" +( + "id_product_set_data" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "description" TEXT, + "meta_description" TEXT, + "meta_keywords" TEXT, + "meta_title" VARCHAR(255), + "name" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_data"), + CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") +); + +CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); + +CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); + +CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; + +CREATE TABLE "spy_product_set_page_search" +( + "id_product_set_page_search" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "structured_data" TEXT NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_page_search"), + CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_set_storage_pk_seq"; + +CREATE TABLE "spy_product_set_storage" +( + "id_product_set_storage" INT8 NOT NULL, + "fk_product_set" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_set_storage"), + CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); + +CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; + +CREATE TABLE "spy_product_abstract_storage" +( + "id_product_abstract_storage" INT8 NOT NULL, + "fk_product_abstract" INTEGER NOT NULL, + "data" TEXT, + "store" VARCHAR(128) NOT NULL, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_abstract_storage"), + CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); + +CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; + +CREATE TABLE "spy_product_concrete_storage" +( + "id_product_concrete_storage" INT8 NOT NULL, + "fk_product" INTEGER NOT NULL, + "data" TEXT, + "locale" VARCHAR(16) NOT NULL, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_product_concrete_storage"), + CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); + +CREATE SEQUENCE "spy_product_validity_pk_seq"; + +CREATE TABLE "spy_product_validity" +( + "id_product_validity" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "valid_from" TIMESTAMP, + "valid_to" TIMESTAMP, + PRIMARY KEY ("id_product_validity"), + CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") +); + +CREATE TABLE "spy_propel_heartbeat" +( + "heartbeat_check" VARCHAR NOT NULL, + PRIMARY KEY ("heartbeat_check") +); + +CREATE SEQUENCE "spy_queue_process_pk_seq"; + +CREATE TABLE "spy_queue_process" +( + "id_queue_process" INTEGER NOT NULL, + "server_id" VARCHAR(255) NOT NULL, + "process_pid" INTEGER NOT NULL, + "worker_pid" INTEGER NOT NULL, + "queue_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_queue_process"), + CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") +); + +CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); + +CREATE SEQUENCE "id_quote_pk_seq"; + +CREATE TABLE "spy_quote" +( + "id_quote" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "customer_reference" VARCHAR(255) NOT NULL, + "quote_data" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_quote") +); + +CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); + +CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); + +CREATE SEQUENCE "spy_refund_pk_seq"; + +CREATE TABLE "spy_refund" +( + "id_refund" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "comment" VARCHAR, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_refund") +); + +CREATE SEQUENCE "spy_sales_order_pk_seq"; + +CREATE TABLE "spy_sales_order" +( + "id_sales_order" INTEGER NOT NULL, + "fk_locale" INTEGER, + "fk_order_source" INTEGER, + "fk_sales_order_address_billing" INTEGER NOT NULL, + "fk_sales_order_address_shipping" INTEGER NOT NULL, + "fk_sales_reclamation" INTEGER, + "cart_note" VARCHAR(255), + "currency_iso_code" VARCHAR(5), + "customer_reference" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100), + "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, + "last_name" VARCHAR(100), + "order_reference" VARCHAR(45) NOT NULL, + "price_mode" INT2, + "salutation" INT2, + "store" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order"), + CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") +); + +CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); + +CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); + +CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); + +CREATE SEQUENCE "spy_sales_order_item_pk_seq"; + +CREATE TABLE "spy_sales_order_item" +( + "id_sales_order_item" INTEGER NOT NULL, + "fk_oms_order_item_state" INTEGER NOT NULL, + "fk_oms_order_process" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_order_item_bundle" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "cart_note" VARCHAR(255), + "discount_amount_aggregation" INTEGER DEFAULT 0, + "discount_amount_full_aggregation" INTEGER DEFAULT 0, + "expense_price_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "group_key" VARCHAR(255), + "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, + "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, + "name" VARCHAR(255) NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "product_option_price_aggregation" INTEGER DEFAULT 0, + "quantity" INTEGER DEFAULT 1 NOT NULL, + "refundable_amount" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "subtotal_aggregation" INTEGER, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_amount_full_aggregation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "tax_rate_average_aggregation" NUMERIC(8,2), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item") +); + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; + +COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; + +CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); + +CREATE SEQUENCE "spy_sales_discount_pk_seq"; + +CREATE TABLE "spy_sales_discount" +( + "id_sales_discount" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER, + "fk_sales_order_item" INTEGER, + "fk_sales_order_item_option" INTEGER, + "amount" INTEGER NOT NULL, + "description" VARCHAR(510), + "display_name" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount") +); + +CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; + +CREATE TABLE "spy_sales_discount_code" +( + "id_sales_discount_code" INTEGER NOT NULL, + "fk_sales_discount" INTEGER NOT NULL, + "code" VARCHAR(255) NOT NULL, + "codepool_name" VARCHAR(255) NOT NULL, + "is_once_per_customer" BOOLEAN DEFAULT \'t\', + "is_refundable" BOOLEAN DEFAULT \'f\', + "is_reusable" BOOLEAN DEFAULT \'f\', + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_discount_code") +); + +CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +CREATE TABLE "spy_sales_order_item_gift_card" +( + "id_sales_order_item_gift_card" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "attributes" TEXT, + "code" VARCHAR(40), + "pattern" VARCHAR(40), + "value" INTEGER, + PRIMARY KEY ("id_sales_order_item_gift_card") +); + +CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; + +CREATE TABLE "spy_sales_order_item_option" +( + "id_sales_order_item_option" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER DEFAULT 0 NOT NULL, + "group_name" VARCHAR NOT NULL, + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "sku" VARCHAR(255) NOT NULL, + "tax_amount" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2) NOT NULL, + "value" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_option") +); + +COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +CREATE SEQUENCE "spy_sales_order_address_pk_seq"; + +CREATE TABLE "spy_sales_order_address" +( + "id_sales_order_address" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address") +); + +CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; + +CREATE TABLE "spy_sales_order_address_history" +( + "id_sales_order_address_history" INTEGER NOT NULL, + "fk_country" INTEGER NOT NULL, + "fk_region" INTEGER, + "fk_sales_order_address" INTEGER NOT NULL, + "address1" VARCHAR(255), + "address2" VARCHAR(255), + "address3" VARCHAR(255), + "cell_phone" VARCHAR(255), + "city" VARCHAR(255) NOT NULL, + "comment" VARCHAR(255), + "company" VARCHAR(255), + "description" VARCHAR(255), + "email" VARCHAR(255), + "first_name" VARCHAR(100) NOT NULL, + "is_billing" BOOLEAN DEFAULT \'f\', + "last_name" VARCHAR(100) NOT NULL, + "middle_name" VARCHAR(100), + "phone" VARCHAR(255), + "po_box" VARCHAR(255), + "salutation" INT2, + "zip_code" VARCHAR(15) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_address_history") +); + +CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; + +CREATE TABLE "spy_sales_order_totals" +( + "id_sales_order_totals" INTEGER NOT NULL, + "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, + "canceled_total" INTEGER DEFAULT 0, + "discount_total" INTEGER DEFAULT 0, + "grand_total" INTEGER DEFAULT 0, + "order_expense_total" INTEGER DEFAULT 0, + "refund_total" INTEGER DEFAULT 0, + "subtotal" INTEGER DEFAULT 0, + "tax_total" INTEGER DEFAULT 0, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_totals") +); + +CREATE SEQUENCE "spy_sales_order_note_pk_seq"; + +CREATE TABLE "spy_sales_order_note" +( + "id_sales_order_note" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "command" VARCHAR(255) NOT NULL, + "message" VARCHAR(255) NOT NULL, + "success" BOOLEAN NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_note") +); + +CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; + +CREATE TABLE "spy_sales_order_comment" +( + "id_sales_order_comment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "username" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_comment") +); + +CREATE SEQUENCE "spy_sales_expense_pk_seq"; + +CREATE TABLE "spy_sales_expense" +( + "id_sales_expense" INTEGER NOT NULL, + "fk_sales_order" INTEGER, + "canceled_amount" INTEGER DEFAULT 0, + "discount_amount_aggregation" INTEGER DEFAULT 0, + "gross_price" INTEGER NOT NULL, + "name" VARCHAR(255), + "net_price" INTEGER DEFAULT 0, + "price" INTEGER DEFAULT 0, + "price_to_pay_aggregation" INTEGER DEFAULT 0, + "refundable_amount" INTEGER DEFAULT 0, + "tax_amount" INTEGER DEFAULT 0, + "tax_amount_after_cancellation" INTEGER DEFAULT 0, + "tax_rate" NUMERIC(8,2), + "type" VARCHAR(150), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_expense"), + CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") +); + +COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; + +COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; + +COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; + +COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; + +CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +CREATE TABLE "spy_sales_order_item_metadata" +( + "id_sales_order_item_metadata" INTEGER NOT NULL, + "fk_sales_order_item" INTEGER NOT NULL, + "image" TEXT, + "super_attributes" TEXT NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_item_metadata") +); + +CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); + +CREATE SEQUENCE "spy_sales_shipment_pk_seq"; + +CREATE TABLE "spy_sales_shipment" +( + "id_sales_shipment" INTEGER NOT NULL, + "fk_sales_expense" INTEGER, + "fk_sales_order" INTEGER NOT NULL, + "carrier_name" VARCHAR(255), + "delivery_time" VARCHAR(255), + "name" VARCHAR(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_shipment") +); + +CREATE SEQUENCE "id_sales_order_threshold_pk_seq"; + +CREATE TABLE "spy_sales_order_threshold" +( + "id_sales_order_threshold" INTEGER NOT NULL, + "fk_sales_order_threshold_type" INTEGER NOT NULL, + "fk_store" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "threshold" INTEGER NOT NULL, + "fee" INTEGER, + "message_glossary_key" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_threshold") +); + +CREATE SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; + +CREATE TABLE "spy_sales_order_threshold_tax_set" +( + "id_sales_order_threshold_tax_set" INTEGER NOT NULL, + "fk_tax_set" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_threshold_tax_set") +); + +CREATE SEQUENCE "id_sales_order_threshold_type_pk_seq"; + +CREATE TABLE "spy_sales_order_threshold_type" +( + "id_sales_order_threshold_type" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + "threshold_group" VARCHAR NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_order_threshold_type"), + CONSTRAINT "spy_sales_order_threshold_type-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_sales_payment_pk_seq"; + +CREATE TABLE "spy_sales_payment" +( + "id_sales_payment" INTEGER NOT NULL, + "fk_sales_order" INTEGER NOT NULL, + "fk_sales_payment_method_type" INTEGER NOT NULL, + "amount" INTEGER NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_sales_payment") +); + +CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +CREATE TABLE "spy_sales_payment_method_type" +( + "id_sales_payment_method_type" INTEGER NOT NULL, + "payment_provider" VARCHAR NOT NULL, + "payment_method" VARCHAR NOT NULL, + PRIMARY KEY ("id_sales_payment_method_type") +); + +CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); + +CREATE SEQUENCE "spy_sequence_number_pk_seq"; + +CREATE TABLE "spy_sequence_number" +( + "id_sequence_number" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "current_id" INTEGER NOT NULL, + PRIMARY KEY ("id_sequence_number"), + CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; + +CREATE TABLE "spy_shipment_carrier" +( + "id_shipment_carrier" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + PRIMARY KEY ("id_shipment_carrier") +); + +CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_pk_seq"; + +CREATE TABLE "spy_shipment_method" +( + "id_shipment_method" INTEGER NOT NULL, + "fk_shipment_carrier" INTEGER NOT NULL, + "fk_tax_set" INTEGER, + "name" VARCHAR(255) NOT NULL, + "shipment_method_key" VARCHAR(255), + "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, + "default_price" INTEGER, + "availability_plugin" VARCHAR(255), + "price_plugin" VARCHAR(255), + "delivery_time_plugin" VARCHAR(255), + PRIMARY KEY ("id_shipment_method") +); + +COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; + +CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); + +CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; + +CREATE TABLE "spy_shipment_method_price" +( + "id_shipment_method_price" INTEGER NOT NULL, + "fk_currency" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_shipment_method" INTEGER NOT NULL, + "default_gross_price" INTEGER, + "default_net_price" INTEGER, + PRIMARY KEY ("id_shipment_method_price"), + CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") +); + +CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +CREATE TABLE "spy_state_machine_transition_log" +( + "id_state_machine_transition_log" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "locked" BOOLEAN, + "event" VARCHAR(100), + "hostname" VARCHAR(128) NOT NULL, + "path" VARCHAR(256), + "params" TEXT, + "source_state" VARCHAR(128), + "target_state" VARCHAR(128), + "command" VARCHAR, + "condition" VARCHAR, + "is_error" BOOLEAN, + "error_message" TEXT, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_transition_log") +); + +CREATE SEQUENCE "spy_state_machine_process_pk_seq"; + +CREATE TABLE "spy_state_machine_process" +( + "id_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "state_machine_name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_process"), + CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") +); + +CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); + +CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; + +CREATE TABLE "spy_state_machine_lock" +( + "id_state_machine_lock" INTEGER NOT NULL, + "identifier" VARCHAR(255) NOT NULL, + "expires" TIMESTAMP NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_lock"), + CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") +); + +CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state" +( + "id_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "description" VARCHAR(255), + PRIMARY KEY ("id_state_machine_item_state"), + CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") +); + +CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +CREATE TABLE "spy_state_machine_item_state_history" +( + "id_state_machine_item_state_history" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "created_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_item_state_history") +); + +CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); + +CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +CREATE TABLE "spy_state_machine_event_timeout" +( + "id_state_machine_event_timeout" INTEGER NOT NULL, + "fk_state_machine_item_state" INTEGER NOT NULL, + "fk_state_machine_process" INTEGER NOT NULL, + "identifier" INTEGER NOT NULL, + "timeout" TIMESTAMP NOT NULL, + "event" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_state_machine_event_timeout"), + CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") +); + +CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); + +CREATE SEQUENCE "spy_stock_pk_seq"; + +CREATE TABLE "spy_stock" +( + "id_stock" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_stock"), + CONSTRAINT "spy_stock-name" UNIQUE ("name") +); + +CREATE SEQUENCE "spy_stock_product_pk_seq"; + +CREATE TABLE "spy_stock_product" +( + "id_stock_product" INTEGER NOT NULL, + "fk_product" INTEGER NOT NULL, + "fk_stock" INTEGER NOT NULL, + "quantity" INTEGER DEFAULT 0, + "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', + PRIMARY KEY ("id_stock_product"), + CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") +); + +CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); + +CREATE SEQUENCE "spy_store_pk_seq"; + +CREATE TABLE "spy_store" +( + "id_store" INTEGER NOT NULL, + "name" VARCHAR(255), + PRIMARY KEY ("id_store") +); + +CREATE SEQUENCE "spy_tax_set_pk_seq"; + +CREATE TABLE "spy_tax_set" +( + "id_tax_set" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_set") +); + +CREATE SEQUENCE "spy_tax_rate_pk_seq"; + +CREATE TABLE "spy_tax_rate" +( + "id_tax_rate" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "rate" NUMERIC(8,2) NOT NULL, + "fk_country" INTEGER, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_tax_rate") +); + +CREATE TABLE "spy_tax_set_tax" +( + "fk_tax_set" INTEGER NOT NULL, + "fk_tax_rate" INTEGER NOT NULL, + PRIMARY KEY ("fk_tax_set","fk_tax_rate") +); + +CREATE SEQUENCE "spy_touch_pk_seq"; + +CREATE TABLE "spy_touch" +( + "id_touch" INTEGER NOT NULL, + "item_type" VARCHAR(255) NOT NULL, + "item_event" INT2 NOT NULL, + "item_id" INTEGER NOT NULL, + "touched" TIMESTAMP NOT NULL, + PRIMARY KEY ("id_touch"), + CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") +); + +CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); + +CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); + +CREATE SEQUENCE "spy_touch_storage_pk_seq"; + +CREATE TABLE "spy_touch_storage" +( + "id_touch_storage" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_storage"), + CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); + +CREATE SEQUENCE "spy_touch_search_pk_seq"; + +CREATE TABLE "spy_touch_search" +( + "id_touch_search" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_store" INTEGER, + "fk_touch" INTEGER NOT NULL, + "key" VARCHAR NOT NULL, + PRIMARY KEY ("id_touch_search"), + CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") +); + +CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); + +CREATE SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; + +CREATE TABLE "spy_unauthenticated_customer_access" +( + "id_unauthenticated_customer_access" INTEGER NOT NULL, + "content_type" VARCHAR(100) NOT NULL, + "is_restricted" BOOLEAN NOT NULL, + PRIMARY KEY ("id_unauthenticated_customer_access"), + CONSTRAINT "spy_unauthenticated_customer_access_u_0984b8" UNIQUE ("content_type") +); + +CREATE SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; + +CREATE TABLE "spy_unauthenticated_customer_access_storage" +( + "id_unauthenticated_customer_access_storage" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_unauthenticated_customer_access_storage"), + CONSTRAINT "spy_unauthenticated_customer_access_storage-unique-key" UNIQUE ("key") +); + +CREATE SEQUENCE "spy_url_pk_seq"; + +CREATE TABLE "spy_url" +( + "id_url" INTEGER NOT NULL, + "fk_locale" INTEGER NOT NULL, + "fk_resource_categorynode" INTEGER, + "fk_resource_page" INTEGER, + "fk_resource_product_abstract" INTEGER, + "fk_resource_product_set" INTEGER, + "fk_resource_redirect" INTEGER, + "url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url"), + CONSTRAINT "spy_url_unique_key" UNIQUE ("url") +); + +CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); + +CREATE SEQUENCE "spy_url_redirect_pk_seq"; + +CREATE TABLE "spy_url_redirect" +( + "id_url_redirect" INTEGER NOT NULL, + "status" INTEGER DEFAULT 301 NOT NULL, + "to_url" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id_url_redirect") +); + +CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); + +CREATE SEQUENCE "spy_url_storage_pk_seq"; + +CREATE TABLE "spy_url_storage" +( + "id_url_storage" INT8 NOT NULL, + "fk_categorynode" INTEGER, + "fk_page" INTEGER, + "fk_product_abstract" INTEGER, + "fk_product_set" INTEGER, + "fk_redirect" INTEGER, + "fk_url" INTEGER NOT NULL, + "url" VARCHAR NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_storage"), + CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); + +CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; + +CREATE TABLE "spy_url_redirect_storage" +( + "id_url_redirect_storage" INT8 NOT NULL, + "fk_url_redirect" INTEGER NOT NULL, + "data" TEXT, + "key" VARCHAR, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_url_redirect_storage"), + CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") +); + +CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); + +CREATE SEQUENCE "spy_user_pk_seq"; + +CREATE TABLE "spy_user" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_user"), + CONSTRAINT "spy_user-username" UNIQUE ("username") +); + +CREATE SEQUENCE "spy_wishlist_pk_seq"; + +CREATE TABLE "spy_wishlist" +( + "id_wishlist" INTEGER NOT NULL, + "fk_customer" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist"), + CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") +); + +CREATE SEQUENCE "spy_wishlist_item_pk_seq"; + +CREATE TABLE "spy_wishlist_item" +( + "id_wishlist_item" INTEGER NOT NULL, + "fk_wishlist" INTEGER NOT NULL, + "sku" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + PRIMARY KEY ("id_wishlist_item") +); + +CREATE TABLE "spy_acl_role_archive" +( + "id_acl_role" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_role") +); + +CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); + +CREATE TABLE "spy_acl_rule_archive" +( + "id_acl_rule" INTEGER NOT NULL, + "fk_acl_role" INTEGER NOT NULL, + "bundle" VARCHAR(45) NOT NULL, + "controller" VARCHAR(45) NOT NULL, + "action" VARCHAR(45) NOT NULL, + "type" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_rule") +); + +CREATE TABLE "spy_acl_group_archive" +( + "id_acl_group" INTEGER NOT NULL, + "name" VARCHAR(255) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_acl_group") +); + +CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); + +CREATE TABLE "spy_auth_reset_password_archive" +( + "id_auth_reset_password" INTEGER NOT NULL, + "fk_user" INTEGER NOT NULL, + "code" VARCHAR(35) NOT NULL, + "status" INT2 NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_auth_reset_password","fk_user") +); + +CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); + +CREATE TABLE "spy_product_search_attribute_map_archive" +( + "fk_product_attribute_key" INTEGER NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "target_field" VARCHAR NOT NULL, + "archived_at" TIMESTAMP, + PRIMARY KEY ("fk_product_attribute_key","target_field") +); + +CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_product_search_attribute_archive" +( + "id_product_search_attribute" INTEGER NOT NULL, + "fk_product_attribute_key" INTEGER NOT NULL, + "filter_type" VARCHAR NOT NULL, + "position" INTEGER DEFAULT 0 NOT NULL, + "synced" BOOLEAN DEFAULT \'f\', + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_product_search_attribute") +); + +CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); + +CREATE TABLE "spy_user_archive" +( + "id_user" INTEGER NOT NULL, + "first_name" VARCHAR(45) NOT NULL, + "is_agent" BOOLEAN, + "last_login" TIMESTAMP, + "last_name" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + "status" INT2 DEFAULT 0 NOT NULL, + "username" VARCHAR(45) NOT NULL, + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP, + "archived_at" TIMESTAMP, + PRIMARY KEY ("id_user") +); + +CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); + +ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" + FOREIGN KEY ("fk_acl_role") + REFERENCES "spy_acl_role" ("id_acl_role") + ON DELETE CASCADE; + +ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" + FOREIGN KEY ("fk_acl_group") + REFERENCES "spy_acl_group" ("id_acl_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user") + ON DELETE CASCADE; + +ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" + FOREIGN KEY ("fk_availability_abstract") + REFERENCES "spy_availability_abstract" ("id_availability_abstract"); + +ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" + FOREIGN KEY ("fk_parent_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" + FOREIGN KEY ("fk_category_node") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" + FOREIGN KEY ("fk_category_node_descendant") + REFERENCES "spy_category_node" ("id_category_node"); + +ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_template" ("id_cms_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" + FOREIGN KEY ("fk_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" + FOREIGN KEY ("fk_cms_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" + FOREIGN KEY ("fk_template") + REFERENCES "spy_cms_block_template" ("id_cms_block_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block"); + +ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" + FOREIGN KEY ("fk_category_template") + REFERENCES "spy_category_template" ("id_category_template") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" + FOREIGN KEY ("fk_cms_block_category_position") + REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" + FOREIGN KEY ("fk_cms_block") + REFERENCES "spy_cms_block" ("id_cms_block") + ON DELETE CASCADE; + +ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" + FOREIGN KEY ("default_billing_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" + FOREIGN KEY ("default_shipping_address") + REFERENCES "spy_customer_address" ("id_customer_address") + ON DELETE SET NULL; + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" + FOREIGN KEY ("fk_customer_group") + REFERENCES "spy_customer_group" ("id_customer_group") + ON DELETE CASCADE; + +ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" + FOREIGN KEY ("fk_discount_voucher_pool") + REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" + FOREIGN KEY ("fk_discount") + REFERENCES "spy_discount" ("id_discount"); + +ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_file" ADD CONSTRAINT "spy_file-fk_file_directory" + FOREIGN KEY ("fk_file_directory") + REFERENCES "spy_file_directory" ("id_file_directory"); + +ALTER TABLE "spy_file_info" ADD CONSTRAINT "spy_file_info-fk_file" + FOREIGN KEY ("fk_file") + REFERENCES "spy_file" ("id_file") + ON DELETE CASCADE; + +ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_file" + FOREIGN KEY ("fk_file") + REFERENCES "spy_file" ("id_file") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_file_directory" ADD CONSTRAINT "spy_file_directory_fk_47023d" + FOREIGN KEY ("fk_parent_file_directory") + REFERENCES "spy_file_directory" ("id_file_directory") + ON DELETE CASCADE; + +ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_52d44c" + FOREIGN KEY ("fk_file_directory") + REFERENCES "spy_file_directory" ("id_file_directory") + ON DELETE CASCADE; + +ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" + FOREIGN KEY ("fk_gift_card_product_abstract_configuration") + REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" + FOREIGN KEY ("fk_gift_card_product_configuration") + REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); + +ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" + FOREIGN KEY ("fk_sales_payment") + REFERENCES "spy_sales_payment" ("id_sales_payment"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" + FOREIGN KEY ("fk_gift_card") + REFERENCES "spy_gift_card" ("id_gift_card"); + +ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" + FOREIGN KEY ("fk_glossary_key") + REFERENCES "spy_glossary_key" ("id_glossary_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" + FOREIGN KEY ("fk_parent_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" + FOREIGN KEY ("fk_navigation") + REFERENCES "spy_navigation" ("id_navigation") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" + FOREIGN KEY ("fk_navigation_node") + REFERENCES "spy_navigation_node" ("id_navigation_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" + FOREIGN KEY ("fk_url") + REFERENCES "spy_url" ("id_url"); + +ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" + FOREIGN KEY ("fk_newsletter_subscriber") + REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); + +ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" + FOREIGN KEY ("fk_newsletter_type") + REFERENCES "spy_newsletter_type" ("id_newsletter_type"); + +ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" + FOREIGN KEY ("fk_user") + REFERENCES "spy_user" ("id_user"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" + FOREIGN KEY ("fk_price_type") + REFERENCES "spy_price_type" ("id_price_type"); + +ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" + FOREIGN KEY ("fk_price_product") + REFERENCES "spy_price_product" ("id_price_product"); + +ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" + FOREIGN KEY ("fk_price_product_store") + REFERENCES "spy_price_product_store" ("id_price_product_store") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" + FOREIGN KEY ("fk_product_abstract_alternative") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" + FOREIGN KEY ("fk_product_concrete_alternative") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" + FOREIGN KEY ("fk_product_management_attribute") + REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" + FOREIGN KEY ("fk_product_management_attribute_value") + REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" + FOREIGN KEY ("fk_bundled_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product") + ON UPDATE CASCADE + ON DELETE CASCADE; + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" + FOREIGN KEY ("fk_category") + REFERENCES "spy_category" ("id_category"); + +ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" + FOREIGN KEY ("fk_product_discontinued") + REFERENCES "spy_product_discontinued" ("id_product_discontinued"); + +ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" + FOREIGN KEY ("fk_product_group") + REFERENCES "spy_product_group" ("id_product_group"); + +ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" + FOREIGN KEY ("fk_product_image_set") + REFERENCES "spy_product_image_set" ("id_product_image_set"); + +ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" + FOREIGN KEY ("fk_product_image") + REFERENCES "spy_product_image" ("id_product_image"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" + FOREIGN KEY ("fk_product_label") + REFERENCES "spy_product_label" ("id_product_label"); + +ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE SET NULL; + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" + FOREIGN KEY ("fk_product_option_group") + REFERENCES "spy_product_option_group" ("id_product_option_group"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" + FOREIGN KEY ("fk_product_option_value") + REFERENCES "spy_product_option_value" ("id_product_option_value") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" + FOREIGN KEY ("fk_product_relation_type") + REFERENCES "spy_product_relation_type" ("id_product_relation_type"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" + FOREIGN KEY ("fk_product_relation") + REFERENCES "spy_product_relation" ("id_product_relation"); + +ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract"); + +ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" + FOREIGN KEY ("fk_product_attribute_key") + REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set"); + +ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" + FOREIGN KEY ("fk_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" + FOREIGN KEY ("fk_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" + FOREIGN KEY ("fk_order_source") + REFERENCES "spy_order_source" ("id_order_source"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" + FOREIGN KEY ("fk_sales_reclamation") + REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" + FOREIGN KEY ("fk_sales_order_address_billing") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" + FOREIGN KEY ("fk_sales_order_address_shipping") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" + FOREIGN KEY ("fk_sales_order_item_bundle") + REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" + FOREIGN KEY ("fk_oms_order_item_state") + REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); + +ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" + FOREIGN KEY ("fk_oms_order_process") + REFERENCES "spy_oms_order_process" ("id_oms_order_process"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" + FOREIGN KEY ("fk_sales_order_item_option") + REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); + +ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" + FOREIGN KEY ("fk_sales_discount") + REFERENCES "spy_sales_discount" ("id_sales_discount"); + +ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" + FOREIGN KEY ("fk_sales_order_address") + REFERENCES "spy_sales_order_address" ("id_sales_order_address"); + +ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" + FOREIGN KEY ("fk_region") + REFERENCES "spy_region" ("id_region"); + +ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" + FOREIGN KEY ("fk_sales_order_item") + REFERENCES "spy_sales_order_item" ("id_sales_order_item"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" + FOREIGN KEY ("fk_sales_expense") + REFERENCES "spy_sales_expense" ("id_sales_expense"); + +ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_sales_order_threshold_type" + FOREIGN KEY ("fk_sales_order_threshold_type") + REFERENCES "spy_sales_order_threshold_type" ("id_sales_order_threshold_type"); + +ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_sales_order_threshold_tax_set" ADD CONSTRAINT "spy_sales_order_threshold_tax_set-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" + FOREIGN KEY ("fk_sales_order") + REFERENCES "spy_sales_order" ("id_sales_order"); + +ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" + FOREIGN KEY ("fk_sales_payment_method_type") + REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" + FOREIGN KEY ("fk_shipment_carrier") + REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); + +ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" + FOREIGN KEY ("fk_currency") + REFERENCES "spy_currency" ("id_currency"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" + FOREIGN KEY ("fk_shipment_method") + REFERENCES "spy_shipment_method" ("id_shipment_method"); + +ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" + FOREIGN KEY ("fk_state_machine_item_state") + REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); + +ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" + FOREIGN KEY ("fk_state_machine_process") + REFERENCES "spy_state_machine_process" ("id_state_machine_process"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" + FOREIGN KEY ("fk_product") + REFERENCES "spy_product" ("id_product"); + +ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" + FOREIGN KEY ("fk_stock") + REFERENCES "spy_stock" ("id_stock"); + +ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" + FOREIGN KEY ("fk_country") + REFERENCES "spy_country" ("id_country"); + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" + FOREIGN KEY ("fk_tax_set") + REFERENCES "spy_tax_set" ("id_tax_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" + FOREIGN KEY ("fk_tax_rate") + REFERENCES "spy_tax_rate" ("id_tax_rate"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" + FOREIGN KEY ("fk_touch") + REFERENCES "spy_touch" ("id_touch"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" + FOREIGN KEY ("fk_store") + REFERENCES "spy_store" ("id_store"); + +ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale"); + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" + FOREIGN KEY ("fk_resource_categorynode") + REFERENCES "spy_category_node" ("id_category_node") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" + FOREIGN KEY ("fk_resource_page") + REFERENCES "spy_cms_page" ("id_cms_page") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" + FOREIGN KEY ("fk_resource_product_set") + REFERENCES "spy_product_set" ("id_product_set") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" + FOREIGN KEY ("fk_resource_product_abstract") + REFERENCES "spy_product_abstract" ("id_product_abstract") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" + FOREIGN KEY ("fk_locale") + REFERENCES "spy_locale" ("id_locale") + ON DELETE CASCADE; + +ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" + FOREIGN KEY ("fk_resource_redirect") + REFERENCES "spy_url_redirect" ("id_url_redirect") + ON DELETE CASCADE; + +ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" + FOREIGN KEY ("fk_customer") + REFERENCES "spy_customer" ("id_customer"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" + FOREIGN KEY ("fk_wishlist") + REFERENCES "spy_wishlist" ("id_wishlist"); + +ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" + FOREIGN KEY ("sku") + REFERENCES "spy_product" ("sku"); + +COMMIT; +', +); + } + + /** + * Get the SQL statements for the Down migration + * + * @return array list of the SQL strings to execute for the Down migration + * the keys being the datasources + */ + public function getDownSQL() + { + return array ( + 'zed' => ' +BEGIN; + +DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; + +DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role" CASCADE; + +DROP SEQUENCE "spy_acl_role_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; + +DROP SEQUENCE "spy_acl_rule_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_group" CASCADE; + +DROP SEQUENCE "spy_acl_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; + +DROP SEQUENCE "spy_auth_reset_password_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; + +DROP SEQUENCE "spy_availability_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability" CASCADE; + +DROP SEQUENCE "spy_availability_pk_seq"; + +DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; + +DROP SEQUENCE "spy_availability_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category" CASCADE; + +DROP SEQUENCE "spy_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; + +DROP SEQUENCE "spy_category_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node" CASCADE; + +DROP SEQUENCE "spy_category_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; + +DROP SEQUENCE "spy_category_closure_table_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; + +DROP SEQUENCE "spy_category_node_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; + +DROP SEQUENCE "spy_category_tree_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; + +DROP SEQUENCE "spy_category_node_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_category_template" CASCADE; + +DROP SEQUENCE "spy_category_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_template" CASCADE; + +DROP SEQUENCE "spy_cms_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page" CASCADE; + +DROP SEQUENCE "spy_cms_page_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_version" CASCADE; + +DROP SEQUENCE "spy_cms_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; + +DROP SEQUENCE "spy_cms_block_template_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; + +DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block" CASCADE; + +DROP SEQUENCE "spy_cms_block_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; + +DROP SEQUENCE "id_cms_block_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; + +DROP SEQUENCE "spy_cms_block_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; + +DROP SEQUENCE "spy_cms_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; + +DROP SEQUENCE "spy_cms_page_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_country" CASCADE; + +DROP SEQUENCE "spy_country_pk_seq"; + +DROP TABLE IF EXISTS "spy_region" CASCADE; + +DROP SEQUENCE "spy_region_pk_seq"; + +DROP TABLE IF EXISTS "spy_currency" CASCADE; + +DROP SEQUENCE "spy_currency_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer" CASCADE; + +DROP SEQUENCE "spy_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_address" CASCADE; + +DROP SEQUENCE "spy_customer_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group" CASCADE; + +DROP SEQUENCE "spy_customer_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; + +DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; + +DROP TABLE IF EXISTS "spy_customer_note" CASCADE; + +DROP SEQUENCE "spy_customer_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount" CASCADE; + +DROP SEQUENCE "spy_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_store" CASCADE; + +DROP SEQUENCE "id_discount_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; + +DROP SEQUENCE "spy_discount_voucher_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; + +DROP SEQUENCE "spy_discount_amount_pk_seq"; + +DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; + +DROP SEQUENCE "spy_discount_promotion_pk_seq"; + +DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; + +DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; + +DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; + +DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_file" CASCADE; + +DROP SEQUENCE "spy_file_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_info" CASCADE; + +DROP SEQUENCE "spy_file_info_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_file_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_directory" CASCADE; + +DROP SEQUENCE "spy_file_directory_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_directory_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_mime_type" CASCADE; + +DROP SEQUENCE "spy_mime_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_file_storage" CASCADE; + +DROP SEQUENCE "spy_file_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card" CASCADE; + +DROP SEQUENCE "spy_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; + +DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; + +DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; + +DROP SEQUENCE "spy_payment_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; + +DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; + +DROP SEQUENCE "spy_glossary_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; + +DROP SEQUENCE "spy_glossary_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; + +DROP SEQUENCE "spy_glossary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_locale" CASCADE; + +DROP SEQUENCE "spy_locale_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation" CASCADE; + +DROP SEQUENCE "spy_navigation_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; + +DROP SEQUENCE "spy_navigation_node_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; + +DROP SEQUENCE "spy_navigation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; + +DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; + +DROP SEQUENCE "spy_newsletter_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; + +DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; + +DROP SEQUENCE "spy_nopayment_paid_pk_seq"; + +DROP TABLE IF EXISTS "spy_offer" CASCADE; + +DROP SEQUENCE "spy_offer_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; + +DROP SEQUENCE "spy_oms_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; + +DROP SEQUENCE "spy_oms_order_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; + +DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; + +DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; + +DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; + +DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; + +DROP TABLE IF EXISTS "spy_order_source" CASCADE; + +DROP SEQUENCE "spy_order_source_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product" CASCADE; + +DROP SEQUENCE "spy_price_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_type" CASCADE; + +DROP SEQUENCE "spy_price_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; + +DROP SEQUENCE "spy_price_product_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; + +DROP SEQUENCE "spy_price_product_default_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; + +DROP SEQUENCE "id_product_abstract_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_product" CASCADE; + +DROP SEQUENCE "spy_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; + +DROP SEQUENCE "spy_product_attribute_key_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; + +DROP SEQUENCE "spy_product_alternative_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; + +DROP SEQUENCE "id_product_alternative_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; + +DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; + +DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; + +DROP SEQUENCE "spy_product_bundle_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category" CASCADE; + +DROP SEQUENCE "spy_product_category_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; + +DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; + +DROP SEQUENCE "id_product_discontinued_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; + +DROP SEQUENCE "id_product_discontinued_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; + +DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_group" CASCADE; + +DROP SEQUENCE "spy_product_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; + +DROP SEQUENCE "spy_product_image_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; + +DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label" CASCADE; + +DROP SEQUENCE "spy_product_label_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; + +DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; + +DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; + +DROP SEQUENCE "spy_product_option_group_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; + +DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; + +DROP SEQUENCE "spy_product_option_value_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; + +DROP SEQUENCE "spy_product_option_value_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; + +DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; + +DROP SEQUENCE "spy_product_relation_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation" CASCADE; + +DROP SEQUENCE "spy_product_relation_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; + +DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review" CASCADE; + +DROP SEQUENCE "id_product_review_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; + +DROP SEQUENCE "spy_product_review_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search" CASCADE; + +DROP SEQUENCE "spy_product_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; + +DROP SEQUENCE "spy_product_search_attribute_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; + +DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set" CASCADE; + +DROP SEQUENCE "spy_product_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; + +DROP SEQUENCE "spy_product_abstract_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; + +DROP SEQUENCE "spy_product_set_data_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; + +DROP SEQUENCE "spy_product_set_page_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; + +DROP SEQUENCE "spy_product_set_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; + +DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; + +DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_product_validity" CASCADE; + +DROP SEQUENCE "spy_product_validity_pk_seq"; + +DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; + +DROP TABLE IF EXISTS "spy_queue_process" CASCADE; + +DROP SEQUENCE "spy_queue_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_quote" CASCADE; + +DROP SEQUENCE "id_quote_pk_seq"; + +DROP TABLE IF EXISTS "spy_refund" CASCADE; + +DROP SEQUENCE "spy_refund_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order" CASCADE; + +DROP SEQUENCE "spy_sales_order_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; + +DROP SEQUENCE "spy_sales_discount_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; + +DROP SEQUENCE "spy_sales_discount_code_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; + +DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; + +DROP SEQUENCE "spy_sales_order_totals_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; + +DROP SEQUENCE "spy_sales_order_note_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; + +DROP SEQUENCE "spy_sales_order_comment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; + +DROP SEQUENCE "spy_sales_expense_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; + +DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; + +DROP SEQUENCE "spy_sales_shipment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_threshold" CASCADE; + +DROP SEQUENCE "id_sales_order_threshold_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_threshold_tax_set" CASCADE; + +DROP SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_order_threshold_type" CASCADE; + +DROP SEQUENCE "id_sales_order_threshold_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; + +DROP SEQUENCE "spy_sales_payment_pk_seq"; + +DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; + +DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; + +DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; + +DROP SEQUENCE "spy_sequence_number_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; + +DROP SEQUENCE "spy_shipment_carrier_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; + +DROP SEQUENCE "spy_shipment_method_pk_seq"; + +DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; + +DROP SEQUENCE "spy_shipment_method_price_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; + +DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; + +DROP SEQUENCE "spy_state_machine_process_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; + +DROP SEQUENCE "spy_state_machine_lock_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; + +DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; + +DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; + +DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock" CASCADE; + +DROP SEQUENCE "spy_stock_pk_seq"; + +DROP TABLE IF EXISTS "spy_stock_product" CASCADE; + +DROP SEQUENCE "spy_stock_product_pk_seq"; + +DROP TABLE IF EXISTS "spy_store" CASCADE; + +DROP SEQUENCE "spy_store_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set" CASCADE; + +DROP SEQUENCE "spy_tax_set_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; + +DROP SEQUENCE "spy_tax_rate_pk_seq"; + +DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; + +DROP TABLE IF EXISTS "spy_touch" CASCADE; + +DROP SEQUENCE "spy_touch_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; + +DROP SEQUENCE "spy_touch_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_touch_search" CASCADE; + +DROP SEQUENCE "spy_touch_search_pk_seq"; + +DROP TABLE IF EXISTS "spy_unauthenticated_customer_access" CASCADE; + +DROP SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; + +DROP TABLE IF EXISTS "spy_unauthenticated_customer_access_storage" CASCADE; + +DROP SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url" CASCADE; + +DROP SEQUENCE "spy_url_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; + +DROP SEQUENCE "spy_url_redirect_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_storage" CASCADE; + +DROP SEQUENCE "spy_url_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; + +DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; + +DROP TABLE IF EXISTS "spy_user" CASCADE; + +DROP SEQUENCE "spy_user_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist" CASCADE; + +DROP SEQUENCE "spy_wishlist_pk_seq"; + +DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; + +DROP SEQUENCE "spy_wishlist_item_pk_seq"; + +DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; + +DROP TABLE IF EXISTS "spy_user_archive" CASCADE; + +COMMIT; +', +); + } + +} \ No newline at end of file diff --git a/src/Orm/Zed/FileManager/Persistence/SpyFile.php b/src/Orm/Zed/FileManager/Persistence/SpyFile.php new file mode 100644 index 0000000000..4909475fe9 --- /dev/null +++ b/src/Orm/Zed/FileManager/Persistence/SpyFile.php @@ -0,0 +1,24 @@ +append($this->createQueueOption(UrlStorageConstants::URL_SYNC_STORAGE_QUEUE, UrlStorageConstants::URL_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(AvailabilityStorageConstants::AVAILABILITY_SYNC_STORAGE_QUEUE, AvailabilityStorageConstants::AVAILABILITY_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(CategoryStorageConstants::CATEGORY_SYNC_STORAGE_QUEUE, CategoryStorageConstants::CATEGORY_SYNC_STORAGE_ERROR_QUEUE)); + $queueOptionCollection->append($this->createQueueOption(FileManagerStorageConstants::FILE_SYNC_STORAGE_QUEUE, FileManagerStorageConstants::FILE_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(ProductStorageConstants::PRODUCT_SYNC_STORAGE_QUEUE, ProductStorageConstants::PRODUCT_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(PriceProductStorageConstants::PRICE_SYNC_STORAGE_QUEUE, PriceProductStorageConstants::PRICE_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(CmsStorageConstants::CMS_SYNC_STORAGE_QUEUE, CmsStorageConstants::CMS_SYNC_STORAGE_ERROR_QUEUE)); diff --git a/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php b/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php index b98069e755..e26088bba9 100644 --- a/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php +++ b/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php @@ -11,8 +11,10 @@ use SprykerShop\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider; use SprykerShop\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider; use SprykerShop\Shared\CmsContentWidgetProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider; +use SprykerShop\Shared\FileManagerWidget\CmsContentWidgetConfigurationProvider\FileManagerWidgetConfigurationProvider; use SprykerShop\Yves\CmsContentWidgetProductConnector\Plugin\CmsProductContentWidgetPlugin; use SprykerShop\Yves\CmsContentWidgetProductSetConnector\Plugin\CmsProductSetContentWidgetPlugin; +use SprykerShop\Yves\FileManagerWidget\Plugin\CmsContentWidget\FileManagerWidgetPlugin; class CmsContentWidgetDependencyProvider extends SprykerCmsContentWidgetDependencyProvider { @@ -33,6 +35,9 @@ public function getCmsContentWidgetPlugins() CmsProductSetContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductSetContentWidgetPlugin( new CmsProductSetContentWidgetConfigurationProvider() ), + FileManagerWidgetConfigurationProvider::FUNCTION_NAME => new FileManagerWidgetPlugin( + new FileManagerWidgetConfigurationProvider() + ), ]; } } diff --git a/src/Pyz/Yves/ShopApplication/YvesBootstrap.php b/src/Pyz/Yves/ShopApplication/YvesBootstrap.php index 0e71cd5277..6e74baab8d 100644 --- a/src/Pyz/Yves/ShopApplication/YvesBootstrap.php +++ b/src/Pyz/Yves/ShopApplication/YvesBootstrap.php @@ -56,6 +56,7 @@ use SprykerShop\Yves\DiscountWidget\Plugin\Provider\DiscountWidgetControllerProvider; use SprykerShop\Yves\ErrorPage\Plugin\Provider\ErrorPageControllerProvider; use SprykerShop\Yves\ErrorPage\Plugin\Provider\ErrorPageServiceProvider; +use SprykerShop\Yves\FileManagerWidget\Plugin\Provider\FileManagerWidgetControllerProvider; use SprykerShop\Yves\HeartbeatPage\Plugin\Provider\HeartbeatPageControllerProvider; use SprykerShop\Yves\HomePage\Plugin\Provider\HomePageControllerProvider; use SprykerShop\Yves\MoneyWidget\Plugin\ServiceProvider\TwigMoneyServiceProvider; @@ -192,6 +193,7 @@ protected function getControllerProviderStack($isSsl) new CartNoteWidgetControllerProvider($isSsl), #CartNoteFeature new AgentPageControllerProvider($isSsl), #AgentFeature new AgentWidgetControllerProvider($isSsl), #AgentFeature + new FileManagerWidgetControllerProvider($isSsl), ]; } } diff --git a/src/Pyz/Zed/CmsContentWidget/CmsContentWidgetConfig.php b/src/Pyz/Zed/CmsContentWidget/CmsContentWidgetConfig.php index 9d59f02bca..821f4fc0f7 100644 --- a/src/Pyz/Zed/CmsContentWidget/CmsContentWidgetConfig.php +++ b/src/Pyz/Zed/CmsContentWidget/CmsContentWidgetConfig.php @@ -11,6 +11,7 @@ use SprykerShop\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider; use SprykerShop\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider; use SprykerShop\Shared\CmsContentWidgetProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider; +use SprykerShop\Shared\FileManagerWidget\CmsContentWidgetConfigurationProvider\FileManagerWidgetConfigurationProvider; class CmsContentWidgetConfig extends SprykerCmsContentConfig { @@ -25,6 +26,7 @@ public function getCmsContentWidgetConfigurationProviders() CmsProductContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductContentWidgetConfigurationProvider(), CmsProductSetContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductSetContentWidgetConfigurationProvider(), CmsProductGroupContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductGroupContentWidgetConfigurationProvider(), + FileManagerWidgetConfigurationProvider::FUNCTION_NAME => new FileManagerWidgetConfigurationProvider(), ]; } } diff --git a/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php b/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php index fcca8418e6..66231a1abe 100644 --- a/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php +++ b/src/Pyz/Zed/DataImport/DataImportDependencyProvider.php @@ -11,6 +11,7 @@ use Spryker\Zed\DataImport\Communication\Plugin\DataImportEventBehaviorPlugin; use Spryker\Zed\DataImport\Communication\Plugin\DataImportPublisherPlugin; use Spryker\Zed\DataImport\DataImportDependencyProvider as SprykerDataImportDependencyProvider; +use Spryker\Zed\FileManagerDataImport\Communication\Plugin\FileManagerDataImportPlugin; use Spryker\Zed\Kernel\Container; use Spryker\Zed\PriceProductDataImport\Communication\Plugin\PriceProductDataImportPlugin; use Spryker\Zed\ProductAlternativeDataImport\Communication\Plugin\ProductAlternativeDataImportPlugin; @@ -125,6 +126,7 @@ protected function getDataImporterPlugins(): array new ProductDiscontinuedDataImportPlugin(), new ProductAlternativeDataImportPlugin(), new SalesOrderThresholdDataImportPlugin(), + new FileManagerDataImportPlugin(), ]; } diff --git a/src/Pyz/Zed/Event/EventDependencyProvider.php b/src/Pyz/Zed/Event/EventDependencyProvider.php index 35dcd359e2..d8168d68e2 100644 --- a/src/Pyz/Zed/Event/EventDependencyProvider.php +++ b/src/Pyz/Zed/Event/EventDependencyProvider.php @@ -16,6 +16,7 @@ use Spryker\Zed\CmsPageSearch\Communication\Plugin\Event\Subscriber\CmsPageSearchEventSubscriber; use Spryker\Zed\CmsStorage\Communication\Plugin\Event\Subscriber\CmsStorageEventSubscriber; use Spryker\Zed\Event\EventDependencyProvider as SprykerEventDependencyProvider; +use Spryker\Zed\FileManagerStorage\Communication\Plugin\Event\Subscriber\FileManagerStorageSubscriber; use Spryker\Zed\GlossaryStorage\Communication\Plugin\Event\Subscriber\GlossaryStorageEventSubscriber; use Spryker\Zed\NavigationStorage\Communication\Plugin\Event\Subscriber\NavigationStorageEventSubscriber; use Spryker\Zed\PriceProductStorage\Communication\Plugin\Event\Subscriber\PriceProductStorageEventSubscriber; @@ -78,6 +79,7 @@ public function getEventSubscriberCollection() $eventSubscriberCollection->add(new ProductReviewStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductLabelStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductSetStorageEventSubscriber()); + $eventSubscriberCollection->add(new FileManagerStorageSubscriber()); $eventSubscriberCollection->add(new ProductSearchConfigStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductAlternativeStorageEventSubscriber()); $eventSubscriberCollection->add(new ProductDiscontinuedStorageEventSubscriber()); diff --git a/src/Pyz/Zed/FileManagerStorage/Persistence/Propel/Schema/spy_file_storage.schema.xml b/src/Pyz/Zed/FileManagerStorage/Persistence/Propel/Schema/spy_file_storage.schema.xml new file mode 100644 index 0000000000..1e7f65533e --- /dev/null +++ b/src/Pyz/Zed/FileManagerStorage/Persistence/Propel/Schema/spy_file_storage.schema.xml @@ -0,0 +1,13 @@ + + + + + + + +
+
diff --git a/src/Pyz/Zed/Queue/QueueDependencyProvider.php b/src/Pyz/Zed/Queue/QueueDependencyProvider.php index 9fabc7bfef..064ca969b1 100644 --- a/src/Pyz/Zed/Queue/QueueDependencyProvider.php +++ b/src/Pyz/Zed/Queue/QueueDependencyProvider.php @@ -14,6 +14,7 @@ use Spryker\Shared\CmsStorage\CmsStorageConstants; use Spryker\Shared\Config\Config; use Spryker\Shared\Event\EventConstants; +use Spryker\Shared\FileManagerStorage\FileManagerStorageConstants; use Spryker\Shared\GlossaryStorage\GlossaryStorageConstants; use Spryker\Shared\Log\LogConstants; use Spryker\Shared\PriceProductStorage\PriceProductStorageConstants; @@ -49,6 +50,7 @@ protected function getProcessorMessagePlugins(Container $container) CmsPageSearchConstants::CMS_SYNC_SEARCH_QUEUE => new SynchronizationSearchQueueMessageProcessorPlugin(), CategoryPageSearchConstants::CATEGORY_SYNC_SEARCH_QUEUE => new SynchronizationSearchQueueMessageProcessorPlugin(), ProductPageSearchConstants::PRODUCT_SYNC_SEARCH_QUEUE => new SynchronizationSearchQueueMessageProcessorPlugin(), + FileManagerStorageConstants::FILE_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(), ]; } } From fd2039f49484f549761382a48eb187db87dae7ca Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Mon, 22 Oct 2018 11:21:51 +0000 Subject: [PATCH 38/91] SUITE-766: File manager --- config/Shared/config_default.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 12cc9fd497..7ab2fcd07a 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -2,6 +2,7 @@ use Monolog\Logger; use Spryker\Client\RabbitMq\Model\RabbitMqAdapter; +use Spryker\Service\FlysystemLocalFileSystem\Plugin\Flysystem\LocalFilesystemBuilderPlugin; use Spryker\Shared\Acl\AclConstants; use Spryker\Shared\Application\ApplicationConstants; use Spryker\Shared\Auth\AuthConstants; @@ -419,3 +420,12 @@ // ---------- FileManager $config[FileManagerConstants::STORAGE_NAME] = 'files'; $config[FileManagerGuiConstants::DEFAULT_FILE_MAX_SIZE] = '10M'; + +// ---------- FileSystem +$config[FileSystemConstants::FILESYSTEM_SERVICE] = [ + 'files' => [ + 'sprykerAdapterClass' => LocalFilesystemBuilderPlugin::class, + 'root' => APPLICATION_ROOT_DIR . '/data/DE/media/', + 'path' => 'files/', + ], +]; From 7fa7fe7d1bd8e4e95f6ae1c329a8661c19c6bd7a Mon Sep 17 00:00:00 2001 From: Mykhailo Kozii Date: Wed, 24 Oct 2018 17:11:04 +0200 Subject: [PATCH 39/91] CC-1363 Updated a product-detail-page module version to show breadcrumbs --- composer.json | 2 +- composer.lock | 172 +++++++++++--------------------------------------- 2 files changed, 38 insertions(+), 136 deletions(-) diff --git a/composer.json b/composer.json index ed76594e68..403b47cde6 100644 --- a/composer.json +++ b/composer.json @@ -51,7 +51,7 @@ "spryker-shop/product-barcode-widget": "^1.0.0", "spryker-shop/product-bundle-widget": "^1.0.0", "spryker-shop/product-category-widget": "^1.0.0", - "spryker-shop/product-detail-page": "^1.4.0", + "spryker-shop/product-detail-page": "^1.6.0", "spryker-shop/product-discontinued-widget": "^1.0", "spryker-shop/product-group-widget": "^1.1.0", "spryker-shop/product-image-widget": "^1.0.0", diff --git a/composer.lock b/composer.lock index 15bf13b7d2..a80f7a57f4 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b1c83b833545712567f390b1eb9582f0", + "content-hash": "2c5c29a1aadbdbeed208dfa04bfc0b30", "packages": [ { "name": "aws/aws-sdk-php", @@ -3951,16 +3951,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.4.5", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "ed04c3d952fe51cee655e3fa1280eb0a899968e4" + "reference": "a635c21667c2a25f2ffcb07fb9aa044fb2e3d0fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/ed04c3d952fe51cee655e3fa1280eb0a899968e4", - "reference": "ed04c3d952fe51cee655e3fa1280eb0a899968e4", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/a635c21667c2a25f2ffcb07fb9aa044fb2e3d0fc", + "reference": "a635c21667c2a25f2ffcb07fb9aa044fb2e3d0fc", "shasum": "" }, "require": { @@ -3968,15 +3968,25 @@ "spryker-shop/shop-application": "^1.0.0", "spryker-shop/shop-router-extension": "^1.0.0", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-storage": "^1.1.0", "spryker/storage": "^3.4.0", "spryker/symfony": "^3.1.0" }, "require-dev": { + "spryker-shop/availability-widget": "*", + "spryker-shop/cms-block-widget": "*", + "spryker-shop/product-review-widget": "*", + "spryker-shop/wishlist-widget": "*", "spryker/code-sniffer": "*", "spryker/testify": "*" }, + "suggest": { + "spryker-shop/availability-widget": "If you want to use components from module AvailabilityWidget or AvailabilityWidgetPlugin.", + "spryker-shop/cms-block-widget": "If you want to use components from module CmsBlockWidget or ProductCmsBlockWidgetPlugin.", + "spryker-shop/product-review-widget": "If you want to use ProductDetailPageReviewWidget or ProductReviewWidgetPlugin.", + "spryker-shop/wishlist-widget": "If you want to use components from module WishlistWidget or WishlistWidgetPlugin." + }, "type": "library", "extra": { "branch-alias": { @@ -3993,7 +4003,7 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-10-15T09:09:06+00:00" + "time": "2018-10-23T16:13:47+00:00" }, { "name": "spryker-shop/product-discontinued-widget", @@ -5352,19 +5362,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Api module", - "support": { - "source": "https://github.com/spryker/Api/tree/master" - }, "time": "2017-11-20T13:06:10+00:00" }, { @@ -5506,19 +5508,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", - "support": { - "source": "https://github.com/spryker/Assertion/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -6022,14 +6016,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", - "support": { - "source": "https://github.com/spryker/Cache/tree/3.1.0" - }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6756,14 +6747,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", - "support": { - "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" - }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -8020,19 +8008,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CmsUserConnector bundle", - "support": { - "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" - }, "time": "2017-06-29T10:18:58+00:00" }, { @@ -8745,19 +8725,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CustomerApi module", - "support": { - "source": "https://github.com/spryker/CustomerApi/tree/master" - }, "time": "2017-11-10T15:08:30+00:00" }, { @@ -9542,14 +9514,11 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Egulias module", - "support": { - "source": "https://github.com/spryker/Egulias/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -10594,19 +10563,11 @@ "Function": "tests/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", - "support": { - "source": "https://github.com/spryker/Graph/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10632,14 +10593,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", - "support": { - "source": "https://github.com/spryker/Graphviz/tree/2.0.1" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10884,20 +10842,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/", - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", - "support": { - "source": "https://github.com/spryker/Invoice/tree/2.0.1" - }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -12450,14 +12399,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "pimple bundle", - "support": { - "source": "https://github.com/spryker/Pimple/tree/2.0.0" - }, "time": "2016-04-01T13:06:05+00:00" }, { @@ -16709,14 +16655,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", - "support": { - "source": "https://github.com/spryker/Redis/tree/2.0.1" - }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16759,22 +16702,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", - "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", - "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Refund module", - "support": { - "source": "https://github.com/spryker/Refund/tree/master" - }, "time": "2017-11-27T14:09:42+00:00" }, { @@ -17855,14 +17787,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", - "support": { - "source": "https://github.com/spryker/Silex/tree/2.0.1" - }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -19017,19 +18946,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", - "support": { - "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -19166,19 +19087,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilText module", - "support": { - "source": "https://github.com/spryker/UtilText/tree/master" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -19255,19 +19168,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", - "support": { - "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -19575,14 +19480,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Zend module", - "support": { - "source": "https://github.com/spryker/Zend/tree/2.1.0" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -24759,7 +24661,7 @@ ], "authors": [ { - "name": "Sullivan SENECHAL", + "name": "Sullivan Sénéchal", "email": "soullivaneuh@gmail.com" } ], From 563c8b253a929da2f60cef4c56af5b401c98bb7f Mon Sep 17 00:00:00 2001 From: gechetspr Date: Wed, 31 Oct 2018 11:03:03 +0200 Subject: [PATCH 40/91] CC-1341 return category node data --- .../Yves/ExampleProductSalePage/Controller/SaleController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php b/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php index 002d2da8c1..592cd4da7c 100644 --- a/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php +++ b/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php @@ -76,6 +76,6 @@ protected function getCategoryNode($categoryPath): array )); } - return $categoryNode; + return $categoryNode['data']; } } From 45f0073cf30dd9d4ce32d919c4cb63a17ebfd0ea Mon Sep 17 00:00:00 2001 From: Denis Turkov Date: Wed, 31 Oct 2018 09:05:52 +0000 Subject: [PATCH 41/91] Update composer.json and remove Glue Application --- composer.json | 717 ++- composer.lock | 5493 ++++++++++------- .../GlueApplicationDependencyProvider.php | 28 - 3 files changed, 3724 insertions(+), 2514 deletions(-) delete mode 100644 src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php diff --git a/composer.json b/composer.json index ed76594e68..87667a0b0f 100644 --- a/composer.json +++ b/composer.json @@ -14,341 +14,106 @@ "ext-pgsql": "*", "ext-readline": "*", "ext-redis": "*", - "spryker-eco/loggly": "dev-master as 1.0.0", - "spryker-shop/agent-page": "^1.0.0", - "spryker-shop/agent-widget": "^1.0.0", - "spryker-shop/availability-widget": "^1.0.0", - "spryker-shop/calculation-page": "^1.0.0", - "spryker-shop/cart-note-widget": "^1.0.0", - "spryker-shop/cart-page": "^1.3.0", - "spryker-shop/catalog-page": "^1.2.0", - "spryker-shop/category-widget": "^1.0.0", - "spryker-shop/chart-widget": "^0.1.0", - "spryker-shop/checkout-page": "^1.5.0", - "spryker-shop/checkout-widget": "^1.0.0", - "spryker-shop/cms-block-widget": "^1.0.0", - "spryker-shop/cms-content-widget-chart-connector": "^1.0", - "spryker-shop/cms-content-widget-product-connector": "^1.0.0", - "spryker-shop/cms-content-widget-product-set-connector": "^1.0.0", - "spryker-shop/cms-page": "^1.0.0", - "spryker-shop/currency-widget": "^1.0.0", - "spryker-shop/customer-page": "^1.7.0", - "spryker-shop/customer-page-extension": "^1.2.0", - "spryker-shop/customer-reorder-widget": "^3.1.0", - "spryker-shop/discount-promotion-widget": "^1.1.0", - "spryker-shop/discount-widget": "^1.0.0", - "spryker-shop/error-page": "^1.0.0", - "spryker-shop/file-manager-widget": "^1.0", - "spryker-shop/heartbeat-page": "^1.0.0", - "spryker-shop/home-page": "^1.0.0", - "spryker-shop/language-switcher-widget": "^1.0.0", - "spryker-shop/money-widget": "^1.1.0", - "spryker-shop/navigation-widget": "^1.0.0", - "spryker-shop/newsletter-page": "^1.0.0", - "spryker-shop/newsletter-widget": "^1.0.0", - "spryker-shop/price-widget": "^1.0.0", - "spryker-shop/product-alternative-widget": "^1.0.0", - "spryker-shop/product-barcode-widget": "^1.0.0", - "spryker-shop/product-bundle-widget": "^1.0.0", - "spryker-shop/product-category-widget": "^1.0.0", - "spryker-shop/product-detail-page": "^1.4.0", - "spryker-shop/product-discontinued-widget": "^1.0", - "spryker-shop/product-group-widget": "^1.1.0", - "spryker-shop/product-image-widget": "^1.0.0", - "spryker-shop/product-label-widget": "^1.0.0", - "spryker-shop/product-new-page": "^1.0.0", - "spryker-shop/product-option-widget": "^1.0.0", - "spryker-shop/product-relation-widget": "^1.0.0", - "spryker-shop/product-review-widget": "^1.0.0", - "spryker-shop/product-set-detail-page": "^1.1.0", - "spryker-shop/product-set-list-page": "^1.0.0", - "spryker-shop/product-set-widget": "^1.0.0", - "spryker-shop/product-widget": "^1.1.0", - "spryker-shop/redirect-page": "^1.0.0", - "spryker-shop/sales-order-threshold-widget": "^1.0.0", - "spryker-shop/shop-application": "^1.2.0", - "spryker-shop/shop-application-extension": "^1.0.0", - "spryker-shop/shop-router": "^1.0.0", - "spryker-shop/shop-router-extension": "^1.0.0", - "spryker-shop/shop-translator": "^1.0.0", - "spryker-shop/shop-ui": "^1.6.1", - "spryker-shop/shop-ui-extension": "1.0.0", - "spryker-shop/web-profiler-widget": "^1.0.0", - "spryker-shop/wishlist-page": "^1.2.0", - "spryker-shop/wishlist-widget": "^1.0.0", - "spryker/acl": "^3.0.0", - "spryker/agent": "^1.0.0", - "spryker/agent-gui": "^1.0.0", - "spryker/api": "^0.1.0", - "spryker/api-query-builder": "^0.1.0", - "spryker/application": "^3.9.0", - "spryker/assertion": "^3.0.0", - "spryker/auth": "^3.0.0", - "spryker/auth-mail-connector": "^3.0.0", - "spryker/availability": "^6.3.0", - "spryker/availability-cart-connector": "^4.2.0", - "spryker/availability-data-feed": "^0.1.0", - "spryker/availability-gui": "^3.0.0", - "spryker/availability-offer-connector": "^1.0.0", - "spryker/availability-storage": "^1.1.0", - "spryker/barcode": "^1.0.0", - "spryker/barcode-extension": "^1.0.0", - "spryker/cache": "^3.1.0", - "spryker/calculation": "^4.4.0", - "spryker/cart": "^5.4.0", - "spryker/cart-currency-connector": "^1.0.0", - "spryker/cart-extension": "^2.1.0", - "spryker/cart-note": "^0.1.0", - "spryker/cart-note-extension": "^1.0.0", + "spryker-eco/loggly": "dev-master", + "spryker-feature/agent-assist": "dev-master as 2018.10", + "spryker-feature/alternative-products": "dev-master as 2018.10", + "spryker-feature/cart": "dev-master as 2018.10", + "spryker-feature/catalog": "dev-master as 2018.10", + "spryker-feature/category-management": "dev-master as 2018.10", + "spryker-feature/checkout": "dev-master as 2018.10", + "spryker-feature/cms": "dev-master as 2018.10", + "spryker-feature/content-based-shop-navigation": "dev-master as 2018.10", + "spryker-feature/customer-account-management": "dev-master as 2018.10", + "spryker-feature/deployment-tools": "dev-master as 2018.10", + "spryker-feature/development-integration": "dev-master as 2018.10", + "spryker-feature/development-tools": "dev-master as 2018.10", + "spryker-feature/digital-asset-management": "dev-master as 2018.10", + "spryker-feature/discontinued-products": "dev-master as 2018.10", + "spryker-feature/file-manager": "dev-master as 2018.10", + "spryker-feature/gift-cards": "dev-master as 2018.10", + "spryker-feature/inventory-management": "dev-master as 2018.10", + "spryker-feature/invoice": "dev-master as 2018.10", + "spryker-feature/mailing-notifications": "dev-master as 2018.10", + "spryker-feature/navigation": "dev-master as 2018.10", + "spryker-feature/newsletter-subscription": "dev-master as 2018.10", + "spryker-feature/notes": "dev-master as 2018.10", + "spryker-feature/order-management": "dev-master as 2018.10", + "spryker-feature/order-threshold": "dev-master", + "spryker-feature/payments": "dev-master as 2018.10", + "spryker-feature/persistent-cart": "dev-master as 2018.10", + "spryker-feature/prices": "dev-master as 2018.10", + "spryker-feature/product": "dev-master as 2018.10", + "spryker-feature/product-bundles": "dev-master as 2018.10", + "spryker-feature/product-groups": "dev-master as 2018.10", + "spryker-feature/product-image-management": "dev-master as 2018.10", + "spryker-feature/product-labels": "dev-master as 2018.10", + "spryker-feature/product-options": "dev-master as 2018.10", + "spryker-feature/product-promotions": "dev-master as 2018.10", + "spryker-feature/product-raiting-reviews": "dev-master as 2018.10", + "spryker-feature/product-relations": "dev-master as 2018.10", + "spryker-feature/product-sets": "dev-master as 2018.10", + "spryker-feature/promotions-discounts": "dev-master as 2018.10", + "spryker-feature/raitings-review": "dev-master as 2018.10", + "spryker-feature/reclamations": "dev-master as 2018.10", + "spryker-feature/refunds": "dev-master as 2018.10", + "spryker-feature/reorder": "dev-master as 2018.10", + "spryker-feature/search": "dev-master as 2018.10", + "spryker-feature/shared-carts": "dev-master as 2018.10", + "spryker-feature/shipment": "dev-master as 2018.10", + "spryker-feature/spryker-core": "dev-master as 2018.10", + "spryker-feature/spryker-core-back-office": "dev-master as 2018.10", + "spryker-feature/spryker-core-e-commerce": "dev-master as 2018.10", + "spryker-feature/state-machine": "dev-master as 2018.10", + "spryker-feature/tax": "dev-master as 2018.10", + "spryker-feature/wishlist": "dev-master as 2018.10", + "spryker/availability-cart-connector": "^4.2", + "spryker/cart-currency-connector": "^1.1", "spryker/cart-note-product-bundle-connector": "^0.1.0", - "spryker/cart-variant": "^1.0.0", - "spryker/catalog": "^5.3.0", - "spryker/catalog-price-product-connector": "^1.2.0", - "spryker/catalog-search-rest-api": "^1.1.0", - "spryker/category": "^4.8.0", - "spryker/category-data-feed": "^0.2.0", - "spryker/category-data-import": "^0.2.0", - "spryker/category-exporter": "^3.0.0", + "spryker/cart-permission-connector": "^1.0", + "spryker/catalog-price-product-connector": "^1.2", + "spryker/customer-catalog": "^1.0", + "spryker/customer-group-discount-connector": "^2.0", + "spryker/customer-user-connector": "^1.0", + "spryker/customer-user-connector-gui": "^1.1", + "spryker/discount-calculation-connector": "^5.0", "spryker/category-navigation-connector": "^1.0.0", - "spryker/category-page-search": "^1.0.0", - "spryker/category-storage": "^1.1.0", - "spryker/chart": "^1.0", - "spryker/checkout": "^4.1.0", - "spryker/cms": "^6.5.0", - "spryker/cms-block": "^2.0.0", - "spryker/cms-block-category-connector": "^2.1.0", - "spryker/cms-block-category-storage": "^1.0.0", - "spryker/cms-block-collector": "^2.0.0", - "spryker/cms-block-gui": "^2.0.0", - "spryker/cms-block-product-connector": "^1.1.0", - "spryker/cms-block-product-storage": "^1.0.0", - "spryker/cms-block-storage": "^1.0.0", - "spryker/cms-collector": "^2.0.0", - "spryker/cms-content-widget": "^1.2.0", - "spryker/cms-content-widget-product-connector": "^1.0.0", - "spryker/cms-content-widget-product-group-connector": "^1.0.0", - "spryker/cms-content-widget-product-set-connector": "^1.0.0", - "spryker/cms-gui": "^4.3.0", "spryker/cms-navigation-connector": "^1.0.0", - "spryker/cms-page-search": "^1.0.0", - "spryker/cms-storage": "^1.0.0", - "spryker/cms-user-connector": "^1.0.0", - "spryker/code-it-now": "^1.0.0", - "spryker/collector": "^6.1.0", - "spryker/collector-search-connector": "^1.0.0", - "spryker/collector-storage-connector": "^1.0.0", - "spryker/config": "^3.1.0", - "spryker/console": "^4.0.0", - "spryker/country": "^3.2.0", - "spryker/csv": "^3.0.0", - "spryker/currency": "^3.5.0", - "spryker/currency-extension": "^1.0.0", - "spryker/customer": "^7.11.0", - "spryker/customer-api": "^0.1.0", - "spryker/customer-extension": "^1.0.0", - "spryker/customer-group": "^2.2.0", - "spryker/customer-group-discount-connector": "^2.0.0", - "spryker/customer-note-gui": "^1.0.0", - "spryker/customer-offer-connector": "^1.0.0", - "spryker/customer-user-connector": "^1.0.0", - "spryker/customer-user-connector-gui": "^1.0.0", - "spryker/dashboard": "^1.0", - "spryker/data-import": "^1.4.0", - "spryker/discount": "^6.3.0", - "spryker/discount-calculation-connector": "^5.0.0", - "spryker/discount-extension": "^1.0.0", - "spryker/discount-promotion": "^1.1.0", - "spryker/dummy-payment": "^2.3.0", - "spryker/egulias": "^1.0.0", - "spryker/elastica": "^4.0.0", - "spryker/error-handler": "^2.3.0", - "spryker/event": "^2.3.1", - "spryker/event-behavior": "^1.1.0", + "spryker/shipment-checkout-connector": "^1.0.0", + "spryker-shop/cms-content-widget-product-connector": "^1.0.0", + "spryker-shop/cms-content-widget-product-set-connector": "^1.0.0", + "spryker-shop/cms-content-widget-chart-connector": "^1.0.0", "spryker/event-journal": "^3.0.0", - "spryker/file-manager": "^1.0", - "spryker/file-manager-data-import": "^1.0", - "spryker/file-manager-gui": "^1.0", - "spryker/file-manager-storage": "^1.0", - "spryker/file-system": "^1.0.0", - "spryker/flysystem": "^1.0.0", - "spryker/flysystem-aws3v3-file-system": "^1.0.0", - "spryker/flysystem-ftp-file-system": "^1.0.0", - "spryker/flysystem-local-file-system": "^1.0.0", - "spryker/gift-card": "^1.0.0", - "spryker/gift-card-balance": "^1.0.0", - "spryker/gift-card-mail-connector": "^1.0.0", - "spryker/glossary": "^3.3.0", - "spryker/glossary-storage": "^1.0.0", - "spryker/graph": "^3.0.0", - "spryker/graphviz": "^2.0.0", - "spryker/gui": "^3.13.0", - "spryker/guzzle": "^2.2.0", - "spryker/heartbeat": "^3.2.0", - "spryker/install": "^0.5.0", - "spryker/installer": "^4.0.0", - "spryker/invoice": "^2.0.0", - "spryker/kernel": "^3.24.0", - "spryker/key-builder": "^1.0.0", - "spryker/locale": "^3.1.0", - "spryker/log": "^3.5.0", - "spryker/mail": "^4.0.0", - "spryker/maintenance": "^3.1.0", - "spryker/mandrill": "^2.0.0", - "spryker/manual-order-entry": "^1.1.0", - "spryker/manual-order-entry-gui": "^0.5.0", - "spryker/manual-order-entry-gui-extension": "^1.0.0", - "spryker/messenger": "^3.1.0", - "spryker/money": "^2.4.0", - "spryker/monolog": "^2.0.0", - "spryker/navigation": "^2.0.0", - "spryker/navigation-collector": "^1.0.0", - "spryker/navigation-gui": "^2.0.0", - "spryker/navigation-storage": "^1.0.0", + "spryker/flysystem-local-file-system": "^1.0", + "spryker/gift-card-mail-connector": "^1.0", "spryker/new-relic": "^3.0.0", - "spryker/new-relic-api": "^1.0.0", - "spryker/newsletter": "^4.0.0", - "spryker/nopayment": "^4.0.0", - "spryker/offer": "^0.1.0", - "spryker/offer-extension": "^1.0.0", - "spryker/offer-gui": "^0.1.0", - "spryker/oms": "^8.0.0", - "spryker/oms-discount-connector": "^3.0.0", - "spryker/payment": "^4.0.0", - "spryker/payment-cart-connector": "^1.0.0", - "spryker/persistent-cart": "^1.1.1", - "spryker/persistent-cart-extension": "^1.0.0", - "spryker/pimple": "^2.0.0", - "spryker/price": "^5.3.0", - "spryker/price-cart-connector": "^4.5.0", - "spryker/price-data-feed": "^0.2.0", - "spryker/price-extension": "^1.0.0", - "spryker/price-product": "^2.0.0", - "spryker/price-product-data-import": "^0.1.0", - "spryker/price-product-storage": "^2.0.0", - "spryker/product": "^6.7.0", - "spryker/product-abstract-data-feed": "^0.2.0", - "spryker/product-alternative": "^1.0", - "spryker/product-alternative-data-import": "^1.0", - "spryker/product-alternative-extension": "^1.0", - "spryker/product-alternative-gui": "^1.0", + "spryker/oauth-customer-connector": "^1.0", + "spryker/oms-discount-connector": "^3.0", + "spryker/payment-cart-connector": "^1.0", + "spryker/price-cart-connector": "^4.5", "spryker/product-alternative-product-label-connector": "^1.0", - "spryker/product-alternative-storage": "^1.1", - "spryker/product-alternative-storage-extension": "^1.0", - "spryker/product-api": "^0.1.0", - "spryker/product-attribute": "^1.1.0", - "spryker/product-attribute-gui": "^1.0.0", - "spryker/product-barcode": "^1.0.0", - "spryker/product-barcode-gui": "^1.0.0", - "spryker/product-bundle": "^4.0.0", - "spryker/product-cart-connector": "^4.0.0", - "spryker/product-category": "^4.0.0", - "spryker/product-category-filter": "^1.0.0", - "spryker/product-category-filter-collector": "^1.0.0", - "spryker/product-category-filter-gui": "^1.0.0", - "spryker/product-category-filter-storage": "^1.0.0", - "spryker/product-category-storage": "^1.0.0", - "spryker/product-discontinued": "^1.0.0", - "spryker/product-discontinued-data-import": "^1.0.0", - "spryker/product-discontinued-extension": "^1.0.0", - "spryker/product-discontinued-gui": "^1.0.0", - "spryker/product-discontinued-product-bundle-connector": "^1.0.0", - "spryker/product-discontinued-product-label-connector": "^1.0.0", - "spryker/product-discontinued-storage": "^1.0.0", - "spryker/product-discount-connector": "^3.0.0", - "spryker/product-group": "^1.0.0", - "spryker/product-group-collector": "^1.0.0", - "spryker/product-group-storage": "^1.0.0", - "spryker/product-image": "^3.0.0", - "spryker/product-image-cart-connector": "^1.0.0", - "spryker/product-image-storage": "^1.0.0", - "spryker/product-label": "^2.0.0", - "spryker/product-label-collector": "^1.0.0", - "spryker/product-label-discount-connector": "^1.0.0", - "spryker/product-label-gui": "^2.0.0", - "spryker/product-label-search": "^1.0.0", - "spryker/product-label-storage": "^1.0.0", - "spryker/product-management": "^0.14.7", - "spryker/product-new": "^1.0.0", - "spryker/product-option": "^6.0.0", - "spryker/product-option-cart-connector": "^5.0.0", - "spryker/product-option-storage": "^1.0.0", - "spryker/product-page-search": "^2.2.0", - "spryker/product-relation": "^2.0.0", - "spryker/product-relation-collector": "^2.0.0", - "spryker/product-relation-storage": "^1.0.0", - "spryker/product-review": "^2.0.0", - "spryker/product-review-collector": "^1.0.0", - "spryker/product-review-gui": "^1.0.0", - "spryker/product-review-search": "^1.0.0", - "spryker/product-review-storage": "^1.0.0", - "spryker/product-search": "^5.0.0", - "spryker/product-search-config-storage": "^1.0.0", - "spryker/product-set": "^1.0.0", - "spryker/product-set-collector": "^1.0.0", - "spryker/product-set-gui": "^2.0.0", - "spryker/product-set-page-search": "^1.0.0", - "spryker/product-set-storage": "^1.0.0", - "spryker/product-storage": "^1.0.0", - "spryker/product-storage-extension": "^1.0.0", - "spryker/product-validity": "^1.0.0", - "spryker/propel": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/propel-query-builder": "^0.3.0", - "spryker/queue": "^1.2.0", - "spryker/quote": "^2.0.0", - "spryker/quote-extension": "^1.0.0", - "spryker/rabbit-mq": "^2.2.0", - "spryker/redis": "^2.0.0", - "spryker/refund": "^5.0.0", - "spryker/sales": "^8.0.0", - "spryker/sales-extension": "^1.2.0", - "spryker/sales-order-threshold": "^1.0", - "spryker/sales-order-threshold-data-import": "^0.1.0", - "spryker/sales-order-threshold-gui": "^1.0", - "spryker/sales-product-connector": "^1.0.0", - "spryker/sales-quantity": "^1.0", - "spryker/sales-reclamation": "^0.3.0", - "spryker/sales-split": "^3.0.0", - "spryker/sales-statistics": "^1.0", - "spryker/search": "^8.0.0", - "spryker/sequence-number": "^3.0.0", - "spryker/session": "^3.0.0", - "spryker/setup": "^4.0.0", - "spryker/setup-frontend": "^1.0.0", - "spryker/shipment": "^6.0.0", - "spryker/shipment-cart-connector": "^1.0.0", - "spryker/shipment-checkout-connector": "^1.0.0", - "spryker/shipment-discount-connector": "^1.0.0", - "spryker/silex": "^2.0.0", - "spryker/sql-criteria-builder": "^1.0.0", - "spryker/state-machine": "^2.0.0", - "spryker/step-engine": "^3.0.0", - "spryker/stock": "^5.0.0", - "spryker/stock-sales-connector": "^3.0.0", - "spryker/storage": "^3.0.0", - "spryker/store": "^1.0.0", - "spryker/symfony": "^3.0.0", - "spryker/synchronization": "^1.1.0", - "spryker/synchronization-behavior": "^1.3.0", - "spryker/synchronization-extension": "^1.0.0", - "spryker/tax": "^5.0.0", - "spryker/tax-product-connector": "^4.0.0", - "spryker/touch": "^4.0.0", - "spryker/transfer": "^3.0.0", - "spryker/twig": "^3.0.0", - "spryker/url": "^3.0.0", - "spryker/url-collector": "^1.0.0", - "spryker/url-storage": "^1.0.0", - "spryker/user": "^3.0.0", - "spryker/user-extension": "^1.0.0", - "spryker/util-csv": "^1.0.0", - "spryker/util-uuid-generator": "^1.0.0", - "spryker/util-validate": "^1.0.0", - "spryker/uuid-behavior": " ^1.0.0", - "spryker/wishlist": "^6.0.0", - "spryker/zed-navigation": "^1.0.0", - "spryker/zed-request": "^3.0.0", - "spryker/zend": "^2.0.0", + "spryker/product-cart-connector": "^4.3", + "spryker/product-category": "^4.6", + "spryker/product-discontinued-product-bundle-connector": "^1.0", + "spryker/product-discontinued-product-label-connector": "^1.0", + "spryker/product-discount-connector": "^3.2", + "spryker/product-image-cart-connector": "^1.0", + "spryker/product-option-cart-connector": "^5.0", + "spryker/rabbit-mq": "^2.2", + "spryker/sales-product-connector": "^1.1", + "spryker/setup": "^4.0", + "spryker/stock-sales-connector": "^3.0", + "spryker/api": "^0.1.4", + "spryker/customer-api": "*", + "spryker/product-api": "*", + "spryker/assertion": "*", + "spryker/chart": "*", + "spryker/barcode": "*", + "spryker/cart-note": "*", + "spryker-shop/cart-note-widget": "*", + "spryker/sales-statistics": "^1.0.0", + "spryker/flysystem-ftp-file-system": "^1.0.0", + "spryker/offer-gui": "^0.1.6", + "spryker-shop/calculation-page": "^1.0.0", "swiftmailer/swiftmailer": "^5.4.5" }, "require-dev": { @@ -417,6 +182,300 @@ ], "process-timeout": 900 }, + "repositories": [ + { + "type": "git", + "url": "https://github.com/spryker-feature/agent-assist.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/alternative-products.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/backup.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/barcode.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/cart.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/catalog.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/category-management.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/checkout.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/cms.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/company-account.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/content-based-shop-navigation.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/customer-access.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/customer-account-management.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/data-export.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/deployment-tools.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/development-integration.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/development-tools.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/digital-asset-management.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/discontinued-products.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/file-manager.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/gift-cards.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/inventory-management.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/invoice.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/mailing-notifications.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/measurement-units.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/merchant.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/merchant-contracts.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/merchant-custom-prices.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/merchant-order-threshold.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/merchant-product-restrictions.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/multiple-carts.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/multistore.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/navigation.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/newsletter-subscription.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/non-splittable-products.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/notes.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/order-management.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/order-threshold.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/packaging-units.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/payments.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/persistent-cart.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/prices.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-based-shop-navigation.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-bundles.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-customer-restrictions.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-groups.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-image-management.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-labels.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-lists.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-options.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-promotions.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-raiting-reviews.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-relations.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/product-sets.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/promotions-discounts.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/purchaise-approval-not-in-october-release.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/quick-add-to-cart.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/raitings-review.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/reclamations.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/refunds.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/reorder.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/search.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/shared-carts.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/shipment.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/shopping-lists.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/split-shipment.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/spryker-core.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/spryker-core-back-office.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/spryker-core-e-commerce.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/state-machine.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/tax.git" + }, + { + "type": "git", + "url": "https://github.com/spryker-feature/wishlist.git" + } + ], "scripts": { "compile": [ "mkdir -p ./data/DE/logs/ZED", diff --git a/composer.lock b/composer.lock index 15bf13b7d2..e5124adf3b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,112 +4,69 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "b1c83b833545712567f390b1eb9582f0", + "content-hash": "fa730e21c56dc2be4b6a35da24044760", "packages": [ { - "name": "aws/aws-sdk-php", - "version": "3.69.7", + "name": "container-interop/container-interop", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "24d9a07aba51a61a889d7ce427605f12087e3b42" + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/24d9a07aba51a61a889d7ce427605f12087e3b42", - "reference": "24d9a07aba51a61a889d7ce427605f12087e3b42", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", "shasum": "" }, "require": { - "ext-json": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "guzzlehttp/guzzle": "^5.3.1|^6.2.1", - "guzzlehttp/promises": "~1.0", - "guzzlehttp/psr7": "^1.4.1", - "mtdowling/jmespath.php": "~2.2", - "php": ">=5.5" - }, - "require-dev": { - "andrewsville/php-token-reflection": "^1.4", - "aws/aws-php-sns-message-validator": "~1.0", - "behat/behat": "~3.0", - "doctrine/cache": "~1.4", - "ext-dom": "*", - "ext-openssl": "*", - "ext-pcntl": "*", - "ext-sockets": "*", - "nette/neon": "^2.3", - "phpunit/phpunit": "^4.8.35|^5.4.3", - "psr/cache": "^1.0" - }, - "suggest": { - "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", - "doctrine/cache": "To use the DoctrineCacheAdapter", - "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", - "ext-sockets": "To use client-side monitoring" + "psr/container": "^1.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, "autoload": { "psr-4": { - "Aws\\": "src/" - }, - "files": [ - "src/functions.php" - ] + "Interop\\Container\\": "src/Interop/Container/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Amazon Web Services", - "homepage": "http://aws.amazon.com" - } - ], - "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", - "homepage": "http://aws.amazon.com/sdkforphp", - "keywords": [ - "amazon", - "aws", - "cloud", - "dynamodb", - "ec2", - "glacier", - "s3", - "sdk" + "MIT" ], - "time": "2018-10-15T21:16:38+00:00" + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" }, { - "name": "codeitnowin/barcode", - "version": "3.0.2", + "name": "defuse/php-encryption", + "version": "v2.2.1", "source": { "type": "git", - "url": "https://github.com/codeitnowin/barcode-generator.git", - "reference": "a84e923469a631e48723cd1cca21858605966904" + "url": "https://github.com/defuse/php-encryption.git", + "reference": "0f407c43b953d571421e0020ba92082ed5fb7620" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeitnowin/barcode-generator/zipball/a84e923469a631e48723cd1cca21858605966904", - "reference": "a84e923469a631e48723cd1cca21858605966904", + "url": "https://api.github.com/repos/defuse/php-encryption/zipball/0f407c43b953d571421e0020ba92082ed5fb7620", + "reference": "0f407c43b953d571421e0020ba92082ed5fb7620", "shasum": "" }, "require": { - "php": ">=5.3.2" + "ext-openssl": "*", + "paragonie/random_compat": ">= 2", + "php": ">=5.4.0" }, + "require-dev": { + "nikic/php-parser": "^2.0|^3.0|^4.0", + "phpunit/phpunit": "^4|^5" + }, + "bin": [ + "bin/generate-defuse-key" + ], "type": "library", "autoload": { "psr-4": { - "CodeItNow\\": "CodeItNow/" + "Defuse\\Crypto\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -118,55 +75,30 @@ ], "authors": [ { - "name": "Akhtar Khan", - "email": "er.akhtarkhan@gmail.com" + "name": "Taylor Hornby", + "email": "taylor@defuse.ca", + "homepage": "https://defuse.ca/" + }, + { + "name": "Scott Arciszewski", + "email": "info@paragonie.com", + "homepage": "https://paragonie.com" } ], - "description": "Barcode & Qr Code generator library by http://www.codeitnow.in. You can use it with Custom PHP application or any PHP Framework such as Laravel, Cakephp, Yii, Codeigneter etc.", - "homepage": "http://www.codeitnow.in", + "description": "Secure PHP Encryption Library", "keywords": [ - "Symfony2", - "barcode", - "cakephp", - "code", - "generator", - "laravel", - "qr", - "qrcode", - "symfony" - ], - "time": "2018-06-01T13:33:52+00:00" - }, - { - "name": "container-interop/container-interop", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/container-interop/container-interop.git", - "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", - "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", - "shasum": "" - }, - "require": { - "psr/container": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Interop\\Container\\": "src/Interop/Container/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" + "aes", + "authenticated encryption", + "cipher", + "crypto", + "cryptography", + "encrypt", + "encryption", + "openssl", + "security", + "symmetric key cryptography" ], - "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", - "homepage": "https://github.com/container-interop/container-interop", - "time": "2017-02-14T19:40:03+00:00" + "time": "2018-07-24T23:27:56+00:00" }, { "name": "doctrine/lexer", @@ -506,16 +438,16 @@ }, { "name": "filp/whoops", - "version": "2.2.1", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311" + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311", - "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311", + "url": "https://api.github.com/repos/filp/whoops/zipball/bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", "shasum": "" }, "require": { @@ -563,7 +495,7 @@ "throwable", "whoops" ], - "time": "2018-06-30T13:14:06+00:00" + "time": "2018-10-23T09:00:00+00:00" }, { "name": "fzaninotto/faker", @@ -940,47 +872,94 @@ "time": "2014-11-20T16:49:30+00:00" }, { - "name": "league/csv", - "version": "9.1.4", + "name": "lcobucci/jwt", + "version": "3.2.4", "source": { "type": "git", - "url": "https://github.com/thephpleague/csv.git", - "reference": "9c8ad06fb5d747c149875beb6133566c00eaa481" + "url": "https://github.com/lcobucci/jwt.git", + "reference": "c9704b751315d21735dc98d78d4f37bd73596da7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/9c8ad06fb5d747c149875beb6133566c00eaa481", - "reference": "9c8ad06fb5d747c149875beb6133566c00eaa481", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c9704b751315d21735dc98d78d4f37bd73596da7", + "reference": "c9704b751315d21735dc98d78d4f37bd73596da7", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=7.0.10" + "ext-openssl": "*", + "php": ">=5.5" }, "require-dev": { - "ext-curl": "*", - "friendsofphp/php-cs-fixer": "^2.0", - "phpstan/phpstan": "^0.9.2", - "phpstan/phpstan-phpunit": "^0.9.4", - "phpstan/phpstan-strict-rules": "^0.9.0", - "phpunit/phpunit": "^6.0" + "mdanter/ecc": "~0.3.1", + "mikey179/vfsstream": "~1.5", + "phpmd/phpmd": "~2.2", + "phpunit/php-invoker": "~1.1", + "phpunit/phpunit": "~4.5", + "squizlabs/php_codesniffer": "~2.3" }, "suggest": { - "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters" + "mdanter/ecc": "Required to use Elliptic Curves based algorithms." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "3.1-dev" } }, "autoload": { "psr-4": { - "League\\Csv\\": "src" - }, - "files": [ - "src/functions_include.php" - ] + "Lcobucci\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Luís Otávio Cobucci Oblonczyk", + "email": "lcobucci@gmail.com", + "role": "developer" + } + ], + "description": "A simple library to work with JSON Web Token and JSON Web Signature", + "keywords": [ + "JWS", + "jwt" + ], + "time": "2018-08-03T11:23:50+00:00" + }, + { + "name": "league/event", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/event.git", + "reference": "e4bfc88dbcb60c8d8a2939a71f9813e141bbe4cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/event/zipball/e4bfc88dbcb60c8d8a2939a71f9813e141bbe4cd", + "reference": "e4bfc88dbcb60c8d8a2939a71f9813e141bbe4cd", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "~1.0.1", + "phpspec/phpspec": "~2.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Event\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -988,23 +967,17 @@ ], "authors": [ { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://github.com/nyamsprod/", - "role": "Developer" + "name": "Frank de Jonge", + "email": "info@frenky.net" } ], - "description": "Csv data manipulation made easy in PHP", - "homepage": "http://csv.thephpleague.com", + "description": "Event package", "keywords": [ - "csv", - "export", - "filter", - "import", - "read", - "write" + "emitter", + "event", + "listener" ], - "time": "2018-05-01T18:32:48+00:00" + "time": "2015-05-21T12:24:47+00:00" }, { "name": "league/flysystem", @@ -1091,37 +1064,42 @@ "time": "2018-10-15T13:53:10+00:00" }, { - "name": "league/flysystem-aws-s3-v3", - "version": "1.0.21", + "name": "league/oauth2-server", + "version": "7.2.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "43523fec10a831ea48bedb3277e3f3fa218f4e49" + "url": "https://github.com/thephpleague/oauth2-server.git", + "reference": "8184f771d43ea7305ddbb893d0daf6f0352ec5fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/43523fec10a831ea48bedb3277e3f3fa218f4e49", - "reference": "43523fec10a831ea48bedb3277e3f3fa218f4e49", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/8184f771d43ea7305ddbb893d0daf6f0352ec5fd", + "reference": "8184f771d43ea7305ddbb893d0daf6f0352ec5fd", "shasum": "" }, "require": { - "aws/aws-sdk-php": "^3.0.0", - "league/flysystem": "^1.0.40", - "php": ">=5.5.0" + "defuse/php-encryption": "^2.1", + "ext-openssl": "*", + "lcobucci/jwt": "^3.2.2", + "league/event": "^2.1", + "php": ">=7.0.0", + "psr/http-message": "^1.0.1" + }, + "replace": { + "league/oauth2server": "*", + "lncd/oauth2": "*" }, "require-dev": { - "henrikbjorn/phpspec-code-coverage": "~1.0.1", - "phpspec/phpspec": "^2.0.0" + "phpstan/phpstan": "^0.9.2", + "phpstan/phpstan-phpunit": "^0.9.4", + "phpstan/phpstan-strict-rules": "^0.9.0", + "phpunit/phpunit": "^6.3 || ^7.0", + "zendframework/zend-diactoros": "^1.3.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\AwsS3v3\\": "src/" + "League\\OAuth2\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1130,55 +1108,30 @@ ], "authors": [ { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Flysystem adapter for the AWS S3 SDK v3.x", - "time": "2018-10-08T07:53:55+00:00" - }, - { - "name": "mandrill/mandrill", - "version": "1.0.55", - "source": { - "type": "git", - "url": "https://bitbucket.org/mailchimp/mandrill-api-php.git", - "reference": "da3adc10042eafac2e53de141b358a52b8e53596" - }, - "dist": { - "type": "zip", - "url": "https://bitbucket.org/mailchimp/mandrill-api-php/get/da3adc10042eafac2e53de141b358a52b8e53596.zip", - "reference": "da3adc10042eafac2e53de141b358a52b8e53596", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Mandrill": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Mandrill Devs", - "email": "community@mandrill.com", - "homepage": "http://mandrill.com", + "name": "Alex Bilbie", + "email": "hello@alexbilbie.com", + "homepage": "http://www.alexbilbie.com", "role": "Developer" } ], - "description": "API client library for the Mandrill email as a service platform", - "homepage": "https://bitbucket.org/mailchimp/mandrill-api-php", + "description": "A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.", + "homepage": "https://oauth2.thephpleague.com/", "keywords": [ + "Authentication", "api", - "email" + "auth", + "authorisation", + "authorization", + "oauth", + "oauth 2", + "oauth 2.0", + "oauth2", + "protect", + "resource", + "secure", + "server" ], - "time": "2015-09-22T13:58:03+00:00" + "time": "2018-06-23T16:57:59+00:00" }, { "name": "moneyphp/money", @@ -1338,61 +1291,6 @@ ], "time": "2017-06-19T01:22:40+00:00" }, - { - "name": "mtdowling/jmespath.php", - "version": "2.4.0", - "source": { - "type": "git", - "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "adcc9531682cf87dfda21e1fd5d0e7a41d292fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/adcc9531682cf87dfda21e1fd5d0e7a41d292fac", - "reference": "adcc9531682cf87dfda21e1fd5d0e7a41d292fac", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "bin": [ - "bin/jp.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "JmesPath\\": "src/" - }, - "files": [ - "src/JmesPath.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], - "time": "2016-12-03T22:08:25+00:00" - }, { "name": "paragonie/random_compat", "version": "v9.99.99", @@ -1440,22 +1338,21 @@ }, { "name": "php-amqplib/php-amqplib", - "version": "v2.7.3", + "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/php-amqplib/php-amqplib.git", - "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f" + "reference": "7df8553bd8b347cf6e919dd4a21e75f371547aa0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", - "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/7df8553bd8b347cf6e919dd4a21e75f371547aa0", + "reference": "7df8553bd8b347cf6e919dd4a21e75f371547aa0", "shasum": "" }, "require": { "ext-bcmath": "*", - "ext-mbstring": "*", - "php": ">=5.3.0" + "php": ">=5.4.0" }, "replace": { "videlalvaro/php-amqplib": "self.version" @@ -1472,7 +1369,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -1507,7 +1404,7 @@ "queue", "rabbitmq" ], - "time": "2018-04-30T03:54:54+00:00" + "time": "2018-10-23T18:48:24+00:00" }, { "name": "phpdocumentor/graphviz", @@ -2166,38 +2063,1215 @@ "time": "2018-10-16T13:00:22+00:00" }, { - "name": "spryker-shop/agent-page", - "version": "1.0.0", + "name": "spryker-feature/agent-assist", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/spryker-shop/agent-page.git", - "reference": "4ca8c1ba0f614aa639af29b359bdbd8991a30ce9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/agent-page/zipball/4ca8c1ba0f614aa639af29b359bdbd8991a30ce9", - "reference": "4ca8c1ba0f614aa639af29b359bdbd8991a30ce9", - "shasum": "" + "url": "https://github.com/spryker-feature/agent-assist.git", + "reference": "b046f5752d8eea17dbc9e9cbf95f26aa18d30a03" }, "require": { "php": ">=7.1", - "spryker-shop/customer-page": "^1.4.0", - "spryker-shop/customer-page-extension": "^1.2.0", - "spryker-shop/shop-application": "^1.1.0", - "spryker-shop/shop-ui": "^1.3.0", + "spryker-shop/agent-page": "^1.0.0", + "spryker-shop/agent-widget": "^1.1.0", "spryker/agent": "^1.0.0", - "spryker/application": "^3.9.0", - "spryker/customer": "^7.10.0", - "spryker/kernel": "^3.23.0", - "spryker/messenger": "^3.1.0", - "spryker/quote": "^2.0.0", - "spryker/symfony": "^3.1.0" - }, - "require-dev": { - "spryker-shop/home-page": "*", - "spryker/code-sniffer": "*", - "spryker/silex": "*", - "spryker/testify": "*" + "spryker/agent-gui": "^1.0.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Agent Assist [feature]", + "time": "2018-10-26T16:41:47+00:00" + }, + { + "name": "spryker-feature/alternative-products", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/alternative-products.git", + "reference": "52951c195da9968bd67f79e3eb8fad8ed7e4ade8" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-alternative-widget": "^1.1.0", + "spryker-shop/product-replacement-for-widget": "^1.2.0", + "spryker/product-alternative": "^1.0.0", + "spryker/product-alternative-data-import": "^1.0.0", + "spryker/product-alternative-gui": "^1.0.0", + "spryker/product-alternative-storage": "^1.1.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Alternative Products [feature]", + "time": "2018-10-26T16:41:50+00:00" + }, + { + "name": "spryker-feature/cart", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/cart.git", + "reference": "13770e70cddf6f8d0ac5d3d18446ce55d2d92003" + }, + "require": { + "php": ">=7.1", + "spryker-shop/cart-page": "^1.4.2", + "spryker/calculation": "^4.4.1", + "spryker/cart": "^5.4.0", + "spryker/cart-variant": "^1.0.4" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Cart [feature]", + "time": "2018-10-30T18:25:32+00:00" + }, + { + "name": "spryker-feature/catalog", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/catalog.git", + "reference": "30eeb14624eab854718b1f9b34fdeee553a0ee0c" + }, + "require": { + "php": ">=7.1", + "spryker-feature/spryker-core": "^2018.10", + "spryker-shop/catalog-page": "^1.3.2", + "spryker/catalog": "^5.3.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Catalog [feature]", + "time": "2018-10-30T18:25:35+00:00" + }, + { + "name": "spryker-feature/category-management", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/category-management.git", + "reference": "6d9f24829258aab9ace6c529e9dfb180475d229b" + }, + "require": { + "php": ">=7.1", + "spryker-feature/spryker-core": "^2018.10", + "spryker-shop/category-widget": "^1.0.2", + "spryker/category": "^4.8.0", + "spryker/category-data-feed": "^0.2.1", + "spryker/category-data-import": "^0.2.1", + "spryker/category-exporter": "^3.0.2", + "spryker/category-page-search": "^1.0.1", + "spryker/category-storage": "^1.1.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Category Management [feature]", + "time": "2018-10-26T16:43:55+00:00" + }, + { + "name": "spryker-feature/checkout", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/checkout.git", + "reference": "b1f4bcb7f115f06cf9f091774823fc3b0b3feace" + }, + "require": { + "php": ">=7.1", + "spryker-shop/checkout-page": "^1.6.1", + "spryker-shop/checkout-widget": "^1.1.0", + "spryker/checkout": "^4.1.6", + "spryker/dummy-payment": "^2.3.1", + "spryker/step-engine": "^3.1.4" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Checkout [feature]", + "time": "2018-10-30T18:25:38+00:00" + }, + { + "name": "spryker-feature/cms", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/cms.git", + "reference": "99718b3f26fe8d7e9e1d6f8ed78754695682938e" + }, + "require": { + "php": ">=7.1", + "spryker-shop/cms-block-widget": "*", + "spryker-shop/cms-page": "^1.0.0", + "spryker/cms": "^6.5.3", + "spryker/cms-block": "^2.1.1", + "spryker/cms-block-category-connector": "^2.1.4", + "spryker/cms-block-category-storage": "^1.0.1", + "spryker/cms-block-collector": "^2.0.0", + "spryker/cms-block-gui": "^2.0.1", + "spryker/cms-block-product-connector": "^1.1.4", + "spryker/cms-block-product-storage": "^1.0.1", + "spryker/cms-block-storage": "^1.0.1", + "spryker/cms-collector": "^2.0.3", + "spryker/cms-content-widget": "^1.2.1", + "spryker/cms-content-widget-product-connector": "^1.0.3", + "spryker/cms-content-widget-product-group-connector": "^1.0.0", + "spryker/cms-content-widget-product-search-connector": "^1.0.1", + "spryker/cms-content-widget-product-set-connector": "^1.0.3", + "spryker/cms-gui": "^4.3.8", + "spryker/cms-page-search": "^1.0.1", + "spryker/cms-storage": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "CMS [feature]", + "time": "2018-10-30T20:36:06+00:00" + }, + { + "name": "spryker-feature/content-based-shop-navigation", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/content-based-shop-navigation.git", + "reference": "dc8650aacaa809fc601ed87416a73dca7d1d0043" + }, + "require": { + "php": ">=7.1", + "spryker-feature/navigation": "^2018.10", + "spryker/navigation": "^2.3.1", + "spryker/navigation-collector": "^1.0.4", + "spryker/navigation-gui": "^2.1.2", + "spryker/navigation-storage": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Content Based Shop Navigation [feature]", + "time": "2018-10-26T16:42:19+00:00" + }, + { + "name": "spryker-feature/customer-account-management", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/customer-account-management.git", + "reference": "4e4e3606287d2175d8b73bd92abb27be0d60568e" + }, + "require": { + "php": ">=7.1", + "spryker-shop/customer-page": "^1.10.1", + "spryker/customer": "^7.13.0", + "spryker/customer-group": "^2.2.7" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Customer Account Management [feature]", + "time": "2018-10-30T18:25:46+00:00" + }, + { + "name": "spryker-feature/deployment-tools", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/deployment-tools.git", + "reference": "8a5cc8928e179fa0b4eaf7a7675c06b01db789f7" + }, + "require": { + "php": ">=7.1", + "spryker/console": "^4.0.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Deployment tools [feature]", + "time": "2018-10-26T16:42:32+00:00" + }, + { + "name": "spryker-feature/development-integration", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/development-integration.git", + "reference": "d05c761d63ce031ffef2481143ff37d4a735e06c" + }, + "require": { + "php": ">=7.1", + "spryker-shop/heartbeat-page": "^1.0.0", + "spryker/code-generator": "^0.3.7", + "spryker/development": "^3.13.1", + "spryker/heartbeat": "^3.2.2", + "spryker/install": "^0.5.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Development & Integration [feature]", + "time": "2018-10-26T16:42:35+00:00" + }, + { + "name": "spryker-feature/development-tools", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/development-tools.git", + "reference": "27cbb5f4d38fa19d2fa8ed92b5a8e0288a735ba1" + }, + "require": { + "php": ">=7.1", + "spryker-shop/web-profiler-widget": "^1.0.0", + "spryker/index-generator": "^1.0.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Development tools [feature]", + "time": "2018-10-26T16:44:08+00:00" + }, + { + "name": "spryker-feature/digital-asset-management", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/digital-asset-management.git", + "reference": "18b3521c69b3ffffe214f59aab55da27ebdcaa1f" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Digital Asset Management [feature]", + "time": "2018-10-26T16:42:41+00:00" + }, + { + "name": "spryker-feature/discontinued-products", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/discontinued-products.git", + "reference": "cf858260779d362164cfed7e12e9dcc124c5d3ed" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-discontinued-widget": "^1.1.0", + "spryker/product-discontinued": "^1.0.0", + "spryker/product-discontinued-data-import": "^1.0.0", + "spryker/product-discontinued-gui": "^1.0.1", + "spryker/product-discontinued-storage": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Discontinued products [feature]", + "time": "2018-10-26T16:42:45+00:00" + }, + { + "name": "spryker-feature/file-manager", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/file-manager.git", + "reference": "d183368ee94a2ce15b33ede12728860749760bbf" + }, + "require": { + "php": ">=7.1", + "spryker-shop/file-manager-widget": "^1.0.0", + "spryker/file-manager": "^1.0.1", + "spryker/file-manager-data-import": "^1.0.0", + "spryker/file-manager-gui": "^1.0.0", + "spryker/file-manager-storage": "^1.0.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "File manager [feature]", + "time": "2018-10-26T16:42:48+00:00" + }, + { + "name": "spryker-feature/gift-cards", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/gift-cards.git", + "reference": "22fbf6bea6b69aea93e5c3229e224cb83f856380" + }, + "require": { + "php": ">=7.1", + "spryker-feature/payments": "^2018.10", + "spryker/gift-card": "^1.0.3", + "spryker/gift-card-balance": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Gift cards [feature]", + "time": "2018-10-26T16:42:51+00:00" + }, + { + "name": "spryker-feature/inventory-management", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/inventory-management.git", + "reference": "dd4aa53ebb8ebec31fe4027a3b42791402fa79b8" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/availability-widget": "^1.1.0", + "spryker/availability": "^6.3.0", + "spryker/availability-data-feed": "^0.1.3", + "spryker/availability-gui": "^3.0.1", + "spryker/availability-storage": "^1.1.0", + "spryker/stock": "^5.0.2" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Inventory Management [feature]", + "time": "2018-10-26T16:44:14+00:00" + }, + { + "name": "spryker-feature/invoice", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/invoice.git", + "reference": "3607ab0ced65730a292864042c6326e7cfe568bd" + }, + "require": { + "php": ">=7.1", + "spryker-feature/payments": "^2018.10", + "spryker/invoice": "^2.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Invoice [feature]", + "time": "2018-10-26T16:42:57+00:00" + }, + { + "name": "spryker-feature/mailing-notifications", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/mailing-notifications.git", + "reference": "6eec7d0a6fa6fef52bbb826ac9978a1ff0d17f80" + }, + "require": { + "php": ">=7.1", + "spryker-shop/newsletter-page": "^1.0.1", + "spryker-shop/newsletter-widget": "^1.1.0", + "spryker/mail": "^4.1.0", + "spryker/newsletter": "^4.3.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Mailing & Notifications [feature]", + "time": "2018-10-30T18:25:58+00:00" + }, + { + "name": "spryker-feature/navigation", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/navigation.git", + "reference": "ff898a266bb4476c61e86d11fbf029d5a6bdedd0" + }, + "require": { + "php": ">=7.1", + "spryker-feature/spryker-core": "^2018.10" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Navigation [feature]", + "time": "2018-10-26T16:43:29+00:00" + }, + { + "name": "spryker-feature/newsletter-subscription", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/newsletter-subscription.git", + "reference": "aacc5b8d61a617c851cb6fe0a4c61bdd385d1056" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Newsletter Subscription [feature]", + "time": "2018-10-26T16:43:32+00:00" + }, + { + "name": "spryker-feature/notes", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/notes.git", + "reference": "f951b26ede8b3e8e1631a0f6412e6c659d9ca9a4" + }, + "require": { + "php": ">=7.1", + "spryker-feature/customer-account-management": "^2018.10", + "spryker/customer-note-gui": "^1.0.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Notes [feature]", + "time": "2018-10-26T16:43:39+00:00" + }, + { + "name": "spryker-feature/order-management", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/order-management.git", + "reference": "f1760d58150c20bca6ff014fa93c4fbe8d592431" + }, + "require": { + "php": ">=7.1", + "spryker/oms": "^8.3.2", + "spryker/sales": "^8.15.1", + "spryker/sales-quantity": "^1.0.1", + "spryker/sales-split": "^3.0.5" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Order Management [feature]", + "time": "2018-10-26T16:44:29+00:00" + }, + { + "name": "spryker-feature/order-threshold", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/order-threshold.git", + "reference": "416cac413ed4415e9323f974d1b59a23cec577b1" + }, + "require": { + "php": ">=7.1", + "spryker-feature/cart": "^2018.10", + "spryker-feature/checkout": "^2018.10", + "spryker-feature/order-management": "^2018.10", + "spryker-feature/prices": "^2018.10", + "spryker-feature/spryker-core-e-commerce": "^2018.10", + "spryker-shop/sales-order-threshold-widget": "^1.1.0", + "spryker/sales-order-threshold": "^1.0.0", + "spryker/sales-order-threshold-data-import": "^0.1.0", + "spryker/sales-order-threshold-gui": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Order Threshold [feature]", + "time": "2018-10-30T18:26:26+00:00" + }, + { + "name": "spryker-feature/payments", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/payments.git", + "reference": "c4c9081d12bfb39fc2bc922dc395fdff77f4611e" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Payments [feature]", + "time": "2018-10-26T16:43:51+00:00" + }, + { + "name": "spryker-feature/persistent-cart", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/persistent-cart.git", + "reference": "5b47bda0c47521f85681657804af779d15fdc2ca" + }, + "require": { + "php": ">=7.1", + "spryker-feature/cart": "^2018.10", + "spryker/persistent-cart": "^1.2.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Persistent cart [feature]", + "time": "2018-10-26T16:43:54+00:00" + }, + { + "name": "spryker-feature/prices", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/prices.git", + "reference": "fbcfcfbb6cdf4e49e49eb92da21712387c2063cf" + }, + "require": { + "php": ">=7.1", + "spryker-shop/currency-widget": "^1.1.0", + "spryker-shop/money-widget": "^1.1.3", + "spryker-shop/price-product-volume-widget": "^1.1.0", + "spryker-shop/price-widget": "^1.1.0", + "spryker/currency": "^3.5.1", + "spryker/price": "^5.3.0", + "spryker/price-data-feed": "^0.2.1", + "spryker/price-product": "^2.3.2", + "spryker/price-product-data-import": "^0.1.5", + "spryker/price-product-storage": "^2.3.1", + "spryker/price-product-volume": "^1.1.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Prices [feature]", + "time": "2018-10-30T18:26:33+00:00" + }, + { + "name": "spryker-feature/product", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product.git", + "reference": "f96f24af9141dd37e58e08dfb31f44c8888622b6" + }, + "require": { + "php": ">=7.1", + "spryker-feature/spryker-core": "^2018.10", + "spryker-shop/product-category-widget": "^1.1.0", + "spryker-shop/product-detail-page": "^1.6.1", + "spryker-shop/product-image-widget": "^1.0.1", + "spryker-shop/product-widget": "^1.2.1", + "spryker/product": "^6.7.0", + "spryker/product-abstract-data-feed": "^0.2.2", + "spryker/product-attribute": "^1.1.0", + "spryker/product-attribute-gui": "^1.0.7", + "spryker/product-category-filter": "^1.2.2", + "spryker/product-category-filter-gui": "^1.1.6", + "spryker/product-category-filter-storage": "^1.0.1", + "spryker/product-category-storage": "^1.1.0", + "spryker/product-image-storage": "^1.2.1", + "spryker/product-management": "^0.15.0", + "spryker/product-page-search": "^2.2.1", + "spryker/product-search": "^5.4.5", + "spryker/product-search-config-storage": "^1.0.1", + "spryker/product-storage": "^1.3.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product [feature]", + "time": "2018-10-30T18:26:35+00:00" + }, + { + "name": "spryker-feature/product-bundles", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-bundles.git", + "reference": "0042955c1a6269504ad718603565d621e2fce110" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-bundle-widget": "^1.3.0", + "spryker/product-bundle": "^4.7.4" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Bundles [feature]", + "time": "2018-10-26T16:44:08+00:00" + }, + { + "name": "spryker-feature/product-groups", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-groups.git", + "reference": "fe69ca47446d191308be381bb1040e0a36c319a9" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-group-widget": "^1.2.0", + "spryker/product-group": "^1.2.1", + "spryker/product-group-storage": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Groups [feature]", + "time": "2018-10-26T16:44:42+00:00" + }, + { + "name": "spryker-feature/product-image-management", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-image-management.git", + "reference": "cce080863552d37cf58e1152e70c1c2d2e49f45a" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Image Management [feature]", + "time": "2018-10-26T16:44:17+00:00" + }, + { + "name": "spryker-feature/product-labels", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-labels.git", + "reference": "deb29732f82b8064d96afcdb8181e668bac64d6a" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-label-widget": "^1.1.0", + "spryker-shop/product-new-page": "^1.0.1", + "spryker/product-label-gui": "^2.0.10", + "spryker/product-label-search": "^1.1.0", + "spryker/product-new": "^1.1.3" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Labels [feature]", + "time": "2018-10-30T18:26:42+00:00" + }, + { + "name": "spryker-feature/product-options", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-options.git", + "reference": "723be065981ab06c2d699b77da19b45a99485702" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-option-widget": "^1.2.1", + "spryker/product-option": "^6.4.0", + "spryker/product-option-storage": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Options [feature]", + "time": "2018-10-30T18:26:45+00:00" + }, + { + "name": "spryker-feature/product-promotions", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-promotions.git", + "reference": "701c0332964f09cad85a15aceba33065b6625b1f" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Promotions [feature]", + "time": "2018-10-26T16:44:30+00:00" + }, + { + "name": "spryker-feature/product-raiting-reviews", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-raiting-reviews.git", + "reference": "4e43e12ec80796dfe2d2cefe8e12841c75130831" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-review-widget": "^1.1.0", + "spryker/product-review": "^2.0.1", + "spryker/product-review-gui": "^1.0.3", + "spryker/product-review-search": "^1.1.0", + "spryker/product-review-storage": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Raiting & Reviews [feature]", + "time": "2018-10-26T16:44:49+00:00" + }, + { + "name": "spryker-feature/product-relations", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-relations.git", + "reference": "4b33b76d570f8259744d554c7df24dca8f0f9814" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-relation-widget": "^1.1.0", + "spryker/product-relation": "^2.1.5", + "spryker/product-relation-collector": "^2.0.3", + "spryker/product-relation-storage": "^1.1.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Relations [feature]", + "time": "2018-10-26T16:44:36+00:00" + }, + { + "name": "spryker-feature/product-sets", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/product-sets.git", + "reference": "4746f71f81e52d9fd29154101f251b6c5c37bdea" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker-shop/product-set-detail-page": "^1.2.0", + "spryker-shop/product-set-list-page": "^1.0.0", + "spryker-shop/product-set-widget": "^1.1.0", + "spryker/product-set": "^1.3.4", + "spryker/product-set-gui": "^2.0.4", + "spryker/product-set-page-search": "^1.0.2", + "spryker/product-set-storage": "^1.0.2" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Product Sets [feature]", + "time": "2018-10-26T16:44:51+00:00" + }, + { + "name": "spryker-feature/promotions-discounts", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/promotions-discounts.git", + "reference": "7810da98eb8172b1ca0b6ef29ed61b287a9b58ee" + }, + "require": { + "php": ">=7.1", + "spryker-shop/discount-promotion-widget": "^1.2.0", + "spryker-shop/discount-widget": "^1.1.1", + "spryker/discount": "^6.3.8", + "spryker/discount-promotion": "^1.1.2", + "spryker/product-label": "^2.5.1", + "spryker/product-label-collector": "^1.1.2", + "spryker/product-label-discount-connector": "^1.2.1", + "spryker/product-label-storage": "^1.0.3", + "spryker/product-new": "^1.1.3" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Promotions & Discounts [feature]", + "time": "2018-10-30T18:26:51+00:00" + }, + { + "name": "spryker-feature/raitings-review", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/raitings-review.git", + "reference": "07f7156d4dfc3e7883e1685109af84d9f6a2554a" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Raitings & Review [feature]", + "time": "2018-10-26T16:44:52+00:00" + }, + { + "name": "spryker-feature/reclamations", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/reclamations.git", + "reference": "76baf0c86472bd7ccee04072b339bedb0b3ff314" + }, + "require": { + "php": ">=7.1", + "spryker/sales-reclamation": "^0.3.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Reclamations [feature]", + "time": "2018-10-26T16:44:55+00:00" + }, + { + "name": "spryker-feature/refunds", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/refunds.git", + "reference": "3721d27fb2d61a1056f6655238c4298cc81a9cb3" + }, + "require": { + "php": ">=7.1", + "spryker/refund": "^5.1.2" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Refunds [feature]", + "time": "2018-10-26T16:44:58+00:00" + }, + { + "name": "spryker-feature/reorder", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/reorder.git", + "reference": "2c3ea5077fe54564a45994a17f7cfca1cc99e0fa" + }, + "require": { + "php": ">=7.1", + "spryker-feature/cart": "^2018.10", + "spryker-shop/customer-reorder-widget": "^3.1.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Reorder [feature]", + "time": "2018-10-26T16:45:01+00:00" + }, + { + "name": "spryker-feature/search", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/search.git", + "reference": "9664e413ef8e954944514afcddf4fb137399173e" + }, + "require": { + "php": ">=7.1", + "spryker/search": "^8.3.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Search [feature]", + "time": "2018-10-26T16:45:05+00:00" + }, + { + "name": "spryker-feature/shared-carts", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/shared-carts.git", + "reference": "1a86b08370b3fb2946b5fe4b693fc2892121fae4" + }, + "require": { + "php": ">=7.1", + "spryker-feature/cart": "^2018.10", + "spryker-shop/shared-cart-page": "^1.2.0", + "spryker-shop/shared-cart-widget": "^1.3.1", + "spryker/shared-cart": "^1.4.0", + "spryker/shared-cart-data-import": "^0.1.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Shared carts [feature]", + "time": "2018-10-26T16:45:08+00:00" + }, + { + "name": "spryker-feature/shipment", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/shipment.git", + "reference": "3871d9604cd00238665eab45f7b50573cb2a1f99" + }, + "require": { + "php": ">=7.1", + "spryker/shipment": "^6.6.1", + "spryker/shipment-cart-connector": "^1.0.1", + "spryker/shipment-discount-connector": "^1.1.2" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Shipment [feature]", + "time": "2018-10-26T16:45:11+00:00" + }, + { + "name": "spryker-feature/spryker-core", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/spryker-core.git", + "reference": "ffc67a16fde05b491c85bbc689ab51dfd5872dba" + }, + "require": { + "php": ">=7.1", + "spryker-shop/error-page": "^1.1.0", + "spryker-shop/home-page": "^1.0.0", + "spryker-shop/language-switcher-widget": "^1.1.0", + "spryker-shop/navigation-widget": "^1.1.0", + "spryker-shop/redirect-page": "^1.0.0", + "spryker-shop/shop-application": "^1.3.0", + "spryker-shop/shop-permission": "^1.1.0", + "spryker-shop/shop-router": "^1.0.1", + "spryker-shop/shop-translator": "^1.0.0", + "spryker-shop/shop-ui": "^1.8.0", + "spryker/application": "^3.9.2", + "spryker/country": "^3.2.0", + "spryker/data-import": "^1.4.1", + "spryker/glossary": "^3.3.5", + "spryker/glossary-storage": "^1.0.2", + "spryker/gui": "^3.13.1", + "spryker/installer": "^4.0.1", + "spryker/locale": "^3.1.0", + "spryker/log": "^3.5.0", + "spryker/maintenance": "^3.1.0", + "spryker/permission": "^1.2.0", + "spryker/propel": "^3.6.1", + "spryker/propel-orm": "^1.7.1", + "spryker/propel-query-builder": "^0.3.1", + "spryker/session": "^3.2.4", + "spryker/setup-frontend": "^1.0.2", + "spryker/store": "^1.9.0", + "spryker/synchronization": "^1.1.0", + "spryker/synchronization-behavior": "^1.3.0", + "spryker/url": "^3.4.1", + "spryker/url-storage": "^1.0.1", + "spryker/uuid-behavior": "^1.0.1", + "spryker/zed-request": "^3.4.2" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Spryker Core [feature]", + "time": "2018-10-30T18:27:06+00:00" + }, + { + "name": "spryker-feature/spryker-core-back-office", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/spryker-core-back-office.git", + "reference": "bf33368ea37505605842ad4e36d3f8affcc38adf" + }, + "require": { + "php": ">=7.1", + "spryker/acl": "^3.0.9", + "spryker/auth": "^3.0.3", + "spryker/auth-mail-connector": "^3.0.0", + "spryker/dashboard": "^1.0.0", + "spryker/gui": "^3.13.1", + "spryker/user": "^3.4.0", + "spryker/zed-navigation": "^1.2.2" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Spryker Core Back Office [feature]", + "time": "2018-10-30T18:27:08+00:00" + }, + { + "name": "spryker-feature/spryker-core-e-commerce", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/spryker-core-e-commerce.git", + "reference": "11ddfbfa52b4eafe86dd631db173a4a89df68fce" + }, + "require": { + "php": ">=7.1", + "spryker-feature/cart": "^2018.10", + "spryker-feature/catalog": "^2018.10", + "spryker-feature/checkout": "^2018.10", + "spryker-feature/customer-account-management": "^2018.10", + "spryker-feature/inventory-management": "^2018.10", + "spryker-feature/order-management": "^2018.10", + "spryker-feature/payments": "^2018.10", + "spryker-feature/prices": "^2018.10", + "spryker-feature/product": "^2018.10", + "spryker-feature/search": "^2018.10", + "spryker-feature/shipment": "^2018.10", + "spryker-feature/spryker-core": "^2018.10", + "spryker-feature/tax": "^2018.10" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Spryker Core E-commerce [feature]", + "time": "2018-10-30T18:27:11+00:00" + }, + { + "name": "spryker-feature/state-machine", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/state-machine.git", + "reference": "24eaba3889c2b1db1d86869686121d891e7e631d" + }, + "require": { + "php": ">=7.1", + "spryker/state-machine": "^2.2.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "State Machine [feature]", + "time": "2018-10-26T16:45:30+00:00" + }, + { + "name": "spryker-feature/tax", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/tax.git", + "reference": "1abdbf377dd911c628b646d427c7eb0123e92543" + }, + "require": { + "php": ">=7.1", + "spryker/tax": "^5.4.0", + "spryker/tax-product-connector": "^4.1.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Tax [feature]", + "time": "2018-10-26T16:45:34+00:00" + }, + { + "name": "spryker-feature/wishlist", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/wishlist.git", + "reference": "8048e4e05b08bb15e84d48cb6d4001c055aa6d8e" + }, + "require": { + "php": ">=7.1", + "spryker-shop/wishlist-page": "^1.4.0", + "spryker-shop/wishlist-widget": "^1.1.0", + "spryker/wishlist": "^6.3.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Wishlist [feature]", + "time": "2018-10-30T18:27:15+00:00" + }, + { + "name": "spryker-shop/agent-page", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/agent-page.git", + "reference": "4ca8c1ba0f614aa639af29b359bdbd8991a30ce9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/agent-page/zipball/4ca8c1ba0f614aa639af29b359bdbd8991a30ce9", + "reference": "4ca8c1ba0f614aa639af29b359bdbd8991a30ce9", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker-shop/customer-page": "^1.4.0", + "spryker-shop/customer-page-extension": "^1.2.0", + "spryker-shop/shop-application": "^1.1.0", + "spryker-shop/shop-ui": "^1.3.0", + "spryker/agent": "^1.0.0", + "spryker/application": "^3.9.0", + "spryker/customer": "^7.10.0", + "spryker/kernel": "^3.23.0", + "spryker/messenger": "^3.1.0", + "spryker/quote": "^2.0.0", + "spryker/symfony": "^3.1.0" + }, + "require-dev": { + "spryker-shop/home-page": "*", + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/home-page": "Widget plugins are available for this module.", @@ -2223,16 +3297,16 @@ }, { "name": "spryker-shop/agent-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/agent-widget.git", - "reference": "58071b25dcb8d4f95bf04c9c2ecdbbb78708d4d7" + "reference": "9e15697b265d93548838b42cf077e4c705938b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/agent-widget/zipball/58071b25dcb8d4f95bf04c9c2ecdbbb78708d4d7", - "reference": "58071b25dcb8d4f95bf04c9c2ecdbbb78708d4d7", + "url": "https://api.github.com/repos/spryker-shop/agent-widget/zipball/9e15697b265d93548838b42cf077e4c705938b9f", + "reference": "9e15697b265d93548838b42cf077e4c705938b9f", "shasum": "" }, "require": { @@ -2241,7 +3315,7 @@ "spryker-shop/shop-ui": "^1.3.0", "spryker/agent": "^1.0.0", "spryker/customer": "^7.0.0", - "spryker/kernel": "^3.23.0", + "spryker/kernel": "^3.24.0", "spryker/symfony": "^3.1.0" }, "require-dev": { @@ -2268,29 +3342,31 @@ "proprietary" ], "description": "AgentWidget module", - "time": "2018-09-05T09:32:42+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/availability-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/availability-widget.git", - "reference": "a494072a710bdb58803f106588eebd8713088f98" + "reference": "b0dc6a2b28bf8cfa1fa5182dea93defb635d46ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/availability-widget/zipball/a494072a710bdb58803f106588eebd8713088f98", - "reference": "a494072a710bdb58803f106588eebd8713088f98", + "url": "https://api.github.com/repos/spryker-shop/availability-widget/zipball/b0dc6a2b28bf8cfa1fa5182dea93defb635d46ad", + "reference": "b0dc6a2b28bf8cfa1fa5182dea93defb635d46ad", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0" + "spryker/kernel": "^3.24.0" }, "require-dev": { - "spryker-shop/product-detail-page": "*" + "spryker-shop/product-detail-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/product-detail-page": "Widget plugins are available for this module." @@ -2311,7 +3387,7 @@ "proprietary" ], "description": "AvailabilityWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/calculation-page", @@ -2364,16 +3440,16 @@ }, { "name": "spryker-shop/cart-note-widget", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-note-widget.git", - "reference": "c7467483d14763a746a4e7c8cbd6ea42a2694e1b" + "reference": "00264bee24fdcc4f7bcbf3252f43ac95aff2e533" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-note-widget/zipball/c7467483d14763a746a4e7c8cbd6ea42a2694e1b", - "reference": "c7467483d14763a746a4e7c8cbd6ea42a2694e1b", + "url": "https://api.github.com/repos/spryker-shop/cart-note-widget/zipball/00264bee24fdcc4f7bcbf3252f43ac95aff2e533", + "reference": "00264bee24fdcc4f7bcbf3252f43ac95aff2e533", "shasum": "" }, "require": { @@ -2383,7 +3459,7 @@ "spryker/application": "^3.8.0", "spryker/cart-note": "^0.1.0", "spryker/glossary-storage": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/symfony": "^3.1.0" }, "require-dev": { @@ -2416,20 +3492,20 @@ "proprietary" ], "description": "CartNoteWidget module", - "time": "2018-09-10T11:26:24+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/cart-page", - "version": "1.3.2", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/cart-page.git", - "reference": "84214a87075e38f6a8c10658b7dbd80c20ddca80" + "reference": "7f038497d0283207eb0651215b9667ef6d6e0cbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/84214a87075e38f6a8c10658b7dbd80c20ddca80", - "reference": "84214a87075e38f6a8c10658b7dbd80c20ddca80", + "url": "https://api.github.com/repos/spryker-shop/cart-page/zipball/7f038497d0283207eb0651215b9667ef6d6e0cbb", + "reference": "7f038497d0283207eb0651215b9667ef6d6e0cbb", "shasum": "" }, "require": { @@ -2440,18 +3516,26 @@ "spryker/availability-storage": "^1.0.0", "spryker/cart": "^5.0.0", "spryker/cart-variant": "^1.0.0", - "spryker/kernel": "^3.19.0", + "spryker/kernel": "^3.24.0", "spryker/permission-extension": "^1.0.0", "spryker/product-storage": "^1.1.0", "spryker/symfony": "^3.1.0", "spryker/zed-request": "^3.4.0" }, "require-dev": { + "spryker-shop/discount-widget": "*", + "spryker-shop/multi-cart-widget": "*", + "spryker-shop/product-option-widget": "*", + "spryker-shop/product-packaging-unit-widget": "*", "spryker/code-sniffer": "*", "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { + "spryker-shop/discount-widget": "If you want to use components from module DiscountWidget or DiscountSummaryWidgetPlugin", + "spryker-shop/multi-cart-widget": "If you want to use components from module MultiCartWidget or CartOperationsWidgetPlugin", + "spryker-shop/product-option-widget": "If you want to use components from module ProductOptionWidget or CartItemProductOptionWidgetPlugin", + "spryker-shop/product-packaging-unit-widget": "If you want to use components from module ProductPackagingUnitWidget or CartProductPackagingUnitWidgetPlugin", "spryker/permission": "If you want to use permissions plugins", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, @@ -2471,20 +3555,20 @@ "proprietary" ], "description": "CartPage module", - "time": "2018-10-09T05:58:23+00:00" + "time": "2018-10-26T08:05:49+00:00" }, { "name": "spryker-shop/catalog-page", - "version": "1.2.1", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/catalog-page.git", - "reference": "68ddaabc4e13711d7c134f620eae88486e8ba517" + "reference": "88110e802b7fc3bcf25b8dbd138fe3e4c37458c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/68ddaabc4e13711d7c134f620eae88486e8ba517", - "reference": "68ddaabc4e13711d7c134f620eae88486e8ba517", + "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/88110e802b7fc3bcf25b8dbd138fe3e4c37458c0", + "reference": "88110e802b7fc3bcf25b8dbd138fe3e4c37458c0", "shasum": "" }, "require": { @@ -2494,7 +3578,7 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/catalog": "^5.2.0", "spryker/category-storage": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/locale": "^3.1.0", "spryker/product-category-filter": "^1.2.0", "spryker/product-category-filter-storage": "^1.0.0", @@ -2528,7 +3612,7 @@ "proprietary" ], "description": "CatalogPage module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-29T17:23:23+00:00" }, { "name": "spryker-shop/category-widget", @@ -2576,65 +3660,18 @@ "description": "CategoryWidget module", "time": "2018-09-20T09:04:40+00:00" }, - { - "name": "spryker-shop/chart-widget", - "version": "0.1.0", - "source": { - "type": "git", - "url": "https://github.com/spryker-shop/chart-widget.git", - "reference": "e0958d5f6e5e353d5ab69f80b3099c21a2c9ae68" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/chart-widget/zipball/e0958d5f6e5e353d5ab69f80b3099c21a2c9ae68", - "reference": "e0958d5f6e5e353d5ab69f80b3099c21a2c9ae68", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/chart": "^1.0.0", - "spryker/kernel": "^3.16.0" - }, - "require-dev": { - "spryker-shop/cms-content-widget-chart-connector": "*", - "spryker/silex": "*", - "spryker/twig": "*" - }, - "suggest": { - "spryker-shop/cms-content-widget-chart-connector": "If you want to use ChartWidgetPlugin: ^1.0.0", - "spryker/silex": "*", - "spryker/twig": "If you want to use ChartWidgetPlugin: ^3.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "SprykerShop\\": "src/SprykerShop/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ChartWidget module", - "time": "2018-06-26T10:36:31+00:00" - }, { "name": "spryker-shop/checkout-page", - "version": "1.5.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-page.git", - "reference": "3dfea5146670c270671b2565c1c31ff02fd593c4" + "reference": "7654489a1f6a91a2a87c818fdc26a9578109e000" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/3dfea5146670c270671b2565c1c31ff02fd593c4", - "reference": "3dfea5146670c270671b2565c1c31ff02fd593c4", + "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/7654489a1f6a91a2a87c818fdc26a9578109e000", + "reference": "7654489a1f6a91a2a87c818fdc26a9578109e000", "shasum": "" }, "require": { @@ -2651,7 +3688,7 @@ "spryker/customer": "^7.4.0", "spryker/glossary": "^3.3.0", "spryker/glossary-storage": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/messenger": "^3.1.0", "spryker/money": "^2.4.0", "spryker/permission-extension": "^1.0.0", @@ -2664,13 +3701,17 @@ "spryker/util-validate": "^1.0.0" }, "require-dev": { + "spryker-shop/cart-note-widget": "*", "spryker-shop/checkout-widget": "*", + "spryker-shop/product-packaging-unit-widget": "*", "spryker/code-sniffer": "*", "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { + "spryker-shop/cart-note-widget": "If you want to use components from module CartNoteWidget or CartNoteQuoteItemNoteWidgetPlugin.", "spryker-shop/checkout-widget": "ADD SUGGEST DESCRIPTION", + "spryker-shop/product-packaging-unit-widget": "If you want to use components from module ProductPackagingUnitWidget or SummaryProductPackagingUnitWidgetPlugin.", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", @@ -2689,30 +3730,32 @@ "proprietary" ], "description": "CheckoutPage module", - "time": "2018-10-11T08:50:14+00:00" + "time": "2018-10-26T13:21:54+00:00" }, { "name": "spryker-shop/checkout-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-widget.git", - "reference": "ded7df9d7adc3e5bd1e4ea889018e71909c517ec" + "reference": "241481a6f5ceeecb1f693b079f008310563b8273" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-widget/zipball/ded7df9d7adc3e5bd1e4ea889018e71909c517ec", - "reference": "ded7df9d7adc3e5bd1e4ea889018e71909c517ec", + "url": "https://api.github.com/repos/spryker-shop/checkout-widget/zipball/241481a6f5ceeecb1f693b079f008310563b8273", + "reference": "241481a6f5ceeecb1f693b079f008310563b8273", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/checkout-page": "^1.0.0", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0" + "spryker/kernel": "^3.24.0" }, "require-dev": { - "spryker-shop/cart-page": "*" + "spryker-shop/cart-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/cart-page": "Widget plugins are available for this module." @@ -2733,33 +3776,34 @@ "proprietary" ], "description": "CheckoutWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/cms-block-widget", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-block-widget.git", - "reference": "46700adfb3151383c88e73f95258c69355954626" + "reference": "016a9c7c623ca8523a908558013c145e08e78c79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-block-widget/zipball/46700adfb3151383c88e73f95258c69355954626", - "reference": "46700adfb3151383c88e73f95258c69355954626", + "url": "https://api.github.com/repos/spryker-shop/cms-block-widget/zipball/016a9c7c623ca8523a908558013c145e08e78c79", + "reference": "016a9c7c623ca8523a908558013c145e08e78c79", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", "spryker/cms-block-storage": "^1.0.0", - "spryker/kernel": "^3.16.0" + "spryker/kernel": "^3.24.0" }, "require-dev": { "spryker-shop/catalog-page": "*", "spryker-shop/product-detail-page": "*", - "spryker-shop/shop-application": "*", + "spryker/code-sniffer": "*", "spryker/silex": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { @@ -2785,28 +3829,30 @@ "proprietary" ], "description": "CmsBlockWidget module", - "time": "2018-08-01T14:21:08+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/cms-content-widget-chart-connector", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-content-widget-chart-connector.git", - "reference": "0ac8cf1426def7445156b50b4647c38a02f44e01" + "reference": "96d8efc1a8bcd82be761b85509b013f3b6d6b5e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-chart-connector/zipball/0ac8cf1426def7445156b50b4647c38a02f44e01", - "reference": "0ac8cf1426def7445156b50b4647c38a02f44e01", + "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-chart-connector/zipball/96d8efc1a8bcd82be761b85509b013f3b6d6b5e6", + "reference": "96d8efc1a8bcd82be761b85509b013f3b6d6b5e6", "shasum": "" }, "require": { "php": ">=7.1", "spryker/cms-content-widget": "^1.0.0", - "spryker/kernel": "^3.16.0" + "spryker/kernel": "^3.24.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { @@ -2829,31 +3875,31 @@ "proprietary" ], "description": "CmsContentWidgetChartConnector module", - "time": "2018-06-27T07:14:14+00:00" + "time": "2018-10-11T08:42:32+00:00" }, { "name": "spryker-shop/cms-content-widget-product-connector", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-content-widget-product-connector.git", - "reference": "6b7c13c766dd05ebde1aeac4d5ccbdf1a7365e7f" + "reference": "a1d75d5853163a78301d7dd757ef67c1cccfbf1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-connector/zipball/6b7c13c766dd05ebde1aeac4d5ccbdf1a7365e7f", - "reference": "6b7c13c766dd05ebde1aeac4d5ccbdf1a7365e7f", + "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-connector/zipball/a1d75d5853163a78301d7dd757ef67c1cccfbf1b", + "reference": "a1d75d5853163a78301d7dd757ef67c1cccfbf1b", "shasum": "" }, "require": { "php": ">=7.1", "spryker/cms-content-widget": "^1.2.0", - "spryker/kernel": "^3.16.0", - "spryker/product": "^5.5.0 || ^6.0.0", - "spryker/product-storage": "^1.1.0", - "spryker/propel-orm": "^1.5.0" + "spryker/kernel": "^3.24.0", + "spryker/product-storage": "^1.1.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { @@ -2875,38 +3921,39 @@ "proprietary" ], "description": "CmsContentWidgetProductConnector module", - "time": "2018-08-02T06:30:34+00:00" + "time": "2018-10-11T08:42:32+00:00" }, { "name": "spryker-shop/cms-content-widget-product-set-connector", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-content-widget-product-set-connector.git", - "reference": "2bf91fa77764b20dea90df843925a1b771cff6a8" + "reference": "19af6663e5c316bcc8654a27fad34f237b1f0295" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-set-connector/zipball/2bf91fa77764b20dea90df843925a1b771cff6a8", - "reference": "2bf91fa77764b20dea90df843925a1b771cff6a8", + "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-set-connector/zipball/19af6663e5c316bcc8654a27fad34f237b1f0295", + "reference": "19af6663e5c316bcc8654a27fad34f237b1f0295", "shasum": "" }, "require": { "php": ">=7.1", "spryker/cms-content-widget": "^1.2.0", - "spryker/kernel": "^3.16.0", - "spryker/product": "^5.5.0 || ^6.0.0", - "spryker/product-set": "^1.3.0", + "spryker/kernel": "^3.24.0", "spryker/product-set-storage": "^1.0.0", - "spryker/product-storage": "^1.1.0", - "spryker/propel-orm": "^1.5.0" + "spryker/product-storage": "^1.1.0" }, "require-dev": { "spryker-shop/product-set-detail-page": "*", + "spryker-shop/product-set-widget": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*", "spryker/twig": "*" }, "suggest": { "spryker-shop/product-set-detail-page": "If you want to use CmsProductSetContentWidgetPlugin.", + "spryker-shop/product-set-widget": "If you want to use components from module ProductSetWidget or ProductSetWidgetPlugin.", "spryker/twig": "If you want to use CmsProductSetContentWidgetPlugin." }, "type": "library", @@ -2925,7 +3972,7 @@ "proprietary" ], "description": "CmsContentWidgetProductSetConnector module", - "time": "2018-08-02T06:30:34+00:00" + "time": "2018-10-11T17:28:11+00:00" }, { "name": "spryker-shop/cms-page", @@ -2981,28 +4028,30 @@ }, { "name": "spryker-shop/currency-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/currency-widget.git", - "reference": "2bae6ffbaed3325f28ca466a00209079628777cb" + "reference": "65aaa92fdf748841dd0ba11d927a82f2f3df7a84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/currency-widget/zipball/2bae6ffbaed3325f28ca466a00209079628777cb", - "reference": "2bae6ffbaed3325f28ca466a00209079628777cb", + "url": "https://api.github.com/repos/spryker-shop/currency-widget/zipball/65aaa92fdf748841dd0ba11d927a82f2f3df7a84", + "reference": "65aaa92fdf748841dd0ba11d927a82f2f3df7a84", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", "spryker/currency": "^3.4.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/symfony": "^3.1.0" }, "require-dev": { "spryker-shop/shop-application": "*", - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/shop-application": "Use this module when using plugins that need ShopApplication dependencies.", @@ -3024,20 +4073,20 @@ "proprietary" ], "description": "CurrencyWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/customer-page", - "version": "1.8.2", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "d38d65be647ed5eb41972938eec6c143ff4e21a7" + "reference": "559ebf8afec26c0859bb0118fef77e402a4388d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/d38d65be647ed5eb41972938eec6c143ff4e21a7", - "reference": "d38d65be647ed5eb41972938eec6c143ff4e21a7", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/559ebf8afec26c0859bb0118fef77e402a4388d4", + "reference": "559ebf8afec26c0859bb0118fef77e402a4388d4", "shasum": "" }, "require": { @@ -3048,7 +4097,7 @@ "spryker/application": "^3.8.0", "spryker/customer": "^7.4.0", "spryker/customer-access-permission": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-bundle": "^4.1.0", "spryker/quote": "^1.0.0 || ^2.1.0", "spryker/sales": "^8.15.0", @@ -3057,7 +4106,10 @@ "spryker/util-validate": "^1.0.0" }, "require-dev": { + "spryker-shop/business-on-behalf-widget": "*", + "spryker-shop/cart-note-widget": "*", "spryker-shop/home-page": "*", + "spryker-shop/product-packaging-unit-widget": "*", "spryker/code-sniffer": "*", "spryker/config": "*", "spryker/messenger": "*", @@ -3066,7 +4118,10 @@ "spryker/twig": "*" }, "suggest": { + "spryker-shop/business-on-behalf-widget": "If you want to use BusinessOnBehalfWidget or MenuItemBusinessOnBehalfWidgetPlugin.", + "spryker-shop/cart-note-widget": "If you want to use components from module CartNoteWidget or CartNoteOrderNoteWidgetPlugin.", "spryker-shop/home-page": "Widget plugins are available for this module.", + "spryker-shop/product-packaging-unit-widget": "If you want to use components from module ProductPackagingUnitWidget or OrderDetailProductPackagingUnitWidgetPlugin.", "spryker/config": "Use this module when using plugins that need Config dependencies.", "spryker/messenger": "Use this module when using plugins that need Messenger dependencies.", "spryker/silex": "Use this module when using plugins that need Silex dependencies.", @@ -3088,7 +4143,7 @@ "proprietary" ], "description": "CustomerPage module", - "time": "2018-10-16T12:29:03+00:00" + "time": "2018-10-30T09:20:06+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -3187,31 +4242,32 @@ }, { "name": "spryker-shop/discount-promotion-widget", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/discount-promotion-widget.git", - "reference": "fbe1ff4590ea1ee803b7d63eda8c32e22cd52669" + "reference": "ba809b9de8b628974f0a74f28062a60a6f31c5cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/discount-promotion-widget/zipball/fbe1ff4590ea1ee803b7d63eda8c32e22cd52669", - "reference": "fbe1ff4590ea1ee803b7d63eda8c32e22cd52669", + "url": "https://api.github.com/repos/spryker-shop/discount-promotion-widget/zipball/ba809b9de8b628974f0a74f28062a60a6f31c5cf", + "reference": "ba809b9de8b628974f0a74f28062a60a6f31c5cf", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", - "spryker/product-storage": "^1.1.0" + "spryker/kernel": "^3.24.0", + "spryker/product-storage": "^1.1.0", + "spryker/symfony": "^3.1.0" }, "require-dev": { "spryker-shop/cart-page": "*", - "spryker/symfony": "*" + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { - "spryker-shop/cart-page": "Widget plugins are available for this module.", - "spryker/symfony": "Use this module when using plugins that need Symfony dependencies." + "spryker-shop/cart-page": "Widget plugins are available for this module." }, "type": "library", "extra": { @@ -3229,20 +4285,20 @@ "proprietary" ], "description": "DiscountPromotionWidget module", - "time": "2018-08-02T06:30:34+00:00" + "time": "2018-10-11T17:28:11+00:00" }, { "name": "spryker-shop/discount-widget", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/discount-widget.git", - "reference": "128a539e43212c3818b995107b6014c1436392ce" + "reference": "fca94bd65ce57f661b9726d6d96de8e277cc3a67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/discount-widget/zipball/128a539e43212c3818b995107b6014c1436392ce", - "reference": "128a539e43212c3818b995107b6014c1436392ce", + "url": "https://api.github.com/repos/spryker-shop/discount-widget/zipball/fca94bd65ce57f661b9726d6d96de8e277cc3a67", + "reference": "fca94bd65ce57f661b9726d6d96de8e277cc3a67", "shasum": "" }, "require": { @@ -3253,13 +4309,15 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/application": "^3.8.0", "spryker/calculation": "^4.2.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/messenger": "^3.1.0", "spryker/quote": "^1.1.0 || ^2.0.0", "spryker/symfony": "^3.1.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -3280,20 +4338,20 @@ "proprietary" ], "description": "DiscountWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-26T08:05:49+00:00" }, { "name": "spryker-shop/error-page", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/error-page.git", - "reference": "21381845d0be89af2db402f3e702af96fa6af1d6" + "reference": "e45543f4e8d9eaa33db8ac904052ac0f8fd0acca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/error-page/zipball/21381845d0be89af2db402f3e702af96fa6af1d6", - "reference": "21381845d0be89af2db402f3e702af96fa6af1d6", + "url": "https://api.github.com/repos/spryker-shop/error-page/zipball/e45543f4e8d9eaa33db8ac904052ac0f8fd0acca", + "reference": "e45543f4e8d9eaa33db8ac904052ac0f8fd0acca", "shasum": "" }, "require": { @@ -3329,7 +4387,7 @@ "proprietary" ], "description": "ErrorPage module", - "time": "2018-10-05T13:08:43+00:00" + "time": "2018-10-24T16:36:06+00:00" }, { "name": "spryker-shop/file-manager-widget", @@ -3476,26 +4534,27 @@ }, { "name": "spryker-shop/language-switcher-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/language-switcher-widget.git", - "reference": "d1e5007116ac3251b92e4d660ab261461aaf2e8f" + "reference": "1c0f254f57bb60ccd1395448781a062bb51f6978" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/language-switcher-widget/zipball/d1e5007116ac3251b92e4d660ab261461aaf2e8f", - "reference": "d1e5007116ac3251b92e4d660ab261461aaf2e8f", + "url": "https://api.github.com/repos/spryker-shop/language-switcher-widget/zipball/1c0f254f57bb60ccd1395448781a062bb51f6978", + "reference": "1c0f254f57bb60ccd1395448781a062bb51f6978", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/url-storage": "^1.0.0" }, "require-dev": { - "spryker/symfony": "*" + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker/symfony": "3.0.0 for using LanguageSwitcherPlugin" @@ -3516,7 +4575,7 @@ "proprietary" ], "description": "LanguageSwitcherWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-12T09:04:45+00:00" }, { "name": "spryker-shop/money-widget", @@ -3569,24 +4628,28 @@ }, { "name": "spryker-shop/navigation-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/navigation-widget.git", - "reference": "26f81e174a974956ed6404bc7524b76c46340952" + "reference": "eb6e12d274923829cf9abb054f4a43d958c8b639" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/navigation-widget/zipball/26f81e174a974956ed6404bc7524b76c46340952", - "reference": "26f81e174a974956ed6404bc7524b76c46340952", + "url": "https://api.github.com/repos/spryker-shop/navigation-widget/zipball/eb6e12d274923829cf9abb054f4a43d958c8b639", + "reference": "eb6e12d274923829cf9abb054f4a43d958c8b639", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/navigation-storage": "^1.0.0" }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -3603,7 +4666,7 @@ "proprietary" ], "description": "NavigationWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/newsletter-page", @@ -3659,16 +4722,16 @@ }, { "name": "spryker-shop/newsletter-widget", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/newsletter-widget.git", - "reference": "44b52af75e46d54e78406f7f8cd9e1456b4b81ea" + "reference": "950a1434326bacbf55397c24e2d0ab73531a928d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/44b52af75e46d54e78406f7f8cd9e1456b4b81ea", - "reference": "44b52af75e46d54e78406f7f8cd9e1456b4b81ea", + "url": "https://api.github.com/repos/spryker-shop/newsletter-widget/zipball/950a1434326bacbf55397c24e2d0ab73531a928d", + "reference": "950a1434326bacbf55397c24e2d0ab73531a928d", "shasum": "" }, "require": { @@ -3676,19 +4739,67 @@ "spryker-shop/shop-application": "^1.0.0", "spryker-shop/shop-ui": "^1.0.0", "spryker/application": "^3.8.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/newsletter": "^4.3.0", "spryker/symfony": "^3.1.0" }, "require-dev": { - "spryker-shop/customer-page": "*", + "spryker-shop/customer-page": "*", + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/customer-page": "Widget plugins are available for this module.", + "spryker/silex": "Use this module when using plugins that need Silex dependencies." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "NewsletterWidget module", + "time": "2018-10-10T14:15:13+00:00" + }, + { + "name": "spryker-shop/price-product-volume-widget", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/price-product-volume-widget.git", + "reference": "da48475b885680d0b8e5daae858ef25514cd98db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/price-product-volume-widget/zipball/da48475b885680d0b8e5daae858ef25514cd98db", + "reference": "da48475b885680d0b8e5daae858ef25514cd98db", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/currency": "^3.4.0", + "spryker/kernel": "^3.24.0", + "spryker/price": "^5.3.0", + "spryker/price-product-storage": "^2.1.0", + "spryker/util-encoding": "^2.0.0" + }, + "require-dev": { + "spryker-shop/product-detail-page": "*", "spryker/code-sniffer": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { - "spryker-shop/customer-page": "Widget plugins are available for this module.", - "spryker/silex": "Use this module when using plugins that need Silex dependencies." + "spryker-shop/product-detail-page": "Widget plugins are available for this module." }, "type": "library", "extra": { @@ -3705,27 +4816,27 @@ "license": [ "proprietary" ], - "description": "NewsletterWidget module", - "time": "2018-10-02T14:26:56+00:00" + "description": "PriceProductVolumeWidget module", + "time": "2018-10-11T09:19:52+00:00" }, { "name": "spryker-shop/price-widget", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/price-widget.git", - "reference": "d751d27454e028cb8c612a7e4e0264698f48520f" + "reference": "ff92411463385eff1f90784c464240d499cf9f74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/price-widget/zipball/d751d27454e028cb8c612a7e4e0264698f48520f", - "reference": "d751d27454e028cb8c612a7e4e0264698f48520f", + "url": "https://api.github.com/repos/spryker-shop/price-widget/zipball/ff92411463385eff1f90784c464240d499cf9f74", + "reference": "ff92411463385eff1f90784c464240d499cf9f74", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/price": "^5.3.0", "spryker/quote": "^1.1.0 || ^2.0.0", "spryker/symfony": "^3.1.0" @@ -3758,25 +4869,25 @@ "proprietary" ], "description": "PriceWidget module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-11T09:19:52+00:00" }, { "name": "spryker-shop/product-alternative-widget", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-alternative-widget.git", - "reference": "26a138ad80a243e587720309f152a5ae34cef9d0" + "reference": "c8995226128b2b8b1097e04943add34e1d162887" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-alternative-widget/zipball/26a138ad80a243e587720309f152a5ae34cef9d0", - "reference": "26a138ad80a243e587720309f152a5ae34cef9d0", + "url": "https://api.github.com/repos/spryker-shop/product-alternative-widget/zipball/c8995226128b2b8b1097e04943add34e1d162887", + "reference": "c8995226128b2b8b1097e04943add34e1d162887", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-alternative-storage": "^1.0.0" }, "require-dev": { @@ -3807,72 +4918,26 @@ "proprietary" ], "description": "ProductAlternativeWidget module", - "time": "2018-10-02T11:36:22+00:00" - }, - { - "name": "spryker-shop/product-barcode-widget", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker-shop/product-barcode-widget.git", - "reference": "b1a56903deaec56e71a196df47c450bb9a2388d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-barcode-widget/zipball/b1a56903deaec56e71a196df47c450bb9a2388d1", - "reference": "b1a56903deaec56e71a196df47c450bb9a2388d1", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", - "spryker/product-barcode": "^1.0.0" - }, - "require-dev": { - "spryker-shop/shopping-list-page": "*", - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker-shop/shopping-list-page": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "SprykerShop\\": "src/SprykerShop/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductBarcodeWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/product-bundle-widget", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-bundle-widget.git", - "reference": "3b368f4e4ec51e3cf6e4d4710e97eb830aa345a5" + "reference": "21dcf15820be9415757dc13626739d54e0f32bd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-bundle-widget/zipball/3b368f4e4ec51e3cf6e4d4710e97eb830aa345a5", - "reference": "3b368f4e4ec51e3cf6e4d4710e97eb830aa345a5", + "url": "https://api.github.com/repos/spryker-shop/product-bundle-widget/zipball/21dcf15820be9415757dc13626739d54e0f32bd1", + "reference": "21dcf15820be9415757dc13626739d54e0f32bd1", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-bundle": "^4.1.0" }, "require-dev": { @@ -3903,30 +4968,32 @@ "proprietary" ], "description": "ProductBundleWidget module", - "time": "2018-09-24T12:05:17+00:00" + "time": "2018-10-11T17:28:11+00:00" }, { "name": "spryker-shop/product-category-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-category-widget.git", - "reference": "9f41bdfe1372dc2da449d270d98805a06deb52bb" + "reference": "c36ca3fce1050c8229d8b5995bc4723a0d50f063" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-category-widget/zipball/9f41bdfe1372dc2da449d270d98805a06deb52bb", - "reference": "9f41bdfe1372dc2da449d270d98805a06deb52bb", + "url": "https://api.github.com/repos/spryker-shop/product-category-widget/zipball/c36ca3fce1050c8229d8b5995bc4723a0d50f063", + "reference": "c36ca3fce1050c8229d8b5995bc4723a0d50f063", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-category-storage": "^1.0.0" }, "require-dev": { - "spryker-shop/product-detail-page": "*" + "spryker-shop/product-detail-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/product-detail-page": "Widget plugins are available for this module." @@ -3947,20 +5014,20 @@ "proprietary" ], "description": "ProductCategoryWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/product-detail-page", - "version": "1.4.5", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "ed04c3d952fe51cee655e3fa1280eb0a899968e4" + "reference": "5ed4d293633f288f7d09af6bde53a3a05aa5340c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/ed04c3d952fe51cee655e3fa1280eb0a899968e4", - "reference": "ed04c3d952fe51cee655e3fa1280eb0a899968e4", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/5ed4d293633f288f7d09af6bde53a3a05aa5340c", + "reference": "5ed4d293633f288f7d09af6bde53a3a05aa5340c", "shasum": "" }, "require": { @@ -3968,15 +5035,25 @@ "spryker-shop/shop-application": "^1.0.0", "spryker-shop/shop-router-extension": "^1.0.0", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-storage": "^1.1.0", "spryker/storage": "^3.4.0", "spryker/symfony": "^3.1.0" }, "require-dev": { + "spryker-shop/availability-widget": "*", + "spryker-shop/cms-block-widget": "*", + "spryker-shop/product-review-widget": "*", + "spryker-shop/wishlist-widget": "*", "spryker/code-sniffer": "*", "spryker/testify": "*" }, + "suggest": { + "spryker-shop/availability-widget": "If you want to use components from module AvailabilityWidget or AvailabilityWidgetPlugin.", + "spryker-shop/cms-block-widget": "If you want to use components from module CmsBlockWidget or ProductCmsBlockWidgetPlugin.", + "spryker-shop/product-review-widget": "If you want to use ProductDetailPageReviewWidget or ProductReviewWidgetPlugin.", + "spryker-shop/wishlist-widget": "If you want to use components from module WishlistWidget or WishlistWidgetPlugin." + }, "type": "library", "extra": { "branch-alias": { @@ -3993,25 +5070,25 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-10-15T09:09:06+00:00" + "time": "2018-10-25T13:08:04+00:00" }, { "name": "spryker-shop/product-discontinued-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-discontinued-widget.git", - "reference": "e0ad110ef11203d51c0be27844e4e60342c30d47" + "reference": "c2b4be6848829e5f461099a83b0336bca687a46d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-discontinued-widget/zipball/e0ad110ef11203d51c0be27844e4e60342c30d47", - "reference": "e0ad110ef11203d51c0be27844e4e60342c30d47", + "url": "https://api.github.com/repos/spryker-shop/product-discontinued-widget/zipball/c2b4be6848829e5f461099a83b0336bca687a46d", + "reference": "c2b4be6848829e5f461099a83b0336bca687a46d", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-discontinued-storage": "^1.0.0" }, "require-dev": { @@ -4023,7 +5100,7 @@ }, "suggest": { "spryker-shop/product-detail-page": "if you want to use ProductDiscontinuedWidgetPlugin: ^1.1.0", - "spryker-shop/shopping-list-page": "if you want to use ProductDiscontinuedWidgetPlugin: ~0.4.1", + "spryker-shop/shopping-list-page": "if you want to use ProductDiscontinuedWidgetPlugin: ^0.4.1", "spryker-shop/wishlist-page": "if you want to use ProductDiscontinuedWidgetPlugin: ^1.1.0" }, "type": "library", @@ -4042,29 +5119,33 @@ "proprietary" ], "description": "ProductDiscontinuedWidget module", - "time": "2018-07-25T07:52:32+00:00" + "time": "2018-10-11T17:28:11+00:00" }, { "name": "spryker-shop/product-group-widget", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-group-widget.git", - "reference": "78c29ae0157b5d237fb57de6bdd95f1b39114fb0" + "reference": "ff6a92dab85be526936345f151bf20f53d572067" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-group-widget/zipball/78c29ae0157b5d237fb57de6bdd95f1b39114fb0", - "reference": "78c29ae0157b5d237fb57de6bdd95f1b39114fb0", + "url": "https://api.github.com/repos/spryker-shop/product-group-widget/zipball/ff6a92dab85be526936345f151bf20f53d572067", + "reference": "ff6a92dab85be526936345f151bf20f53d572067", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-group-storage": "^1.0.0", "spryker/product-storage": "^1.1.0" }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, "type": "library", "extra": { "branch-alias": { @@ -4081,20 +5162,20 @@ "proprietary" ], "description": "ProductGroupWidget module", - "time": "2018-08-02T06:30:34+00:00" + "time": "2018-10-11T17:28:11+00:00" }, { "name": "spryker-shop/product-image-widget", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-image-widget.git", - "reference": "7697d3835aed054ab0c6f1c9f240e8e7fa506c4f" + "reference": "01f353dc7004f7ab9834fead1ff7ccb8187bc51f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-image-widget/zipball/7697d3835aed054ab0c6f1c9f240e8e7fa506c4f", - "reference": "7697d3835aed054ab0c6f1c9f240e8e7fa506c4f", + "url": "https://api.github.com/repos/spryker-shop/product-image-widget/zipball/01f353dc7004f7ab9834fead1ff7ccb8187bc51f", + "reference": "01f353dc7004f7ab9834fead1ff7ccb8187bc51f", "shasum": "" }, "require": { @@ -4103,7 +5184,9 @@ "spryker/kernel": "^3.16.0" }, "require-dev": { - "spryker-shop/product-detail-page": "*" + "spryker-shop/product-detail-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/product-detail-page": "Widget plugins are available for this module." @@ -4124,31 +5207,33 @@ "proprietary" ], "description": "ProductImageWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-09T13:27:09+00:00" }, { "name": "spryker-shop/product-label-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-label-widget.git", - "reference": "ca3169e1628f810f9ce365f3d7bafec9db282c6c" + "reference": "2ac5fa0400936f07479987da487ceb0f6fec5813" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-label-widget/zipball/ca3169e1628f810f9ce365f3d7bafec9db282c6c", - "reference": "ca3169e1628f810f9ce365f3d7bafec9db282c6c", + "url": "https://api.github.com/repos/spryker-shop/product-label-widget/zipball/2ac5fa0400936f07479987da487ceb0f6fec5813", + "reference": "2ac5fa0400936f07479987da487ceb0f6fec5813", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-label-storage": "^1.0.0" }, "require-dev": { "spryker-shop/product-detail-page": "*", - "spryker-shop/product-widget": "*" + "spryker-shop/product-widget": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/product-detail-page": "Widget plugins are available for this module.", @@ -4170,7 +5255,7 @@ "proprietary" ], "description": "ProductLabelWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/product-new-page", @@ -4227,23 +5312,23 @@ }, { "name": "spryker-shop/product-option-widget", - "version": "1.1.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-option-widget.git", - "reference": "50b30567682c1a99fabf57dc8c71ace8643c5529" + "reference": "e197c48223a7333cc80f3ed5cb5695788e4146c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-option-widget/zipball/50b30567682c1a99fabf57dc8c71ace8643c5529", - "reference": "50b30567682c1a99fabf57dc8c71ace8643c5529", + "url": "https://api.github.com/repos/spryker-shop/product-option-widget/zipball/e197c48223a7333cc80f3ed5cb5695788e4146c0", + "reference": "e197c48223a7333cc80f3ed5cb5695788e4146c0", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", "spryker-shop/shopping-list-page-extension": "^1.1.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-option-storage": "^1.0.0", "spryker/symfony": "^3.0.0" }, @@ -4275,31 +5360,33 @@ "proprietary" ], "description": "ProductOptionWidget module", - "time": "2018-10-08T11:31:51+00:00" + "time": "2018-10-30T12:13:26+00:00" }, { "name": "spryker-shop/product-relation-widget", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-relation-widget.git", - "reference": "6948ceafe6b59c3b3dff91f7e5096be13a1203eb" + "reference": "a2427306b407dd40bb0bd47b32ed6201fdb9c449" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-relation-widget/zipball/6948ceafe6b59c3b3dff91f7e5096be13a1203eb", - "reference": "6948ceafe6b59c3b3dff91f7e5096be13a1203eb", + "url": "https://api.github.com/repos/spryker-shop/product-relation-widget/zipball/a2427306b407dd40bb0bd47b32ed6201fdb9c449", + "reference": "a2427306b407dd40bb0bd47b32ed6201fdb9c449", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-relation-storage": "^1.0.0" }, "require-dev": { "spryker-shop/cart-page": "*", - "spryker-shop/product-detail-page": "*" + "spryker-shop/product-detail-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { "spryker-shop/cart-page": "Widget plugins are available for this module.", @@ -4321,20 +5408,66 @@ "proprietary" ], "description": "ProductRelationWidget module", - "time": "2018-06-15T09:21:34+00:00" + "time": "2018-10-10T14:15:13+00:00" + }, + { + "name": "spryker-shop/product-replacement-for-widget", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/product-replacement-for-widget.git", + "reference": "8e6b29e8fca03fb91360f7466b11452765e9e512" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/product-replacement-for-widget/zipball/8e6b29e8fca03fb91360f7466b11452765e9e512", + "reference": "8e6b29e8fca03fb91360f7466b11452765e9e512", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.24.0", + "spryker/product-alternative-storage": "^1.0.0", + "spryker/product-storage": "^1.1.0" + }, + "require-dev": { + "spryker-shop/product-detail-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/product-detail-page": "if you want to use ProductReplacementForWidgetPlugin: ^1.1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductReplacementForWidget module", + "time": "2018-10-11T17:28:11+00:00" }, { "name": "spryker-shop/product-review-widget", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-review-widget.git", - "reference": "0d900b63e2dec6316d3cfa78f6cf5621159a13e7" + "reference": "ead0a0f60d372c4a67c4113f1e66b6f8414bfff3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-review-widget/zipball/0d900b63e2dec6316d3cfa78f6cf5621159a13e7", - "reference": "0d900b63e2dec6316d3cfa78f6cf5621159a13e7", + "url": "https://api.github.com/repos/spryker-shop/product-review-widget/zipball/ead0a0f60d372c4a67c4113f1e66b6f8414bfff3", + "reference": "ead0a0f60d372c4a67c4113f1e66b6f8414bfff3", "shasum": "" }, "require": { @@ -4343,7 +5476,7 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/application": "^3.8.0", "spryker/customer": "^7.4.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-review": "^1.1.0 || ^2.0.0", "spryker/product-review-storage": "^1.0.0", "spryker/storage": "^3.4.0", @@ -4379,20 +5512,20 @@ "proprietary" ], "description": "ProductReviewWidget module", - "time": "2018-09-18T09:51:56+00:00" + "time": "2018-10-10T14:15:13+00:00" }, { "name": "spryker-shop/product-set-detail-page", - "version": "1.1.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-detail-page.git", - "reference": "5e3675ae36202c72b24ae7fe2c74249d52a988be" + "reference": "ff1bf11a02a235f29991020d387864ab9af60825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-detail-page/zipball/5e3675ae36202c72b24ae7fe2c74249d52a988be", - "reference": "5e3675ae36202c72b24ae7fe2c74249d52a988be", + "url": "https://api.github.com/repos/spryker-shop/product-set-detail-page/zipball/ff1bf11a02a235f29991020d387864ab9af60825", + "reference": "ff1bf11a02a235f29991020d387864ab9af60825", "shasum": "" }, "require": { @@ -4400,16 +5533,18 @@ "spryker-shop/shop-application": "^1.0.0", "spryker-shop/shop-router-extension": "^1.0.0", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-set-storage": "^1.0.0", "spryker/product-storage": "^1.1.0" }, "require-dev": { + "spryker-shop/product-set-widget": "*", "spryker/code-sniffer": "*", "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { + "spryker-shop/product-set-widget": "If you want to use components from module ProductSetWidget or ProductSetWidgetPlugin.", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", @@ -4428,7 +5563,7 @@ "proprietary" ], "description": "ProductSetDetailPage module", - "time": "2018-09-10T08:35:57+00:00" + "time": "2018-10-11T17:28:11+00:00" }, { "name": "spryker-shop/product-set-list-page", @@ -4479,22 +5614,22 @@ }, { "name": "spryker-shop/product-set-widget", - "version": "1.0.3", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-widget.git", - "reference": "3a0b94149d4fff13357dc33cb963862a47183f28" + "reference": "a3b2ead1665db16855ea844d2b3e99223c13d7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/3a0b94149d4fff13357dc33cb963862a47183f28", - "reference": "3a0b94149d4fff13357dc33cb963862a47183f28", + "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/a3b2ead1665db16855ea844d2b3e99223c13d7fd", + "reference": "a3b2ead1665db16855ea844d2b3e99223c13d7fd", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0" + "spryker/kernel": "^3.24.0" }, "require-dev": { "spryker-shop/product-detail-page": "*", @@ -4524,40 +5659,134 @@ "proprietary" ], "description": "ProductSetWidget module", - "time": "2018-10-08T08:00:32+00:00" + "time": "2018-10-11T09:19:52+00:00" }, { "name": "spryker-shop/product-widget", - "version": "1.1.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-widget.git", - "reference": "6ec1abe5c40092a80705c85ac8b1ce80f8ae7050" + "reference": "4bb5a3bb6021797b854ba52a9f01b5711ed779ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-widget/zipball/6ec1abe5c40092a80705c85ac8b1ce80f8ae7050", - "reference": "6ec1abe5c40092a80705c85ac8b1ce80f8ae7050", + "url": "https://api.github.com/repos/spryker-shop/product-widget/zipball/4bb5a3bb6021797b854ba52a9f01b5711ed779ae", + "reference": "4bb5a3bb6021797b854ba52a9f01b5711ed779ae", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0" + "spryker/kernel": "^3.24.0" }, "require-dev": { "spryker-shop/catalog-page": "*", "spryker-shop/product-alternative-widget": "*", "spryker-shop/product-relation-widget": "*", "spryker-shop/product-replacement-for-widget": "*", - "spryker/cms-content-widget-product-connector": "*" + "spryker/cms-content-widget-product-connector": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker-shop/catalog-page": "Widget plugins are available for this module.", + "spryker-shop/product-alternative-widget": "if you want to use ProductWidgetPlugin: ^1.0.0", + "spryker-shop/product-relation-widget": "Widget plugins are available for this module.", + "spryker-shop/product-replacement-for-widget": "if you want to use ProductWidgetPlugin: ^1.0.0", + "spryker/cms-content-widget-product-connector": "Use this module when using plugins that need CmsContentWidgetProductConnector dependencies." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductWidget module", + "time": "2018-10-17T12:30:32+00:00" + }, + { + "name": "spryker-shop/redirect-page", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/redirect-page.git", + "reference": "aadf9e52f53a4ce21f266bd5add387fca20b2102" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/redirect-page/zipball/aadf9e52f53a4ce21f266bd5add387fca20b2102", + "reference": "aadf9e52f53a4ce21f266bd5add387fca20b2102", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker-shop/shop-application": "^1.0.0", + "spryker-shop/shop-router-extension": "^1.0.0", + "spryker/kernel": "^3.16.0", + "spryker/storage": "^3.4.0" + }, + "require-dev": { + "spryker/url-storage": "*" + }, + "suggest": { + "spryker/url-storage": "Use this module when using plugins that need UrlStorage dependencies." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "RedirectPage module", + "time": "2018-06-13T13:42:55+00:00" + }, + { + "name": "spryker-shop/sales-order-threshold-widget", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/sales-order-threshold-widget.git", + "reference": "9b5ffd8a2deb911c0cc44d67c98135be0751f182" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/sales-order-threshold-widget/zipball/9b5ffd8a2deb911c0cc44d67c98135be0751f182", + "reference": "9b5ffd8a2deb911c0cc44d67c98135be0751f182", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker-shop/shop-ui": "^1.0.0", + "spryker/kernel": "^3.24.0" + }, + "require-dev": { + "spryker-shop/cart-page": "*", + "spryker-shop/checkout-page": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" }, "suggest": { - "spryker-shop/catalog-page": "Widget plugins are available for this module.", - "spryker-shop/product-alternative-widget": "if you want to use ProductWidgetPlugin: ^1.0.0", - "spryker-shop/product-relation-widget": "Widget plugins are available for this module.", - "spryker-shop/product-replacement-for-widget": "if you want to use ProductWidgetPlugin: ^1.0.0", - "spryker/cms-content-widget-product-connector": "Use this module when using plugins that need CmsContentWidgetProductConnector dependencies." + "spryker-shop/cart-page": "Widget plugins are available for this module.", + "spryker-shop/checkout-page": "Widget plugins are available for this module." }, "type": "library", "extra": { @@ -4574,35 +5803,46 @@ "license": [ "proprietary" ], - "description": "ProductWidget module", - "time": "2018-07-25T07:49:28+00:00" + "description": "SalesOrderThresholdWidget module", + "time": "2018-10-10T14:15:13+00:00" }, { - "name": "spryker-shop/redirect-page", - "version": "1.0.0", + "name": "spryker-shop/shared-cart-page", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/spryker-shop/redirect-page.git", - "reference": "aadf9e52f53a4ce21f266bd5add387fca20b2102" + "url": "https://github.com/spryker-shop/shared-cart-page.git", + "reference": "d5a7f2c03f624d751ec38ed92194109ac609eb29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/redirect-page/zipball/aadf9e52f53a4ce21f266bd5add387fca20b2102", - "reference": "aadf9e52f53a4ce21f266bd5add387fca20b2102", + "url": "https://api.github.com/repos/spryker-shop/shared-cart-page/zipball/d5a7f2c03f624d751ec38ed92194109ac609eb29", + "reference": "d5a7f2c03f624d751ec38ed92194109ac609eb29", "shasum": "" }, "require": { "php": ">=7.1", + "spryker-shop/cart-page": "^1.0.0", "spryker-shop/shop-application": "^1.0.0", - "spryker-shop/shop-router-extension": "^1.0.0", - "spryker/kernel": "^3.16.0", - "spryker/storage": "^3.4.0" + "spryker-shop/shop-ui": "^1.0.0", + "spryker/application": "^3.0.0", + "spryker/company-user": "^1.0.0 || ^2.0.0", + "spryker/customer": "^7.0.0", + "spryker/kernel": "^3.19.0", + "spryker/multi-cart": "^1.1.0", + "spryker/shared-cart": "^1.4.0", + "spryker/symfony": "^3.1.0" }, "require-dev": { - "spryker/url-storage": "*" + "spryker-shop/multi-cart-page": "*", + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { - "spryker/url-storage": "Use this module when using plugins that need UrlStorage dependencies." + "spryker-shop/multi-cart-page": "if you want to use customer layout templates: ^1.1.0", + "spryker/permission": "If you want to use permissions plugins", + "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", "extra": { @@ -4619,37 +5859,42 @@ "license": [ "proprietary" ], - "description": "RedirectPage module", - "time": "2018-06-13T13:42:55+00:00" + "description": "SharedCartPage module", + "time": "2018-10-05T12:44:15+00:00" }, { - "name": "spryker-shop/sales-order-threshold-widget", - "version": "1.0.0", + "name": "spryker-shop/shared-cart-widget", + "version": "1.3.1", "source": { "type": "git", - "url": "https://github.com/spryker-shop/sales-order-threshold-widget.git", - "reference": "dcdcc1d036b2aee99fd8d40e214a5dad0d15722b" + "url": "https://github.com/spryker-shop/shared-cart-widget.git", + "reference": "074d7e7245fa7b86f11fd376c1ed24a41eebce18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/sales-order-threshold-widget/zipball/dcdcc1d036b2aee99fd8d40e214a5dad0d15722b", - "reference": "dcdcc1d036b2aee99fd8d40e214a5dad0d15722b", + "url": "https://api.github.com/repos/spryker-shop/shared-cart-widget/zipball/074d7e7245fa7b86f11fd376c1ed24a41eebce18", + "reference": "074d7e7245fa7b86f11fd376c1ed24a41eebce18", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.19.0" + "spryker/customer": "^7.0.0", + "spryker/kernel": "^3.24.0", + "spryker/multi-cart": "^1.3.0", + "spryker/shared-cart": "^1.2.0" }, "require-dev": { - "spryker-shop/cart-page": "*", - "spryker-shop/checkout-page": "*", + "spryker-shop/multi-cart-page": "*", + "spryker-shop/multi-cart-widget": "*", "spryker/code-sniffer": "*", "spryker/testify": "*" }, "suggest": { - "spryker-shop/cart-page": "Widget plugins are available for this module.", - "spryker-shop/checkout-page": "Widget plugins are available for this module." + "spryker-shop/multi-cart-page": "If you want to use CartDeleteCompanyUsersListWidgetPlugin and CartListPermissionGroupWidgetPlugin: ^1.0.0", + "spryker-shop/multi-cart-widget": "Widget plugins are available for this module.", + "spryker/permission": "If you want to use permissions plugins", + "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", "extra": { @@ -4666,8 +5911,8 @@ "license": [ "proprietary" ], - "description": "SalesOrderThresholdWidget module", - "time": "2018-10-04T13:36:22+00:00" + "description": "SharedCartWidget module", + "time": "2018-10-22T12:04:36+00:00" }, { "name": "spryker-shop/shop-application", @@ -4766,6 +6011,55 @@ "description": "ShopApplicationExtension module", "time": "2018-06-14T14:39:12+00:00" }, + { + "name": "spryker-shop/shop-permission", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker-shop/shop-permission.git", + "reference": "77359d3a2fa0b678cabe015dd24dae898869cab6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-shop/shop-permission/zipball/77359d3a2fa0b678cabe015dd24dae898869cab6", + "reference": "77359d3a2fa0b678cabe015dd24dae898869cab6", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/permission": "^1.0.0" + }, + "require-dev": { + "spryker-shop/shop-application": "*", + "spryker/code-sniffer": "*", + "spryker/silex": "^2.0.0", + "spryker/testify": "*", + "spryker/twig": "^3.0.0" + }, + "suggest": { + "spryker-shop/shop-application": ">1.0.0 If you want to use the permission plugin for Twig", + "spryker/silex": ">2.0.0 If you want to use the permission plugin for Twig", + "spryker/twig": ">3.0.0 If you want to use the permission plugin for Twig" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "SprykerShop\\": "src/SprykerShop/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ShopPermission module", + "time": "2018-10-16T04:29:35+00:00" + }, { "name": "spryker-shop/shop-router", "version": "1.0.1", @@ -4897,21 +6191,21 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.6.2", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "481b4be213038c331ce74f59a98c3f7cbd0df825" + "reference": "f74e573a578d13c6cb0f12b27da5cff81f67380a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/481b4be213038c331ce74f59a98c3f7cbd0df825", - "reference": "481b4be213038c331ce74f59a98c3f7cbd0df825", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/f74e573a578d13c6cb0f12b27da5cff81f67380a", + "reference": "f74e573a578d13c6cb0f12b27da5cff81f67380a", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/twig": "^3.3.1" }, "require-dev": { @@ -4938,45 +6232,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-10-12T09:45:50+00:00" - }, - { - "name": "spryker-shop/shop-ui-extension", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker-shop/shop-ui-extension.git", - "reference": "260c65808aa471e11ad1010588dd3fd05adf97fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui-extension/zipball/260c65808aa471e11ad1010588dd3fd05adf97fb", - "reference": "260c65808aa471e11ad1010588dd3fd05adf97fb", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "spryker/symfony": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "SprykerShop\\": "src/SprykerShop/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ShopUiExtension module", - "time": "2018-05-25T12:28:17+00:00" + "time": "2018-10-26T13:21:54+00:00" }, { "name": "spryker-shop/shopping-list-page-extension", @@ -5066,16 +6322,16 @@ }, { "name": "spryker-shop/wishlist-page", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/wishlist-page.git", - "reference": "2ff618d7718e0b9f09207a465fa096dfdd562b70" + "reference": "0ab200120888c6c2b5c6fc453f68340caaae237f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/2ff618d7718e0b9f09207a465fa096dfdd562b70", - "reference": "2ff618d7718e0b9f09207a465fa096dfdd562b70", + "url": "https://api.github.com/repos/spryker-shop/wishlist-page/zipball/0ab200120888c6c2b5c6fc453f68340caaae237f", + "reference": "0ab200120888c6c2b5c6fc453f68340caaae237f", "shasum": "" }, "require": { @@ -5085,17 +6341,19 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/application": "^3.8.0", "spryker/customer": "^7.4.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/product-storage": "^1.1.0", "spryker/symfony": "^3.1.0", "spryker/wishlist": "^5.1.0 || ^6.0.0" }, "require-dev": { + "spryker-shop/product-discontinued-widget": "*", "spryker/code-sniffer": "*", "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { + "spryker-shop/product-discontinued-widget": "If you want to use ProductDiscontinuedWidget or ProductDiscontinuedWidgetPlugin.", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", @@ -5114,26 +6372,26 @@ "proprietary" ], "description": "WishlistPage module", - "time": "2018-10-08T13:43:38+00:00" + "time": "2018-10-15T09:19:02+00:00" }, { "name": "spryker-shop/wishlist-widget", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/wishlist-widget.git", - "reference": "39dacd30d822571f1a4ed1a6bb892c9e9ef85c5e" + "reference": "58180f195ce28f7bb17395c66909b92448effd09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/wishlist-widget/zipball/39dacd30d822571f1a4ed1a6bb892c9e9ef85c5e", - "reference": "39dacd30d822571f1a4ed1a6bb892c9e9ef85c5e", + "url": "https://api.github.com/repos/spryker-shop/wishlist-widget/zipball/58180f195ce28f7bb17395c66909b92448effd09", + "reference": "58180f195ce28f7bb17395c66909b92448effd09", "shasum": "" }, "require": { "php": ">=7.1", "spryker-shop/shop-ui": "^1.0.0", - "spryker/kernel": "^3.16.0", + "spryker/kernel": "^3.24.0", "spryker/wishlist": "^4.0.0 || ^5.0.0 || ^6.0.0" }, "require-dev": { @@ -5162,7 +6420,7 @@ "proprietary" ], "description": "WishlistWidget module", - "time": "2018-09-04T14:35:04+00:00" + "time": "2018-10-11T09:19:52+00:00" }, { "name": "spryker/acl", @@ -5311,19 +6569,20 @@ }, { "name": "spryker/api", - "version": "0.1.3", + "version": "0.1.4", "source": { "type": "git", - "url": "https://github.com/spryker/Api.git", - "reference": "9c627c4607bc4a950a8e66797251857990c6f44a" + "url": "https://github.com/spryker/api.git", + "reference": "416c470f38a75b0689a470c8584f5b9ddf57da4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/Api/zipball/9c627c4607bc4a950a8e66797251857990c6f44a", - "reference": "9c627c4607bc4a950a8e66797251857990c6f44a", + "url": "https://api.github.com/repos/spryker/api/zipball/416c470f38a75b0689a470c8584f5b9ddf57da4c", + "reference": "416c470f38a75b0689a470c8584f5b9ddf57da4c", "shasum": "" }, "require": { + "php": ">=7.1", "spryker/application": "^3.0.0", "spryker/config": "^3.0.0", "spryker/kernel": "^3.0.0", @@ -5335,7 +6594,6 @@ "require-dev": { "spryker/code-sniffer": "*", "spryker/log": "*", - "spryker/propel": "*", "spryker/testify": "*" }, "suggest": { @@ -5352,20 +6610,12 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Api module", - "support": { - "source": "https://github.com/spryker/Api/tree/master" - }, - "time": "2017-11-20T13:06:10+00:00" + "time": "2018-10-09T09:33:20+00:00" }, { "name": "spryker/api-query-builder", @@ -5506,19 +6756,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Assertion bundle", - "support": { - "source": "https://github.com/spryker/Assertion/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -5814,49 +7056,6 @@ "description": "AvailabilityGui module", "time": "2018-02-28T16:40:28+00:00" }, - { - "name": "spryker/availability-offer-connector", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/availability-offer-connector.git", - "reference": "ac7a33e86e4f2a3695ed580876741ad1e1138928" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/availability-offer-connector/zipball/ac7a33e86e4f2a3695ed580876741ad1e1138928", - "reference": "ac7a33e86e4f2a3695ed580876741ad1e1138928", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/availability": "^6.0.0", - "spryker/kernel": "^3.0.0", - "spryker/offer-extension": "^1.0.0", - "spryker/store": "^1.5.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "AvailabilityOfferConnector module", - "time": "2018-04-20T09:46:04+00:00" - }, { "name": "spryker/availability-storage", "version": "1.1.0", @@ -6022,14 +7221,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Cache bundle", - "support": { - "source": "https://github.com/spryker/Cache/tree/3.1.0" - }, "time": "2017-04-10T13:13:21+00:00" }, { @@ -6384,6 +7580,50 @@ "description": "CartNoteProductBundleConnector module", "time": "2018-04-10T14:40:01+00:00" }, + { + "name": "spryker/cart-permission-connector", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/cart-permission-connector.git", + "reference": "043703098dafa3916f081374421177a7b5490c16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/cart-permission-connector/zipball/043703098dafa3916f081374421177a7b5490c16", + "reference": "043703098dafa3916f081374421177a7b5490c16", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/cart-extension": "^1.0.0 || ^2.0.0", + "spryker/kernel": "^3.19.0", + "spryker/messenger": "^3.1.0", + "spryker/permission": "^1.0.0", + "spryker/permission-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CartPermissionConnector module", + "time": "2018-07-30T12:46:42+00:00" + }, { "name": "spryker/cart-variant", "version": "1.0.4", @@ -6510,53 +7750,7 @@ "spryker/catalog": "If you want to use Catalog plugins, minimum required version: 5.2.0.", "spryker/config": "If you want to use Config plugins.", "spryker/elastica": "If you want to use Elastica plugins.", - "spryker/search": "If you want to use Search plugins." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "CatalogPriceProductConnector module", - "time": "2018-07-04T14:05:29+00:00" - }, - { - "name": "spryker/catalog-search-rest-api", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/catalog-search-rest-api.git", - "reference": "25a55744b7e85e5f6de74e7e8f0b2e71bc058bca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/catalog-search-rest-api/zipball/25a55744b7e85e5f6de74e7e8f0b2e71bc058bca", - "reference": "25a55744b7e85e5f6de74e7e8f0b2e71bc058bca", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/catalog": "^5.2.0", - "spryker/glue-application": "^1.0.0", - "spryker/glue-application-extension": "^1.0.0", - "spryker/kernel": "^3.22.0", - "spryker/price": "^5.0.0", - "spryker/symfony": "^3.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/testify": "*" + "spryker/search": "If you want to use Search plugins." }, "type": "library", "extra": { @@ -6573,8 +7767,8 @@ "license": [ "proprietary" ], - "description": "CatalogSearchRestApi module", - "time": "2018-10-09T07:01:49+00:00" + "description": "CatalogPriceProductConnector module", + "time": "2018-07-04T14:05:29+00:00" }, { "name": "spryker/category", @@ -6756,14 +7950,11 @@ "Spryker": "src/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "CategoryExporter module", - "support": { - "source": "https://github.com/spryker/CategoryExporter/tree/3.0.2" - }, "time": "2017-07-13T15:46:45+00:00" }, { @@ -6860,16 +8051,16 @@ }, { "name": "spryker/category-storage", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker/category-storage.git", - "reference": "ea0ab6784104eef498299df9bc172ae067d11496" + "reference": "0ecbc1925265d74c15d9d173a0b995ebb6215b78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/category-storage/zipball/ea0ab6784104eef498299df9bc172ae067d11496", - "reference": "ea0ab6784104eef498299df9bc172ae067d11496", + "url": "https://api.github.com/repos/spryker/category-storage/zipball/0ecbc1925265d74c15d9d173a0b995ebb6215b78", + "reference": "0ecbc1925265d74c15d9d173a0b995ebb6215b78", "shasum": "" }, "require": { @@ -6914,7 +8105,7 @@ "proprietary" ], "description": "CategoryStorage module", - "time": "2018-09-06T10:40:21+00:00" + "time": "2018-10-19T14:07:04+00:00" }, { "name": "spryker/chart", @@ -7117,16 +8308,16 @@ }, { "name": "spryker/cms-block", - "version": "2.1.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/spryker/cms-block.git", - "reference": "0176d28bf4a35c6f26ced1840232b67abb709412" + "reference": "1550cc3023619f7136e8e1155bfb1016cfa6382e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-block/zipball/0176d28bf4a35c6f26ced1840232b67abb709412", - "reference": "0176d28bf4a35c6f26ced1840232b67abb709412", + "url": "https://api.github.com/repos/spryker/cms-block/zipball/1550cc3023619f7136e8e1155bfb1016cfa6382e", + "reference": "1550cc3023619f7136e8e1155bfb1016cfa6382e", "shasum": "" }, "require": { @@ -7170,7 +8361,7 @@ "proprietary" ], "description": "CmsBlock module", - "time": "2018-10-12T07:26:44+00:00" + "time": "2018-10-25T05:34:19+00:00" }, { "name": "spryker/cms-block-category-connector", @@ -7733,6 +8924,55 @@ "description": "CmsContentWidgetProductGroupConnector module", "time": "2017-07-11T09:55:44+00:00" }, + { + "name": "spryker/cms-content-widget-product-search-connector", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/cms-content-widget-product-search-connector.git", + "reference": "0eff1c1d838b7a945007eb73c70d3e48a5de16b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/cms-content-widget-product-search-connector/zipball/0eff1c1d838b7a945007eb73c70d3e48a5de16b3", + "reference": "0eff1c1d838b7a945007eb73c70d3e48a5de16b3", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/cms-content-widget": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/search": "^7.2.0 || ^8.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/silex": "*", + "spryker/testify": "*", + "spryker/twig": "*" + }, + "suggest": { + "spryker/twig": "Required by Yves Twig function." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CmsContentWidgetProductSearchConnector module", + "time": "2018-03-09T07:57:08+00:00" + }, { "name": "spryker/cms-content-widget-product-set-connector", "version": "1.0.3", @@ -7984,29 +9224,26 @@ "time": "2018-07-17T18:22:31+00:00" }, { - "name": "spryker/cms-user-connector", - "version": "1.0.1", + "name": "spryker/code-generator", + "version": "0.3.7", "source": { "type": "git", - "url": "https://github.com/spryker/CmsUserConnector.git", - "reference": "5d124aa6ddb7d492b5a9d1dc97e72f944c5c63f5" + "url": "https://github.com/spryker/code-generator.git", + "reference": "c2638cde2e7886c876a9d6752875f5e2ced1a86d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/CmsUserConnector/zipball/5d124aa6ddb7d492b5a9d1dc97e72f944c5c63f5", - "reference": "5d124aa6ddb7d492b5a9d1dc97e72f944c5c63f5", + "url": "https://api.github.com/repos/spryker/code-generator/zipball/c2638cde2e7886c876a9d6752875f5e2ced1a86d", + "reference": "c2638cde2e7886c876a9d6752875f5e2ced1a86d", "shasum": "" }, "require": { - "spryker/cms": "^5.0.0 || ^6.0.0", + "php": ">=7.1", "spryker/kernel": "^3.0.0", - "spryker/user": "^3.0.1" + "zendframework/zend-filter": "^2.8.0" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/propelorm": "^1.0.0", - "spryker/silex": "*", "spryker/testify": "*" }, "type": "library", @@ -8016,51 +9253,100 @@ } }, "autoload": { - "psr-0": { - "Spryker": "src/" + "psr-4": { + "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/" + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "CodeGenerator module", + "time": "2018-09-04T09:50:22+00:00" + }, + { + "name": "spryker/collector", + "version": "6.1.7", + "source": { + "type": "git", + "url": "https://github.com/spryker/collector.git", + "reference": "6ef79f1d9842271e2aa9f9f9c397a0552947de6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/collector/zipball/6ef79f1d9842271e2aa9f9f9c397a0552947de6e", + "reference": "6ef79f1d9842271e2aa9f9f9c397a0552947de6e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/config": "^3.0.0", + "spryker/elastica": "^2.0.0 || ^3.0.0 || ^4.0.0", + "spryker/gui": "^3.0.0", + "spryker/kernel": "^3.0.0", + "spryker/key-builder": "^1.0.0", + "spryker/locale": "^3.0.0", + "spryker/propel": "^3.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/redis": "^2.0.0", + "spryker/search": "^6.6.0 || ^7.0.0 || ^8.0.0", + "spryker/sql-criteria-builder": "^1.0.0", + "spryker/storage": "^3.2.0", + "spryker/store": "^1.1.0", + "spryker/symfony": "^3.0.0", + "spryker/touch": "^4.0.0", + "spryker/util-data-reader": "^1.2.0" + }, + "require-dev": { + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Shared\\Collector\\Helper\\": "tests/SprykerTest/Shared/Collector/_support/Helper/" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "CmsUserConnector bundle", - "support": { - "source": "https://github.com/spryker/CmsUserConnector/tree/1.0.1" - }, - "time": "2017-06-29T10:18:58+00:00" + "description": "Collector module", + "time": "2018-10-08T12:38:04+00:00" }, { - "name": "spryker/code-it-now", - "version": "1.0.0", + "name": "spryker/company", + "version": "1.1.3", "source": { "type": "git", - "url": "https://github.com/spryker/code-it-now.git", - "reference": "9b29d0e4d357d5252bee01d1fb06572812bac924" + "url": "https://github.com/spryker/company.git", + "reference": "ddb396a094f8784ca5a87583d6e01d6628e5d3c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/code-it-now/zipball/9b29d0e4d357d5252bee01d1fb06572812bac924", - "reference": "9b29d0e4d357d5252bee01d1fb06572812bac924", + "url": "https://api.github.com/repos/spryker/company/zipball/ddb396a094f8784ca5a87583d6e01d6628e5d3c0", + "reference": "ddb396a094f8784ca5a87583d6e01d6628e5d3c0", "shasum": "" }, "require": { - "codeitnowin/barcode": "^3.0.0", "php": ">=7.1", - "spryker/barcode-extension": "^1.0.0" + "spryker/company-extension": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/store": "^1.0.0", + "spryker/zed-request": "^3.0.0" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/kernel": "^3.1.0", + "spryker/mail": "*", "spryker/testify": "*" }, "suggest": { - "spryker/kernel": "for testing" + "spryker/mail": "If you want to use mail plugins." }, "type": "library", "extra": { @@ -8070,95 +9356,89 @@ }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/" + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\Company\\Helper\\": "tests/SprykerTest/Zed/Company/_support/Helper/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "CodeItNow module", - "time": "2018-05-16T13:57:10+00:00" + "description": "Company module", + "time": "2018-06-14T09:24:59+00:00" }, { - "name": "spryker/collector", - "version": "6.1.7", + "name": "spryker/company-extension", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/collector.git", - "reference": "6ef79f1d9842271e2aa9f9f9c397a0552947de6e" + "url": "https://github.com/spryker/company-extension.git", + "reference": "1be7153b1c666ca4858a83c775b761c9bddcb99f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/collector/zipball/6ef79f1d9842271e2aa9f9f9c397a0552947de6e", - "reference": "6ef79f1d9842271e2aa9f9f9c397a0552947de6e", + "url": "https://api.github.com/repos/spryker/company-extension/zipball/1be7153b1c666ca4858a83c775b761c9bddcb99f", + "reference": "1be7153b1c666ca4858a83c775b761c9bddcb99f", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/config": "^3.0.0", - "spryker/elastica": "^2.0.0 || ^3.0.0 || ^4.0.0", - "spryker/gui": "^3.0.0", - "spryker/kernel": "^3.0.0", - "spryker/key-builder": "^1.0.0", - "spryker/locale": "^3.0.0", - "spryker/propel": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/redis": "^2.0.0", - "spryker/search": "^6.6.0 || ^7.0.0 || ^8.0.0", - "spryker/sql-criteria-builder": "^1.0.0", - "spryker/storage": "^3.2.0", - "spryker/store": "^1.1.0", - "spryker/symfony": "^3.0.0", - "spryker/touch": "^4.0.0", - "spryker/util-data-reader": "^1.2.0" + "php": ">=7.1" }, "require-dev": { + "spryker/code-sniffer": "*", "spryker/testify": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Shared\\Collector\\Helper\\": "tests/SprykerTest/Shared/Collector/_support/Helper/" + "Spryker\\": "src/Spryker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "Collector module", - "time": "2018-10-08T12:38:04+00:00" + "description": "CompanyExtension module", + "time": "2018-03-13T18:47:20+00:00" }, { - "name": "spryker/collector-search-connector", - "version": "1.0.3", + "name": "spryker/company-user", + "version": "2.1.1", "source": { "type": "git", - "url": "https://github.com/spryker/collector-search-connector.git", - "reference": "bafb41b0f409c9d6df02088c26d610a0b794e75b" + "url": "https://github.com/spryker/company-user.git", + "reference": "cf0d2e34da4b8dc42fcdc3f4b60ba842a1c4c82e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/collector-search-connector/zipball/bafb41b0f409c9d6df02088c26d610a0b794e75b", - "reference": "bafb41b0f409c9d6df02088c26d610a0b794e75b", + "url": "https://api.github.com/repos/spryker/company-user/zipball/cf0d2e34da4b8dc42fcdc3f4b60ba842a1c4c82e", + "reference": "cf0d2e34da4b8dc42fcdc3f4b60ba842a1c4c82e", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/collector": "^5.0.0 || ^6.0.0", + "spryker/company": "^1.0.0", + "spryker/company-extension": "^1.0.0", + "spryker/company-user-extension": "^1.0.0", + "spryker/customer": "^7.0.0", "spryker/kernel": "^3.0.0", - "spryker/search": "^6.0.0 || ^7.0.0 || ^8.0.0" + "spryker/permission-extension": "^1.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/zed-request": "^3.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, + "suggest": { + "spryker/permission": "Permission ^1.0.0 to have possibility use user permissions." + }, "type": "library", "extra": { "branch-alias": { @@ -8167,35 +9447,33 @@ }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/" + "Spryker\\": "src/Spryker/", + "SprykerTest\\Shared\\CompanyUser\\Helper\\": "tests/SprykerTest/Shared/CompanyUser/_support/Helper/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "CollectorSearchConnector module", - "time": "2018-03-09T07:57:08+00:00" + "description": "CompanyUser module", + "time": "2018-10-09T11:51:48+00:00" }, { - "name": "spryker/collector-storage-connector", - "version": "1.0.3", + "name": "spryker/company-user-extension", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/collector-storage-connector.git", - "reference": "09cc4cad4e273a95b6ba3aee2171e1cbdfec509c" + "url": "https://github.com/spryker/company-user-extension.git", + "reference": "2435153d9838356fd7f14c6cc444b5b0c6b7569d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/collector-storage-connector/zipball/09cc4cad4e273a95b6ba3aee2171e1cbdfec509c", - "reference": "09cc4cad4e273a95b6ba3aee2171e1cbdfec509c", + "url": "https://api.github.com/repos/spryker/company-user-extension/zipball/2435153d9838356fd7f14c6cc444b5b0c6b7569d", + "reference": "2435153d9838356fd7f14c6cc444b5b0c6b7569d", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/collector": "^5.0.0 || ^6.0.0", - "spryker/kernel": "^3.0.0", - "spryker/storage": "^3.0.0" + "php": ">=7.1" }, "require-dev": { "spryker/code-sniffer": "*", @@ -8216,8 +9494,8 @@ "license": [ "proprietary" ], - "description": "CollectorStorageConnector module", - "time": "2018-01-24T11:43:27+00:00" + "description": "CompanyUserExtension module", + "time": "2018-03-14T10:13:27+00:00" }, { "name": "spryker/config", @@ -8367,53 +9645,18 @@ "description": "Country module", "time": "2018-09-03T08:58:06+00:00" }, - { - "name": "spryker/csv", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/csv.git", - "reference": "d91fcc6cdcb3b727e17f0ce85e67610db6e57351" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/csv/zipball/d91fcc6cdcb3b727e17f0ce85e67610db6e57351", - "reference": "d91fcc6cdcb3b727e17f0ce85e67610db6e57351", - "shasum": "" - }, - "require": { - "league/csv": "^9.1", - "php": ">=7.1" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "Csv module", - "time": "2018-06-20T12:42:41+00:00" - }, { "name": "spryker/currency", - "version": "3.5.0", + "version": "3.5.1", "source": { "type": "git", "url": "https://github.com/spryker/currency.git", - "reference": "da03ac22e35083c32330eb287df56fc20df93fcd" + "reference": "5e6ad2ac7c65b7d81be0358972c6c33d481be5a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/currency/zipball/da03ac22e35083c32330eb287df56fc20df93fcd", - "reference": "da03ac22e35083c32330eb287df56fc20df93fcd", + "url": "https://api.github.com/repos/spryker/currency/zipball/5e6ad2ac7c65b7d81be0358972c6c33d481be5a5", + "reference": "5e6ad2ac7c65b7d81be0358972c6c33d481be5a5", "shasum": "" }, "require": { @@ -8429,17 +9672,16 @@ "spryker/zed-request": "^3.2.0" }, "require-dev": { + "spryker/application": "*", "spryker/code-sniffer": "*", "spryker/propel": "*", "spryker/silex": "*", "spryker/testify": "*", - "spryker/transfer": "*", "spryker/twig": "*" }, "suggest": { "spryker/silex": "If you want to use ServiceProvider.", - "spryker/twig": "If you want to use currency in Twig.", - "spryker/zed-request": "If you want to use Zed request meta data provider plugin which adds currency to each request." + "spryker/twig": "If you want to use currency in Twig." }, "type": "library", "extra": { @@ -8458,7 +9700,7 @@ "proprietary" ], "description": "Currency module", - "time": "2018-08-02T11:13:35+00:00" + "time": "2018-10-18T09:45:41+00:00" }, { "name": "spryker/currency-extension", @@ -8501,22 +9743,22 @@ }, { "name": "spryker/customer", - "version": "7.11.1", + "version": "7.13.0", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "e8f5d0cba28a0fe9f1c47ef9c1dfbf93d4a9c2cb" + "reference": "d0814cbe0a24dd599de793d52a281b02d50170ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/e8f5d0cba28a0fe9f1c47ef9c1dfbf93d4a9c2cb", - "reference": "e8f5d0cba28a0fe9f1c47ef9c1dfbf93d4a9c2cb", + "url": "https://api.github.com/repos/spryker/customer/zipball/d0814cbe0a24dd599de793d52a281b02d50170ad", + "reference": "d0814cbe0a24dd599de793d52a281b02d50170ad", "shasum": "" }, "require": { "php": ">=7.1", "spryker/country": "^3.0.0", - "spryker/customer-extension": "^1.0.0", + "spryker/customer-extension": "^1.1.0", "spryker/gui": "^3.0.0", "spryker/kernel": "^3.0.0", "spryker/locale": "^3.0.0", @@ -8560,7 +9802,7 @@ "proprietary" ], "description": "Customer module", - "time": "2018-10-16T11:16:32+00:00" + "time": "2018-10-24T17:04:21+00:00" }, { "name": "spryker/customer-access", @@ -8726,14 +9968,61 @@ "spryker/util-date-time": "^1.0.0" }, "require-dev": { - "spryker/application": "*", - "spryker/assertion": "*", + "spryker/application": "*", + "spryker/assertion": "*", + "spryker/code-sniffer": "*", + "spryker/config": "*", + "spryker/propel": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerApi module", + "time": "2017-11-10T15:08:30+00:00" + }, + { + "name": "spryker/customer-catalog", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-catalog.git", + "reference": "f7c4ac835797956303e00c4b9ae2d1aee3783a21" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-catalog/zipball/f7c4ac835797956303e00c4b9ae2d1aee3783a21", + "reference": "f7c4ac835797956303e00c4b9ae2d1aee3783a21", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/customer": "^7.0.0", + "spryker/kernel": "^3.0.0" + }, + "require-dev": { "spryker/code-sniffer": "*", - "spryker/config": "*", - "spryker/propel": "*", - "spryker/silex": "*", + "spryker/elastica": "*", + "spryker/search": "*", "spryker/testify": "*" }, + "suggest": { + "spryker/elastica": "If you want to use Elastica plugins.", + "spryker/search": "If you want to use Search plugins, minimum required version: 7.0.0" + }, "type": "library", "extra": { "branch-alias": { @@ -8745,33 +10034,25 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], - "description": "CustomerApi module", - "support": { - "source": "https://github.com/spryker/CustomerApi/tree/master" - }, - "time": "2017-11-10T15:08:30+00:00" + "description": "CustomerCatalog module", + "time": "2018-08-06T14:30:50+00:00" }, { "name": "spryker/customer-extension", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/customer-extension.git", - "reference": "f46d1bc7bcbb45d701febf7aff5666e8fd691bf2" + "reference": "8d180af73d93e0a5d8d235e2ed9dc23f96915eca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-extension/zipball/f46d1bc7bcbb45d701febf7aff5666e8fd691bf2", - "reference": "f46d1bc7bcbb45d701febf7aff5666e8fd691bf2", + "url": "https://api.github.com/repos/spryker/customer-extension/zipball/8d180af73d93e0a5d8d235e2ed9dc23f96915eca", + "reference": "8d180af73d93e0a5d8d235e2ed9dc23f96915eca", "shasum": "" }, "require": { @@ -8797,7 +10078,7 @@ "proprietary" ], "description": "CustomerExtension module", - "time": "2018-04-23T07:12:03+00:00" + "time": "2018-10-11T10:29:34+00:00" }, { "name": "spryker/customer-group", @@ -8988,48 +10269,6 @@ "description": "CustomerNoteGui module", "time": "2018-03-13T09:31:03+00:00" }, - { - "name": "spryker/customer-offer-connector", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/customer-offer-connector.git", - "reference": "3bc324f7ac5194c855ab6be67f61fb4c372fbcaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-offer-connector/zipball/3bc324f7ac5194c855ab6be67f61fb4c372fbcaf", - "reference": "3bc324f7ac5194c855ab6be67f61fb4c372fbcaf", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/customer": "^7.8.0", - "spryker/kernel": "^3.0.0", - "spryker/offer-extension": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "CustomerOfferConnector module", - "time": "2018-04-20T09:46:04+00:00" - }, { "name": "spryker/customer-user-connector", "version": "1.0.2", @@ -9164,16 +10403,16 @@ }, { "name": "spryker/data-import", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/spryker/data-import.git", - "reference": "68df262489d54450b81372b41f1e9905971be77f" + "reference": "4c680225842b637ddab67c2fcd07cd495091d825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/data-import/zipball/68df262489d54450b81372b41f1e9905971be77f", - "reference": "68df262489d54450b81372b41f1e9905971be77f", + "url": "https://api.github.com/repos/spryker/data-import/zipball/4c680225842b637ddab67c2fcd07cd495091d825", + "reference": "4c680225842b637ddab67c2fcd07cd495091d825", "shasum": "" }, "require": { @@ -9213,7 +10452,7 @@ "proprietary" ], "description": "DataImport module", - "time": "2018-10-02T06:35:14+00:00" + "time": "2018-10-24T13:22:31+00:00" }, { "name": "spryker/data-import-extension", @@ -9258,18 +10497,68 @@ "description": "DataImportExtension module", "time": "2018-10-01T14:28:44+00:00" }, + { + "name": "spryker/development", + "version": "3.13.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/development.git", + "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/development/zipball/32f755de7a020b60c9b386ca83416cfad9a5b79d", + "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/config": "^3.0.0", + "spryker/graph": "^3.0.0", + "spryker/kernel": "^3.22.0", + "spryker/symfony": "^3.0.0", + "spryker/twig": "^3.0.0", + "spryker/zend": "^2.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\Development\\Helper\\": "tests/SprykerTest/Zed/Development/_support/Helper/" + }, + "files": [ + "tests/dd.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Development module", + "time": "2018-10-10T07:16:49+00:00" + }, { "name": "spryker/discount", - "version": "6.3.6", + "version": "6.3.8", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b" + "reference": "9ef5f6cc2340ef43b8318a5e5f9fd54b4cfc769d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b", - "reference": "0f67c7ad9d06a741e68f7bdd4006b5c247e8df4b", + "url": "https://api.github.com/repos/spryker/discount/zipball/9ef5f6cc2340ef43b8318a5e5f9fd54b4cfc769d", + "reference": "9ef5f6cc2340ef43b8318a5e5f9fd54b4cfc769d", "shasum": "" }, "require": { @@ -9318,7 +10607,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-10-11T14:47:35+00:00" + "time": "2018-10-23T17:56:06+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -9542,14 +10831,11 @@ "dev-master": "1.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Egulias module", - "support": { - "source": "https://github.com/spryker/Egulias/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -10052,51 +11338,6 @@ "description": "Flysystem module", "time": "2018-10-08T08:29:08+00:00" }, - { - "name": "spryker/flysystem-aws3v3-file-system", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/spryker/flysystem-aws3v3-file-system.git", - "reference": "b818d07dbae84d07a3f5ac41a1aa65b743b59ab3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/flysystem-aws3v3-file-system/zipball/b818d07dbae84d07a3f5ac41a1aa65b743b59ab3", - "reference": "b818d07dbae84d07a3f5ac41a1aa65b743b59ab3", - "shasum": "" - }, - "require": { - "league/flysystem-aws-s3-v3": "^1.0", - "php": ">=7.1", - "spryker/kernel": "^3.5.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/flysystem": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/flysystem": "Flysystem module" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "FlysystemAws3v3FileSystem module", - "time": "2018-02-15T17:59:36+00:00" - }, { "name": "spryker/flysystem-ftp-file-system", "version": "1.0.1", @@ -10372,132 +11613,22 @@ "spryker/touch": "^3.0.0 || ^4.0.0", "spryker/util-text": "^1.1.0" }, - "require-dev": { - "spryker/application": "*", - "spryker/installer": "*", - "spryker/propel": "*", - "spryker/testify": "*", - "spryker/twig": "*", - "spryker/zed-navigation": "*" - }, - "suggest": { - "spryker/installer": "If you want to use Installer plugins.", - "spryker/twig": "If you want to use Twig with Gui." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "Glossary module", - "time": "2018-09-24T00:29:06+00:00" - }, - { - "name": "spryker/glossary-storage", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/spryker/glossary-storage.git", - "reference": "8969ab992443382c82be13608707e859543fdcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/glossary-storage/zipball/8969ab992443382c82be13608707e859543fdcd7", - "reference": "8969ab992443382c82be13608707e859543fdcd7", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/event-behavior": "^1.1.0", - "spryker/glossary": "^3.3.0", - "spryker/kernel": "^3.21.0", - "spryker/propel-orm": "^1.5.0", - "spryker/storage": "^3.4.0", - "spryker/synchronization": "^0.2.0 || ^1.0.0", - "spryker/synchronization-extension": "^1.0.0", - "spryker/util-sanitize": "^2.1.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/config": "*", - "spryker/event": "*", - "spryker/propel": "*", - "spryker/propel-query-builder": "*", - "spryker/queue": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "GlossaryStorage module", - "time": "2018-09-25T12:41:25+00:00" - }, - { - "name": "spryker/glue-application", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/glue-application.git", - "reference": "f14c4204555bec1c094d7583d36c43eab8516914" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/glue-application/zipball/f14c4204555bec1c094d7583d36c43eab8516914", - "reference": "f14c4204555bec1c094d7583d36c43eab8516914", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/application": "^3.0.0", - "spryker/glue-application-extension": "^1.0.0", - "spryker/kernel": "^3.22.0", - "spryker/log": "^3.0.0", - "spryker/rest-api-documentation-generator-extension": "^0.1.0", - "spryker/session": "^3.0.0", - "spryker/store": "^1.7.0", - "spryker/symfony": "^3.0.0", - "spryker/util-encoding": "^2.0.0", - "willdurand/negotiation": "^2.3" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/config": "*", - "spryker/silex": "*", - "spryker/testify": "*" + "require-dev": { + "spryker/application": "*", + "spryker/installer": "*", + "spryker/propel": "*", + "spryker/testify": "*", + "spryker/twig": "*", + "spryker/zed-navigation": "*" }, "suggest": { - "spryker/config": "If you want to use Config.", - "spryker/silex": "If you want to use ServiceProvider." + "spryker/installer": "If you want to use Installer plugins.", + "spryker/twig": "If you want to use Twig with Gui." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -10509,37 +11640,45 @@ "license": [ "proprietary" ], - "description": "GlueApplication module", - "time": "2018-10-09T11:54:08+00:00" + "description": "Glossary module", + "time": "2018-09-24T00:29:06+00:00" }, { - "name": "spryker/glue-application-extension", - "version": "1.0.0", + "name": "spryker/glossary-storage", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/spryker/glue-application-extension.git", - "reference": "814394259c86e6728dfad5d9a952d8bf22bccd3f" + "url": "https://github.com/spryker/glossary-storage.git", + "reference": "8969ab992443382c82be13608707e859543fdcd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glue-application-extension/zipball/814394259c86e6728dfad5d9a952d8bf22bccd3f", - "reference": "814394259c86e6728dfad5d9a952d8bf22bccd3f", + "url": "https://api.github.com/repos/spryker/glossary-storage/zipball/8969ab992443382c82be13608707e859543fdcd7", + "reference": "8969ab992443382c82be13608707e859543fdcd7", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.1", + "spryker/event-behavior": "^1.1.0", + "spryker/glossary": "^3.3.0", + "spryker/kernel": "^3.21.0", + "spryker/propel-orm": "^1.5.0", + "spryker/storage": "^3.4.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0", + "spryker/util-sanitize": "^2.1.0" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/glue-application": "*", - "spryker/kernel": "*", - "spryker/symfony": "*", + "spryker/config": "*", + "spryker/event": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/queue": "*", "spryker/testify": "*" }, "suggest": { - "spryker/glue-application": "If you want to use plugins with glue application.", - "spryker/kernel": "If you want to use kernel functionality with certain plugins", - "spryker/symfony": "If you want to plugins with symfony components." + "spryker/event": "If you want to use Event plugins, minimum required version: 2.1.0" }, "type": "library", "extra": { @@ -10556,8 +11695,8 @@ "license": [ "proprietary" ], - "description": "GlueApplicationExtension module", - "time": "2018-07-11T08:13:38+00:00" + "description": "GlossaryStorage module", + "time": "2018-09-25T12:41:25+00:00" }, { "name": "spryker/graph", @@ -10594,19 +11733,11 @@ "Function": "tests/" } }, - "autoload-dev": { - "psr-0": { - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graph bundle", - "support": { - "source": "https://github.com/spryker/Graph/tree/3.0.0" - }, "time": "2017-02-22T12:08:46+00:00" }, { @@ -10632,14 +11763,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Graphviz module", - "support": { - "source": "https://github.com/spryker/Graphviz/tree/2.0.1" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -10771,6 +11899,48 @@ "description": "Heartbeat module", "time": "2018-09-11T09:39:45+00:00" }, + { + "name": "spryker/index-generator", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/index-generator.git", + "reference": "ba36b2dc49a58c4b8c760a2d15860d4458fe879e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/index-generator/zipball/ba36b2dc49a58c4b8c760a2d15860d4458fe879e", + "reference": "ba36b2dc49a58c4b8c760a2d15860d4458fe879e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/propel": "^3.0.0", + "spryker/symfony": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "IndexGenerator module", + "time": "2018-09-25T06:44:48+00:00" + }, { "name": "spryker/install", "version": "0.5.0", @@ -10884,20 +12054,11 @@ "Spryker": "src/" } }, - "autoload-dev": { - "psr-0": { - "Functional": "tests/", - "Unit": "tests/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Invoice bundle", - "support": { - "source": "https://github.com/spryker/Invoice/tree/2.0.1" - }, "time": "2017-02-22T11:53:10+00:00" }, { @@ -11084,31 +12245,30 @@ }, { "name": "spryker/mail", - "version": "4.0.2", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/spryker/mail.git", - "reference": "d17ceea63b847a1c1c99b608fd8089849bddc00d" + "reference": "168e9b2ca9ce22806b7bbdf6bb2604b58aac60d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/mail/zipball/d17ceea63b847a1c1c99b608fd8089849bddc00d", - "reference": "d17ceea63b847a1c1c99b608fd8089849bddc00d", + "url": "https://api.github.com/repos/spryker/mail/zipball/168e9b2ca9ce22806b7bbdf6bb2604b58aac60d7", + "reference": "168e9b2ca9ce22806b7bbdf6bb2604b58aac60d7", "shasum": "" }, "require": { "php": ">=7.1", "spryker/glossary": "^3.0.0", - "spryker/kernel": "^3.0.0" + "spryker/kernel": "^3.0.0", + "swiftmailer/swiftmailer": "^5.4.5 || ^6.1" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*", "spryker/twig": "*" }, - "suggest": { - "swiftmailer/swiftmailer": "Recommended to use this package as default mailer." - }, "type": "library", "extra": { "branch-alias": { @@ -11125,7 +12285,7 @@ "proprietary" ], "description": "Mail module", - "time": "2018-02-07T09:40:41+00:00" + "time": "2018-10-19T11:24:52+00:00" }, { "name": "spryker/maintenance", @@ -11169,36 +12329,6 @@ "description": "Maintenance module", "time": "2017-11-27T14:09:45+00:00" }, - { - "name": "spryker/mandrill", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/Mandrill.git", - "reference": "0973fea26836ae22f4a78575efecea5bacd6d9eb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/Mandrill/zipball/0973fea26836ae22f4a78575efecea5bacd6d9eb", - "reference": "0973fea26836ae22f4a78575efecea5bacd6d9eb", - "shasum": "" - }, - "require": { - "mandrill/mandrill": "~1.0.55" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "mandrill bundle", - "time": "2016-04-01T13:06:05+00:00" - }, { "name": "spryker/manual-order-entry", "version": "1.1.1", @@ -11388,16 +12518,16 @@ }, { "name": "spryker/money", - "version": "2.4.2", + "version": "2.4.3", "source": { "type": "git", "url": "https://github.com/spryker/money.git", - "reference": "f8e8eb964337369c234a71f9119c7f3f403232a6" + "reference": "5d3efd11da7c928e1af5e011bf99d88dbe7f29ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/money/zipball/f8e8eb964337369c234a71f9119c7f3f403232a6", - "reference": "f8e8eb964337369c234a71f9119c7f3f403232a6", + "url": "https://api.github.com/repos/spryker/money/zipball/5d3efd11da7c928e1af5e011bf99d88dbe7f29ce", + "reference": "5d3efd11da7c928e1af5e011bf99d88dbe7f29ce", "shasum": "" }, "require": { @@ -11409,8 +12539,10 @@ "spryker/symfony": "^3.0.0" }, "require-dev": { + "spryker/application": "*", "spryker/code-sniffer": "*", - "spryker/config": "^3.0.0", + "spryker/propel": "*", + "spryker/session": "*", "spryker/silex": "*", "spryker/testify": "*", "spryker/twig": "*" @@ -11435,20 +12567,20 @@ "proprietary" ], "description": "Money module", - "time": "2018-02-01T09:02:49+00:00" + "time": "2018-10-17T12:31:46+00:00" }, { "name": "spryker/monitoring", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/spryker/monitoring.git", - "reference": "ff0c0ba29e202739e6c9182a043dd49a026584c9" + "reference": "ea768619bd193bd97d5026c312e9d3de9d36b5a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/monitoring/zipball/ff0c0ba29e202739e6c9182a043dd49a026584c9", - "reference": "ff0c0ba29e202739e6c9182a043dd49a026584c9", + "url": "https://api.github.com/repos/spryker/monitoring/zipball/ea768619bd193bd97d5026c312e9d3de9d36b5a3", + "reference": "ea768619bd193bd97d5026c312e9d3de9d36b5a3", "shasum": "" }, "require": { @@ -11461,8 +12593,10 @@ "spryker/util-network": "^1.0.0" }, "require-dev": { + "spryker/code-sniffer": "*", "spryker/silex": "^2.0.0", - "spryker/symfony": "^3.0.0" + "spryker/symfony": "^3.0.0", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "If you want to use the Monitoring ServiceProvider, please add spryker/silex", @@ -11484,7 +12618,7 @@ "proprietary" ], "description": "Monitoring module", - "time": "2018-08-10T05:07:48+00:00" + "time": "2018-10-17T12:53:24+00:00" }, { "name": "spryker/monitoring-extension", @@ -11551,6 +12685,57 @@ "description": "Monolog module", "time": "2017-08-02T16:31:17+00:00" }, + { + "name": "spryker/multi-cart", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/multi-cart.git", + "reference": "b266dd310be460128bb5f4f2b4957a28885af8b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/multi-cart/zipball/b266dd310be460128bb5f4f2b4957a28885af8b6", + "reference": "b266dd310be460128bb5f4f2b4957a28885af8b6", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/customer": "^7.0.0", + "spryker/kernel": "^3.0.0", + "spryker/messenger": "^3.0.0", + "spryker/persistent-cart": "^1.0.0", + "spryker/persistent-cart-extension": "^1.0.0", + "spryker/propel-orm": "^1.6.0", + "spryker/quote": "^2.0.0", + "spryker/quote-extension": "^1.1.0", + "spryker/session": "^3.0.0", + "spryker/util-date-time": "^1.0.0", + "spryker/zed-request": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "MultiCart module", + "time": "2018-09-25T12:26:41+00:00" + }, { "name": "spryker/navigation", "version": "2.3.1", @@ -11766,31 +12951,124 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/new-relic/zipball/4373348ff2639eb1cafaa56e011e4800e0037b3e", - "reference": "4373348ff2639eb1cafaa56e011e4800e0037b3e", + "url": "https://api.github.com/repos/spryker/new-relic/zipball/4373348ff2639eb1cafaa56e011e4800e0037b3e", + "reference": "4373348ff2639eb1cafaa56e011e4800e0037b3e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/config": "^3.0.0", + "spryker/guzzle": "^2.1.0", + "spryker/kernel": "^3.0.0", + "spryker/new-relic-api": "^1.0.0", + "spryker/symfony": "^3.0.0", + "spryker/util-network": "^1.1.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/silex": "If you want to use ServiceProvider." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "NewRelic module", + "time": "2018-07-16T16:21:26+00:00" + }, + { + "name": "spryker/new-relic-api", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/new-relic-api.git", + "reference": "a6fe91219afe8e310e4a81126c93cfc01b35979e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/new-relic-api/zipball/a6fe91219afe8e310e4a81126c93cfc01b35979e", + "reference": "a6fe91219afe8e310e4a81126c93cfc01b35979e", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/monitoring-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "NewRelicApi module", + "time": "2018-07-25T06:50:29+00:00" + }, + { + "name": "spryker/newsletter", + "version": "4.3.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/newsletter.git", + "reference": "1f2b7cfd71ed20e94b7122f061c88effc9e107d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/newsletter/zipball/1f2b7cfd71ed20e94b7122f061c88effc9e107d5", + "reference": "1f2b7cfd71ed20e94b7122f061c88effc9e107d5", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/config": "^3.0.0", - "spryker/guzzle": "^2.1.0", + "spryker/customer": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "spryker/glossary": "^3.0.0", "spryker/kernel": "^3.0.0", - "spryker/new-relic-api": "^1.0.0", - "spryker/symfony": "^3.0.0", - "spryker/util-network": "^1.1.0" + "spryker/mail": "^4.0.0", + "spryker/util-text": "^1.1.0", + "spryker/util-validate": "^1.0.0", + "spryker/zed-request": "^3.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/installer": "*", + "spryker/propel": "*", + "spryker/propel-orm": "*", "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { - "spryker/silex": "If you want to use ServiceProvider." + "spryker/installer": "If you want to use Installer plugins." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -11802,29 +13080,35 @@ "license": [ "proprietary" ], - "description": "NewRelic module", - "time": "2018-07-16T16:21:26+00:00" + "description": "Newsletter module", + "time": "2018-08-13T10:09:38+00:00" }, { - "name": "spryker/new-relic-api", - "version": "1.1.0", + "name": "spryker/oauth", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/spryker/new-relic-api.git", - "reference": "a6fe91219afe8e310e4a81126c93cfc01b35979e" + "url": "https://github.com/spryker/oauth.git", + "reference": "c90adb452c0b9a4624085505d2abece359361c2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/new-relic-api/zipball/a6fe91219afe8e310e4a81126c93cfc01b35979e", - "reference": "a6fe91219afe8e310e4a81126c93cfc01b35979e", + "url": "https://api.github.com/repos/spryker/oauth/zipball/c90adb452c0b9a4624085505d2abece359361c2a", + "reference": "c90adb452c0b9a4624085505d2abece359361c2a", "shasum": "" }, "require": { + "league/oauth2-server": "^7.1", "php": ">=7.1", - "spryker/monitoring-extension": "^1.0.0" + "spryker/config": "^3.0.0", + "spryker/guzzle": "^2.0.0", + "spryker/kernel": "^3.0.0", + "spryker/oauth-extension": "^1.0.0", + "spryker/zed-request": "^3.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -11842,39 +13126,34 @@ "license": [ "proprietary" ], - "description": "NewRelicApi module", - "time": "2018-07-25T06:50:29+00:00" + "description": "Oauth module", + "time": "2018-08-31T10:06:30+00:00" }, { - "name": "spryker/newsletter", - "version": "4.3.1", + "name": "spryker/oauth-customer-connector", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/newsletter.git", - "reference": "1f2b7cfd71ed20e94b7122f061c88effc9e107d5" + "url": "https://github.com/spryker/oauth-customer-connector.git", + "reference": "bc8bd684c0939e80180e459408e556a2b747e59f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/newsletter/zipball/1f2b7cfd71ed20e94b7122f061c88effc9e107d5", - "reference": "1f2b7cfd71ed20e94b7122f061c88effc9e107d5", + "url": "https://api.github.com/repos/spryker/oauth-customer-connector/zipball/bc8bd684c0939e80180e459408e556a2b747e59f", + "reference": "bc8bd684c0939e80180e459408e556a2b747e59f", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/customer": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "spryker/glossary": "^3.0.0", + "spryker/customer": "^7.0.0", "spryker/kernel": "^3.0.0", - "spryker/mail": "^4.0.0", - "spryker/util-text": "^1.1.0", - "spryker/util-validate": "^1.0.0", - "spryker/zed-request": "^3.0.0" + "spryker/oauth": "^1.0.0", + "spryker/oauth-extension": "^1.0.0", + "spryker/util-encoding": "^2.0.0" }, "require-dev": { "spryker/code-sniffer": "*", "spryker/installer": "*", - "spryker/propel": "*", - "spryker/propel-orm": "*", - "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { @@ -11883,7 +13162,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -11895,46 +13174,34 @@ "license": [ "proprietary" ], - "description": "Newsletter module", - "time": "2018-08-13T10:09:38+00:00" + "description": "OauthCustomerConnector module", + "time": "2018-07-18T12:37:26+00:00" }, { - "name": "spryker/nopayment", - "version": "4.0.1", + "name": "spryker/oauth-extension", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/spryker/nopayment.git", - "reference": "947f2bb802dd92db4727b4756ef6a9f4c2adc9cc" + "url": "https://github.com/spryker/oauth-extension.git", + "reference": "437b4f833b9268c7de8777969bee9be6dd8ae504" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/nopayment/zipball/947f2bb802dd92db4727b4756ef6a9f4c2adc9cc", - "reference": "947f2bb802dd92db4727b4756ef6a9f4c2adc9cc", + "url": "https://api.github.com/repos/spryker/oauth-extension/zipball/437b4f833b9268c7de8777969bee9be6dd8ae504", + "reference": "437b4f833b9268c7de8777969bee9be6dd8ae504", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/kernel": "^3.0.0", - "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "php": ">=7.1" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/oms": "*", - "spryker/payment": "^4.0.0", - "spryker/step-engine": "^3.1.0", - "spryker/symfony": "*", "spryker/testify": "*" }, - "suggest": { - "spryker/oms": "If you want to use Oms command plugins.", - "spryker/payment": "If you want to use Payment command plugins.", - "spryker/step-engine": "If you want to use Step engine command plugins.", - "spryker/symfony": "If you want to use Step handler plugin." - }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -11946,8 +13213,8 @@ "license": [ "proprietary" ], - "description": "Nopayment module", - "time": "2018-02-21T16:07:28+00:00" + "description": "OauthExtension module", + "time": "2018-07-11T08:13:38+00:00" }, { "name": "spryker/offer", @@ -12301,6 +13568,50 @@ "description": "Payment cart connector module", "time": "2017-08-25T12:27:25+00:00" }, + { + "name": "spryker/permission", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/permission.git", + "reference": "a69bb14572e2ef9d21d1f50408d3e417d0b545f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/permission/zipball/a69bb14572e2ef9d21d1f50408d3e417d0b545f8", + "reference": "a69bb14572e2ef9d21d1f50408d3e417d0b545f8", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.0.0", + "spryker/permission-extension": "^1.1.0", + "spryker/zed-request": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/locale": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\Permission\\Helper\\": "tests/SprykerTest/Zed/Permission/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Permission module", + "time": "2018-09-19T08:50:08+00:00" + }, { "name": "spryker/permission-extension", "version": "1.1.0", @@ -12342,16 +13653,16 @@ }, { "name": "spryker/persistent-cart", - "version": "1.1.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/persistent-cart.git", - "reference": "e21643193ea5445666b5e4330c2b18a076fa6949" + "reference": "e2522c578d5b14e11c8ec6e47071a35f0b935d88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/persistent-cart/zipball/e21643193ea5445666b5e4330c2b18a076fa6949", - "reference": "e21643193ea5445666b5e4330c2b18a076fa6949", + "url": "https://api.github.com/repos/spryker/persistent-cart/zipball/e2522c578d5b14e11c8ec6e47071a35f0b935d88", + "reference": "e2522c578d5b14e11c8ec6e47071a35f0b935d88", "shasum": "" }, "require": { @@ -12386,7 +13697,7 @@ "proprietary" ], "description": "PersistentCart module", - "time": "2018-09-18T13:44:45+00:00" + "time": "2018-10-25T15:23:10+00:00" }, { "name": "spryker/persistent-cart-extension", @@ -12427,39 +13738,6 @@ "description": "PersistentCartExtension module", "time": "2018-04-10T14:40:01+00:00" }, - { - "name": "spryker/pimple", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/Pimple.git", - "reference": "9c393a76377026cd382661c161acd2df8f814bbd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/Pimple/zipball/9c393a76377026cd382661c161acd2df8f814bbd", - "reference": "9c393a76377026cd382661c161acd2df8f814bbd", - "shasum": "" - }, - "require": { - "pimple/pimple": "~1.1.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", - "license": [ - "proprietary" - ], - "description": "pimple bundle", - "support": { - "source": "https://github.com/spryker/Pimple/tree/2.0.0" - }, - "time": "2016-04-01T13:06:05+00:00" - }, { "name": "spryker/price", "version": "5.3.0", @@ -12645,16 +13923,16 @@ }, { "name": "spryker/price-product", - "version": "2.3.0", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/spryker/price-product.git", - "reference": "0ee63e890065555dad7721354ac654039eb64257" + "reference": "7984fa5a45fb4a5234e1e2640e6a2da44b080252" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-product/zipball/0ee63e890065555dad7721354ac654039eb64257", - "reference": "0ee63e890065555dad7721354ac654039eb64257", + "url": "https://api.github.com/repos/spryker/price-product/zipball/7984fa5a45fb4a5234e1e2640e6a2da44b080252", + "reference": "7984fa5a45fb4a5234e1e2640e6a2da44b080252", "shasum": "" }, "require": { @@ -12695,7 +13973,7 @@ "proprietary" ], "description": "PriceProduct module", - "time": "2018-10-02T07:35:34+00:00" + "time": "2018-10-29T13:28:13+00:00" }, { "name": "spryker/price-product-data-import", @@ -12782,16 +14060,16 @@ }, { "name": "spryker/price-product-storage", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spryker/price-product-storage.git", - "reference": "5806a0a12dc593cf5ff0390ec9c88be4c964dc0c" + "reference": "6f2a639f9d40652de800fe7a92ec4c0b51d496e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-product-storage/zipball/5806a0a12dc593cf5ff0390ec9c88be4c964dc0c", - "reference": "5806a0a12dc593cf5ff0390ec9c88be4c964dc0c", + "url": "https://api.github.com/repos/spryker/price-product-storage/zipball/6f2a639f9d40652de800fe7a92ec4c0b51d496e8", + "reference": "6f2a639f9d40652de800fe7a92ec4c0b51d496e8", "shasum": "" }, "require": { @@ -12836,7 +14114,7 @@ "proprietary" ], "description": "PriceProductStorage module", - "time": "2018-09-20T10:46:47+00:00" + "time": "2018-10-17T12:31:46+00:00" }, { "name": "spryker/price-product-storage-extension", @@ -12877,6 +14155,54 @@ "description": "PriceProductStorageExtension module", "time": "2018-07-18T15:21:52+00:00" }, + { + "name": "spryker/price-product-volume", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/price-product-volume.git", + "reference": "ed50c88e5bca352b6d07e7e16d780a0ed4e4afa9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/price-product-volume/zipball/ed50c88e5bca352b6d07e7e16d780a0ed4e4afa9", + "reference": "ed50c88e5bca352b6d07e7e16d780a0ed4e4afa9", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/kernel": "^3.21.0", + "spryker/locale": "^3.0.0", + "spryker/price-product": "^2.1.0", + "spryker/price-product-extension": "^1.1.0", + "spryker/price-product-storage": "^2.1.0", + "spryker/price-product-storage-extension": "^1.1.0", + "spryker/product-storage": "^1.1.0", + "spryker/util-encoding": "^2.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "PriceProductVolume module", + "time": "2018-10-05T14:06:36+00:00" + }, { "name": "spryker/product", "version": "6.7.0", @@ -13412,98 +14738,10 @@ "spryker/util-text": "^1.2.0" }, "require-dev": { - "spryker/application": "*", - "spryker/propel": "*", - "spryker/testify": "*", - "spryker/zed-navigation": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductAttributeGui module", - "time": "2018-10-02T13:51:34+00:00" - }, - { - "name": "spryker/product-barcode", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-barcode.git", - "reference": "9ad32e1752ba7970a479b5386fe3b0235be63b52" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-barcode/zipball/9ad32e1752ba7970a479b5386fe3b0235be63b52", - "reference": "9ad32e1752ba7970a479b5386fe3b0235be63b52", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/barcode": "^1.0.0", - "spryker/kernel": "^3.1.0", - "spryker/product": "^6.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\ProductBarcode\\Helper\\": "tests/SprykerTest/Zed/ProductBarcode/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductBarcode module", - "time": "2018-06-08T06:44:22+00:00" - }, - { - "name": "spryker/product-barcode-gui", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-barcode-gui.git", - "reference": "9048ce15399d51060337979362f164aaca9dd01f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-barcode-gui/zipball/9048ce15399d51060337979362f164aaca9dd01f", - "reference": "9048ce15399d51060337979362f164aaca9dd01f", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/gui": "^3.0.0", - "spryker/kernel": "^3.0.0", - "spryker/locale": "^3.0.0", - "spryker/product": "^6.0.0", - "spryker/product-barcode": "^1.0.0", - "spryker/symfony": "^3.1.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" + "spryker/application": "*", + "spryker/propel": "*", + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "type": "library", "extra": { @@ -13520,8 +14758,8 @@ "license": [ "proprietary" ], - "description": "ProductBarcodeGui module", - "time": "2018-05-16T13:57:10+00:00" + "description": "ProductAttributeGui module", + "time": "2018-10-02T13:51:34+00:00" }, { "name": "spryker/product-bundle", @@ -13641,16 +14879,16 @@ }, { "name": "spryker/product-category", - "version": "4.5.3", + "version": "4.6.0", "source": { "type": "git", "url": "https://github.com/spryker/product-category.git", - "reference": "55f73a76f4dd49094ce291b75b2c547b7541f945" + "reference": "adbd35650b7d8054a1420faeb61cc6650bcd1044" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-category/zipball/55f73a76f4dd49094ce291b75b2c547b7541f945", - "reference": "55f73a76f4dd49094ce291b75b2c547b7541f945", + "url": "https://api.github.com/repos/spryker/product-category/zipball/adbd35650b7d8054a1420faeb61cc6650bcd1044", + "reference": "adbd35650b7d8054a1420faeb61cc6650bcd1044", "shasum": "" }, "require": { @@ -13666,12 +14904,11 @@ "spryker/util-encoding": "^2.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", + "spryker/config": "*", "spryker/propel": "^3.0.0", - "spryker/testify": "*" - }, - "suggest": { - "spryker/util-encoding": "If you want to use its encoding functionality." + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "type": "library", "extra": { @@ -13690,7 +14927,7 @@ "proprietary" ], "description": "ProductCategory module", - "time": "2018-02-05T06:01:59+00:00" + "time": "2018-10-24T10:03:42+00:00" }, { "name": "spryker/product-category-filter", @@ -13739,52 +14976,6 @@ "description": "ProductCategoryFilter module", "time": "2018-08-13T10:09:37+00:00" }, - { - "name": "spryker/product-category-filter-collector", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-category-filter-collector.git", - "reference": "692b724491124705a83e296a8cebc61c33d5b645" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-category-filter-collector/zipball/692b724491124705a83e296a8cebc61c33d5b645", - "reference": "692b724491124705a83e296a8cebc61c33d5b645", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/collector": "^5.1.1 || ^6.0.0", - "spryker/kernel": "^3.0.0", - "spryker/product-category-filter": "^1.0.0", - "spryker/propel-orm": "^1.1.0", - "spryker/symfony": "^3.0.0", - "spryker/touch": "^3.0.0 || ^4.0.0", - "spryker/util-data-reader": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductCategoryFilterCollector module", - "time": "2018-01-24T11:43:27+00:00" - }, { "name": "spryker/product-category-filter-gui", "version": "1.1.6", @@ -14373,54 +15564,6 @@ "description": "ProductGroup module", "time": "2018-01-24T11:43:27+00:00" }, - { - "name": "spryker/product-group-collector", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-group-collector.git", - "reference": "a11e5c6c596f2a0008a4872660b2569218068f72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-group-collector/zipball/a11e5c6c596f2a0008a4872660b2569218068f72", - "reference": "a11e5c6c596f2a0008a4872660b2569218068f72", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/collector": "^5.1.1 || ^6.0.0", - "spryker/kernel": "^3.0.0", - "spryker/product-group": "^1.0.0", - "spryker/propel-orm": "^1.1.0", - "spryker/symfony": "^3.0.0", - "spryker/touch": "^3.0.0 || ^4.0.0", - "spryker/util-data-reader": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "^3.0.0", - "spryker/silex": "^2.0.0", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductGroupCollector module", - "time": "2018-01-24T11:43:27+00:00" - }, { "name": "spryker/product-group-storage", "version": "1.0.1", @@ -14565,16 +15708,16 @@ }, { "name": "spryker/product-image-storage", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker/product-image-storage.git", - "reference": "d9857b4bc410864d67744845dba3c92a4bb29e9b" + "reference": "f0b304629ab778ef22f17f60acffb1de5ea88d27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-image-storage/zipball/d9857b4bc410864d67744845dba3c92a4bb29e9b", - "reference": "d9857b4bc410864d67744845dba3c92a4bb29e9b", + "url": "https://api.github.com/repos/spryker/product-image-storage/zipball/f0b304629ab778ef22f17f60acffb1de5ea88d27", + "reference": "f0b304629ab778ef22f17f60acffb1de5ea88d27", "shasum": "" }, "require": { @@ -14617,7 +15760,7 @@ "proprietary" ], "description": "ProductImageStorage module", - "time": "2018-09-21T07:35:52+00:00" + "time": "2018-10-26T12:23:29+00:00" }, { "name": "spryker/product-label", @@ -14770,16 +15913,16 @@ }, { "name": "spryker/product-label-gui", - "version": "2.0.9", + "version": "2.0.10", "source": { "type": "git", "url": "https://github.com/spryker/product-label-gui.git", - "reference": "0d624040dea9c48d75662a8174eddcc07865841f" + "reference": "a275b78aac2844a70cb3f11cd117d2467368ecee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-label-gui/zipball/0d624040dea9c48d75662a8174eddcc07865841f", - "reference": "0d624040dea9c48d75662a8174eddcc07865841f", + "url": "https://api.github.com/repos/spryker/product-label-gui/zipball/a275b78aac2844a70cb3f11cd117d2467368ecee", + "reference": "a275b78aac2844a70cb3f11cd117d2467368ecee", "shasum": "" }, "require": { @@ -14793,15 +15936,13 @@ "spryker/price-product": "^1.0.0 || ^2.0.0", "spryker/product": "^5.1.0 || ^6.0.0", "spryker/product-label": "^1.0.0 || ^2.0.0", - "spryker/product-management": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0", + "spryker/product-management": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0", "spryker/propel-orm": "^1.1.0", "spryker/symfony": "^3.0.0", "spryker/util-text": "^1.1.0" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/propel": "^3.0.0", - "spryker/silex": "^2.0.0", "spryker/testify": "*" }, "type": "library", @@ -14820,7 +15961,7 @@ "proprietary" ], "description": "ProductLabelGui module", - "time": "2018-07-09T09:17:00+00:00" + "time": "2018-10-24T16:48:40+00:00" }, { "name": "spryker/product-label-search", @@ -14933,16 +16074,16 @@ }, { "name": "spryker/product-management", - "version": "0.14.7", + "version": "0.15.0", "source": { "type": "git", "url": "https://github.com/spryker/product-management.git", - "reference": "d13004d857010e5eecd6bbf176b0cf447976a471" + "reference": "d98ad727d91ee15fe1f49ecb30b56e3eae1c6de2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-management/zipball/d13004d857010e5eecd6bbf176b0cf447976a471", - "reference": "d13004d857010e5eecd6bbf176b0cf447976a471", + "url": "https://api.github.com/repos/spryker/product-management/zipball/d98ad727d91ee15fe1f49ecb30b56e3eae1c6de2", + "reference": "d98ad727d91ee15fe1f49ecb30b56e3eae1c6de2", "shasum": "" }, "require": { @@ -14960,9 +16101,10 @@ "spryker/product": "^6.7.0", "spryker/product-attribute": "^1.1.0", "spryker/product-bundle": "^2.0.0 || ^3.0.0 || ^4.0.0", + "spryker/product-category": "^4.6.0", "spryker/product-group": "^1.0.0", "spryker/product-image": "^3.0.0", - "spryker/product-management-extension": "^1.1.0", + "spryker/product-management-extension": "^1.2.0", "spryker/product-validity": "^1.0.0", "spryker/propel-orm": "^1.0.0", "spryker/stock": "^5.0.0", @@ -14996,29 +16138,27 @@ "proprietary" ], "description": "ProductManagement module", - "time": "2018-10-10T15:08:15+00:00" + "time": "2018-10-29T11:02:49+00:00" }, { "name": "spryker/product-management-extension", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/product-management-extension.git", - "reference": "3884146afa004a6251d2afecb4d20d563071d87b" + "reference": "c0993b0e9ca1f9dbcf7dd2107df33e229c7672fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-management-extension/zipball/3884146afa004a6251d2afecb4d20d563071d87b", - "reference": "3884146afa004a6251d2afecb4d20d563071d87b", + "url": "https://api.github.com/repos/spryker/product-management-extension/zipball/c0993b0e9ca1f9dbcf7dd2107df33e229c7672fe", + "reference": "c0993b0e9ca1f9dbcf7dd2107df33e229c7672fe", "shasum": "" }, "require": { "php": ">=7.1" }, "require-dev": { - "spryker/code-sniffer": "*", - "spryker/symfony": "^3.0.0", - "spryker/testify": "*" + "spryker/symfony": "^3.0.0" }, "suggest": { "spryker/symfony": "" @@ -15039,7 +16179,7 @@ "proprietary" ], "description": "ProductManagementExtension module", - "time": "2018-05-31T11:23:24+00:00" + "time": "2018-10-18T11:06:54+00:00" }, { "name": "spryker/product-new", @@ -15601,55 +16741,6 @@ "description": "ProductReview module", "time": "2018-09-07T11:05:09+00:00" }, - { - "name": "spryker/product-review-collector", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-review-collector.git", - "reference": "a78c2d9411b17452a227c128c162689af1561949" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-review-collector/zipball/a78c2d9411b17452a227c128c162689af1561949", - "reference": "a78c2d9411b17452a227c128c162689af1561949", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/collector": "^5.5.0 || ^6.0.0", - "spryker/kernel": "^3.0.0", - "spryker/product-review": "^1.0.0 || ^2.0.0", - "spryker/propel-orm": "^1.1.0", - "spryker/search": "^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/symfony": "^3.0.0", - "spryker/touch": "^3.0.0 || ^4.0.0", - "spryker/util-data-reader": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "^3.0.0", - "spryker/silex": "^2.0.0", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductReviewCollector module", - "time": "2018-03-09T07:57:08+00:00" - }, { "name": "spryker/product-review-gui", "version": "1.0.3", @@ -15969,56 +17060,6 @@ "description": "ProductSet module", "time": "2018-08-03T10:02:01+00:00" }, - { - "name": "spryker/product-set-collector", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/spryker/product-set-collector.git", - "reference": "b1646c625a9452233ad22445cc4295c9e5076327" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/product-set-collector/zipball/b1646c625a9452233ad22445cc4295c9e5076327", - "reference": "b1646c625a9452233ad22445cc4295c9e5076327", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/collector": "^5.1.1 || ^6.0.0", - "spryker/kernel": "^3.0.0", - "spryker/product-set": "^1.0.0", - "spryker/propel-orm": "^1.1.0", - "spryker/search": "^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/symfony": "^3.0.0", - "spryker/touch": "^3.0.0 || ^4.0.0", - "spryker/url": "^3.0.0", - "spryker/util-data-reader": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "^3.0.0", - "spryker/silex": "^2.0.0", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "ProductSetCollector module", - "time": "2018-03-09T07:57:08+00:00" - }, { "name": "spryker/product-set-gui", "version": "2.0.4", @@ -16179,16 +17220,16 @@ }, { "name": "spryker/product-storage", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/spryker/product-storage.git", - "reference": "1b284f2663e1e6df0c6d47dd0e8fb2e39ccda1de" + "reference": "8192592557fa66b373fc15590d1b412aaa103d7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-storage/zipball/1b284f2663e1e6df0c6d47dd0e8fb2e39ccda1de", - "reference": "1b284f2663e1e6df0c6d47dd0e8fb2e39ccda1de", + "url": "https://api.github.com/repos/spryker/product-storage/zipball/8192592557fa66b373fc15590d1b412aaa103d7c", + "reference": "8192592557fa66b373fc15590d1b412aaa103d7c", "shasum": "" }, "require": { @@ -16233,7 +17274,7 @@ "proprietary" ], "description": "ProductStorage module", - "time": "2018-09-21T08:24:05+00:00" + "time": "2018-10-23T16:48:17+00:00" }, { "name": "spryker/product-storage-extension", @@ -16276,16 +17317,16 @@ }, { "name": "spryker/product-validity", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/product-validity.git", - "reference": "b5b4b81d8170fe4461c91d8d753e799abbf378ff" + "reference": "8c3f070dcebfa0cd0bf9c97ab110e4eda521d758" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-validity/zipball/b5b4b81d8170fe4461c91d8d753e799abbf378ff", - "reference": "b5b4b81d8170fe4461c91d8d753e799abbf378ff", + "url": "https://api.github.com/repos/spryker/product-validity/zipball/8c3f070dcebfa0cd0bf9c97ab110e4eda521d758", + "reference": "8c3f070dcebfa0cd0bf9c97ab110e4eda521d758", "shasum": "" }, "require": { @@ -16315,7 +17356,7 @@ "proprietary" ], "description": "ProductValidity module", - "time": "2018-02-01T18:50:14+00:00" + "time": "2018-10-18T15:50:28+00:00" }, { "name": "spryker/propel", @@ -16505,16 +17546,16 @@ }, { "name": "spryker/quote", - "version": "2.2.0", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spryker/quote.git", - "reference": "f1c748cfe7140f00cc7dc9934f0b71e49031887d" + "reference": "f5659520506ffa49e48ff9f2e20c09dce1fce6b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/quote/zipball/f1c748cfe7140f00cc7dc9934f0b71e49031887d", - "reference": "f1c748cfe7140f00cc7dc9934f0b71e49031887d", + "url": "https://api.github.com/repos/spryker/quote/zipball/f5659520506ffa49e48ff9f2e20c09dce1fce6b7", + "reference": "f5659520506ffa49e48ff9f2e20c09dce1fce6b7", "shasum": "" }, "require": { @@ -16522,6 +17563,7 @@ "spryker/currency": "^3.4.0", "spryker/customer": "^6.0.0 || ^7.0.0", "spryker/kernel": "^3.0.0", + "spryker/propel-orm": "^1.0.0", "spryker/quote-extension": "^1.0.0", "spryker/session": "^3.0.0", "spryker/store": "^1.0.0", @@ -16551,7 +17593,7 @@ "proprietary" ], "description": "Quote module", - "time": "2018-09-10T11:27:17+00:00" + "time": "2018-10-25T08:02:18+00:00" }, { "name": "spryker/quote-extension", @@ -16709,14 +17751,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Redis bundle", - "support": { - "source": "https://github.com/spryker/Redis/tree/2.0.1" - }, "time": "2017-04-26T15:15:36+00:00" }, { @@ -16724,85 +17763,34 @@ "version": "5.1.2", "source": { "type": "git", - "url": "https://github.com/spryker/Refund.git", - "reference": "dc154292c6d90dfa0eecbf2737f1c587b653d76d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/Refund/zipball/dc154292c6d90dfa0eecbf2737f1c587b653d76d", - "reference": "dc154292c6d90dfa0eecbf2737f1c587b653d76d", - "shasum": "" - }, - "require": { - "spryker/calculation": "^4.0.0", - "spryker/gui": "^3.0.0", - "spryker/kernel": "^3.0.0", - "spryker/money": "^2.0.0", - "spryker/sales": "^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/symfony": "^3.0.0", - "spryker/util-date-time": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "autoload-dev": { - "psr-4": { - "Config\\Module\\": "vendor/spryker/config/tests/_support/Module", - "Propel\\Module\\": "vendor/spryker/propel/tests/_support/Module", - "Transfer\\Module\\": "vendor/spryker/transfer/tests/_support/Module", - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", - "license": [ - "proprietary" - ], - "description": "Refund module", - "support": { - "source": "https://github.com/spryker/Refund/tree/master" - }, - "time": "2017-11-27T14:09:42+00:00" - }, - { - "name": "spryker/rest-api-documentation-generator-extension", - "version": "0.1.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/rest-api-documentation-generator-extension.git", - "reference": "512b2e16c27517cd505651a9d8c4190ffd7010f4" + "url": "https://github.com/spryker/Refund.git", + "reference": "dc154292c6d90dfa0eecbf2737f1c587b653d76d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/rest-api-documentation-generator-extension/zipball/512b2e16c27517cd505651a9d8c4190ffd7010f4", - "reference": "512b2e16c27517cd505651a9d8c4190ffd7010f4", + "url": "https://api.github.com/repos/spryker/Refund/zipball/dc154292c6d90dfa0eecbf2737f1c587b653d76d", + "reference": "dc154292c6d90dfa0eecbf2737f1c587b653d76d", "shasum": "" }, "require": { - "php": ">=7.1", - "spryker/glue-application-extension": "^1.0.0" + "spryker/calculation": "^4.0.0", + "spryker/gui": "^3.0.0", + "spryker/kernel": "^3.0.0", + "spryker/money": "^2.0.0", + "spryker/sales": "^6.0.0 || ^7.0.0 || ^8.0.0", + "spryker/symfony": "^3.0.0", + "spryker/util-date-time": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/propel": "^3.0.0", + "spryker/propel-orm": "^1.0.0", "spryker/testify": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -16814,8 +17802,8 @@ "license": [ "proprietary" ], - "description": "RestApiDocumentationGeneratorExtension module", - "time": "2018-09-24T11:52:01+00:00" + "description": "Refund module", + "time": "2017-11-27T14:09:42+00:00" }, { "name": "spryker/sales", @@ -17074,16 +18062,16 @@ }, { "name": "spryker/sales-order-threshold-gui", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/sales-order-threshold-gui.git", - "reference": "93375f2cb3eed719c6affc1ebaf2c5ce6d60a661" + "reference": "2135300c57fdbc96cb29de5ba44f0ce744671567" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-order-threshold-gui/zipball/93375f2cb3eed719c6affc1ebaf2c5ce6d60a661", - "reference": "93375f2cb3eed719c6affc1ebaf2c5ce6d60a661", + "url": "https://api.github.com/repos/spryker/sales-order-threshold-gui/zipball/2135300c57fdbc96cb29de5ba44f0ce744671567", + "reference": "2135300c57fdbc96cb29de5ba44f0ce744671567", "shasum": "" }, "require": { @@ -17118,7 +18106,7 @@ "proprietary" ], "description": "SalesOrderThresholdGui module", - "time": "2018-10-04T13:35:59+00:00" + "time": "2018-10-15T13:03:45+00:00" }, { "name": "spryker/sales-product-connector", @@ -17591,18 +18579,129 @@ "description": "SetupFrontend module", "time": "2018-04-23T14:45:14+00:00" }, + { + "name": "spryker/shared-cart", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/shared-cart.git", + "reference": "5b5d5413ac7fd1dbb1f0a8367d593af735c72259" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/shared-cart/zipball/5b5d5413ac7fd1dbb1f0a8367d593af735c72259", + "reference": "5b5d5413ac7fd1dbb1f0a8367d593af735c72259", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/cart": "^5.1.0", + "spryker/company-user": "^1.0.0 || ^2.0.0", + "spryker/customer": "^7.0.0", + "spryker/kernel": "^3.19.0", + "spryker/messenger": "^3.0.0", + "spryker/multi-cart": "^1.0.0", + "spryker/permission": "^1.0.0", + "spryker/permission-extension": "^1.1.0", + "spryker/persistent-cart": "^1.0.0", + "spryker/persistent-cart-extension": "^1.0.0", + "spryker/propel-orm": "^1.6.0", + "spryker/quote": "^2.0.0", + "spryker/quote-extension": "^1.0.0", + "spryker/zed-request": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/company": "*", + "spryker/company-business-unit": "*", + "spryker/installer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/installer": "If you want to use SharedCartPermissionInstallerPlugin. Minimum required version: 4.0.0." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Shared\\SharedCart\\Helper\\": "tests/SprykerTest/Shared/SharedCart/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "SharedCart module", + "time": "2018-10-05T10:08:10+00:00" + }, + { + "name": "spryker/shared-cart-data-import", + "version": "0.1.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/shared-cart-data-import.git", + "reference": "c2bc10917ecd5c89667cc9f3e6426be5428e845a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/shared-cart-data-import/zipball/c2bc10917ecd5c89667cc9f3e6426be5428e845a", + "reference": "c2bc10917ecd5c89667cc9f3e6426be5428e845a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/company-user": "^1.0.0 || ^2.0.0", + "spryker/data-import": "^1.0.0", + "spryker/kernel": "^3.0.0", + "spryker/quote": "^2.0.0", + "spryker/shared-cart": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/company": "*", + "spryker/company-business-unit": "*", + "spryker/customer": "*", + "spryker/permission": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\SharedCartDataImport\\Helper\\": "tests/SprykerTest/Zed/SharedCartDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "SharedCartDataImport module", + "time": "2018-10-08T13:06:23+00:00" + }, { "name": "spryker/shipment", - "version": "6.6.0", + "version": "6.6.1", "source": { "type": "git", "url": "https://github.com/spryker/shipment.git", - "reference": "68be044859cc120479cb911ab7c075aa1f132829" + "reference": "e2dae8be3d86c3412b1ab570cc6e2eeffc9dfc97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipment/zipball/68be044859cc120479cb911ab7c075aa1f132829", - "reference": "68be044859cc120479cb911ab7c075aa1f132829", + "url": "https://api.github.com/repos/spryker/shipment/zipball/e2dae8be3d86c3412b1ab570cc6e2eeffc9dfc97", + "reference": "e2dae8be3d86c3412b1ab570cc6e2eeffc9dfc97", "shasum": "" }, "require": { @@ -17652,7 +18751,7 @@ "proprietary" ], "description": "Shipment module", - "time": "2018-10-15T08:40:06+00:00" + "time": "2018-10-17T14:19:56+00:00" }, { "name": "spryker/shipment-cart-connector", @@ -17855,14 +18954,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Silex bundle", - "support": { - "source": "https://github.com/spryker/Silex/tree/2.0.1" - }, "time": "2016-12-09T13:45:20+00:00" }, { @@ -18410,16 +19506,16 @@ }, { "name": "spryker/tax", - "version": "5.3.1", + "version": "5.4.0", "source": { "type": "git", "url": "https://github.com/spryker/tax.git", - "reference": "e5ba76774ad963047ed7bb68c1c5d9eac642ff59" + "reference": "55a9e89df22ba021cc4a269a58aef32d39cf1450" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/tax/zipball/e5ba76774ad963047ed7bb68c1c5d9eac642ff59", - "reference": "e5ba76774ad963047ed7bb68c1c5d9eac642ff59", + "url": "https://api.github.com/repos/spryker/tax/zipball/55a9e89df22ba021cc4a269a58aef32d39cf1450", + "reference": "55a9e89df22ba021cc4a269a58aef32d39cf1450", "shasum": "" }, "require": { @@ -18434,13 +19530,10 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/propel": "*", - "spryker/silex": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/calculation": "If you want to use Calculation plugins." + "spryker/testify": "*", + "spryker/zed-navigation": "*" }, "type": "library", "extra": { @@ -18458,7 +19551,7 @@ "proprietary" ], "description": "Tax module", - "time": "2018-08-06T13:42:17+00:00" + "time": "2018-10-17T10:06:39+00:00" }, { "name": "spryker/tax-product-connector", @@ -18708,54 +19801,6 @@ "description": "Url module", "time": "2018-09-24T00:29:06+00:00" }, - { - "name": "spryker/url-collector", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/url-collector.git", - "reference": "f93204cd72fb73eedfcc929d6b666bb1479b8e34" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/url-collector/zipball/f93204cd72fb73eedfcc929d6b666bb1479b8e34", - "reference": "f93204cd72fb73eedfcc929d6b666bb1479b8e34", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/collector": "^6.0.0", - "spryker/kernel": "^3.0.0", - "spryker/locale": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/symfony": "^3.0.0", - "spryker/touch": "^4.0.0", - "spryker/url": "^3.0.0", - "spryker/util-data-reader": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*", - "spryker/twig": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "UrlCollector module", - "time": "2018-02-20T13:23:25+00:00" - }, { "name": "spryker/url-storage", "version": "1.0.1", @@ -18907,47 +19952,6 @@ "description": "UserExtension module", "time": "2018-09-05T07:46:20+00:00" }, - { - "name": "spryker/util-csv", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/util-csv.git", - "reference": "b90e0453dd6555297eebba14923e0ee21d90d6f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/util-csv/zipball/b90e0453dd6555297eebba14923e0ee21d90d6f3", - "reference": "b90e0453dd6555297eebba14923e0ee21d90d6f3", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/kernel": "^3.0.0", - "spryker/symfony": "^3.1.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "UtilCsv module", - "time": "2018-07-10T12:34:02+00:00" - }, { "name": "spryker/util-data-reader", "version": "1.2.1", @@ -19017,19 +20021,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilDateTime module", - "support": { - "source": "https://github.com/spryker/UtilDateTime/tree/1.0.2" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -19166,19 +20162,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilText module", - "support": { - "source": "https://github.com/spryker/UtilText/tree/master" - }, "time": "2017-10-24T13:32:31+00:00" }, { @@ -19255,19 +20243,11 @@ "Spryker\\": "src/Spryker/" } }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "UtilValidate module", - "support": { - "source": "https://github.com/spryker/UtilValidate/tree/1.0.0" - }, "time": "2017-11-09T13:55:22+00:00" }, { @@ -19575,14 +20555,11 @@ "dev-master": "2.0.x-dev" } }, - "notification-url": "https://code.foo.com/repo/private/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "description": "Zend module", - "support": { - "source": "https://github.com/spryker/Zend/tree/2.1.0" - }, "time": "2017-08-02T16:31:17+00:00" }, { @@ -21590,80 +22567,28 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "https://twig.symfony.com/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], - "time": "2018-07-13T07:12:17+00:00" - }, - { - "name": "willdurand/negotiation", - "version": "v2.3.1", - "source": { - "type": "git", - "url": "https://github.com/willdurand/Negotiation.git", - "reference": "03436ededa67c6e83b9b12defac15384cb399dc9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/03436ededa67c6e83b9b12defac15384cb399dc9", - "reference": "03436ededa67c6e83b9b12defac15384cb399dc9", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Negotiation\\": "src/Negotiation" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, { - "name": "William Durand", - "email": "will+git@drnd.me" + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "https://twig.symfony.com/contributors", + "role": "Contributors" } ], - "description": "Content Negotiation tools for PHP provided as a standalone library.", - "homepage": "http://williamdurand.fr/Negotiation/", + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", "keywords": [ - "accept", - "content", - "format", - "header", - "negotiation" + "templating" ], - "time": "2017-05-14T17:21:12+00:00" + "time": "2018-07-13T07:12:17+00:00" }, { "name": "zendframework/zend-config", @@ -23434,20 +24359,20 @@ }, { "name": "phpstan/phpstan", - "version": "0.10.3", + "version": "0.10.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0" + "reference": "c6a8cd1fe08a23b9d101a55ffa9ff6b91d71ef5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0", - "reference": "dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6a8cd1fe08a23b9d101a55ffa9ff6b91d71ef5d", + "reference": "c6a8cd1fe08a23b9d101a55ffa9ff6b91d71ef5d", "shasum": "" }, "require": { - "composer/xdebug-handler": "^1.0", + "composer/xdebug-handler": "^1.3.0", "jean85/pretty-package-versions": "^1.0.3", "nette/bootstrap": "^2.4 || ^3.0", "nette/di": "^2.4.7 || ^3.0", @@ -23461,21 +24386,21 @@ }, "require-dev": { "brianium/paratest": "^2.0", - "consistence/coding-standard": "^3.3", + "consistence/coding-standard": "^3.5", "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", "ext-gd": "*", "ext-intl": "*", "ext-mysqli": "*", "ext-zip": "*", "jakub-onderka/php-parallel-lint": "^1.0", - "localheinz/composer-normalize": "~0.8.0", + "localheinz/composer-normalize": "~0.9.0", "phing/phing": "^2.16.0", "phpstan/phpstan-deprecation-rules": "^0.10.2", "phpstan/phpstan-php-parser": "^0.10", "phpstan/phpstan-phpunit": "^0.10", "phpstan/phpstan-strict-rules": "^0.10", "phpunit/phpunit": "^7.0", - "slevomat/coding-standard": "^4.6.2" + "slevomat/coding-standard": "^4.7.2" }, "bin": [ "bin/phpstan" @@ -23499,7 +24424,7 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", - "time": "2018-08-12T15:14:21+00:00" + "time": "2018-10-20T17:24:55+00:00" }, { "name": "phpunit/php-code-coverage", @@ -24823,47 +25748,6 @@ ], "time": "2017-08-01T14:03:04+00:00" }, - { - "name": "spryker/code-generator", - "version": "0.3.7", - "source": { - "type": "git", - "url": "https://github.com/spryker/code-generator.git", - "reference": "c2638cde2e7886c876a9d6752875f5e2ced1a86d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/code-generator/zipball/c2638cde2e7886c876a9d6752875f5e2ced1a86d", - "reference": "c2638cde2e7886c876a9d6752875f5e2ced1a86d", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/kernel": "^3.0.0", - "zendframework/zend-filter": "^2.8.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "CodeGenerator module", - "time": "2018-09-04T09:50:22+00:00" - }, { "name": "spryker/code-sniffer", "version": "0.12.5", @@ -24916,56 +25800,6 @@ ], "time": "2018-09-24T13:39:28+00:00" }, - { - "name": "spryker/development", - "version": "3.13.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/development.git", - "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/development/zipball/32f755de7a020b60c9b386ca83416cfad9a5b79d", - "reference": "32f755de7a020b60c9b386ca83416cfad9a5b79d", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/config": "^3.0.0", - "spryker/graph": "^3.0.0", - "spryker/kernel": "^3.22.0", - "spryker/symfony": "^3.0.0", - "spryker/twig": "^3.0.0", - "spryker/zend": "^2.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\Development\\Helper\\": "tests/SprykerTest/Zed/Development/_support/Helper/" - }, - "files": [ - "tests/dd.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "Development module", - "time": "2018-10-10T07:16:49+00:00" - }, { "name": "spryker/testify", "version": "3.5.0", @@ -25717,15 +26551,360 @@ ], "aliases": [ { - "alias": "1.0.0", - "alias_normalized": "1.0.0.0", + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/agent-assist" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/alternative-products" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/cart" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/catalog" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/category-management" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/checkout" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/cms" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/content-based-shop-navigation" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/customer-account-management" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/deployment-tools" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/development-integration" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/development-tools" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/digital-asset-management" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/discontinued-products" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/file-manager" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/gift-cards" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/inventory-management" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/invoice" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/mailing-notifications" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/navigation" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/newsletter-subscription" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/notes" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/order-management" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/payments" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/persistent-cart" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/prices" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-bundles" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-groups" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-image-management" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-labels" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-options" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-promotions" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-raiting-reviews" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-relations" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/product-sets" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/promotions-discounts" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/raitings-review" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/reclamations" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/refunds" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/reorder" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/search" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/shared-carts" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/shipment" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/spryker-core" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/spryker-core-back-office" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/spryker-core-e-commerce" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/state-machine" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", + "version": "9999999-dev", + "package": "spryker-feature/tax" + }, + { + "alias": "2018.10", + "alias_normalized": "2018.10.0.0", "version": "9999999-dev", - "package": "spryker-eco/loggly" + "package": "spryker-feature/wishlist" } ], "minimum-stability": "dev", "stability-flags": { - "spryker-eco/loggly": 20 + "spryker-eco/loggly": 20, + "spryker-feature/agent-assist": 20, + "spryker-feature/alternative-products": 20, + "spryker-feature/cart": 20, + "spryker-feature/catalog": 20, + "spryker-feature/category-management": 20, + "spryker-feature/checkout": 20, + "spryker-feature/cms": 20, + "spryker-feature/content-based-shop-navigation": 20, + "spryker-feature/customer-account-management": 20, + "spryker-feature/deployment-tools": 20, + "spryker-feature/development-integration": 20, + "spryker-feature/development-tools": 20, + "spryker-feature/digital-asset-management": 20, + "spryker-feature/discontinued-products": 20, + "spryker-feature/file-manager": 20, + "spryker-feature/gift-cards": 20, + "spryker-feature/inventory-management": 20, + "spryker-feature/invoice": 20, + "spryker-feature/mailing-notifications": 20, + "spryker-feature/navigation": 20, + "spryker-feature/newsletter-subscription": 20, + "spryker-feature/notes": 20, + "spryker-feature/order-management": 20, + "spryker-feature/order-threshold": 20, + "spryker-feature/payments": 20, + "spryker-feature/persistent-cart": 20, + "spryker-feature/prices": 20, + "spryker-feature/product": 20, + "spryker-feature/product-bundles": 20, + "spryker-feature/product-groups": 20, + "spryker-feature/product-image-management": 20, + "spryker-feature/product-labels": 20, + "spryker-feature/product-options": 20, + "spryker-feature/product-promotions": 20, + "spryker-feature/product-raiting-reviews": 20, + "spryker-feature/product-relations": 20, + "spryker-feature/product-sets": 20, + "spryker-feature/promotions-discounts": 20, + "spryker-feature/raitings-review": 20, + "spryker-feature/reclamations": 20, + "spryker-feature/refunds": 20, + "spryker-feature/reorder": 20, + "spryker-feature/search": 20, + "spryker-feature/shared-carts": 20, + "spryker-feature/shipment": 20, + "spryker-feature/spryker-core": 20, + "spryker-feature/spryker-core-back-office": 20, + "spryker-feature/spryker-core-e-commerce": 20, + "spryker-feature/state-machine": 20, + "spryker-feature/tax": 20, + "spryker-feature/wishlist": 20 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php b/src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php deleted file mode 100644 index e9c040163d..0000000000 --- a/src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php +++ /dev/null @@ -1,28 +0,0 @@ - Date: Thu, 1 Nov 2018 13:37:30 +0200 Subject: [PATCH 42/91] SUITE-772: Category filter side menu is different --- .../views/catalog-with-cms-block/catalog-with-cms-block.twig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig b/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig index bf4d590923..defb3abc48 100644 --- a/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig +++ b/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig @@ -8,6 +8,7 @@ categoryId: _view.idCategory | default, filterPath: _view.filterPath | default, viewMode: _view.viewMode | default, + isEmptyCategoryFilterValueVisible: _view.isEmptyCategoryFilterValueVisible | default, title: _view.category.name | default, metaTitle: _view.pageTitle | default(_view.category.name | default), From cd386a9394c5c0ff421fa30e43ba1b7c470f489c Mon Sep 17 00:00:00 2001 From: Denis Turkov Date: Fri, 2 Nov 2018 16:29:25 +0100 Subject: [PATCH 43/91] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d5ac7d6040..7675f20859 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Spryker Shop Suite -[![Build Status](https://api.travis-ci.org/spryker-shop/suite.svg?branch=master)](https://travis-ci.org/spryker-shop/suite) +[![Build Status](https://api.travis-ci.org/spryker-shop/suite-b2b.svg?branch=master)](https://travis-ci.org/spryker-shop/suite) [![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg)](https://php.net/) License: [MIT](LICENSE) ## Installation -In order to install Spryker Shop Suite on your machine, you can follow the instructions described in the link below : +In order to install Spryker B2C Demo Shop on your machine, you can follow the instructions described in the link below : * [Installation Guide](https://academy.spryker.com/getting_started/installation_guide.html) From 61611db7390456f408b5b3bc9f2195f65c0da2bd Mon Sep 17 00:00:00 2001 From: Denis Turkov Date: Fri, 2 Nov 2018 16:29:43 +0100 Subject: [PATCH 44/91] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7675f20859..7aa60375b9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Spryker Shop Suite +# Spryker B2C Demo Shop [![Build Status](https://api.travis-ci.org/spryker-shop/suite-b2b.svg?branch=master)](https://travis-ci.org/spryker-shop/suite) [![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg)](https://php.net/) From ca2faf5151057ccbfe4565128046665b3cedcb0a Mon Sep 17 00:00:00 2001 From: Alexander Veselov Date: Fri, 2 Nov 2018 17:23:25 +0000 Subject: [PATCH 45/91] SUITE-806(SUITE-771): updated packages, fixing bugs after the update --- composer.json | 40 +- composer.lock | 1534 ++--- .../config_default-development-heroku.php | 5 +- config/Shared/config_default-development.php | 3 +- config/Shared/config_default-devtest.php | 5 +- config/Shared/config_default.php | 13 +- .../PropelMigration_1540205663.php | 5081 ----------------- .../PropelMigration_1540205665.php | 5081 ----------------- .../Oauth/Persistence/SpyOauthAccessToken.php | 24 + .../Persistence/SpyOauthAccessTokenQuery.php | 24 + .../Zed/Oauth/Persistence/SpyOauthClient.php | 24 + .../Oauth/Persistence/SpyOauthClientQuery.php | 24 + .../Zed/Oauth/Persistence/SpyOauthScope.php | 24 + .../Oauth/Persistence/SpyOauthScopeQuery.php | 24 + .../Customer/CustomerDependencyProvider.php | 4 +- .../Query/SaleSearchQueryPlugin.php | 7 +- .../Client/Price/PriceDependencyProvider.php | 2 + ...ctAlternativeStorageDependencyProvider.php | 2 +- .../ProductNewDependencyProvider.php | 8 +- .../ProductReview/ProductReviewConfig.php | 4 +- .../ProductStorageDependencyProvider.php | 3 + src/Pyz/Client/RabbitMq/RabbitMqConfig.php | 9 +- .../Barcode/BarcodeDependencyProvider.php | 24 - .../ExampleProductSalePageConfig.php | 4 +- .../Product/Transfer/product.transfer.xml | 12 + .../CartPage/CartPageDependencyProvider.php | 29 - .../molecules/cart-item/cart-item.twig | 18 +- .../Theme/default/views/cart/cart.twig | 29 +- .../CatalogPageDependencyProvider.php | 4 - .../catalog-with-cms-block.twig | 1 + .../simple-cms-block/simple-cms-block.twig | 1 + .../CheckoutPageDependencyProvider.php | 8 +- .../Theme/default/views/summary/summary.twig | 23 +- .../CmsContentWidgetDependencyProvider.php | 5 + .../pdp-color-selector-widget.twig | 2 +- .../product-color-selector-widget.twig | 2 +- .../Controller/SaleController.php | 2 +- .../ExampleProductSaleControllerProvider.php | 2 +- .../product-configurator.twig | 152 + .../ShopApplicationDependencyProvider.php | 104 +- .../Yves/ShopApplication/YvesBootstrap.php | 4 +- .../molecules/product-card/product-card.twig | 22 +- .../navigation-top/navigation-top.twig | 29 +- .../ApplicationDependencyProvider.php | 2 + src/Pyz/Zed/Cart/CartDependencyProvider.php | 23 +- .../CmsBlockCategoryConnectorConfig.php | 6 +- .../CmsContentWidgetConfig.php | 4 +- .../EventBehaviorDependencyProvider.php | 86 + .../Controller/TestController.php | 2 +- .../Propel/Schema/spy_file_manager.schema.xml | 29 + .../Installer/InstallerDependencyProvider.php | 8 +- .../Schema/spy_price_product.schema.xml | 11 + .../PriceProductDependencyProvider.php | 28 + .../Schema/spy_product_quantity.schema.xml | 14 + .../spy_product_quantity_storage.schema.xml | 14 + .../ProductQuantityStorageConfig.php | 22 + src/Pyz/Zed/Queue/QueueConfig.php | 2 +- src/Pyz/Zed/Queue/QueueDependencyProvider.php | 4 + src/Pyz/Zed/Quote/QuoteDependencyProvider.php | 36 - src/Pyz/Zed/Url/UrlDependencyProvider.php | 2 +- 60 files changed, 1400 insertions(+), 11315 deletions(-) delete mode 100644 src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php delete mode 100644 src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php create mode 100644 src/Orm/Zed/Oauth/Persistence/SpyOauthAccessToken.php create mode 100644 src/Orm/Zed/Oauth/Persistence/SpyOauthAccessTokenQuery.php create mode 100644 src/Orm/Zed/Oauth/Persistence/SpyOauthClient.php create mode 100644 src/Orm/Zed/Oauth/Persistence/SpyOauthClientQuery.php create mode 100644 src/Orm/Zed/Oauth/Persistence/SpyOauthScope.php create mode 100644 src/Orm/Zed/Oauth/Persistence/SpyOauthScopeQuery.php delete mode 100644 src/Pyz/Service/Barcode/BarcodeDependencyProvider.php create mode 100644 src/Pyz/Shared/Product/Transfer/product.transfer.xml create mode 100644 src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-configurator/product-configurator.twig create mode 100644 src/Pyz/Zed/EventBehavior/EventBehaviorDependencyProvider.php create mode 100644 src/Pyz/Zed/FileManager/Persistence/Propel/Schema/spy_file_manager.schema.xml create mode 100644 src/Pyz/Zed/PriceProduct/PriceProductDependencyProvider.php create mode 100755 src/Pyz/Zed/ProductQuantity/Persistence/Propel/Schema/spy_product_quantity.schema.xml create mode 100755 src/Pyz/Zed/ProductQuantityStorage/Persistence/Propel/Schema/spy_product_quantity_storage.schema.xml create mode 100644 src/Pyz/Zed/ProductQuantityStorage/ProductQuantityStorageConfig.php diff --git a/composer.json b/composer.json index 87667a0b0f..ab976a2141 100644 --- a/composer.json +++ b/composer.json @@ -36,6 +36,7 @@ "spryker-feature/mailing-notifications": "dev-master as 2018.10", "spryker-feature/navigation": "dev-master as 2018.10", "spryker-feature/newsletter-subscription": "dev-master as 2018.10", + "spryker-feature/non-splittable-products": "dev-master", "spryker-feature/notes": "dev-master as 2018.10", "spryker-feature/order-management": "dev-master as 2018.10", "spryker-feature/order-threshold": "dev-master", @@ -58,7 +59,6 @@ "spryker-feature/refunds": "dev-master as 2018.10", "spryker-feature/reorder": "dev-master as 2018.10", "spryker-feature/search": "dev-master as 2018.10", - "spryker-feature/shared-carts": "dev-master as 2018.10", "spryker-feature/shipment": "dev-master as 2018.10", "spryker-feature/spryker-core": "dev-master as 2018.10", "spryker-feature/spryker-core-back-office": "dev-master as 2018.10", @@ -66,31 +66,42 @@ "spryker-feature/state-machine": "dev-master as 2018.10", "spryker-feature/tax": "dev-master as 2018.10", "spryker-feature/wishlist": "dev-master as 2018.10", + "spryker-shop/calculation-page": "^1.0.0", + "spryker-shop/cart-note-widget": "*", + "spryker-shop/cms-content-widget-chart-connector": "^1.0.0", + "spryker-shop/cms-content-widget-product-connector": "^1.0.0", + "spryker-shop/cms-content-widget-product-set-connector": "^1.0.0", + "spryker/api": "^0.1.4", + "spryker/assertion": "*", "spryker/availability-cart-connector": "^4.2", + "spryker/barcode": "*", "spryker/cart-currency-connector": "^1.1", + "spryker/cart-note": "*", "spryker/cart-note-product-bundle-connector": "^0.1.0", "spryker/cart-permission-connector": "^1.0", "spryker/catalog-price-product-connector": "^1.2", + "spryker/category-navigation-connector": "^1.0.0", + "spryker/chart": "*", + "spryker/cms-navigation-connector": "^1.0.0", + "spryker/cms-user-connector": "^1.0", + "spryker/customer-api": "*", "spryker/customer-catalog": "^1.0", "spryker/customer-group-discount-connector": "^2.0", "spryker/customer-user-connector": "^1.0", "spryker/customer-user-connector-gui": "^1.1", "spryker/discount-calculation-connector": "^5.0", - "spryker/category-navigation-connector": "^1.0.0", - "spryker/cms-navigation-connector": "^1.0.0", - "spryker/shipment-checkout-connector": "^1.0.0", - "spryker-shop/cms-content-widget-product-connector": "^1.0.0", - "spryker-shop/cms-content-widget-product-set-connector": "^1.0.0", - "spryker-shop/cms-content-widget-chart-connector": "^1.0.0", "spryker/event-journal": "^3.0.0", + "spryker/flysystem-ftp-file-system": "^1.0.0", "spryker/flysystem-local-file-system": "^1.0", "spryker/gift-card-mail-connector": "^1.0", "spryker/new-relic": "^3.0.0", "spryker/oauth-customer-connector": "^1.0", + "spryker/offer-gui": "^0.1.6", "spryker/oms-discount-connector": "^3.0", "spryker/payment-cart-connector": "^1.0", "spryker/price-cart-connector": "^4.5", "spryker/product-alternative-product-label-connector": "^1.0", + "spryker/product-api": "*", "spryker/product-cart-connector": "^4.3", "spryker/product-category": "^4.6", "spryker/product-discontinued-product-bundle-connector": "^1.0", @@ -98,22 +109,13 @@ "spryker/product-discount-connector": "^3.2", "spryker/product-image-cart-connector": "^1.0", "spryker/product-option-cart-connector": "^5.0", + "spryker/product-validity": "^1.0", "spryker/rabbit-mq": "^2.2", "spryker/sales-product-connector": "^1.1", + "spryker/sales-statistics": "^1.0.0", "spryker/setup": "^4.0", + "spryker/shipment-checkout-connector": "^1.0.0", "spryker/stock-sales-connector": "^3.0", - "spryker/api": "^0.1.4", - "spryker/customer-api": "*", - "spryker/product-api": "*", - "spryker/assertion": "*", - "spryker/chart": "*", - "spryker/barcode": "*", - "spryker/cart-note": "*", - "spryker-shop/cart-note-widget": "*", - "spryker/sales-statistics": "^1.0.0", - "spryker/flysystem-ftp-file-system": "^1.0.0", - "spryker/offer-gui": "^0.1.6", - "spryker-shop/calculation-page": "^1.0.0", "swiftmailer/swiftmailer": "^5.4.5" }, "require-dev": { diff --git a/composer.lock b/composer.lock index e5124adf3b..1b19727eb4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "fa730e21c56dc2be4b6a35da24044760", + "content-hash": "d770939d688e13bbffbddae78e84968a", "packages": [ { "name": "container-interop/container-interop", @@ -2068,13 +2068,13 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/agent-assist.git", - "reference": "b046f5752d8eea17dbc9e9cbf95f26aa18d30a03" + "reference": "e0dfdaff3348cebfe0c818afab12a0f445a40c29" }, "require": { "php": ">=7.1", "spryker-shop/agent-page": "^1.0.0", "spryker-shop/agent-widget": "^1.1.0", - "spryker/agent": "^1.0.0", + "spryker/agent": "^1.0.1", "spryker/agent-gui": "^1.0.0" }, "type": "metapackage", @@ -2082,7 +2082,7 @@ "proprietary" ], "description": "Agent Assist [feature]", - "time": "2018-10-26T16:41:47+00:00" + "time": "2018-11-02T15:49:38+00:00" }, { "name": "spryker-feature/alternative-products", @@ -2090,7 +2090,7 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/alternative-products.git", - "reference": "52951c195da9968bd67f79e3eb8fad8ed7e4ade8" + "reference": "112d756e43223485fe6a1fba8f2eaa757145d8e7" }, "require": { "php": ">=7.1", @@ -2100,14 +2100,14 @@ "spryker/product-alternative": "^1.0.0", "spryker/product-alternative-data-import": "^1.0.0", "spryker/product-alternative-gui": "^1.0.0", - "spryker/product-alternative-storage": "^1.1.1" + "spryker/product-alternative-storage": "^1.2.0" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Alternative Products [feature]", - "time": "2018-10-26T16:41:50+00:00" + "time": "2018-11-02T15:51:41+00:00" }, { "name": "spryker-feature/cart", @@ -2115,13 +2115,13 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/cart.git", - "reference": "13770e70cddf6f8d0ac5d3d18446ce55d2d92003" + "reference": "c839b3dc6c4d5bc45149bcfa28b3ff11d787c8be" }, "require": { "php": ">=7.1", "spryker-shop/cart-page": "^1.4.2", "spryker/calculation": "^4.4.1", - "spryker/cart": "^5.4.0", + "spryker/cart": "^5.5.1", "spryker/cart-variant": "^1.0.4" }, "type": "metapackage", @@ -2129,7 +2129,7 @@ "proprietary" ], "description": "Cart [feature]", - "time": "2018-10-30T18:25:32+00:00" + "time": "2018-11-02T15:51:45+00:00" }, { "name": "spryker-feature/catalog", @@ -2137,7 +2137,7 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/catalog.git", - "reference": "30eeb14624eab854718b1f9b34fdeee553a0ee0c" + "reference": "6d49300d4f6b92a6d56d3f0de7ab7b967fdb731b" }, "require": { "php": ">=7.1", @@ -2150,7 +2150,7 @@ "proprietary" ], "description": "Catalog [feature]", - "time": "2018-10-30T18:25:35+00:00" + "time": "2018-11-02T15:51:49+00:00" }, { "name": "spryker-feature/category-management", @@ -2158,7 +2158,7 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/category-management.git", - "reference": "6d9f24829258aab9ace6c529e9dfb180475d229b" + "reference": "d5edfb382b1f9c6803bbdd06fae3fa2093b79315" }, "require": { "php": ">=7.1", @@ -2176,7 +2176,7 @@ "proprietary" ], "description": "Category Management [feature]", - "time": "2018-10-26T16:43:55+00:00" + "time": "2018-11-02T15:51:51+00:00" }, { "name": "spryker-feature/checkout", @@ -2207,17 +2207,16 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/cms.git", - "reference": "99718b3f26fe8d7e9e1d6f8ed78754695682938e" + "reference": "32f10c6bf7691d46174a4426ce5e78a466c91a52" }, "require": { "php": ">=7.1", - "spryker-shop/cms-block-widget": "*", + "spryker-shop/cms-block-widget": "^1.1.0", "spryker-shop/cms-page": "^1.0.0", - "spryker/cms": "^6.5.3", + "spryker/cms": "^6.5.4", "spryker/cms-block": "^2.1.1", "spryker/cms-block-category-connector": "^2.1.4", "spryker/cms-block-category-storage": "^1.0.1", - "spryker/cms-block-collector": "^2.0.0", "spryker/cms-block-gui": "^2.0.1", "spryker/cms-block-product-connector": "^1.1.4", "spryker/cms-block-product-storage": "^1.0.1", @@ -2237,7 +2236,7 @@ "proprietary" ], "description": "CMS [feature]", - "time": "2018-10-30T20:36:06+00:00" + "time": "2018-11-02T15:51:54+00:00" }, { "name": "spryker-feature/content-based-shop-navigation", @@ -2245,22 +2244,18 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/content-based-shop-navigation.git", - "reference": "dc8650aacaa809fc601ed87416a73dca7d1d0043" + "reference": "a4a42c2508a9b759367e63cc103935032fb90996" }, "require": { "php": ">=7.1", - "spryker-feature/navigation": "^2018.10", - "spryker/navigation": "^2.3.1", - "spryker/navigation-collector": "^1.0.4", - "spryker/navigation-gui": "^2.1.2", - "spryker/navigation-storage": "^1.0.1" + "spryker-feature/navigation": "^2018.10" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Content Based Shop Navigation [feature]", - "time": "2018-10-26T16:42:19+00:00" + "time": "2018-11-02T15:49:58+00:00" }, { "name": "spryker-feature/customer-account-management", @@ -2268,20 +2263,20 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/customer-account-management.git", - "reference": "4e4e3606287d2175d8b73bd92abb27be0d60568e" + "reference": "a19e0fefba24161b08120c2b4382a12fe1dede7c" }, "require": { "php": ">=7.1", "spryker-shop/customer-page": "^1.10.1", - "spryker/customer": "^7.13.0", - "spryker/customer-group": "^2.2.7" + "spryker/customer": "^7.13.2", + "spryker/customer-group": "^2.3.0" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Customer Account Management [feature]", - "time": "2018-10-30T18:25:46+00:00" + "time": "2018-11-02T15:52:00+00:00" }, { "name": "spryker-feature/deployment-tools", @@ -2289,18 +2284,17 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/deployment-tools.git", - "reference": "8a5cc8928e179fa0b4eaf7a7675c06b01db789f7" + "reference": "78436190c3f6cd511c91520f5b9eed20f30e9dce" }, "require": { - "php": ">=7.1", - "spryker/console": "^4.0.0" + "php": ">=7.1" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Deployment tools [feature]", - "time": "2018-10-26T16:42:32+00:00" + "time": "2018-11-02T15:52:04+00:00" }, { "name": "spryker-feature/development-integration", @@ -2308,14 +2302,15 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/development-integration.git", - "reference": "d05c761d63ce031ffef2481143ff37d4a735e06c" + "reference": "d23e0c6b57943cc0d59cd740e8a7cce22d2057c5" }, "require": { "php": ">=7.1", - "spryker-shop/heartbeat-page": "^1.0.0", + "spryker-shop/heartbeat-page": "^1.0.1", "spryker/code-generator": "^0.3.7", + "spryker/console": "^4.0.0", "spryker/development": "^3.13.1", - "spryker/heartbeat": "^3.2.2", + "spryker/heartbeat": "^3.2.3", "spryker/install": "^0.5.0" }, "type": "metapackage", @@ -2323,7 +2318,7 @@ "proprietary" ], "description": "Development & Integration [feature]", - "time": "2018-10-26T16:42:35+00:00" + "time": "2018-11-02T15:52:06+00:00" }, { "name": "spryker-feature/development-tools", @@ -2504,18 +2499,22 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/navigation.git", - "reference": "ff898a266bb4476c61e86d11fbf029d5a6bdedd0" + "reference": "c006a3f02ca2d0ee075b4be46e52236c22c26c27" }, "require": { "php": ">=7.1", - "spryker-feature/spryker-core": "^2018.10" + "spryker-feature/spryker-core": "^2018.10", + "spryker/navigation": "^2.3.1", + "spryker/navigation-collector": "^1.0.4", + "spryker/navigation-gui": "^2.1.2", + "spryker/navigation-storage": "^1.0.1" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Navigation [feature]", - "time": "2018-10-26T16:43:29+00:00" + "time": "2018-11-02T15:52:28+00:00" }, { "name": "spryker-feature/newsletter-subscription", @@ -2535,6 +2534,28 @@ "description": "Newsletter Subscription [feature]", "time": "2018-10-26T16:43:32+00:00" }, + { + "name": "spryker-feature/non-splittable-products", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/spryker-feature/non-splittable-products.git", + "reference": "ba2ab168f0fab958576060fffe8d31d4a180b5c3" + }, + "require": { + "php": ">=7.1", + "spryker-feature/product": "^2018.10", + "spryker/product-quantity": "^1.0.2", + "spryker/product-quantity-data-import": "^1.2.0", + "spryker/product-quantity-storage": "^1.0.1" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "description": "Non-splittable Products [feature]", + "time": "2018-10-26T16:43:35+00:00" + }, { "name": "spryker-feature/notes", "version": "dev-master", @@ -2583,7 +2604,7 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/order-threshold.git", - "reference": "416cac413ed4415e9323f974d1b59a23cec577b1" + "reference": "d8bd6d96ac334071f00bc9d13a9ec8cea77d779b" }, "require": { "php": ">=7.1", @@ -2593,7 +2614,7 @@ "spryker-feature/prices": "^2018.10", "spryker-feature/spryker-core-e-commerce": "^2018.10", "spryker-shop/sales-order-threshold-widget": "^1.1.0", - "spryker/sales-order-threshold": "^1.0.0", + "spryker/sales-order-threshold": "^1.1.1", "spryker/sales-order-threshold-data-import": "^0.1.0", "spryker/sales-order-threshold-gui": "^1.0.1" }, @@ -2602,7 +2623,7 @@ "proprietary" ], "description": "Order Threshold [feature]", - "time": "2018-10-30T18:26:26+00:00" + "time": "2018-11-02T15:52:33+00:00" }, { "name": "spryker-feature/payments", @@ -2628,19 +2649,19 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/persistent-cart.git", - "reference": "5b47bda0c47521f85681657804af779d15fdc2ca" + "reference": "83332b34ec4b2e61c157e582b7779505ec9cb758" }, "require": { "php": ">=7.1", "spryker-feature/cart": "^2018.10", - "spryker/persistent-cart": "^1.2.0" + "spryker/persistent-cart": "^1.3.0" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Persistent cart [feature]", - "time": "2018-10-26T16:43:54+00:00" + "time": "2018-11-02T15:52:39+00:00" }, { "name": "spryker-feature/prices", @@ -2648,7 +2669,7 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/prices.git", - "reference": "fbcfcfbb6cdf4e49e49eb92da21712387c2063cf" + "reference": "78063e80913a2b54d3ffdcb034c0c81da9d1c319" }, "require": { "php": ">=7.1", @@ -2656,10 +2677,10 @@ "spryker-shop/money-widget": "^1.1.3", "spryker-shop/price-product-volume-widget": "^1.1.0", "spryker-shop/price-widget": "^1.1.0", - "spryker/currency": "^3.5.1", + "spryker/currency": "^3.5.2", "spryker/price": "^5.3.0", "spryker/price-data-feed": "^0.2.1", - "spryker/price-product": "^2.3.2", + "spryker/price-product": "^2.3.3", "spryker/price-product-data-import": "^0.1.5", "spryker/price-product-storage": "^2.3.1", "spryker/price-product-volume": "^1.1.1" @@ -2669,7 +2690,7 @@ "proprietary" ], "description": "Prices [feature]", - "time": "2018-10-30T18:26:33+00:00" + "time": "2018-11-02T15:52:41+00:00" }, { "name": "spryker-feature/product", @@ -2677,13 +2698,13 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/product.git", - "reference": "f96f24af9141dd37e58e08dfb31f44c8888622b6" + "reference": "694e7cf8a87c1f906ce71920ecf69f550b7bd64f" }, "require": { "php": ">=7.1", "spryker-feature/spryker-core": "^2018.10", "spryker-shop/product-category-widget": "^1.1.0", - "spryker-shop/product-detail-page": "^1.6.1", + "spryker-shop/product-detail-page": "^1.7.0", "spryker-shop/product-image-widget": "^1.0.1", "spryker-shop/product-widget": "^1.2.1", "spryker/product": "^6.7.0", @@ -2699,14 +2720,14 @@ "spryker/product-page-search": "^2.2.1", "spryker/product-search": "^5.4.5", "spryker/product-search-config-storage": "^1.0.1", - "spryker/product-storage": "^1.3.1" + "spryker/product-storage": "^1.4.0" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Product [feature]", - "time": "2018-10-30T18:26:35+00:00" + "time": "2018-11-02T15:52:43+00:00" }, { "name": "spryker-feature/product-bundles", @@ -2775,7 +2796,7 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/product-labels.git", - "reference": "deb29732f82b8064d96afcdb8181e668bac64d6a" + "reference": "dc8fca6a43bc000020384949bbabbae4cb34cc34" }, "require": { "php": ">=7.1", @@ -2784,14 +2805,14 @@ "spryker-shop/product-new-page": "^1.0.1", "spryker/product-label-gui": "^2.0.10", "spryker/product-label-search": "^1.1.0", - "spryker/product-new": "^1.1.3" + "spryker/product-new": "^1.1.4" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Product Labels [feature]", - "time": "2018-10-30T18:26:42+00:00" + "time": "2018-11-02T15:52:53+00:00" }, { "name": "spryker-feature/product-options", @@ -2799,13 +2820,13 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/product-options.git", - "reference": "723be065981ab06c2d699b77da19b45a99485702" + "reference": "6e8689f630bf4d5bf1662803b1639d5649c9e023" }, "require": { "php": ">=7.1", "spryker-feature/product": "^2018.10", "spryker-shop/product-option-widget": "^1.2.1", - "spryker/product-option": "^6.4.0", + "spryker/product-option": "^6.4.1", "spryker/product-option-storage": "^1.0.1" }, "type": "metapackage", @@ -2813,7 +2834,7 @@ "proprietary" ], "description": "Product Options [feature]", - "time": "2018-10-30T18:26:45+00:00" + "time": "2018-11-02T15:52:57+00:00" }, { "name": "spryker-feature/product-promotions", @@ -2863,13 +2884,13 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/product-relations.git", - "reference": "4b33b76d570f8259744d554c7df24dca8f0f9814" + "reference": "8e52858b6165bb70f5bc691d8ef1503afe54795d" }, "require": { "php": ">=7.1", "spryker-feature/product": "^2018.10", "spryker-shop/product-relation-widget": "^1.1.0", - "spryker/product-relation": "^2.1.5", + "spryker/product-relation": "^2.1.6", "spryker/product-relation-collector": "^2.0.3", "spryker/product-relation-storage": "^1.1.0" }, @@ -2878,7 +2899,7 @@ "proprietary" ], "description": "Product Relations [feature]", - "time": "2018-10-26T16:44:36+00:00" + "time": "2018-11-02T15:53:00+00:00" }, { "name": "spryker-feature/product-sets", @@ -2886,25 +2907,25 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/product-sets.git", - "reference": "4746f71f81e52d9fd29154101f251b6c5c37bdea" + "reference": "f8224da3065dda011ac25a832ea36f1adf442d5c" }, "require": { "php": ">=7.1", "spryker-feature/product": "^2018.10", - "spryker-shop/product-set-detail-page": "^1.2.0", + "spryker-shop/product-set-detail-page": "^1.3.0", "spryker-shop/product-set-list-page": "^1.0.0", - "spryker-shop/product-set-widget": "^1.1.0", + "spryker-shop/product-set-widget": "^1.1.1", "spryker/product-set": "^1.3.4", "spryker/product-set-gui": "^2.0.4", "spryker/product-set-page-search": "^1.0.2", - "spryker/product-set-storage": "^1.0.2" + "spryker/product-set-storage": "^1.0.3" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Product Sets [feature]", - "time": "2018-10-26T16:44:51+00:00" + "time": "2018-11-02T15:53:03+00:00" }, { "name": "spryker-feature/promotions-discounts", @@ -2912,26 +2933,26 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/promotions-discounts.git", - "reference": "7810da98eb8172b1ca0b6ef29ed61b287a9b58ee" + "reference": "90c45cb884002333735a737f6c019b302db9e316" }, "require": { "php": ">=7.1", - "spryker-shop/discount-promotion-widget": "^1.2.0", + "spryker-shop/discount-promotion-widget": "^1.2.1", "spryker-shop/discount-widget": "^1.1.1", - "spryker/discount": "^6.3.8", + "spryker/discount": "^6.3.9", "spryker/discount-promotion": "^1.1.2", "spryker/product-label": "^2.5.1", "spryker/product-label-collector": "^1.1.2", "spryker/product-label-discount-connector": "^1.2.1", "spryker/product-label-storage": "^1.0.3", - "spryker/product-new": "^1.1.3" + "spryker/product-new": "^1.1.4" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Promotions & Discounts [feature]", - "time": "2018-10-30T18:26:51+00:00" + "time": "2018-11-02T15:53:08+00:00" }, { "name": "spryker-feature/raitings-review", @@ -2995,19 +3016,19 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/reorder.git", - "reference": "2c3ea5077fe54564a45994a17f7cfca1cc99e0fa" + "reference": "d1b88a858e012cb81d887c9b9894b67ca9f87329" }, "require": { "php": ">=7.1", "spryker-feature/cart": "^2018.10", - "spryker-shop/customer-reorder-widget": "^3.1.1" + "spryker-shop/customer-reorder-widget": "^4.0.0" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Reorder [feature]", - "time": "2018-10-26T16:45:01+00:00" + "time": "2018-11-02T15:53:15+00:00" }, { "name": "spryker-feature/search", @@ -3028,40 +3049,17 @@ "description": "Search [feature]", "time": "2018-10-26T16:45:05+00:00" }, - { - "name": "spryker-feature/shared-carts", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/spryker-feature/shared-carts.git", - "reference": "1a86b08370b3fb2946b5fe4b693fc2892121fae4" - }, - "require": { - "php": ">=7.1", - "spryker-feature/cart": "^2018.10", - "spryker-shop/shared-cart-page": "^1.2.0", - "spryker-shop/shared-cart-widget": "^1.3.1", - "spryker/shared-cart": "^1.4.0", - "spryker/shared-cart-data-import": "^0.1.0" - }, - "type": "metapackage", - "license": [ - "proprietary" - ], - "description": "Shared carts [feature]", - "time": "2018-10-26T16:45:08+00:00" - }, { "name": "spryker-feature/shipment", "version": "dev-master", "source": { "type": "git", "url": "https://github.com/spryker-feature/shipment.git", - "reference": "3871d9604cd00238665eab45f7b50573cb2a1f99" + "reference": "3f55f1e08ad0bcb71cde467caa458e89a060e9da" }, "require": { "php": ">=7.1", - "spryker/shipment": "^6.6.1", + "spryker/shipment": "^6.6.2", "spryker/shipment-cart-connector": "^1.0.1", "spryker/shipment-discount-connector": "^1.1.2" }, @@ -3070,7 +3068,7 @@ "proprietary" ], "description": "Shipment [feature]", - "time": "2018-10-26T16:45:11+00:00" + "time": "2018-11-02T15:53:18+00:00" }, { "name": "spryker-feature/spryker-core", @@ -3078,7 +3076,7 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/spryker-core.git", - "reference": "ffc67a16fde05b491c85bbc689ab51dfd5872dba" + "reference": "2dd3ca0b013f8d66eaf28d0086901c8e0836ffb3" }, "require": { "php": ">=7.1", @@ -3091,13 +3089,14 @@ "spryker-shop/shop-permission": "^1.1.0", "spryker-shop/shop-router": "^1.0.1", "spryker-shop/shop-translator": "^1.0.0", - "spryker-shop/shop-ui": "^1.8.0", - "spryker/application": "^3.9.2", + "spryker-shop/shop-ui": "^1.9.0", + "spryker/application": "^3.10.0", + "spryker/assertion": "^3.0.0", "spryker/country": "^3.2.0", "spryker/data-import": "^1.4.1", "spryker/glossary": "^3.3.5", - "spryker/glossary-storage": "^1.0.2", - "spryker/gui": "^3.13.1", + "spryker/glossary-storage": "^1.1.0", + "spryker/gui": "^3.13.2", "spryker/installer": "^4.0.1", "spryker/locale": "^3.1.0", "spryker/log": "^3.5.0", @@ -3106,7 +3105,9 @@ "spryker/propel": "^3.6.1", "spryker/propel-orm": "^1.7.1", "spryker/propel-query-builder": "^0.3.1", - "spryker/session": "^3.2.4", + "spryker/rabbit-mq": "^2.2.0", + "spryker/session": "^4.0.0", + "spryker/setup": "^4.0.2", "spryker/setup-frontend": "^1.0.2", "spryker/store": "^1.9.0", "spryker/synchronization": "^1.1.0", @@ -3114,14 +3115,14 @@ "spryker/url": "^3.4.1", "spryker/url-storage": "^1.0.1", "spryker/uuid-behavior": "^1.0.1", - "spryker/zed-request": "^3.4.2" + "spryker/zed-request": "^3.4.4" }, "type": "metapackage", "license": [ "proprietary" ], "description": "Spryker Core [feature]", - "time": "2018-10-30T18:27:06+00:00" + "time": "2018-11-02T15:53:23+00:00" }, { "name": "spryker-feature/spryker-core-back-office", @@ -3129,16 +3130,16 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/spryker-core-back-office.git", - "reference": "bf33368ea37505605842ad4e36d3f8affcc38adf" + "reference": "32fcc632d553908fdcb614ffb3c61817239934d0" }, "require": { "php": ">=7.1", "spryker/acl": "^3.0.9", - "spryker/auth": "^3.0.3", + "spryker/auth": "^3.0.4", "spryker/auth-mail-connector": "^3.0.0", "spryker/dashboard": "^1.0.0", - "spryker/gui": "^3.13.1", - "spryker/user": "^3.4.0", + "spryker/gui": "^3.13.2", + "spryker/user": "^3.4.2", "spryker/zed-navigation": "^1.2.2" }, "type": "metapackage", @@ -3146,7 +3147,7 @@ "proprietary" ], "description": "Spryker Core Back Office [feature]", - "time": "2018-10-30T18:27:08+00:00" + "time": "2018-11-02T15:53:25+00:00" }, { "name": "spryker-feature/spryker-core-e-commerce", @@ -3204,11 +3205,11 @@ "source": { "type": "git", "url": "https://github.com/spryker-feature/tax.git", - "reference": "1abdbf377dd911c628b646d427c7eb0123e92543" + "reference": "6337208c5bf7ed5314b3ca7090b81976ea981448" }, "require": { "php": ">=7.1", - "spryker/tax": "^5.4.0", + "spryker/tax": "^5.4.2", "spryker/tax-product-connector": "^4.1.0" }, "type": "metapackage", @@ -3216,7 +3217,7 @@ "proprietary" ], "description": "Tax [feature]", - "time": "2018-10-26T16:45:34+00:00" + "time": "2018-11-02T15:53:29+00:00" }, { "name": "spryker-feature/wishlist", @@ -3925,16 +3926,16 @@ }, { "name": "spryker-shop/cms-content-widget-product-set-connector", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/cms-content-widget-product-set-connector.git", - "reference": "19af6663e5c316bcc8654a27fad34f237b1f0295" + "reference": "e8ec965c7a9483490ed2c0631029962987e6b3b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-set-connector/zipball/19af6663e5c316bcc8654a27fad34f237b1f0295", - "reference": "19af6663e5c316bcc8654a27fad34f237b1f0295", + "url": "https://api.github.com/repos/spryker-shop/cms-content-widget-product-set-connector/zipball/e8ec965c7a9483490ed2c0631029962987e6b3b5", + "reference": "e8ec965c7a9483490ed2c0631029962987e6b3b5", "shasum": "" }, "require": { @@ -3972,7 +3973,7 @@ "proprietary" ], "description": "CmsContentWidgetProductSetConnector module", - "time": "2018-10-11T17:28:11+00:00" + "time": "2018-10-17T13:11:00+00:00" }, { "name": "spryker-shop/cms-page", @@ -4186,16 +4187,16 @@ }, { "name": "spryker-shop/customer-reorder-widget", - "version": "3.1.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-reorder-widget.git", - "reference": "ef29cacb3736db6bff0ef0fab126c572703ff5c3" + "reference": "2dd2ef9d425d0821e0236b58e80dfd362513c67a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-reorder-widget/zipball/ef29cacb3736db6bff0ef0fab126c572703ff5c3", - "reference": "ef29cacb3736db6bff0ef0fab126c572703ff5c3", + "url": "https://api.github.com/repos/spryker-shop/customer-reorder-widget/zipball/2dd2ef9d425d0821e0236b58e80dfd362513c67a", + "reference": "2dd2ef9d425d0821e0236b58e80dfd362513c67a", "shasum": "" }, "require": { @@ -4205,8 +4206,12 @@ "spryker/availability-storage": "^1.0.0", "spryker/cart": "^4.6.0 || ^5.0.0", "spryker/customer": "^7.4.0", + "spryker/glossary-storage": "^1.0.0", "spryker/kernel": "^3.16.0", + "spryker/locale": "^3.0.0", + "spryker/messenger": "^3.1.0", "spryker/product-bundle": "^4.1.0", + "spryker/product-storage": "^1.1.0", "spryker/sales": "^8.5.0", "spryker/symfony": "^3.1.0", "spryker/zed-request": "^3.4.0" @@ -4238,20 +4243,20 @@ "proprietary" ], "description": "CustomerReorderWidget module", - "time": "2018-09-06T12:19:41+00:00" + "time": "2018-10-31T10:02:43+00:00" }, { "name": "spryker-shop/discount-promotion-widget", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/discount-promotion-widget.git", - "reference": "ba809b9de8b628974f0a74f28062a60a6f31c5cf" + "reference": "6489de44f6d6d10aced845786e34b57b3a13d78a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/discount-promotion-widget/zipball/ba809b9de8b628974f0a74f28062a60a6f31c5cf", - "reference": "ba809b9de8b628974f0a74f28062a60a6f31c5cf", + "url": "https://api.github.com/repos/spryker-shop/discount-promotion-widget/zipball/6489de44f6d6d10aced845786e34b57b3a13d78a", + "reference": "6489de44f6d6d10aced845786e34b57b3a13d78a", "shasum": "" }, "require": { @@ -4285,7 +4290,7 @@ "proprietary" ], "description": "DiscountPromotionWidget module", - "time": "2018-10-11T17:28:11+00:00" + "time": "2018-10-29T10:27:00+00:00" }, { "name": "spryker-shop/discount-widget", @@ -4441,16 +4446,16 @@ }, { "name": "spryker-shop/heartbeat-page", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/heartbeat-page.git", - "reference": "c8e67d24a445f2b213913d28e1443e935daefaa7" + "reference": "b6cd6a70bd99a4e774a991b74ead35f90ecfedf3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/heartbeat-page/zipball/c8e67d24a445f2b213913d28e1443e935daefaa7", - "reference": "c8e67d24a445f2b213913d28e1443e935daefaa7", + "url": "https://api.github.com/repos/spryker-shop/heartbeat-page/zipball/b6cd6a70bd99a4e774a991b74ead35f90ecfedf3", + "reference": "b6cd6a70bd99a4e774a991b74ead35f90ecfedf3", "shasum": "" }, "require": { @@ -4459,12 +4464,14 @@ "spryker/heartbeat": "^3.2.0", "spryker/kernel": "^3.16.0", "spryker/search": "^7.0.0 || ^8.0.0", - "spryker/session": "^3.2.0", + "spryker/session": "^3.2.0 || ^4.0.0", "spryker/storage": "^3.4.0", "spryker/symfony": "^3.1.0" }, "require-dev": { - "spryker/silex": "*" + "spryker/code-sniffer": "*", + "spryker/silex": "*", + "spryker/testify": "*" }, "suggest": { "spryker/silex": "Use this module when using plugins that need Silex dependencies." @@ -4485,7 +4492,7 @@ "proprietary" ], "description": "HeartbeatPage module", - "time": "2018-06-13T13:42:55+00:00" + "time": "2018-10-29T12:36:15+00:00" }, { "name": "spryker-shop/home-page", @@ -5018,16 +5025,16 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "1.6.1", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "5ed4d293633f288f7d09af6bde53a3a05aa5340c" + "reference": "90b139181fa5163cafc08d24d654ce3122e01e22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/5ed4d293633f288f7d09af6bde53a3a05aa5340c", - "reference": "5ed4d293633f288f7d09af6bde53a3a05aa5340c", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/90b139181fa5163cafc08d24d654ce3122e01e22", + "reference": "90b139181fa5163cafc08d24d654ce3122e01e22", "shasum": "" }, "require": { @@ -5070,7 +5077,7 @@ "proprietary" ], "description": "ProductDetailPage module", - "time": "2018-10-25T13:08:04+00:00" + "time": "2018-10-29T13:09:42+00:00" }, { "name": "spryker-shop/product-discontinued-widget", @@ -5516,16 +5523,16 @@ }, { "name": "spryker-shop/product-set-detail-page", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-detail-page.git", - "reference": "ff1bf11a02a235f29991020d387864ab9af60825" + "reference": "cbd6c3f85ac9831ba4df30ce187517bf9f333692" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-detail-page/zipball/ff1bf11a02a235f29991020d387864ab9af60825", - "reference": "ff1bf11a02a235f29991020d387864ab9af60825", + "url": "https://api.github.com/repos/spryker-shop/product-set-detail-page/zipball/cbd6c3f85ac9831ba4df30ce187517bf9f333692", + "reference": "cbd6c3f85ac9831ba4df30ce187517bf9f333692", "shasum": "" }, "require": { @@ -5535,7 +5542,8 @@ "spryker-shop/shop-ui": "^1.0.0", "spryker/kernel": "^3.24.0", "spryker/product-set-storage": "^1.0.0", - "spryker/product-storage": "^1.1.0" + "spryker/product-storage": "^1.1.0", + "spryker/symfony": "^3.0.0" }, "require-dev": { "spryker-shop/product-set-widget": "*", @@ -5563,7 +5571,7 @@ "proprietary" ], "description": "ProductSetDetailPage module", - "time": "2018-10-11T17:28:11+00:00" + "time": "2018-10-26T10:48:38+00:00" }, { "name": "spryker-shop/product-set-list-page", @@ -5614,16 +5622,16 @@ }, { "name": "spryker-shop/product-set-widget", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-set-widget.git", - "reference": "a3b2ead1665db16855ea844d2b3e99223c13d7fd" + "reference": "baed3eade64c5ea7c9b37f0895feebd18b75300c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/a3b2ead1665db16855ea844d2b3e99223c13d7fd", - "reference": "a3b2ead1665db16855ea844d2b3e99223c13d7fd", + "url": "https://api.github.com/repos/spryker-shop/product-set-widget/zipball/baed3eade64c5ea7c9b37f0895feebd18b75300c", + "reference": "baed3eade64c5ea7c9b37f0895feebd18b75300c", "shasum": "" }, "require": { @@ -5659,7 +5667,7 @@ "proprietary" ], "description": "ProductSetWidget module", - "time": "2018-10-11T09:19:52+00:00" + "time": "2018-10-18T07:57:54+00:00" }, { "name": "spryker-shop/product-widget", @@ -5806,114 +5814,6 @@ "description": "SalesOrderThresholdWidget module", "time": "2018-10-10T14:15:13+00:00" }, - { - "name": "spryker-shop/shared-cart-page", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/spryker-shop/shared-cart-page.git", - "reference": "d5a7f2c03f624d751ec38ed92194109ac609eb29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shared-cart-page/zipball/d5a7f2c03f624d751ec38ed92194109ac609eb29", - "reference": "d5a7f2c03f624d751ec38ed92194109ac609eb29", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker-shop/cart-page": "^1.0.0", - "spryker-shop/shop-application": "^1.0.0", - "spryker-shop/shop-ui": "^1.0.0", - "spryker/application": "^3.0.0", - "spryker/company-user": "^1.0.0 || ^2.0.0", - "spryker/customer": "^7.0.0", - "spryker/kernel": "^3.19.0", - "spryker/multi-cart": "^1.1.0", - "spryker/shared-cart": "^1.4.0", - "spryker/symfony": "^3.1.0" - }, - "require-dev": { - "spryker-shop/multi-cart-page": "*", - "spryker/code-sniffer": "*", - "spryker/silex": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker-shop/multi-cart-page": "if you want to use customer layout templates: ^1.1.0", - "spryker/permission": "If you want to use permissions plugins", - "spryker/silex": "Use this module when using plugins that need Silex dependencies." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "SprykerShop\\": "src/SprykerShop/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "SharedCartPage module", - "time": "2018-10-05T12:44:15+00:00" - }, - { - "name": "spryker-shop/shared-cart-widget", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/spryker-shop/shared-cart-widget.git", - "reference": "074d7e7245fa7b86f11fd376c1ed24a41eebce18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shared-cart-widget/zipball/074d7e7245fa7b86f11fd376c1ed24a41eebce18", - "reference": "074d7e7245fa7b86f11fd376c1ed24a41eebce18", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker-shop/shop-ui": "^1.0.0", - "spryker/customer": "^7.0.0", - "spryker/kernel": "^3.24.0", - "spryker/multi-cart": "^1.3.0", - "spryker/shared-cart": "^1.2.0" - }, - "require-dev": { - "spryker-shop/multi-cart-page": "*", - "spryker-shop/multi-cart-widget": "*", - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker-shop/multi-cart-page": "If you want to use CartDeleteCompanyUsersListWidgetPlugin and CartListPermissionGroupWidgetPlugin: ^1.0.0", - "spryker-shop/multi-cart-widget": "Widget plugins are available for this module.", - "spryker/permission": "If you want to use permissions plugins", - "spryker/silex": "Use this module when using plugins that need Silex dependencies." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "SprykerShop\\": "src/SprykerShop/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "SharedCartWidget module", - "time": "2018-10-22T12:04:36+00:00" - }, { "name": "spryker-shop/shop-application", "version": "1.3.0", @@ -6191,16 +6091,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.8.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "f74e573a578d13c6cb0f12b27da5cff81f67380a" + "reference": "fc32dcf0f05c501c66b925ab5ea35a9692ad4a63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/f74e573a578d13c6cb0f12b27da5cff81f67380a", - "reference": "f74e573a578d13c6cb0f12b27da5cff81f67380a", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/fc32dcf0f05c501c66b925ab5ea35a9692ad4a63", + "reference": "fc32dcf0f05c501c66b925ab5ea35a9692ad4a63", "shasum": "" }, "require": { @@ -6232,7 +6132,7 @@ "proprietary" ], "description": "ShopUi module", - "time": "2018-10-26T13:21:54+00:00" + "time": "2018-10-30T17:01:35+00:00" }, { "name": "spryker-shop/shopping-list-page-extension", @@ -6479,23 +6379,23 @@ }, { "name": "spryker/agent", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/agent.git", - "reference": "db3f0903aa024d18a0d68e487675c73941ca0a22" + "reference": "2f1095485555069420d0c7e373a172cd7def1862" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/agent/zipball/db3f0903aa024d18a0d68e487675c73941ca0a22", - "reference": "db3f0903aa024d18a0d68e487675c73941ca0a22", + "url": "https://api.github.com/repos/spryker/agent/zipball/2f1095485555069420d0c7e373a172cd7def1862", + "reference": "2f1095485555069420d0c7e373a172cd7def1862", "shasum": "" }, "require": { "php": ">=7.1", "spryker/customer": "^7.10.0", "spryker/kernel": "^3.23.0", - "spryker/session": "^3.2.0", + "spryker/session": "^3.2.0 || ^4.0.0", "spryker/user": "^3.2.0", "spryker/zed-request": "^3.4.0" }, @@ -6521,7 +6421,7 @@ "proprietary" ], "description": "Agent module", - "time": "2018-09-05T09:59:35+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/agent-gui", @@ -6669,16 +6569,16 @@ }, { "name": "spryker/application", - "version": "3.9.2", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/spryker/application.git", - "reference": "234a297ef950f4c73746329b8a992ca23d7cd9e1" + "reference": "83606e159eb792a64d259fad2444c82ef2e6c6d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/application/zipball/234a297ef950f4c73746329b8a992ca23d7cd9e1", - "reference": "234a297ef950f4c73746329b8a992ca23d7cd9e1", + "url": "https://api.github.com/repos/spryker/application/zipball/83606e159eb792a64d259fad2444c82ef2e6c6d6", + "reference": "83606e159eb792a64d259fad2444c82ef2e6c6d6", "shasum": "" }, "require": { @@ -6718,7 +6618,7 @@ "proprietary" ], "description": "Application module", - "time": "2018-09-24T10:19:19+00:00" + "time": "2018-11-01T16:50:10+00:00" }, { "name": "spryker/assertion", @@ -6765,30 +6665,31 @@ }, { "name": "spryker/auth", - "version": "3.0.3", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/spryker/auth.git", - "reference": "42d8fabd73d6c61128ae50df1bacb9d4f71ec576" + "reference": "83eb03a7273cfe1cd9fb0b257581c8e26172ae65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/auth/zipball/42d8fabd73d6c61128ae50df1bacb9d4f71ec576", - "reference": "42d8fabd73d6c61128ae50df1bacb9d4f71ec576", + "url": "https://api.github.com/repos/spryker/auth/zipball/83eb03a7273cfe1cd9fb0b257581c8e26172ae65", + "reference": "83eb03a7273cfe1cd9fb0b257581c8e26172ae65", "shasum": "" }, "require": { "php": ">=7.1", "spryker/kernel": "^3.0.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/symfony": "^3.0.0", "spryker/user": "^3.0.0", "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/config": "*", - "spryker/propel-orm": "*", + "spryker/discount": "*", + "spryker/propel": "*", "spryker/silex": "*", "spryker/testify": "*" }, @@ -6811,7 +6712,7 @@ "proprietary" ], "description": "Auth module", - "time": "2018-03-29T05:09:00+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/auth-mail-connector", @@ -7316,22 +7217,22 @@ }, { "name": "spryker/cart", - "version": "5.4.0", + "version": "5.5.1", "source": { "type": "git", "url": "https://github.com/spryker/cart.git", - "reference": "a321c0b85fb7be72715b969f75a388006db50d7f" + "reference": "c212884a123ff9051c66ece42f8ea44920d10712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cart/zipball/a321c0b85fb7be72715b969f75a388006db50d7f", - "reference": "a321c0b85fb7be72715b969f75a388006db50d7f", + "url": "https://api.github.com/repos/spryker/cart/zipball/c212884a123ff9051c66ece42f8ea44920d10712", + "reference": "c212884a123ff9051c66ece42f8ea44920d10712", "shasum": "" }, "require": { "php": ">=7.1", "spryker/calculation": "^4.0.0", - "spryker/cart-extension": "^1.5.0 || ^2.1.0", + "spryker/cart-extension": "^1.6.0 || ^2.2.1", "spryker/kernel": "^3.19.0", "spryker/messenger": "^3.0.0", "spryker/quote": "^2.0.0", @@ -7365,7 +7266,7 @@ "proprietary" ], "description": "Cart module", - "time": "2018-09-26T10:23:23+00:00" + "time": "2018-10-31T13:42:25+00:00" }, { "name": "spryker/cart-currency-connector", @@ -7412,16 +7313,16 @@ }, { "name": "spryker/cart-extension", - "version": "2.1.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/spryker/cart-extension.git", - "reference": "d1e6a13c30b4747b13959ac5abcbe2f977420416" + "reference": "76c39071de9b806368ba2b1be8677b5be9f39191" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cart-extension/zipball/d1e6a13c30b4747b13959ac5abcbe2f977420416", - "reference": "d1e6a13c30b4747b13959ac5abcbe2f977420416", + "url": "https://api.github.com/repos/spryker/cart-extension/zipball/76c39071de9b806368ba2b1be8677b5be9f39191", + "reference": "76c39071de9b806368ba2b1be8677b5be9f39191", "shasum": "" }, "require": { @@ -7447,7 +7348,7 @@ "proprietary" ], "description": "CartExtension module", - "time": "2018-07-30T14:19:38+00:00" + "time": "2018-10-31T13:42:25+00:00" }, { "name": "spryker/cart-note", @@ -8249,16 +8150,16 @@ }, { "name": "spryker/cms", - "version": "6.5.3", + "version": "6.5.4", "source": { "type": "git", "url": "https://github.com/spryker/cms.git", - "reference": "a3af36ae567bed5e8ce727e158236d033f457dcd" + "reference": "c85c2421595bf8068df0e3fb397bfce5109de313" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/cms/zipball/a3af36ae567bed5e8ce727e158236d033f457dcd", - "reference": "a3af36ae567bed5e8ce727e158236d033f457dcd", + "url": "https://api.github.com/repos/spryker/cms/zipball/c85c2421595bf8068df0e3fb397bfce5109de313", + "reference": "c85c2421595bf8068df0e3fb397bfce5109de313", "shasum": "" }, "require": { @@ -8304,7 +8205,7 @@ "proprietary" ], "description": "Cms module", - "time": "2018-09-18T09:51:56+00:00" + "time": "2018-10-24T13:58:18+00:00" }, { "name": "spryker/cms-block", @@ -8468,54 +8369,6 @@ "description": "CmsBlockCategoryStorage module", "time": "2018-07-17T18:22:31+00:00" }, - { - "name": "spryker/cms-block-collector", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/cms-block-collector.git", - "reference": "1330afab0f421e1a643a14c0bf776964af94a96c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/cms-block-collector/zipball/1330afab0f421e1a643a14c0bf776964af94a96c", - "reference": "1330afab0f421e1a643a14c0bf776964af94a96c", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/cms-block": "^2.0.0", - "spryker/collector": "^6.0.0", - "spryker/glossary": "^3.0.0", - "spryker/kernel": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/symfony": "^3.0.0", - "spryker/touch": "^3.0.0 || ^4.0.0", - "spryker/util-data-reader": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/silex": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "CmsBlockCollector module", - "time": "2018-01-31T11:25:02+00:00" - }, { "name": "spryker/cms-block-gui", "version": "2.0.1", @@ -9223,6 +9076,50 @@ "description": "CmsStorage module", "time": "2018-07-17T18:22:31+00:00" }, + { + "name": "spryker/cms-user-connector", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/CmsUserConnector.git", + "reference": "5d124aa6ddb7d492b5a9d1dc97e72f944c5c63f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/CmsUserConnector/zipball/5d124aa6ddb7d492b5a9d1dc97e72f944c5c63f5", + "reference": "5d124aa6ddb7d492b5a9d1dc97e72f944c5c63f5", + "shasum": "" + }, + "require": { + "spryker/cms": "^5.0.0 || ^6.0.0", + "spryker/kernel": "^3.0.0", + "spryker/user": "^3.0.1" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/propelorm": "^1.0.0", + "spryker/silex": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Spryker": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CmsUserConnector bundle", + "time": "2017-06-29T10:18:58+00:00" + }, { "name": "spryker/code-generator", "version": "0.3.7", @@ -9319,184 +9216,6 @@ "description": "Collector module", "time": "2018-10-08T12:38:04+00:00" }, - { - "name": "spryker/company", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/spryker/company.git", - "reference": "ddb396a094f8784ca5a87583d6e01d6628e5d3c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/company/zipball/ddb396a094f8784ca5a87583d6e01d6628e5d3c0", - "reference": "ddb396a094f8784ca5a87583d6e01d6628e5d3c0", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/company-extension": "^1.0.0", - "spryker/kernel": "^3.0.0", - "spryker/store": "^1.0.0", - "spryker/zed-request": "^3.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/mail": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/mail": "If you want to use mail plugins." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\Company\\Helper\\": "tests/SprykerTest/Zed/Company/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "Company module", - "time": "2018-06-14T09:24:59+00:00" - }, - { - "name": "spryker/company-extension", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/company-extension.git", - "reference": "1be7153b1c666ca4858a83c775b761c9bddcb99f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/company-extension/zipball/1be7153b1c666ca4858a83c775b761c9bddcb99f", - "reference": "1be7153b1c666ca4858a83c775b761c9bddcb99f", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "CompanyExtension module", - "time": "2018-03-13T18:47:20+00:00" - }, - { - "name": "spryker/company-user", - "version": "2.1.1", - "source": { - "type": "git", - "url": "https://github.com/spryker/company-user.git", - "reference": "cf0d2e34da4b8dc42fcdc3f4b60ba842a1c4c82e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/company-user/zipball/cf0d2e34da4b8dc42fcdc3f4b60ba842a1c4c82e", - "reference": "cf0d2e34da4b8dc42fcdc3f4b60ba842a1c4c82e", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/company": "^1.0.0", - "spryker/company-extension": "^1.0.0", - "spryker/company-user-extension": "^1.0.0", - "spryker/customer": "^7.0.0", - "spryker/kernel": "^3.0.0", - "spryker/permission-extension": "^1.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/zed-request": "^3.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/permission": "Permission ^1.0.0 to have possibility use user permissions." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Shared\\CompanyUser\\Helper\\": "tests/SprykerTest/Shared/CompanyUser/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "CompanyUser module", - "time": "2018-10-09T11:51:48+00:00" - }, - { - "name": "spryker/company-user-extension", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/company-user-extension.git", - "reference": "2435153d9838356fd7f14c6cc444b5b0c6b7569d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/company-user-extension/zipball/2435153d9838356fd7f14c6cc444b5b0c6b7569d", - "reference": "2435153d9838356fd7f14c6cc444b5b0c6b7569d", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "CompanyUserExtension module", - "time": "2018-03-14T10:13:27+00:00" - }, { "name": "spryker/config", "version": "3.1.3", @@ -9647,16 +9366,16 @@ }, { "name": "spryker/currency", - "version": "3.5.1", + "version": "3.5.2", "source": { "type": "git", "url": "https://github.com/spryker/currency.git", - "reference": "5e6ad2ac7c65b7d81be0358972c6c33d481be5a5" + "reference": "8a227917c93d20867e366afc82ab2eb071ab049b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/currency/zipball/5e6ad2ac7c65b7d81be0358972c6c33d481be5a5", - "reference": "5e6ad2ac7c65b7d81be0358972c6c33d481be5a5", + "url": "https://api.github.com/repos/spryker/currency/zipball/8a227917c93d20867e366afc82ab2eb071ab049b", + "reference": "8a227917c93d20867e366afc82ab2eb071ab049b", "shasum": "" }, "require": { @@ -9666,7 +9385,7 @@ "spryker/messenger": "^3.1.0", "spryker/propel-orm": "^1.0.0", "spryker/quote-extension": "^1.0.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/store": "^1.1.0", "spryker/symfony": "^3.0.0", "spryker/zed-request": "^3.2.0" @@ -9700,7 +9419,7 @@ "proprietary" ], "description": "Currency module", - "time": "2018-10-18T09:45:41+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/currency-extension", @@ -9743,16 +9462,16 @@ }, { "name": "spryker/customer", - "version": "7.13.0", + "version": "7.13.2", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "d0814cbe0a24dd599de793d52a281b02d50170ad" + "reference": "ac76c9e68affdb18127ea5ad66dad9e112a7d714" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/d0814cbe0a24dd599de793d52a281b02d50170ad", - "reference": "d0814cbe0a24dd599de793d52a281b02d50170ad", + "url": "https://api.github.com/repos/spryker/customer/zipball/ac76c9e68affdb18127ea5ad66dad9e112a7d714", + "reference": "ac76c9e68affdb18127ea5ad66dad9e112a7d714", "shasum": "" }, "require": { @@ -9766,7 +9485,7 @@ "spryker/propel": "^3.0.0", "spryker/propel-orm": "^1.5.0", "spryker/sequence-number": "^3.0.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/symfony": "^3.0.0", "spryker/util-date-time": "^1.0.0", "spryker/util-sanitize": "^2.0.0", @@ -9802,7 +9521,7 @@ "proprietary" ], "description": "Customer module", - "time": "2018-10-24T17:04:21+00:00" + "time": "2018-11-01T15:42:51+00:00" }, { "name": "spryker/customer-access", @@ -10082,16 +9801,16 @@ }, { "name": "spryker/customer-group", - "version": "2.2.7", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spryker/customer-group.git", - "reference": "4d1be60f75d846e40318ac31537853517893f54a" + "reference": "78f3c4eeede3c3eae585f3714b9b2e150d997a00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-group/zipball/4d1be60f75d846e40318ac31537853517893f54a", - "reference": "4d1be60f75d846e40318ac31537853517893f54a", + "url": "https://api.github.com/repos/spryker/customer-group/zipball/78f3c4eeede3c3eae585f3714b9b2e150d997a00", + "reference": "78f3c4eeede3c3eae585f3714b9b2e150d997a00", "shasum": "" }, "require": { @@ -10127,33 +9846,30 @@ "proprietary" ], "description": "CustomerGroup module", - "time": "2018-09-11T14:18:59+00:00" + "time": "2018-10-16T09:02:19+00:00" }, { "name": "spryker/customer-group-discount-connector", - "version": "2.0.3", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/spryker/customer-group-discount-connector.git", - "reference": "906fb8f914ba28466aaffbe66e0907d6bc3124ea" + "reference": "22958f55ffd5ef103661fb8d1b2110d64f6e8e41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-group-discount-connector/zipball/906fb8f914ba28466aaffbe66e0907d6bc3124ea", - "reference": "906fb8f914ba28466aaffbe66e0907d6bc3124ea", + "url": "https://api.github.com/repos/spryker/customer-group-discount-connector/zipball/22958f55ffd5ef103661fb8d1b2110d64f6e8e41", + "reference": "22958f55ffd5ef103661fb8d1b2110d64f6e8e41", "shasum": "" }, "require": { "php": ">=7.1", - "spryker/customer-group": "^2.0.0", + "spryker/customer-group": "^2.3.0", "spryker/discount": "^4.0.0 || ^5.0.0 || ^6.0.0", "spryker/kernel": "^3.0.0" }, "require-dev": { - "spryker/assertion": "*", - "spryker/code-sniffer": "*", - "spryker/config": "*", - "spryker/propel-orm": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -10172,7 +9888,7 @@ "proprietary" ], "description": "CustomerGroupDiscountConnector module", - "time": "2018-01-26T13:20:18+00:00" + "time": "2018-11-02T10:19:40+00:00" }, { "name": "spryker/customer-note", @@ -10549,16 +10265,16 @@ }, { "name": "spryker/discount", - "version": "6.3.8", + "version": "6.3.9", "source": { "type": "git", "url": "https://github.com/spryker/discount.git", - "reference": "9ef5f6cc2340ef43b8318a5e5f9fd54b4cfc769d" + "reference": "dd583fa7d215116aa22af40891875d513c0ce6f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/discount/zipball/9ef5f6cc2340ef43b8318a5e5f9fd54b4cfc769d", - "reference": "9ef5f6cc2340ef43b8318a5e5f9fd54b4cfc769d", + "url": "https://api.github.com/repos/spryker/discount/zipball/dd583fa7d215116aa22af40891875d513c0ce6f2", + "reference": "dd583fa7d215116aa22af40891875d513c0ce6f2", "shasum": "" }, "require": { @@ -10607,7 +10323,7 @@ "proprietary" ], "description": "Discount module", - "time": "2018-10-23T17:56:06+00:00" + "time": "2018-10-31T10:17:15+00:00" }, { "name": "spryker/discount-calculation-connector", @@ -10871,16 +10587,16 @@ }, { "name": "spryker/error-handler", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spryker/error-handler.git", - "reference": "b3f2949577b588ed5da4b150b65a4c61e9329cea" + "reference": "bfd27fbc9ab81c609030b1836024971b8cfad2eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/error-handler/zipball/b3f2949577b588ed5da4b150b65a4c61e9329cea", - "reference": "b3f2949577b588ed5da4b150b65a4c61e9329cea", + "url": "https://api.github.com/repos/spryker/error-handler/zipball/bfd27fbc9ab81c609030b1836024971b8cfad2eb", + "reference": "bfd27fbc9ab81c609030b1836024971b8cfad2eb", "shasum": "" }, "require": { @@ -10888,11 +10604,10 @@ "php": ">=7.1", "spryker/config": "^3.0.0", "spryker/log": "^3.0.0", - "spryker/monitoring": "^1.0.0" + "spryker/monitoring": "^1.0.0 || ^2.0.0" }, "require-dev": { "spryker/code-sniffer": "*", - "spryker/kernel": "*", "spryker/silex": "*", "spryker/testify": "*" }, @@ -10915,7 +10630,7 @@ "proprietary" ], "description": "ErrorHandler module", - "time": "2018-07-25T06:50:28+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/event", @@ -11645,16 +11360,16 @@ }, { "name": "spryker/glossary-storage", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/glossary-storage.git", - "reference": "8969ab992443382c82be13608707e859543fdcd7" + "reference": "d147c7c8a2c53a7516ad4163d5ae01836740d99c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/glossary-storage/zipball/8969ab992443382c82be13608707e859543fdcd7", - "reference": "8969ab992443382c82be13608707e859543fdcd7", + "url": "https://api.github.com/repos/spryker/glossary-storage/zipball/d147c7c8a2c53a7516ad4163d5ae01836740d99c", + "reference": "d147c7c8a2c53a7516ad4163d5ae01836740d99c", "shasum": "" }, "require": { @@ -11665,8 +11380,7 @@ "spryker/propel-orm": "^1.5.0", "spryker/storage": "^3.4.0", "spryker/synchronization": "^0.2.0 || ^1.0.0", - "spryker/synchronization-extension": "^1.0.0", - "spryker/util-sanitize": "^2.1.0" + "spryker/synchronization-extension": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", @@ -11696,7 +11410,7 @@ "proprietary" ], "description": "GlossaryStorage module", - "time": "2018-09-25T12:41:25+00:00" + "time": "2018-10-02T14:38:51+00:00" }, { "name": "spryker/graph", @@ -11772,16 +11486,16 @@ }, { "name": "spryker/gui", - "version": "3.13.1", + "version": "3.13.2", "source": { "type": "git", "url": "https://github.com/spryker/gui.git", - "reference": "b55c49345d537f227f67daa5fdc8bf8db4ecd0fd" + "reference": "0ae02a76fcd87d819e7911b2131e56022cebd7a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/gui/zipball/b55c49345d537f227f67daa5fdc8bf8db4ecd0fd", - "reference": "b55c49345d537f227f67daa5fdc8bf8db4ecd0fd", + "url": "https://api.github.com/repos/spryker/gui/zipball/0ae02a76fcd87d819e7911b2131e56022cebd7a4", + "reference": "0ae02a76fcd87d819e7911b2131e56022cebd7a4", "shasum": "" }, "require": { @@ -11794,7 +11508,8 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", + "spryker/propel": "*", "spryker/silex": "*", "spryker/testify": "*" }, @@ -11818,7 +11533,7 @@ "proprietary" ], "description": "Gui module", - "time": "2018-01-25T09:08:34+00:00" + "time": "2018-11-01T12:56:57+00:00" }, { "name": "spryker/guzzle", @@ -11853,16 +11568,16 @@ }, { "name": "spryker/heartbeat", - "version": "3.2.2", + "version": "3.2.3", "source": { "type": "git", "url": "https://github.com/spryker/heartbeat.git", - "reference": "477b3d28f8b3b58cbbe25b32b44890da14903e1d" + "reference": "738ef769450251e5e170b4244c32b25c8fb1ee43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/heartbeat/zipball/477b3d28f8b3b58cbbe25b32b44890da14903e1d", - "reference": "477b3d28f8b3b58cbbe25b32b44890da14903e1d", + "url": "https://api.github.com/repos/spryker/heartbeat/zipball/738ef769450251e5e170b4244c32b25c8fb1ee43", + "reference": "738ef769450251e5e170b4244c32b25c8fb1ee43", "shasum": "" }, "require": { @@ -11873,7 +11588,7 @@ "spryker/kernel": "^3.0.0", "spryker/propel-orm": "^1.0.0", "spryker/redis": "^2.0.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/storage": "^3.2.0", "spryker/symfony": "^3.0.0" }, @@ -11897,7 +11612,7 @@ "proprietary" ], "description": "Heartbeat module", - "time": "2018-09-11T09:39:45+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/index-generator", @@ -12474,22 +12189,22 @@ }, { "name": "spryker/messenger", - "version": "3.1.1", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/spryker/messenger.git", - "reference": "ea709b48675d2d27325b5bc8399fcd8519b2982f" + "reference": "01c855b8bcb37f87a469632687601f5ad6ca0fea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/messenger/zipball/ea709b48675d2d27325b5bc8399fcd8519b2982f", - "reference": "ea709b48675d2d27325b5bc8399fcd8519b2982f", + "url": "https://api.github.com/repos/spryker/messenger/zipball/01c855b8bcb37f87a469632687601f5ad6ca0fea", + "reference": "01c855b8bcb37f87a469632687601f5ad6ca0fea", "shasum": "" }, "require": { "php": ">=7.1", "spryker/kernel": "^3.0.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/symfony": "^3.0.0" }, "require-dev": { @@ -12514,7 +12229,7 @@ "proprietary" ], "description": "Messenger module", - "time": "2018-09-07T11:05:09+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/money", @@ -12571,16 +12286,16 @@ }, { "name": "spryker/monitoring", - "version": "1.0.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/spryker/monitoring.git", - "reference": "ea768619bd193bd97d5026c312e9d3de9d36b5a3" + "reference": "52c384c12344fb7bd58a4554498e4be8208f7526" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/monitoring/zipball/ea768619bd193bd97d5026c312e9d3de9d36b5a3", - "reference": "ea768619bd193bd97d5026c312e9d3de9d36b5a3", + "url": "https://api.github.com/repos/spryker/monitoring/zipball/52c384c12344fb7bd58a4554498e4be8208f7526", + "reference": "52c384c12344fb7bd58a4554498e4be8208f7526", "shasum": "" }, "require": { @@ -12588,7 +12303,6 @@ "spryker/kernel": "^3.0.0", "spryker/locale": "^3.0.0", "spryker/monitoring-extension": "^1.0.0", - "spryker/new-relic-api": "^1.1.0", "spryker/store": "^1.0.0", "spryker/util-network": "^1.0.0" }, @@ -12618,7 +12332,7 @@ "proprietary" ], "description": "Monitoring module", - "time": "2018-10-17T12:53:24+00:00" + "time": "2018-10-29T12:36:27+00:00" }, { "name": "spryker/monitoring-extension", @@ -12683,58 +12397,7 @@ "proprietary" ], "description": "Monolog module", - "time": "2017-08-02T16:31:17+00:00" - }, - { - "name": "spryker/multi-cart", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/multi-cart.git", - "reference": "b266dd310be460128bb5f4f2b4957a28885af8b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/multi-cart/zipball/b266dd310be460128bb5f4f2b4957a28885af8b6", - "reference": "b266dd310be460128bb5f4f2b4957a28885af8b6", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/customer": "^7.0.0", - "spryker/kernel": "^3.0.0", - "spryker/messenger": "^3.0.0", - "spryker/persistent-cart": "^1.0.0", - "spryker/persistent-cart-extension": "^1.0.0", - "spryker/propel-orm": "^1.6.0", - "spryker/quote": "^2.0.0", - "spryker/quote-extension": "^1.1.0", - "spryker/session": "^3.0.0", - "spryker/util-date-time": "^1.0.0", - "spryker/zed-request": "^3.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/propel": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "MultiCart module", - "time": "2018-09-25T12:26:41+00:00" + "time": "2017-08-02T16:31:17+00:00" }, { "name": "spryker/navigation", @@ -13316,16 +12979,16 @@ }, { "name": "spryker/offer-gui", - "version": "0.1.6", + "version": "0.1.7", "source": { "type": "git", "url": "https://github.com/spryker/offer-gui.git", - "reference": "fd5a4585ea588ce9f06b4663972969d1ff17cf54" + "reference": "a2382e7b75fa0f10fdb4924f26cd283f4cdbccdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/offer-gui/zipball/fd5a4585ea588ce9f06b4663972969d1ff17cf54", - "reference": "fd5a4585ea588ce9f06b4663972969d1ff17cf54", + "url": "https://api.github.com/repos/spryker/offer-gui/zipball/a2382e7b75fa0f10fdb4924f26cd283f4cdbccdf", + "reference": "a2382e7b75fa0f10fdb4924f26cd283f4cdbccdf", "shasum": "" }, "require": { @@ -13340,7 +13003,7 @@ "spryker/offer": "^0.1.0", "spryker/oms": "^8.0.0", "spryker/price": "^5.2.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/store": "^1.1.0", "spryker/symfony": "^3.0.0", "spryker/util-date-time": "^1.0.0", @@ -13373,7 +13036,7 @@ "proprietary" ], "description": "OfferGui module", - "time": "2018-09-13T10:56:27+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/oms", @@ -13653,16 +13316,16 @@ }, { "name": "spryker/persistent-cart", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/persistent-cart.git", - "reference": "e2522c578d5b14e11c8ec6e47071a35f0b935d88" + "reference": "8baacaba67d79ca32c4e32e473a271e24bb856fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/persistent-cart/zipball/e2522c578d5b14e11c8ec6e47071a35f0b935d88", - "reference": "e2522c578d5b14e11c8ec6e47071a35f0b935d88", + "url": "https://api.github.com/repos/spryker/persistent-cart/zipball/8baacaba67d79ca32c4e32e473a271e24bb856fd", + "reference": "8baacaba67d79ca32c4e32e473a271e24bb856fd", "shasum": "" }, "require": { @@ -13697,7 +13360,7 @@ "proprietary" ], "description": "PersistentCart module", - "time": "2018-10-25T15:23:10+00:00" + "time": "2018-10-26T09:55:57+00:00" }, { "name": "spryker/persistent-cart-extension", @@ -13792,21 +13455,23 @@ }, { "name": "spryker/price-cart-connector", - "version": "4.5.0", + "version": "4.6.0", "source": { "type": "git", "url": "https://github.com/spryker/price-cart-connector.git", - "reference": "d743ee8cde66c0e52dcbaed22d11bf5bc7c99daa" + "reference": "60a277cebcb0478693942b2a4427cd5784d49a33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-cart-connector/zipball/d743ee8cde66c0e52dcbaed22d11bf5bc7c99daa", - "reference": "d743ee8cde66c0e52dcbaed22d11bf5bc7c99daa", + "url": "https://api.github.com/repos/spryker/price-cart-connector/zipball/60a277cebcb0478693942b2a4427cd5784d49a33", + "reference": "60a277cebcb0478693942b2a4427cd5784d49a33", "shasum": "" }, "require": { "php": ">=7.1", + "spryker/cart-extension": "^2.0.0", "spryker/kernel": "^3.0.0", + "spryker/messenger": "^3.0.0", "spryker/price": "^5.0.0", "spryker/price-product": "^1.3.0 || ^2.3.0" }, @@ -13836,7 +13501,7 @@ "proprietary" ], "description": "PriceCartConnector module", - "time": "2018-10-02T11:15:35+00:00" + "time": "2018-10-30T10:14:21+00:00" }, { "name": "spryker/price-data-feed", @@ -13923,16 +13588,16 @@ }, { "name": "spryker/price-product", - "version": "2.3.2", + "version": "2.3.3", "source": { "type": "git", "url": "https://github.com/spryker/price-product.git", - "reference": "7984fa5a45fb4a5234e1e2640e6a2da44b080252" + "reference": "dee43f71cf27a3cd92eae370438047d432d6a16b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/price-product/zipball/7984fa5a45fb4a5234e1e2640e6a2da44b080252", - "reference": "7984fa5a45fb4a5234e1e2640e6a2da44b080252", + "url": "https://api.github.com/repos/spryker/price-product/zipball/dee43f71cf27a3cd92eae370438047d432d6a16b", + "reference": "dee43f71cf27a3cd92eae370438047d432d6a16b", "shasum": "" }, "require": { @@ -13973,7 +13638,7 @@ "proprietary" ], "description": "PriceProduct module", - "time": "2018-10-29T13:28:13+00:00" + "time": "2018-10-31T13:36:09+00:00" }, { "name": "spryker/price-product-data-import", @@ -14526,16 +14191,16 @@ }, { "name": "spryker/product-alternative-storage", - "version": "1.1.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/product-alternative-storage.git", - "reference": "7c47e8e53388784a42021c671796f262a8111af7" + "reference": "51d0932c306f04bb8c903313cbeaeb48ecc3fe1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-alternative-storage/zipball/7c47e8e53388784a42021c671796f262a8111af7", - "reference": "7c47e8e53388784a42021c671796f262a8111af7", + "url": "https://api.github.com/repos/spryker/product-alternative-storage/zipball/51d0932c306f04bb8c903313cbeaeb48ecc3fe1a", + "reference": "51d0932c306f04bb8c903313cbeaeb48ecc3fe1a", "shasum": "" }, "require": { @@ -14545,7 +14210,7 @@ "spryker/product": "^6.0.0", "spryker/product-alternative": "^1.0.0", "spryker/product-alternative-storage-extension": "^1.0.0", - "spryker/product-storage": "^1.1.0", + "spryker/product-storage": "^1.4.0", "spryker/propel-orm": "^1.0.0", "spryker/storage": "^3.4.0", "spryker/synchronization": "^1.0.0" @@ -14574,7 +14239,7 @@ "proprietary" ], "description": "ProductAlternativeStorage module", - "time": "2018-09-24T00:29:06+00:00" + "time": "2018-10-31T13:40:28+00:00" }, { "name": "spryker/product-alternative-storage-extension", @@ -16183,16 +15848,16 @@ }, { "name": "spryker/product-new", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/spryker/product-new.git", - "reference": "dbe3a7505ca6078ca47af23e8ac5539db351f485" + "reference": "0089688f4abb8a7fdf3bf81ab2470f4eb1700b34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-new/zipball/dbe3a7505ca6078ca47af23e8ac5539db351f485", - "reference": "dbe3a7505ca6078ca47af23e8ac5539db351f485", + "url": "https://api.github.com/repos/spryker/product-new/zipball/0089688f4abb8a7fdf3bf81ab2470f4eb1700b34", + "reference": "0089688f4abb8a7fdf3bf81ab2470f4eb1700b34", "shasum": "" }, "require": { @@ -16229,20 +15894,20 @@ "proprietary" ], "description": "ProductNew module", - "time": "2018-05-29T12:50:21+00:00" + "time": "2018-10-04T15:21:15+00:00" }, { "name": "spryker/product-option", - "version": "6.4.0", + "version": "6.4.1", "source": { "type": "git", "url": "https://github.com/spryker/product-option.git", - "reference": "050f253d6e74e1512d0b5ee1fc9af4fa2170b617" + "reference": "3e147fcb3959ec864dff84ad90d6014154964eae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-option/zipball/050f253d6e74e1512d0b5ee1fc9af4fa2170b617", - "reference": "050f253d6e74e1512d0b5ee1fc9af4fa2170b617", + "url": "https://api.github.com/repos/spryker/product-option/zipball/3e147fcb3959ec864dff84ad90d6014154964eae", + "reference": "3e147fcb3959ec864dff84ad90d6014154964eae", "shasum": "" }, "require": { @@ -16298,7 +15963,7 @@ "proprietary" ], "description": "ProductOption module", - "time": "2018-10-05T10:47:27+00:00" + "time": "2018-10-30T15:30:54+00:00" }, { "name": "spryker/product-option-cart-connector", @@ -16505,18 +16170,161 @@ "description": "ProductPageSearchExtension module", "time": "2018-09-21T07:35:52+00:00" }, + { + "name": "spryker/product-quantity", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-quantity.git", + "reference": "4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-quantity/zipball/4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409", + "reference": "4f2fd9b0e3b54cebb2d472aa6f8926d3cb2bd409", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/cart-extension": "^1.1.0 || ^2.0.0", + "spryker/kernel": "^3.17.0", + "spryker/product": "^6.0.0" + }, + "require-dev": { + "spryker/cart": "*", + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/cart": "If you want to use cart pre check plugins: ^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Shared\\ProductQuantity\\Helper\\": "tests/SprykerTest/Shared/ProductQuantity/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductQuantity module", + "time": "2018-07-30T12:46:42+00:00" + }, + { + "name": "spryker/product-quantity-data-import", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-quantity-data-import.git", + "reference": "b85ba3edd397dd2ca467c5ecf950eb0c7e0fe9d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-quantity-data-import/zipball/b85ba3edd397dd2ca467c5ecf950eb0c7e0fe9d9", + "reference": "b85ba3edd397dd2ca467c5ecf950eb0c7e0fe9d9", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/data-import": "^1.3.0", + "spryker/kernel": "^3.20.0", + "spryker/product": "^6.0.0", + "spryker/product-quantity": "^0.1.1 || ^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/propel": "*", + "spryker/testify": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\ProductQuantityDataImport\\Helper\\": "tests/SprykerTest/Zed/ProductQuantityDataImport/_support/Helper/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "ProductQuantityDataImport module", + "time": "2018-10-10T14:35:07+00:00" + }, + { + "name": "spryker/product-quantity-storage", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/spryker/product-quantity-storage.git", + "reference": "d7e09180f76426244b2f1c0f959b80176331cd63" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/product-quantity-storage/zipball/d7e09180f76426244b2f1c0f959b80176331cd63", + "reference": "d7e09180f76426244b2f1c0f959b80176331cd63", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "spryker/event-behavior": "^1.1.0", + "spryker/kernel": "^3.21.0", + "spryker/product-quantity": "^1.0.1", + "spryker/storage": "^3.0.0", + "spryker/synchronization": "^0.2.0 || ^1.0.0", + "spryker/synchronization-extension": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/event": "*", + "spryker/propel-orm": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/event": "If you want to use Event plugins: ^2.1.0", + "spryker/propel-orm": "If you want to use transaction functionality: ^1.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "ProductQuantityStorage module", + "time": "2018-07-18T08:25:49+00:00" + }, { "name": "spryker/product-relation", - "version": "2.1.5", + "version": "2.1.6", "source": { "type": "git", "url": "https://github.com/spryker/product-relation.git", - "reference": "51403673587aa669414bd8dd2180f7c89188289d" + "reference": "ea1286433b297f9e5a807ad82407cfccdb382826" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-relation/zipball/51403673587aa669414bd8dd2180f7c89188289d", - "reference": "51403673587aa669414bd8dd2180f7c89188289d", + "url": "https://api.github.com/repos/spryker/product-relation/zipball/ea1286433b297f9e5a807ad82407cfccdb382826", + "reference": "ea1286433b297f9e5a807ad82407cfccdb382826", "shasum": "" }, "require": { @@ -16543,12 +16351,11 @@ "spryker/util-text": "^1.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", - "spryker/event": "*", "spryker/propel": "*", "spryker/silex": "*", "spryker/testify": "*", - "spryker/twig": "*" + "spryker/twig": "*", + "spryker/zed-navigation": "*" }, "suggest": { "spryker/event": "Required to listen for changes affecting product relations.", @@ -16571,7 +16378,7 @@ "proprietary" ], "description": "ProductRelation module", - "time": "2018-07-09T09:17:00+00:00" + "time": "2018-11-01T12:56:57+00:00" }, { "name": "spryker/product-relation-collector", @@ -17168,16 +16975,16 @@ }, { "name": "spryker/product-set-storage", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/spryker/product-set-storage.git", - "reference": "fefae65342b3ce792afc8a5b10edf73c960ed045" + "reference": "29a5151905e29be79abe6fdb0bdc8c2f26e47b30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-set-storage/zipball/fefae65342b3ce792afc8a5b10edf73c960ed045", - "reference": "fefae65342b3ce792afc8a5b10edf73c960ed045", + "url": "https://api.github.com/repos/spryker/product-set-storage/zipball/29a5151905e29be79abe6fdb0bdc8c2f26e47b30", + "reference": "29a5151905e29be79abe6fdb0bdc8c2f26e47b30", "shasum": "" }, "require": { @@ -17193,7 +17000,12 @@ "spryker/url": "^3.3.0" }, "require-dev": { + "spryker/code-sniffer": "*", + "spryker/config": "*", "spryker/event": "*", + "spryker/propel": "*", + "spryker/propel-query-builder": "*", + "spryker/testify": "*", "spryker/url-storage": "*" }, "suggest": { @@ -17216,20 +17028,20 @@ "proprietary" ], "description": "ProductSetStorage module", - "time": "2018-07-17T18:22:31+00:00" + "time": "2018-10-25T08:02:50+00:00" }, { "name": "spryker/product-storage", - "version": "1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/product-storage.git", - "reference": "8192592557fa66b373fc15590d1b412aaa103d7c" + "reference": "6a095e8ada728b8c48d190c9a5433a472fecdc05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-storage/zipball/8192592557fa66b373fc15590d1b412aaa103d7c", - "reference": "8192592557fa66b373fc15590d1b412aaa103d7c", + "url": "https://api.github.com/repos/spryker/product-storage/zipball/6a095e8ada728b8c48d190c9a5433a472fecdc05", + "reference": "6a095e8ada728b8c48d190c9a5433a472fecdc05", "shasum": "" }, "require": { @@ -17274,7 +17086,7 @@ "proprietary" ], "description": "ProductStorage module", - "time": "2018-10-23T16:48:17+00:00" + "time": "2018-11-02T10:55:55+00:00" }, { "name": "spryker/product-storage-extension", @@ -17546,16 +17358,16 @@ }, { "name": "spryker/quote", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spryker/quote.git", - "reference": "f5659520506ffa49e48ff9f2e20c09dce1fce6b7" + "reference": "9d276ad805457ab0826dce5b1458d2197c90197f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/quote/zipball/f5659520506ffa49e48ff9f2e20c09dce1fce6b7", - "reference": "f5659520506ffa49e48ff9f2e20c09dce1fce6b7", + "url": "https://api.github.com/repos/spryker/quote/zipball/9d276ad805457ab0826dce5b1458d2197c90197f", + "reference": "9d276ad805457ab0826dce5b1458d2197c90197f", "shasum": "" }, "require": { @@ -17565,7 +17377,7 @@ "spryker/kernel": "^3.0.0", "spryker/propel-orm": "^1.0.0", "spryker/quote-extension": "^1.0.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/store": "^1.0.0", "spryker/symfony": "^3.0.0", "spryker/util-encoding": "^2.0.0", @@ -17593,7 +17405,7 @@ "proprietary" ], "description": "Quote module", - "time": "2018-10-25T08:02:18+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/quote-extension", @@ -17916,22 +17728,22 @@ }, { "name": "spryker/sales-order-threshold", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/spryker/sales-order-threshold.git", - "reference": "9f07d37642016171cb76b9d13cbdf1174d33a6a2" + "reference": "127d2eb4534a6dfd204f38a53ebfa652ab44fdc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-order-threshold/zipball/9f07d37642016171cb76b9d13cbdf1174d33a6a2", - "reference": "9f07d37642016171cb76b9d13cbdf1174d33a6a2", + "url": "https://api.github.com/repos/spryker/sales-order-threshold/zipball/127d2eb4534a6dfd204f38a53ebfa652ab44fdc4", + "reference": "127d2eb4534a6dfd204f38a53ebfa652ab44fdc4", "shasum": "" }, "require": { "php": ">=7.1", "spryker/calculation-extension": "^1.0.0", - "spryker/cart-extension": "^1.0.0 || ^2.0.0", + "spryker/cart-extension": "^1.6.0 || ^2.2.1", "spryker/checkout-extension": "^1.0.0", "spryker/currency": "^3.0.0", "spryker/glossary": "^3.1.0", @@ -17973,7 +17785,7 @@ "proprietary" ], "description": "SalesOrderThreshold module", - "time": "2018-10-04T13:35:59+00:00" + "time": "2018-10-31T13:42:25+00:00" }, { "name": "spryker/sales-order-threshold-data-import", @@ -18445,29 +18257,30 @@ }, { "name": "spryker/session", - "version": "3.2.4", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/spryker/session.git", - "reference": "7dccbccb303b3ae25a7e1f160f5ebd05e8235d09" + "reference": "b02774b6e69be6f6ce303b6c4c342ecf1b7055c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/session/zipball/7dccbccb303b3ae25a7e1f160f5ebd05e8235d09", - "reference": "7dccbccb303b3ae25a7e1f160f5ebd05e8235d09", + "url": "https://api.github.com/repos/spryker/session/zipball/b02774b6e69be6f6ce303b6c4c342ecf1b7055c6", + "reference": "b02774b6e69be6f6ce303b6c4c342ecf1b7055c6", "shasum": "" }, "require": { "php": ">=7.1", "spryker/config": "^3.0.0", "spryker/kernel": "^3.0.0", - "spryker/new-relic-api": "^1.0.0", + "spryker/monitoring": "^1.0.0 || ^2.0.0", "spryker/redis": "^2.0.0", "spryker/silex": "^2.0.0", "spryker/symfony": "^3.0.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", + "spryker/propel": "*", "spryker/testify": "*" }, "type": "library", @@ -18487,7 +18300,7 @@ "proprietary" ], "description": "Session module", - "time": "2018-02-13T15:22:24+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/setup", @@ -18579,129 +18392,18 @@ "description": "SetupFrontend module", "time": "2018-04-23T14:45:14+00:00" }, - { - "name": "spryker/shared-cart", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/shared-cart.git", - "reference": "5b5d5413ac7fd1dbb1f0a8367d593af735c72259" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/shared-cart/zipball/5b5d5413ac7fd1dbb1f0a8367d593af735c72259", - "reference": "5b5d5413ac7fd1dbb1f0a8367d593af735c72259", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/cart": "^5.1.0", - "spryker/company-user": "^1.0.0 || ^2.0.0", - "spryker/customer": "^7.0.0", - "spryker/kernel": "^3.19.0", - "spryker/messenger": "^3.0.0", - "spryker/multi-cart": "^1.0.0", - "spryker/permission": "^1.0.0", - "spryker/permission-extension": "^1.1.0", - "spryker/persistent-cart": "^1.0.0", - "spryker/persistent-cart-extension": "^1.0.0", - "spryker/propel-orm": "^1.6.0", - "spryker/quote": "^2.0.0", - "spryker/quote-extension": "^1.0.0", - "spryker/zed-request": "^3.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/company": "*", - "spryker/company-business-unit": "*", - "spryker/installer": "*", - "spryker/propel": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/installer": "If you want to use SharedCartPermissionInstallerPlugin. Minimum required version: 4.0.0." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Shared\\SharedCart\\Helper\\": "tests/SprykerTest/Shared/SharedCart/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "SharedCart module", - "time": "2018-10-05T10:08:10+00:00" - }, - { - "name": "spryker/shared-cart-data-import", - "version": "0.1.0", - "source": { - "type": "git", - "url": "https://github.com/spryker/shared-cart-data-import.git", - "reference": "c2bc10917ecd5c89667cc9f3e6426be5428e845a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spryker/shared-cart-data-import/zipball/c2bc10917ecd5c89667cc9f3e6426be5428e845a", - "reference": "c2bc10917ecd5c89667cc9f3e6426be5428e845a", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "spryker/company-user": "^1.0.0 || ^2.0.0", - "spryker/data-import": "^1.0.0", - "spryker/kernel": "^3.0.0", - "spryker/quote": "^2.0.0", - "spryker/shared-cart": "^1.0.0" - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/company": "*", - "spryker/company-business-unit": "*", - "spryker/customer": "*", - "spryker/permission": "*", - "spryker/propel": "*", - "spryker/testify": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\SharedCartDataImport\\Helper\\": "tests/SprykerTest/Zed/SharedCartDataImport/_support/Helper/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "SharedCartDataImport module", - "time": "2018-10-08T13:06:23+00:00" - }, { "name": "spryker/shipment", - "version": "6.6.1", + "version": "6.6.2", "source": { "type": "git", "url": "https://github.com/spryker/shipment.git", - "reference": "e2dae8be3d86c3412b1ab570cc6e2eeffc9dfc97" + "reference": "7501a983faa1f328ef4b5142668efcaea3539fa1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipment/zipball/e2dae8be3d86c3412b1ab570cc6e2eeffc9dfc97", - "reference": "e2dae8be3d86c3412b1ab570cc6e2eeffc9dfc97", + "url": "https://api.github.com/repos/spryker/shipment/zipball/7501a983faa1f328ef4b5142668efcaea3539fa1", + "reference": "7501a983faa1f328ef4b5142668efcaea3539fa1", "shasum": "" }, "require": { @@ -18712,7 +18414,7 @@ "spryker/money": "^2.0.0", "spryker/propel-orm": "^1.0.0", "spryker/sales": "^6.0.0 || ^7.0.0 || ^8.0.0", - "spryker/session": "^3.0.0", + "spryker/session": "^3.0.0 || ^4.0.0", "spryker/store": "^1.0.0", "spryker/symfony": "^3.0.0", "spryker/tax": "^5.0.0", @@ -18751,7 +18453,7 @@ "proprietary" ], "description": "Shipment module", - "time": "2018-10-17T14:19:56+00:00" + "time": "2018-10-29T12:36:26+00:00" }, { "name": "spryker/shipment-cart-connector", @@ -19184,16 +18886,16 @@ }, { "name": "spryker/storage", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/spryker/storage.git", - "reference": "d51cbfc994551834c4d18d057c8ff79280633ab6" + "reference": "d7cb777b66274a04ae6c52fa5634fd88ae21db28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/storage/zipball/d51cbfc994551834c4d18d057c8ff79280633ab6", - "reference": "d51cbfc994551834c4d18d057c8ff79280633ab6", + "url": "https://api.github.com/repos/spryker/storage/zipball/d7cb777b66274a04ae6c52fa5634fd88ae21db28", + "reference": "d7cb777b66274a04ae6c52fa5634fd88ae21db28", "shasum": "" }, "require": { @@ -19231,7 +18933,7 @@ "proprietary" ], "description": "Storage module", - "time": "2018-10-08T09:32:54+00:00" + "time": "2018-11-01T10:12:31+00:00" }, { "name": "spryker/store", @@ -19506,16 +19208,16 @@ }, { "name": "spryker/tax", - "version": "5.4.0", + "version": "5.4.2", "source": { "type": "git", "url": "https://github.com/spryker/tax.git", - "reference": "55a9e89df22ba021cc4a269a58aef32d39cf1450" + "reference": "ab981d72402c5a3e13eecda2f125ea021cde0df5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/tax/zipball/55a9e89df22ba021cc4a269a58aef32d39cf1450", - "reference": "55a9e89df22ba021cc4a269a58aef32d39cf1450", + "url": "https://api.github.com/repos/spryker/tax/zipball/ab981d72402c5a3e13eecda2f125ea021cde0df5", + "reference": "ab981d72402c5a3e13eecda2f125ea021cde0df5", "shasum": "" }, "require": { @@ -19551,7 +19253,7 @@ "proprietary" ], "description": "Tax module", - "time": "2018-10-17T10:06:39+00:00" + "time": "2018-11-01T16:16:38+00:00" }, { "name": "spryker/tax-product-connector", @@ -19652,16 +19354,16 @@ }, { "name": "spryker/transfer", - "version": "3.7.0", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/spryker/transfer.git", - "reference": "ce7e312c9f4aae8fb8adc425bd7946c2a54513a1" + "reference": "10367cf437b35ec3e7879c6beb63000d48124659" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/transfer/zipball/ce7e312c9f4aae8fb8adc425bd7946c2a54513a1", - "reference": "ce7e312c9f4aae8fb8adc425bd7946c2a54513a1", + "url": "https://api.github.com/repos/spryker/transfer/zipball/10367cf437b35ec3e7879c6beb63000d48124659", + "reference": "10367cf437b35ec3e7879c6beb63000d48124659", "shasum": "" }, "require": { @@ -19695,20 +19397,20 @@ "proprietary" ], "description": "Transfer module", - "time": "2018-10-01T14:10:26+00:00" + "time": "2018-10-30T08:44:04+00:00" }, { "name": "spryker/twig", - "version": "3.3.2", + "version": "3.3.3", "source": { "type": "git", "url": "https://github.com/spryker/twig.git", - "reference": "12207ad8afde02a59c051c280275cbd6a15be68f" + "reference": "7657d84d322e739bfd96a4422b951cad44985cb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/twig/zipball/12207ad8afde02a59c051c280275cbd6a15be68f", - "reference": "12207ad8afde02a59c051c280275cbd6a15be68f", + "url": "https://api.github.com/repos/spryker/twig/zipball/7657d84d322e739bfd96a4422b951cad44985cb8", + "reference": "7657d84d322e739bfd96a4422b951cad44985cb8", "shasum": "" }, "require": { @@ -19720,15 +19422,15 @@ "twig/twig": "^1.20.0" }, "require-dev": { - "spryker/code-sniffer": "*", + "spryker/application": "*", "spryker/config": "*", + "spryker/propel": "*", "spryker/silex": "*", "spryker/testify": "*" }, "suggest": { "spryker/config": "If you want to use the TwigServiceProvider.", - "spryker/silex": "If you want to use the TwigServiceProvider.", - "spryker/symfony": "If you want to use the TwigServiceProvider." + "spryker/silex": "If you want to use the TwigServiceProvider." }, "type": "library", "extra": { @@ -19746,7 +19448,7 @@ "proprietary" ], "description": "Twig module", - "time": "2018-08-10T05:24:34+00:00" + "time": "2018-10-05T11:42:49+00:00" }, { "name": "spryker/url", @@ -19853,23 +19555,23 @@ }, { "name": "spryker/user", - "version": "3.4.0", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/spryker/user.git", - "reference": "fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3" + "reference": "c102d08f7991f80c9f1d1774172161f4f72e0c1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/user/zipball/fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3", - "reference": "fcdc272ae6d5d1d0c472267b8b5419d6bf5106b3", + "url": "https://api.github.com/repos/spryker/user/zipball/c102d08f7991f80c9f1d1774172161f4f72e0c1f", + "reference": "c102d08f7991f80c9f1d1774172161f4f72e0c1f", "shasum": "" }, "require": { "php": ">=7.1", "spryker/gui": "^3.10.0", "spryker/kernel": "^3.0.0", - "spryker/session": "^3.1.1", + "spryker/session": "^3.1.1 || ^4.0.0", "spryker/symfony": "^3.0.0", "spryker/user-extension": "^1.0.0", "spryker/util-date-time": "^1.0.0", @@ -19905,7 +19607,7 @@ "proprietary" ], "description": "User module", - "time": "2018-10-08T16:09:45+00:00" + "time": "2018-10-31T17:10:39+00:00" }, { "name": "spryker/user-extension", @@ -20482,20 +20184,21 @@ }, { "name": "spryker/zed-request", - "version": "3.4.2", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/spryker/zed-request.git", - "reference": "b25aee6302892eefa61145b4800238a16da87c92" + "reference": "330eff1a2db25ab2962dbcb5d352f6a424883fde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/zed-request/zipball/b25aee6302892eefa61145b4800238a16da87c92", - "reference": "b25aee6302892eefa61145b4800238a16da87c92", + "url": "https://api.github.com/repos/spryker/zed-request/zipball/330eff1a2db25ab2962dbcb5d352f6a424883fde", + "reference": "330eff1a2db25ab2962dbcb5d352f6a424883fde", "shasum": "" }, "require": { "php": ">=7.1", + "spryker/application": "^3.0.0", "spryker/config": "^3.0.0", "spryker/guzzle": "^2.1.0", "spryker/kernel": "^3.0.0", @@ -20507,7 +20210,6 @@ "spryker/util-text": "^1.1.0" }, "require-dev": { - "spryker/code-sniffer": "*", "spryker/propel": "*", "spryker/testify": "*" }, @@ -20528,7 +20230,7 @@ "proprietary" ], "description": "ZedRequest module", - "time": "2018-08-31T09:01:53+00:00" + "time": "2018-11-01T16:29:18+00:00" }, { "name": "spryker/zend", @@ -21427,7 +21129,7 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -21485,7 +21187,7 @@ }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", @@ -21543,16 +21245,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", "shasum": "" }, "require": { @@ -21598,11 +21300,11 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/polyfill-php54", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php54.git", @@ -21660,16 +21362,16 @@ }, { "name": "symfony/polyfill-php55", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php55.git", - "reference": "578b8528da843de0fc65ec395900fa3181f2ead7" + "reference": "42a4c00a347625ac8853c3358c47eeadc7fd4e96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/578b8528da843de0fc65ec395900fa3181f2ead7", - "reference": "578b8528da843de0fc65ec395900fa3181f2ead7", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/42a4c00a347625ac8853c3358c47eeadc7fd4e96", + "reference": "42a4c00a347625ac8853c3358c47eeadc7fd4e96", "shasum": "" }, "require": { @@ -21712,20 +21414,20 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-10-31T12:13:01+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "7b4fc009172cc0196535b0328bd1226284a28000" + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/7b4fc009172cc0196535b0328bd1226284a28000", - "reference": "7b4fc009172cc0196535b0328bd1226284a28000", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af", + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af", "shasum": "" }, "require": { @@ -21768,20 +21470,20 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T06:26:08+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "1e24b0c4a56d55aaf368763a06c6d1c7d3194934" + "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/1e24b0c4a56d55aaf368763a06c6d1c7d3194934", - "reference": "1e24b0c4a56d55aaf368763a06c6d1c7d3194934", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", + "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", "shasum": "" }, "require": { @@ -21827,20 +21529,20 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T06:26:08+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581" + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/8e15d04ba3440984d23e7964b2ee1d25c8de1581", - "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c", + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c", "shasum": "" }, "require": { @@ -21879,7 +21581,7 @@ "polyfill", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-30T16:36:12+00:00" }, { "name": "symfony/process", @@ -26183,16 +25885,16 @@ }, { "name": "symfony/polyfill-php72", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae" + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae", - "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", "shasum": "" }, "require": { @@ -26234,7 +25936,7 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/stopwatch", @@ -26802,12 +26504,6 @@ "version": "9999999-dev", "package": "spryker-feature/search" }, - { - "alias": "2018.10", - "alias_normalized": "2018.10.0.0", - "version": "9999999-dev", - "package": "spryker-feature/shared-carts" - }, { "alias": "2018.10", "alias_normalized": "2018.10.0.0", @@ -26875,6 +26571,7 @@ "spryker-feature/mailing-notifications": 20, "spryker-feature/navigation": 20, "spryker-feature/newsletter-subscription": 20, + "spryker-feature/non-splittable-products": 20, "spryker-feature/notes": 20, "spryker-feature/order-management": 20, "spryker-feature/order-threshold": 20, @@ -26897,7 +26594,6 @@ "spryker-feature/refunds": 20, "spryker-feature/reorder": 20, "spryker-feature/search": 20, - "spryker-feature/shared-carts": 20, "spryker-feature/shipment": 20, "spryker-feature/spryker-core": 20, "spryker-feature/spryker-core-back-office": 20, diff --git a/config/Shared/config_default-development-heroku.php b/config/Shared/config_default-development-heroku.php index ff374203fe..c7783342f2 100644 --- a/config/Shared/config_default-development-heroku.php +++ b/config/Shared/config_default-development-heroku.php @@ -11,6 +11,7 @@ use Spryker\Shared\Propel\PropelConstants; use Spryker\Shared\PropelOrm\PropelOrmConstants; use Spryker\Shared\Search\SearchConstants; +use Spryker\Shared\Session\SessionConfig; use Spryker\Shared\Session\SessionConstants; use Spryker\Shared\Setup\SetupConstants; use Spryker\Shared\Storage\StorageConstants; @@ -48,13 +49,13 @@ // ---------- Session $config[SessionConstants::YVES_SESSION_COOKIE_SECURE] = false; -$config[SessionConstants::YVES_SESSION_SAVE_HANDLER] = SessionConstants::SESSION_HANDLER_REDIS_LOCKING; +$config[SessionConstants::YVES_SESSION_SAVE_HANDLER] = SessionConfig::SESSION_HANDLER_REDIS_LOCKING; $config[SessionConstants::YVES_SESSION_REDIS_PROTOCOL] = $config[StorageConstants::STORAGE_REDIS_PROTOCOL]; $config[SessionConstants::YVES_SESSION_REDIS_HOST] = $config[StorageConstants::STORAGE_REDIS_HOST]; $config[SessionConstants::YVES_SESSION_REDIS_PORT] = $config[StorageConstants::STORAGE_REDIS_PORT]; $config[SessionConstants::YVES_SESSION_REDIS_PASSWORD] = $config[StorageConstants::STORAGE_REDIS_PASSWORD]; $config[SessionConstants::ZED_SESSION_COOKIE_SECURE] = false; -$config[SessionConstants::ZED_SESSION_SAVE_HANDLER] = SessionConstants::SESSION_HANDLER_REDIS; +$config[SessionConstants::ZED_SESSION_SAVE_HANDLER] = SessionConfig::SESSION_HANDLER_REDIS; $config[SessionConstants::ZED_SESSION_REDIS_PROTOCOL] = $config[SessionConstants::YVES_SESSION_REDIS_PROTOCOL]; $config[SessionConstants::ZED_SESSION_REDIS_HOST] = $config[SessionConstants::YVES_SESSION_REDIS_HOST]; $config[SessionConstants::ZED_SESSION_REDIS_PORT] = $config[SessionConstants::YVES_SESSION_REDIS_PORT]; diff --git a/config/Shared/config_default-development.php b/config/Shared/config_default-development.php index 18e333db13..c04b83ca4f 100644 --- a/config/Shared/config_default-development.php +++ b/config/Shared/config_default-development.php @@ -18,6 +18,7 @@ use Spryker\Shared\PropelOrm\PropelOrmConstants; use Spryker\Shared\PropelQueryBuilder\PropelQueryBuilderConstants; use Spryker\Shared\RabbitMq\RabbitMqEnv; +use Spryker\Shared\Session\SessionConfig; use Spryker\Shared\Session\SessionConstants; use Spryker\Shared\Setup\SetupConstants; use Spryker\Shared\Storage\StorageConstants; @@ -103,7 +104,7 @@ $config[SessionConstants::ZED_SESSION_REDIS_PORT] = $config[SessionConstants::YVES_SESSION_REDIS_PORT]; $config[SessionConstants::ZED_SESSION_REDIS_PASSWORD] = $config[SessionConstants::YVES_SESSION_REDIS_PASSWORD]; $config[SessionConstants::ZED_SESSION_REDIS_DATABASE] = 2; -$config[SessionConstants::ZED_SESSION_TIME_TO_LIVE] = SessionConstants::SESSION_LIFETIME_1_YEAR; +$config[SessionConstants::ZED_SESSION_TIME_TO_LIVE] = SessionConfig::SESSION_LIFETIME_1_YEAR; // ---------- Jenkins $config[SetupConstants::JENKINS_BASE_URL] = 'http://localhost:10007/'; diff --git a/config/Shared/config_default-devtest.php b/config/Shared/config_default-devtest.php index 934a570a88..0d0876e38a 100644 --- a/config/Shared/config_default-devtest.php +++ b/config/Shared/config_default-devtest.php @@ -16,6 +16,7 @@ use Spryker\Shared\Propel\PropelConstants; use Spryker\Shared\RabbitMq\RabbitMqEnv; use Spryker\Shared\Search\SearchConstants; +use Spryker\Shared\Session\SessionConfig; use Spryker\Shared\Session\SessionConstants; use Spryker\Shared\Setup\SetupConstants; use Spryker\Shared\Storage\StorageConstants; @@ -44,13 +45,13 @@ // ---------- Session $config[SessionConstants::SESSION_IS_TEST] = (bool)getenv("SESSION_IS_TEST"); -$config[SessionConstants::YVES_SESSION_SAVE_HANDLER] = SessionConstants::SESSION_HANDLER_REDIS; +$config[SessionConstants::YVES_SESSION_SAVE_HANDLER] = SessionConfig::SESSION_HANDLER_REDIS; $config[SessionConstants::YVES_SESSION_REDIS_PROTOCOL] = $config[StorageConstants::STORAGE_REDIS_PROTOCOL]; $config[SessionConstants::YVES_SESSION_REDIS_HOST] = $config[StorageConstants::STORAGE_REDIS_HOST]; $config[SessionConstants::YVES_SESSION_REDIS_PORT] = $config[StorageConstants::STORAGE_REDIS_PORT]; $config[SessionConstants::YVES_SESSION_REDIS_PASSWORD] = $config[StorageConstants::STORAGE_REDIS_PASSWORD]; $config[SessionConstants::ZED_SESSION_COOKIE_SECURE] = false; -$config[SessionConstants::ZED_SESSION_SAVE_HANDLER] = SessionConstants::SESSION_HANDLER_REDIS; +$config[SessionConstants::ZED_SESSION_SAVE_HANDLER] = SessionConfig::SESSION_HANDLER_REDIS; $config[SessionConstants::ZED_SESSION_REDIS_PROTOCOL] = $config[SessionConstants::YVES_SESSION_REDIS_PROTOCOL]; $config[SessionConstants::ZED_SESSION_REDIS_HOST] = $config[SessionConstants::YVES_SESSION_REDIS_HOST]; $config[SessionConstants::ZED_SESSION_REDIS_PORT] = $config[SessionConstants::YVES_SESSION_REDIS_PORT]; diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 7ab2fcd07a..ff67d0b090 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -32,6 +32,7 @@ use Spryker\Shared\Sales\SalesConstants; use Spryker\Shared\Search\SearchConstants; use Spryker\Shared\SequenceNumber\SequenceNumberConstants; +use Spryker\Shared\Session\SessionConfig; use Spryker\Shared\Session\SessionConstants; use Spryker\Shared\Storage\StorageConstants; use Spryker\Shared\Tax\TaxConstants; @@ -244,14 +245,14 @@ $config[StorageConstants::STORAGE_PERSISTENT_CONNECTION] = true; // ---------- Session -$config[SessionConstants::YVES_SESSION_SAVE_HANDLER] = SessionConstants::SESSION_HANDLER_REDIS_LOCKING; -$config[SessionConstants::YVES_SESSION_TIME_TO_LIVE] = SessionConstants::SESSION_LIFETIME_1_HOUR; -$config[SessionConstants::YVES_SESSION_COOKIE_TIME_TO_LIVE] = SessionConstants::SESSION_LIFETIME_0_5_HOUR; +$config[SessionConstants::YVES_SESSION_SAVE_HANDLER] = SessionConfig::SESSION_HANDLER_REDIS_LOCKING; +$config[SessionConstants::YVES_SESSION_TIME_TO_LIVE] = SessionConfig::SESSION_LIFETIME_1_HOUR; +$config[SessionConstants::YVES_SESSION_COOKIE_TIME_TO_LIVE] = SessionConfig::SESSION_LIFETIME_0_5_HOUR; $config[SessionConstants::YVES_SESSION_FILE_PATH] = session_save_path(); $config[SessionConstants::YVES_SESSION_PERSISTENT_CONNECTION] = $config[StorageConstants::STORAGE_PERSISTENT_CONNECTION]; -$config[SessionConstants::ZED_SESSION_SAVE_HANDLER] = SessionConstants::SESSION_HANDLER_REDIS; -$config[SessionConstants::ZED_SESSION_TIME_TO_LIVE] = SessionConstants::SESSION_LIFETIME_1_HOUR; -$config[SessionConstants::ZED_SESSION_COOKIE_TIME_TO_LIVE] = SessionConstants::SESSION_LIFETIME_BROWSER_SESSION; +$config[SessionConstants::ZED_SESSION_SAVE_HANDLER] = SessionConfig::SESSION_HANDLER_REDIS; +$config[SessionConstants::ZED_SESSION_TIME_TO_LIVE] = SessionConfig::SESSION_LIFETIME_1_HOUR; +$config[SessionConstants::ZED_SESSION_COOKIE_TIME_TO_LIVE] = SessionConfig::SESSION_LIFETIME_BROWSER_SESSION; $config[SessionConstants::ZED_SESSION_FILE_PATH] = session_save_path(); $config[SessionConstants::ZED_SESSION_PERSISTENT_CONNECTION] = $config[StorageConstants::STORAGE_PERSISTENT_CONNECTION]; $config[SessionConstants::SESSION_HANDLER_REDIS_LOCKING_TIMEOUT_MILLISECONDS] = 0; diff --git a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php b/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php deleted file mode 100644 index acc820984e..0000000000 --- a/src/Orm/Propel/DE/Migration_pgsql/PropelMigration_1540205663.php +++ /dev/null @@ -1,5081 +0,0 @@ - ' -BEGIN; - -CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; - -CREATE TABLE "spy_sales_reclamation" -( - "id_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "customer_name" VARCHAR(511) NOT NULL, - "customer_reference" VARCHAR(255), - "customer_email" VARCHAR(255) NOT NULL, - "state" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_reclamation") -); - -CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -CREATE TABLE "spy_sales_reclamation_item" -( - "id_sales_reclamation_item" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "state" INT2 NOT NULL, - PRIMARY KEY ("id_sales_reclamation_item") -); - -CREATE SEQUENCE "spy_acl_role_pk_seq"; - -CREATE TABLE "spy_acl_role" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role"), - CONSTRAINT "spy_acl_role-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_acl_rule_pk_seq"; - -CREATE TABLE "spy_acl_rule" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE SEQUENCE "spy_acl_group_pk_seq"; - -CREATE TABLE "spy_acl_group" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group"), - CONSTRAINT "spy_acl_group-name" UNIQUE ("name") -); - -CREATE TABLE "spy_acl_user_has_group" -( - "fk_user" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_user","fk_acl_group") -); - -CREATE TABLE "spy_acl_groups_has_roles" -( - "fk_acl_role" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_acl_role","fk_acl_group") -); - -CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; - -CREATE TABLE "spy_auth_reset_password" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user"), - CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_availability_abstract_pk_seq"; - -CREATE TABLE "spy_availability_abstract" -( - "id_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_availability_abstract"), - CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_pk_seq"; - -CREATE TABLE "spy_availability" -( - "id_availability" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - "quantity" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_availability"), - CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_storage_pk_seq"; - -CREATE TABLE "spy_availability_storage" -( - "id_availability_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_availability_storage"), - CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); - -CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); - -CREATE SEQUENCE "spy_category_pk_seq"; - -CREATE TABLE "spy_category" -( - "id_category" INTEGER NOT NULL, - "fk_category_template" INTEGER, - "category_key" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\', - "is_clickable" BOOLEAN DEFAULT \'t\', - "is_in_menu" BOOLEAN DEFAULT \'t\', - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_category"), - CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") -); - -CREATE SEQUENCE "spy_category_attribute_pk_seq"; - -CREATE TABLE "spy_category_attribute" -( - "id_category_attribute" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "category_image_name" VARCHAR(255), - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" TEXT, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_attribute") -); - -CREATE SEQUENCE "spy_category_node_pk_seq"; - -CREATE TABLE "spy_category_node" -( - "id_category_node" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_parent_category_node" INTEGER, - "is_main" BOOLEAN DEFAULT \'f\', - "is_root" BOOLEAN DEFAULT \'f\', - "node_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_category_node") -); - -CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); - -CREATE SEQUENCE "spy_category_closure_table_pk_seq"; - -CREATE TABLE "spy_category_closure_table" -( - "id_category_closure_table" INTEGER NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "fk_category_node_descendant" INTEGER NOT NULL, - "depth" INTEGER NOT NULL, - PRIMARY KEY ("id_category_closure_table") -); - -CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; - -CREATE TABLE "spy_category_node_page_search" -( - "id_category_node_page_search" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_page_search"), - CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; - -CREATE TABLE "spy_category_tree_storage" -( - "id_category_tree_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_tree_storage"), - CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_category_node_storage_pk_seq"; - -CREATE TABLE "spy_category_node_storage" -( - "id_category_node_storage" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_storage"), - CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_template_pk_seq"; - -CREATE TABLE "spy_category_template" -( - "id_category_template" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_category_template"), - CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_template_pk_seq"; - -CREATE TABLE "spy_cms_template" -( - "id_cms_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_template"), - CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); - -CREATE SEQUENCE "spy_cms_page_pk_seq"; - -CREATE TABLE "spy_cms_page" -( - "id_cms_page" INTEGER NOT NULL, - "fk_template" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, - "page_key" VARCHAR(32), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_cms_page") -); - -CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); - -CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -CREATE TABLE "spy_cms_page_localized_attributes" -( - "id_cms_page_localized_attributes" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_localized_attributes"), - CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") -); - -CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_glossary_key_mapping" -( - "id_cms_glossary_key_mapping" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_page" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_glossary_key_mapping"), - CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") -); - -CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); - -CREATE SEQUENCE "spy_cms_version_pk_seq"; - -CREATE TABLE "spy_cms_version" -( - "id_cms_version" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_user" INTEGER, - "data" TEXT, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_version") -); - -CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); - -CREATE SEQUENCE "spy_cms_block_template_pk_seq"; - -CREATE TABLE "spy_cms_block_template" -( - "id_cms_block_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_template"), - CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_block_glossary_key_mapping" -( - "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_block_glossary_key_mapping"), - CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") -); - -CREATE SEQUENCE "spy_cms_block_pk_seq"; - -CREATE TABLE "spy_cms_block" -( - "id_cms_block" INTEGER NOT NULL, - "fk_page" INTEGER, - "fk_template" INTEGER, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "name" VARCHAR(255) NOT NULL, - "type" VARCHAR(255), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "value" INTEGER, - PRIMARY KEY ("id_cms_block"), - CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") -); - -COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; - -CREATE SEQUENCE "id_cms_block_store_pk_seq"; - -CREATE TABLE "spy_cms_block_store" -( - "id_cms_block_store" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_store"), - CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") -); - -CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_category_connector" -( - "id_cms_block_category_connector" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_category_template" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_cms_block_category_position" INTEGER, - PRIMARY KEY ("id_cms_block_category_connector") -); - -CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; - -CREATE TABLE "spy_cms_block_category_position" -( - "id_cms_block_category_position" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_category_position") -); - -CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_category_storage" -( - "id_cms_block_category_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_category_storage"), - CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_product_connector" -( - "id_cms_block_product_connector" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_product_connector") -); - -CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_product_storage" -( - "id_cms_block_product_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_product_storage"), - CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_storage" -( - "id_cms_block_storage" INT8 NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "name" VARCHAR NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_storage"), - CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); - -CREATE SEQUENCE "spy_cms_page_search_pk_seq"; - -CREATE TABLE "spy_cms_page_search" -( - "id_cms_page_search" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_search"), - CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); - -CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; - -CREATE TABLE "spy_cms_page_storage" -( - "id_cms_page_storage" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_storage"), - CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); - -CREATE SEQUENCE "spy_country_pk_seq"; - -CREATE TABLE "spy_country" -( - "id_country" INTEGER NOT NULL, - "iso2_code" VARCHAR(2) NOT NULL, - "iso3_code" VARCHAR(3), - "name" VARCHAR(255), - "postal_code_mandatory" BOOLEAN DEFAULT \'f\', - "postal_code_regex" VARCHAR(500), - PRIMARY KEY ("id_country"), - CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), - CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") -); - -CREATE SEQUENCE "spy_region_pk_seq"; - -CREATE TABLE "spy_region" -( - "id_region" INTEGER NOT NULL, - "fk_country" INTEGER, - "name" VARCHAR(100) NOT NULL, - "iso2_code" VARCHAR(6) NOT NULL, - PRIMARY KEY ("id_region"), - CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") -); - -CREATE SEQUENCE "spy_currency_pk_seq"; - -CREATE TABLE "spy_currency" -( - "id_currency" INTEGER NOT NULL, - "name" VARCHAR(255), - "code" VARCHAR(5), - "symbol" VARCHAR(255), - PRIMARY KEY ("id_currency") -); - -CREATE SEQUENCE "spy_customer_pk_seq"; - -CREATE TABLE "spy_customer" -( - "id_customer" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_user" INTEGER, - "anonymized_at" TIMESTAMP, - "company" VARCHAR(100), - "customer_reference" VARCHAR(255) NOT NULL, - "date_of_birth" DATE, - "default_billing_address" INTEGER, - "default_shipping_address" INTEGER, - "email" VARCHAR(255) NOT NULL, - "first_name" VARCHAR(100), - "gender" INT2, - "last_name" VARCHAR(100), - "password" VARCHAR(255), - "phone" VARCHAR(255), - "registered" DATE, - "registration_key" VARCHAR(150), - "restore_password_date" TIMESTAMP, - "restore_password_key" VARCHAR(150), - "salutation" INT2, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer"), - CONSTRAINT "spy_customer-email" UNIQUE ("email"), - CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") -); - -CREATE SEQUENCE "spy_customer_address_pk_seq"; - -CREATE TABLE "spy_customer_address" -( - "id_customer_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "anonymized_at" TIMESTAMP, - "city" VARCHAR(255), - "comment" VARCHAR(255), - "company" VARCHAR(255), - "deleted_at" TIMESTAMP, - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "phone" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_address") -); - -CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); - -CREATE SEQUENCE "spy_customer_group_pk_seq"; - -CREATE TABLE "spy_customer_group" -( - "id_customer_group" INTEGER NOT NULL, - "name" VARCHAR(70) NOT NULL, - "description" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group"), - CONSTRAINT "spy_customer-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -CREATE TABLE "spy_customer_group_to_customer" -( - "id_customer_group_to_customer" INTEGER NOT NULL, - "fk_customer_group" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group_to_customer"), - CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") -); - -CREATE SEQUENCE "spy_customer_note_pk_seq"; - -CREATE TABLE "spy_customer_note" -( - "id_customer_note" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "username" VARCHAR, - "message" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_note") -); - -CREATE SEQUENCE "spy_discount_pk_seq"; - -CREATE TABLE "spy_discount" -( - "id_discount" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "fk_store" INTEGER, - "amount" INTEGER NOT NULL, - "calculator_plugin" VARCHAR(255), - "collector_query_string" VARCHAR, - "decision_rule_query_string" VARCHAR, - "description" VARCHAR(1024), - "discount_key" VARCHAR(32), - "discount_type" VARCHAR(255), - "display_name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "is_exclusive" BOOLEAN DEFAULT \'f\', - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount"), - CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), - CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") -); - -CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); - -CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); - -CREATE SEQUENCE "id_discount_store_pk_seq"; - -CREATE TABLE "spy_discount_store" -( - "id_discount_store" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_store"), - CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") -); - -CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -CREATE TABLE "spy_discount_voucher_pool" -( - "id_discount_voucher_pool" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher_pool") -); - -CREATE SEQUENCE "spy_discount_voucher_pk_seq"; - -CREATE TABLE "spy_discount_voucher" -( - "id_discount_voucher" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "code" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "max_number_of_uses" INTEGER, - "number_of_uses" INTEGER, - "voucher_batch" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher"), - CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_discount_amount_pk_seq"; - -CREATE TABLE "spy_discount_amount" -( - "id_discount_amount" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "gross_amount" INTEGER, - "net_amount" INTEGER, - PRIMARY KEY ("id_discount_amount"), - CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") -); - -CREATE SEQUENCE "spy_discount_promotion_pk_seq"; - -CREATE TABLE "spy_discount_promotion" -( - "id_discount_promotion" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_promotion") -); - -CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -CREATE TABLE "spy_event_behavior_entity_change" -( - "id_event_behavior_entity_change" INT8 NOT NULL, - "data" VARCHAR, - "process_id" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_event_behavior_entity_change") -); - -CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -CREATE TABLE "pyz_example_state_machine_item" -( - "id_example_state_machine_item" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER, - "name" VARCHAR, - PRIMARY KEY ("id_example_state_machine_item") -); - -CREATE SEQUENCE "spy_file_pk_seq"; - -CREATE TABLE "spy_file" -( - "id_file" INTEGER NOT NULL, - "fk_file_directory" INTEGER, - "file_name" VARCHAR(500) NOT NULL, - PRIMARY KEY ("id_file") -); - -CREATE SEQUENCE "spy_file_info_pk_seq"; - -CREATE TABLE "spy_file_info" -( - "id_file_info" INTEGER NOT NULL, - "fk_file" INTEGER NOT NULL, - "type" VARCHAR(255) NOT NULL, - "size" INTEGER NOT NULL, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255) NOT NULL, - "storage_name" VARCHAR(255), - "storage_file_name" VARCHAR(255), - "extension" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_file_info") -); - -CREATE SEQUENCE "spy_file_localized_attributes_pk_seq"; - -CREATE TABLE "spy_file_localized_attributes" -( - "id_file_localized_attributes" INTEGER NOT NULL, - "fk_file" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "title" VARCHAR(255), - "alt" TEXT, - PRIMARY KEY ("id_file_localized_attributes"), - CONSTRAINT "spy_file_localized_attributes-unique-fk_file" UNIQUE ("fk_file","fk_locale") -); - -CREATE SEQUENCE "spy_file_directory_pk_seq"; - -CREATE TABLE "spy_file_directory" -( - "id_file_directory" INTEGER NOT NULL, - "fk_parent_file_directory" INTEGER, - "name" VARCHAR(255) NOT NULL, - "position" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_file_directory") -); - -CREATE INDEX "spy_file_directory_i_ba7161" ON "spy_file_directory" ("position"); - -CREATE SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; - -CREATE TABLE "spy_file_directory_localized_attributes" -( - "id_file_directory_localized_attributes" INTEGER NOT NULL, - "fk_file_directory" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_file_directory_localized_attributes"), - CONSTRAINT "spy_file_directory_localized_attributes-unique-fk_file_director" UNIQUE ("fk_file_directory","fk_locale") -); - -CREATE SEQUENCE "spy_mime_type_pk_seq"; - -CREATE TABLE "spy_mime_type" -( - "id_mime_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "is_allowed" BOOLEAN NOT NULL, - PRIMARY KEY ("id_mime_type"), - CONSTRAINT "spy_mime_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_file_storage_pk_seq"; - -CREATE TABLE "spy_file_storage" -( - "id_file_storage" INTEGER NOT NULL, - "fk_file" INTEGER, - "file_name" VARCHAR, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - PRIMARY KEY ("id_file_storage"), - CONSTRAINT "spy_file_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_file_storage-fk_file" ON "spy_file_storage" ("fk_file"); - -CREATE SEQUENCE "spy_gift_card_pk_seq"; - -CREATE TABLE "spy_gift_card" -( - "id_gift_card" INTEGER NOT NULL, - "name" VARCHAR(40) NOT NULL, - "replacement_pattern" VARCHAR(40), - "code" VARCHAR(40) NOT NULL, - "value" INTEGER NOT NULL, - "currency_iso_code" VARCHAR(5), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "attributes" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration" -( - "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, - "code_pattern" VARCHAR(40) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_abstract_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration_link" -( - "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration" -( - "id_gift_card_product_configuration" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration_link" -( - "id_gift_card_product_configuration_link" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_gift_card_product_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_configuration_link") -); - -CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; - -CREATE TABLE "spy_payment_gift_card" -( - "id_payment_gift_card" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "fk_sales_payment" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_payment_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -CREATE TABLE "spy_gift_card_balance_log" -( - "id_gift_card_balance_log" INTEGER NOT NULL, - "fk_gift_card" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_gift_card_balance_log") -); - -CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); - -CREATE SEQUENCE "spy_glossary_key_pk_seq"; - -CREATE TABLE "spy_glossary_key" -( - "id_glossary_key" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_glossary_key"), - CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); - -CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); - -CREATE SEQUENCE "spy_glossary_translation_pk_seq"; - -CREATE TABLE "spy_glossary_translation" -( - "id_glossary_translation" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_glossary_translation"), - CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") -); - -CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); - -CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); - -CREATE SEQUENCE "spy_glossary_storage_pk_seq"; - -CREATE TABLE "spy_glossary_storage" -( - "id_glossary_storage" INT8 NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "glossary_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_glossary_storage"), - CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); - -CREATE SEQUENCE "spy_locale_pk_seq"; - -CREATE TABLE "spy_locale" -( - "id_locale" INTEGER NOT NULL, - "locale_name" VARCHAR(5) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_locale"), - CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") -); - -CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); - -CREATE SEQUENCE "spy_navigation_pk_seq"; - -CREATE TABLE "spy_navigation" -( - "id_navigation" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation"), - CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); - -CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); - -CREATE SEQUENCE "spy_navigation_node_pk_seq"; - -CREATE TABLE "spy_navigation_node" -( - "id_navigation_node" INTEGER NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "fk_parent_navigation_node" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "node_key" VARCHAR(32), - "node_type" VARCHAR(255), - "position" INTEGER, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_navigation_node") -); - -CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); - -CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); - -CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -CREATE TABLE "spy_navigation_node_localized_attributes" -( - "id_navigation_node_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_navigation_node" INTEGER NOT NULL, - "fk_url" INTEGER, - "css_class" VARCHAR(255), - "external_url" VARCHAR(255), - "link" VARCHAR(255), - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_node_localized_attributes") -); - -CREATE SEQUENCE "spy_navigation_storage_pk_seq"; - -CREATE TABLE "spy_navigation_storage" -( - "id_navigation_storage" INT8 NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "navigation_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_storage"), - CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); - -CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -CREATE TABLE "spy_newsletter_subscriber" -( - "id_newsletter_subscriber" INTEGER NOT NULL, - "fk_customer" INTEGER, - "email" VARCHAR(255) NOT NULL, - "subscriber_key" VARCHAR(150), - "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_subscriber"), - CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), - CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") -); - -CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); - -CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); - -CREATE SEQUENCE "spy_newsletter_type_pk_seq"; - -CREATE TABLE "spy_newsletter_type" -( - "id_newsletter_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_type"), - CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") -); - -CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); - -CREATE TABLE "spy_newsletter_subscription" -( - "fk_newsletter_subscriber" INTEGER NOT NULL, - "fk_newsletter_type" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") -); - -CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; - -CREATE TABLE "spy_nopayment_paid" -( - "id_nopayment_paid" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_nopayment_paid") -); - -CREATE SEQUENCE "spy_offer_pk_seq"; - -CREATE TABLE "spy_offer" -( - "id_offer" INTEGER NOT NULL, - "quote_data" TEXT NOT NULL, - "status" INT2 DEFAULT 0, - "fk_user" INTEGER, - "customer_reference" VARCHAR(255), - "contact_person" VARCHAR(255), - "contact_date" TIMESTAMP, - "note" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_offer") -); - -CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); - -CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; - -CREATE TABLE "spy_oms_transition_log" -( - "id_oms_transition_log" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "quantity" INTEGER, - "locked" BOOLEAN, - "fk_oms_order_process" INTEGER, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_transition_log") -); - -CREATE SEQUENCE "spy_oms_order_process_pk_seq"; - -CREATE TABLE "spy_oms_order_process" -( - "id_oms_order_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_process"), - CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_oms_state_machine_lock" -( - "id_oms_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "details" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_state_machine_lock"), - CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state" -( - "id_oms_order_item_state" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_oms_order_item_state"), - CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state_history" -( - "id_oms_order_item_state_history" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_item_state_history") -); - -CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); - -CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; - -CREATE TABLE "spy_oms_event_timeout" -( - "id_oms_event_timeout" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_event_timeout"), - CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") -); - -CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation" -( - "id_oms_product_reservation" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, - "fk_store" INTEGER, - PRIMARY KEY ("id_oms_product_reservation"), - CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_store" -( - "id_oms_product_reservation_store" INTEGER NOT NULL, - "store" VARCHAR(255) NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER NOT NULL, - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_product_reservation_store"), - CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") -); - -CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); - -CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); - -CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); - -CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_change_version" -( - "version" INT8 NOT NULL, - "id_oms_product_reservation_id" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("version") -); - -CREATE TABLE "spy_oms_product_reservation_last_exported_version" -( - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP -); - -CREATE SEQUENCE "spy_order_source_pk_seq"; - -CREATE TABLE "spy_order_source" -( - "id_order_source" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_order_source") -); - -CREATE SEQUENCE "spy_price_product_pk_seq"; - -CREATE TABLE "spy_price_product" -( - "id_price_product" INTEGER NOT NULL, - "fk_price_type" INTEGER NOT NULL, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "price" INTEGER DEFAULT 0, - PRIMARY KEY ("id_price_product"), - CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") -); - -CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); - -CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); - -CREATE SEQUENCE "spy_price_type_pk_seq"; - -CREATE TABLE "spy_price_type" -( - "id_price_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "price_mode_configuration" INT2, - PRIMARY KEY ("id_price_type"), - CONSTRAINT "spy_price_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_price_product_store_pk_seq"; - -CREATE TABLE "spy_price_product_store" -( - "id_price_product_store" INT8 NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_price_product" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - "price_data" TEXT, - "price_data_checksum" VARCHAR, - PRIMARY KEY ("id_price_product_store") -); - -CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); - -CREATE SEQUENCE "spy_price_product_default_pk_seq"; - -CREATE TABLE "spy_price_product_default" -( - "id_price_product_default" INT8 NOT NULL, - "fk_price_product_store" INT8 NOT NULL, - PRIMARY KEY ("id_price_product_default"), - CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") -); - -CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); - -CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_price_product_abstract_storage" -( - "id_price_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_abstract_storage"), - CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_price_product_concrete_storage" -( - "id_price_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_concrete_storage"), - CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_abstract" -( - "id_product_abstract" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "attributes" TEXT NOT NULL, - "color_code" VARCHAR(8), - "new_from" TIMESTAMP, - "new_to" TIMESTAMP, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract"), - CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_abstract_localized_attributes" -( - "id_abstract_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_abstract_attributes"), - CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") -); - -CREATE SEQUENCE "id_product_abstract_store_pk_seq"; - -CREATE TABLE "spy_product_abstract_store" -( - "id_product_abstract_store" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_product_abstract_store"), - CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") -); - -CREATE SEQUENCE "spy_product_pk_seq"; - -CREATE TABLE "spy_product" -( - "id_product" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product"), - CONSTRAINT "spy_product-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_localized_attributes" -( - "id_product_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "is_complete" BOOLEAN DEFAULT \'t\', - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_attributes"), - CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") -); - -CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; - -CREATE TABLE "spy_product_attribute_key" -( - "id_product_attribute_key" INTEGER NOT NULL, - "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_attribute_key"), - CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_alternative_pk_seq"; - -CREATE TABLE "spy_product_alternative" -( - "id_product_alternative" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_product_abstract_alternative" INTEGER, - "fk_product_concrete_alternative" INTEGER, - PRIMARY KEY ("id_product_alternative") -); - -CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; - -CREATE TABLE "spy_product_alternative_storage" -( - "id_product_alternative_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_alternative_storage"), - CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); - -CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -CREATE TABLE "spy_product_replacement_for_storage" -( - "id_product_replacement_for_storage" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_replacement_for_storage"), - CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); - -CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; - -CREATE TABLE "spy_product_management_attribute" -( - "id_product_management_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, - "input_type" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_management_attribute"), - CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value" -( - "id_product_management_attribute_value" INTEGER NOT NULL, - "fk_product_management_attribute" INTEGER NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value_translation" -( - "id_product_management_attribute_value_translation" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_management_attribute_value" INTEGER NOT NULL, - "translation" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value_translation"), - CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -CREATE TABLE "spy_sales_order_item_bundle" -( - "id_sales_order_item_bundle" INTEGER NOT NULL, - "cart_note" VARCHAR(255), - "gross_price" INTEGER NOT NULL, - "image" TEXT, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_bundle") -); - -CREATE SEQUENCE "spy_product_bundle_pk_seq"; - -CREATE TABLE "spy_product_bundle" -( - "id_product_bundle" INTEGER NOT NULL, - "fk_bundled_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_bundle") -); - -COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; - -COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; - -COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; - -CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); - -CREATE SEQUENCE "spy_product_category_pk_seq"; - -CREATE TABLE "spy_product_category" -( - "id_product_category" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "product_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_product_category"), - CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") -); - -CREATE SEQUENCE "spy_product_category_filter_pk_seq"; - -CREATE TABLE "spy_product_category_filter" -( - "id_product_category_filter" INTEGER NOT NULL, - "fk_category" INTEGER, - "filter_data" TEXT NOT NULL, - PRIMARY KEY ("id_product_category_filter"), - CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") -); - -CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); - -CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -CREATE TABLE "spy_product_category_filter_storage" -( - "id_product_category_filter_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_category_filter_storage"), - CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); - -CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_category_storage" -( - "id_product_abstract_category_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_category_storage"), - CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_discontinued_pk_seq"; - -CREATE TABLE "spy_product_discontinued" -( - "id_product_discontinued" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "active_until" DATE NOT NULL, - "discontinued_on" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued") -); - -CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; - -CREATE TABLE "spy_product_discontinued_note" -( - "id_product_discontinued_note" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "note" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_note"), - CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") -); - -CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; - -CREATE TABLE "spy_product_discontinued_storage" -( - "id_product_discontinued_storage" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_storage"), - CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); - -CREATE SEQUENCE "spy_product_group_pk_seq"; - -CREATE TABLE "spy_product_group" -( - "id_product_group" INTEGER NOT NULL, - "product_group_key" VARCHAR(32), - PRIMARY KEY ("id_product_group") -); - -CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); - -CREATE TABLE "spy_product_abstract_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_group" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_group") -); - -CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_group_storage" -( - "id_product_abstract_group_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_group_storage"), - CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_image_set_pk_seq"; - -CREATE TABLE "spy_product_image_set" -( - "id_product_image_set" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image_set"), - CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") -); - -CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); - -CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); - -CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_product_image_pk_seq"; - -CREATE TABLE "spy_product_image" -( - "id_product_image" INTEGER NOT NULL, - "external_url_large" VARCHAR(2048), - "external_url_small" VARCHAR(2048), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image") -); - -CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -CREATE TABLE "spy_product_image_set_to_product_image" -( - "id_product_image_set_to_product_image" INTEGER NOT NULL, - "fk_product_image" INTEGER NOT NULL, - "fk_product_image_set" INTEGER NOT NULL, - "sort_order" INTEGER NOT NULL, - PRIMARY KEY ("id_product_image_set_to_product_image"), - CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") -); - -CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_image_storage" -( - "id_product_abstract_image_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_image_storage"), - CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_image_storage" -( - "id_product_concrete_image_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_image_storage"), - CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_label_pk_seq"; - -CREATE TABLE "spy_product_label" -( - "id_product_label" INTEGER NOT NULL, - "front_end_reference" VARCHAR, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_published" BOOLEAN DEFAULT \'f\', - "name" VARCHAR NOT NULL, - "position" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label"), - CONSTRAINT "spy_product_label-name" UNIQUE ("name") -); - -CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); - -CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_label_localized_attributes" -( - "id_product_label_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - "name" VARCHAR, - PRIMARY KEY ("id_product_label_localized_attributes"), - CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") -); - -CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); - -CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_label_product_abstract" -( - "id_product_label_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - PRIMARY KEY ("id_product_label_product_abstract"), - CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") -); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -CREATE TABLE "spy_product_label_dictionary_storage" -( - "id_product_label_dictionary_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label_dictionary_storage"), - CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_label_storage" -( - "id_product_abstract_label_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_label_storage"), - CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_option_group_pk_seq"; - -CREATE TABLE "spy_product_option_group" -( - "id_product_option_group" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "active" BOOLEAN, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_group") -); - -CREATE TABLE "spy_product_abstract_product_option_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_option_group") -); - -CREATE SEQUENCE "spy_product_option_value_pk_seq"; - -CREATE TABLE "spy_product_option_value" -( - "id_product_option_value" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - "price" INTEGER, - "sku" VARCHAR(255) NOT NULL, - "value" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_value"), - CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") -); - -COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; - -CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; - -CREATE TABLE "spy_product_option_value_price" -( - "id_product_option_value_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_product_option_value" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - PRIMARY KEY ("id_product_option_value_price"), - CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_option_storage" -( - "id_product_abstract_option_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_option_storage"), - CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -CREATE TABLE "spy_product_abstract_page_search" -( - "id_product_abstract_page_search" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_page_search"), - CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_relation_type_pk_seq"; - -CREATE TABLE "spy_product_relation_type" -( - "id_product_relation_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_type") -); - -CREATE SEQUENCE "spy_product_relation_pk_seq"; - -CREATE TABLE "spy_product_relation" -( - "id_product_relation" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation_type" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, - "query_set_data" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation"), - CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") -); - -CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -CREATE TABLE "spy_product_relation_product_abstract" -( - "id_product_relation_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation" INTEGER NOT NULL, - "order" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_product_abstract") -); - -CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_relation_storage" -( - "id_product_abstract_relation_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_relation_storage"), - CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_review_pk_seq"; - -CREATE TABLE "spy_product_review" -( - "id_product_review" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "description" TEXT, - "nickname" VARCHAR(255), - "rating" INTEGER DEFAULT 0 NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "summary" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review") -); - -CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); - -CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); - -CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); - -CREATE SEQUENCE "spy_product_review_search_pk_seq"; - -CREATE TABLE "spy_product_review_search" -( - "id_product_review_search" INT8 NOT NULL, - "fk_product_review" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review_search"), - CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); - -CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_review_storage" -( - "id_product_abstract_review_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_review_storage"), - CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_search_pk_seq"; - -CREATE TABLE "spy_product_search" -( - "id_product_search" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_product_search") -); - -CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); - -CREATE TABLE "spy_product_search_attribute_map" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); - -CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; - -CREATE TABLE "spy_product_search_attribute" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_product_search_attribute"), - CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; - -CREATE TABLE "spy_product_search_config_storage" -( - "id_product_search_config_storage" INT8 NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_config_storage"), - CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_set_pk_seq"; - -CREATE TABLE "spy_product_set" -( - "id_product_set" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "product_set_key" VARCHAR(255) NOT NULL, - "weight" INTEGER DEFAULT 0 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set"), - CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") -); - -CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; - -CREATE TABLE "spy_product_abstract_set" -( - "id_product_abstract_set" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_product_abstract_set"), - CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") -); - -CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); - -CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_set_data_pk_seq"; - -CREATE TABLE "spy_product_set_data" -( - "id_product_set_data" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_data"), - CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") -); - -CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); - -CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); - -CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; - -CREATE TABLE "spy_product_set_page_search" -( - "id_product_set_page_search" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_page_search"), - CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_set_storage_pk_seq"; - -CREATE TABLE "spy_product_set_storage" -( - "id_product_set_storage" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_storage"), - CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_storage" -( - "id_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_storage"), - CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_storage" -( - "id_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_storage"), - CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_validity_pk_seq"; - -CREATE TABLE "spy_product_validity" -( - "id_product_validity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_product_validity"), - CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") -); - -CREATE TABLE "spy_propel_heartbeat" -( - "heartbeat_check" VARCHAR NOT NULL, - PRIMARY KEY ("heartbeat_check") -); - -CREATE SEQUENCE "spy_queue_process_pk_seq"; - -CREATE TABLE "spy_queue_process" -( - "id_queue_process" INTEGER NOT NULL, - "server_id" VARCHAR(255) NOT NULL, - "process_pid" INTEGER NOT NULL, - "worker_pid" INTEGER NOT NULL, - "queue_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_queue_process"), - CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") -); - -CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); - -CREATE SEQUENCE "id_quote_pk_seq"; - -CREATE TABLE "spy_quote" -( - "id_quote" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "quote_data" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_quote") -); - -CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); - -CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); - -CREATE SEQUENCE "spy_refund_pk_seq"; - -CREATE TABLE "spy_refund" -( - "id_refund" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "comment" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_refund") -); - -CREATE SEQUENCE "spy_sales_order_pk_seq"; - -CREATE TABLE "spy_sales_order" -( - "id_sales_order" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_order_source" INTEGER, - "fk_sales_order_address_billing" INTEGER NOT NULL, - "fk_sales_order_address_shipping" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER, - "cart_note" VARCHAR(255), - "currency_iso_code" VARCHAR(5), - "customer_reference" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100), - "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, - "last_name" VARCHAR(100), - "order_reference" VARCHAR(45) NOT NULL, - "price_mode" INT2, - "salutation" INT2, - "store" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order"), - CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") -); - -CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); - -CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); - -CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); - -CREATE SEQUENCE "spy_sales_order_item_pk_seq"; - -CREATE TABLE "spy_sales_order_item" -( - "id_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "fk_oms_order_process" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_order_item_bundle" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "cart_note" VARCHAR(255), - "discount_amount_aggregation" INTEGER DEFAULT 0, - "discount_amount_full_aggregation" INTEGER DEFAULT 0, - "expense_price_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "group_key" VARCHAR(255), - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "product_option_price_aggregation" INTEGER DEFAULT 0, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "refundable_amount" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "subtotal_aggregation" INTEGER, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_amount_full_aggregation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "tax_rate_average_aggregation" NUMERIC(8,2), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item") -); - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; - -CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); - -CREATE SEQUENCE "spy_sales_discount_pk_seq"; - -CREATE TABLE "spy_sales_discount" -( - "id_sales_discount" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER, - "fk_sales_order_item" INTEGER, - "fk_sales_order_item_option" INTEGER, - "amount" INTEGER NOT NULL, - "description" VARCHAR(510), - "display_name" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount") -); - -CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; - -CREATE TABLE "spy_sales_discount_code" -( - "id_sales_discount_code" INTEGER NOT NULL, - "fk_sales_discount" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "codepool_name" VARCHAR(255) NOT NULL, - "is_once_per_customer" BOOLEAN DEFAULT \'t\', - "is_refundable" BOOLEAN DEFAULT \'f\', - "is_reusable" BOOLEAN DEFAULT \'f\', - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount_code") -); - -CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -CREATE TABLE "spy_sales_order_item_gift_card" -( - "id_sales_order_item_gift_card" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "attributes" TEXT, - "code" VARCHAR(40), - "pattern" VARCHAR(40), - "value" INTEGER, - PRIMARY KEY ("id_sales_order_item_gift_card") -); - -CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; - -CREATE TABLE "spy_sales_order_item_option" -( - "id_sales_order_item_option" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER DEFAULT 0 NOT NULL, - "group_name" VARCHAR NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "tax_amount" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2) NOT NULL, - "value" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_option") -); - -COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -CREATE SEQUENCE "spy_sales_order_address_pk_seq"; - -CREATE TABLE "spy_sales_order_address" -( - "id_sales_order_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address") -); - -CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; - -CREATE TABLE "spy_sales_order_address_history" -( - "id_sales_order_address_history" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "fk_sales_order_address" INTEGER NOT NULL, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "is_billing" BOOLEAN DEFAULT \'f\', - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address_history") -); - -CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; - -CREATE TABLE "spy_sales_order_totals" -( - "id_sales_order_totals" INTEGER NOT NULL, - "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, - "canceled_total" INTEGER DEFAULT 0, - "discount_total" INTEGER DEFAULT 0, - "grand_total" INTEGER DEFAULT 0, - "order_expense_total" INTEGER DEFAULT 0, - "refund_total" INTEGER DEFAULT 0, - "subtotal" INTEGER DEFAULT 0, - "tax_total" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_totals") -); - -CREATE SEQUENCE "spy_sales_order_note_pk_seq"; - -CREATE TABLE "spy_sales_order_note" -( - "id_sales_order_note" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "command" VARCHAR(255) NOT NULL, - "message" VARCHAR(255) NOT NULL, - "success" BOOLEAN NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_note") -); - -CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; - -CREATE TABLE "spy_sales_order_comment" -( - "id_sales_order_comment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "message" TEXT NOT NULL, - "username" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_comment") -); - -CREATE SEQUENCE "spy_sales_expense_pk_seq"; - -CREATE TABLE "spy_sales_expense" -( - "id_sales_expense" INTEGER NOT NULL, - "fk_sales_order" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "name" VARCHAR(255), - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "refundable_amount" INTEGER DEFAULT 0, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "type" VARCHAR(150), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_expense"), - CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") -); - -COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; - -COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -CREATE TABLE "spy_sales_order_item_metadata" -( - "id_sales_order_item_metadata" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "image" TEXT, - "super_attributes" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_metadata") -); - -CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); - -CREATE SEQUENCE "spy_sales_shipment_pk_seq"; - -CREATE TABLE "spy_sales_shipment" -( - "id_sales_shipment" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "carrier_name" VARCHAR(255), - "delivery_time" VARCHAR(255), - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_shipment") -); - -CREATE SEQUENCE "id_sales_order_threshold_pk_seq"; - -CREATE TABLE "spy_sales_order_threshold" -( - "id_sales_order_threshold" INTEGER NOT NULL, - "fk_sales_order_threshold_type" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "threshold" INTEGER NOT NULL, - "fee" INTEGER, - "message_glossary_key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_threshold") -); - -CREATE SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; - -CREATE TABLE "spy_sales_order_threshold_tax_set" -( - "id_sales_order_threshold_tax_set" INTEGER NOT NULL, - "fk_tax_set" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_threshold_tax_set") -); - -CREATE SEQUENCE "id_sales_order_threshold_type_pk_seq"; - -CREATE TABLE "spy_sales_order_threshold_type" -( - "id_sales_order_threshold_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "threshold_group" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_threshold_type"), - CONSTRAINT "spy_sales_order_threshold_type-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_sales_payment_pk_seq"; - -CREATE TABLE "spy_sales_payment" -( - "id_sales_payment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_payment_method_type" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_payment") -); - -CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -CREATE TABLE "spy_sales_payment_method_type" -( - "id_sales_payment_method_type" INTEGER NOT NULL, - "payment_provider" VARCHAR NOT NULL, - "payment_method" VARCHAR NOT NULL, - PRIMARY KEY ("id_sales_payment_method_type") -); - -CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); - -CREATE SEQUENCE "spy_sequence_number_pk_seq"; - -CREATE TABLE "spy_sequence_number" -( - "id_sequence_number" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "current_id" INTEGER NOT NULL, - PRIMARY KEY ("id_sequence_number"), - CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; - -CREATE TABLE "spy_shipment_carrier" -( - "id_shipment_carrier" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_shipment_carrier") -); - -CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_pk_seq"; - -CREATE TABLE "spy_shipment_method" -( - "id_shipment_method" INTEGER NOT NULL, - "fk_shipment_carrier" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "name" VARCHAR(255) NOT NULL, - "shipment_method_key" VARCHAR(255), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "default_price" INTEGER, - "availability_plugin" VARCHAR(255), - "price_plugin" VARCHAR(255), - "delivery_time_plugin" VARCHAR(255), - PRIMARY KEY ("id_shipment_method") -); - -COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; - -CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; - -CREATE TABLE "spy_shipment_method_price" -( - "id_shipment_method_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_shipment_method" INTEGER NOT NULL, - "default_gross_price" INTEGER, - "default_net_price" INTEGER, - PRIMARY KEY ("id_shipment_method_price"), - CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -CREATE TABLE "spy_state_machine_transition_log" -( - "id_state_machine_transition_log" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "locked" BOOLEAN, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_transition_log") -); - -CREATE SEQUENCE "spy_state_machine_process_pk_seq"; - -CREATE TABLE "spy_state_machine_process" -( - "id_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "state_machine_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_process"), - CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") -); - -CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); - -CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_state_machine_lock" -( - "id_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_lock"), - CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state" -( - "id_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_state_machine_item_state"), - CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") -); - -CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state_history" -( - "id_state_machine_item_state_history" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_item_state_history") -); - -CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); - -CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -CREATE TABLE "spy_state_machine_event_timeout" -( - "id_state_machine_event_timeout" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_event_timeout"), - CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") -); - -CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_stock_pk_seq"; - -CREATE TABLE "spy_stock" -( - "id_stock" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_stock"), - CONSTRAINT "spy_stock-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_stock_product_pk_seq"; - -CREATE TABLE "spy_stock_product" -( - "id_stock_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_stock" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 0, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_stock_product"), - CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") -); - -CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); - -CREATE SEQUENCE "spy_store_pk_seq"; - -CREATE TABLE "spy_store" -( - "id_store" INTEGER NOT NULL, - "name" VARCHAR(255), - PRIMARY KEY ("id_store") -); - -CREATE SEQUENCE "spy_tax_set_pk_seq"; - -CREATE TABLE "spy_tax_set" -( - "id_tax_set" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_set") -); - -CREATE SEQUENCE "spy_tax_rate_pk_seq"; - -CREATE TABLE "spy_tax_rate" -( - "id_tax_rate" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "rate" NUMERIC(8,2) NOT NULL, - "fk_country" INTEGER, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_rate") -); - -CREATE TABLE "spy_tax_set_tax" -( - "fk_tax_set" INTEGER NOT NULL, - "fk_tax_rate" INTEGER NOT NULL, - PRIMARY KEY ("fk_tax_set","fk_tax_rate") -); - -CREATE SEQUENCE "spy_touch_pk_seq"; - -CREATE TABLE "spy_touch" -( - "id_touch" INTEGER NOT NULL, - "item_type" VARCHAR(255) NOT NULL, - "item_event" INT2 NOT NULL, - "item_id" INTEGER NOT NULL, - "touched" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_touch"), - CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") -); - -CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); - -CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); - -CREATE SEQUENCE "spy_touch_storage_pk_seq"; - -CREATE TABLE "spy_touch_storage" -( - "id_touch_storage" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_storage"), - CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); - -CREATE SEQUENCE "spy_touch_search_pk_seq"; - -CREATE TABLE "spy_touch_search" -( - "id_touch_search" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_search"), - CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); - -CREATE SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; - -CREATE TABLE "spy_unauthenticated_customer_access" -( - "id_unauthenticated_customer_access" INTEGER NOT NULL, - "content_type" VARCHAR(100) NOT NULL, - "is_restricted" BOOLEAN NOT NULL, - PRIMARY KEY ("id_unauthenticated_customer_access"), - CONSTRAINT "spy_unauthenticated_customer_access_u_0984b8" UNIQUE ("content_type") -); - -CREATE SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; - -CREATE TABLE "spy_unauthenticated_customer_access_storage" -( - "id_unauthenticated_customer_access_storage" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_unauthenticated_customer_access_storage"), - CONSTRAINT "spy_unauthenticated_customer_access_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_url_pk_seq"; - -CREATE TABLE "spy_url" -( - "id_url" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_resource_categorynode" INTEGER, - "fk_resource_page" INTEGER, - "fk_resource_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "fk_resource_redirect" INTEGER, - "url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url"), - CONSTRAINT "spy_url_unique_key" UNIQUE ("url") -); - -CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_url_redirect_pk_seq"; - -CREATE TABLE "spy_url_redirect" -( - "id_url_redirect" INTEGER NOT NULL, - "status" INTEGER DEFAULT 301 NOT NULL, - "to_url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url_redirect") -); - -CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); - -CREATE SEQUENCE "spy_url_storage_pk_seq"; - -CREATE TABLE "spy_url_storage" -( - "id_url_storage" INT8 NOT NULL, - "fk_categorynode" INTEGER, - "fk_page" INTEGER, - "fk_product_abstract" INTEGER, - "fk_product_set" INTEGER, - "fk_redirect" INTEGER, - "fk_url" INTEGER NOT NULL, - "url" VARCHAR NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_storage"), - CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); - -CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; - -CREATE TABLE "spy_url_redirect_storage" -( - "id_url_redirect_storage" INT8 NOT NULL, - "fk_url_redirect" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_redirect_storage"), - CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); - -CREATE SEQUENCE "spy_user_pk_seq"; - -CREATE TABLE "spy_user" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_user"), - CONSTRAINT "spy_user-username" UNIQUE ("username") -); - -CREATE SEQUENCE "spy_wishlist_pk_seq"; - -CREATE TABLE "spy_wishlist" -( - "id_wishlist" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist"), - CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") -); - -CREATE SEQUENCE "spy_wishlist_item_pk_seq"; - -CREATE TABLE "spy_wishlist_item" -( - "id_wishlist_item" INTEGER NOT NULL, - "fk_wishlist" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist_item") -); - -CREATE TABLE "spy_acl_role_archive" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role") -); - -CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); - -CREATE TABLE "spy_acl_rule_archive" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE TABLE "spy_acl_group_archive" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group") -); - -CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); - -CREATE TABLE "spy_auth_reset_password_archive" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user") -); - -CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); - -CREATE TABLE "spy_product_search_attribute_map_archive" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - "archived_at" TIMESTAMP, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_product_search_attribute_archive" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_attribute") -); - -CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_user_archive" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_user") -); - -CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); - -ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" - FOREIGN KEY ("fk_availability_abstract") - REFERENCES "spy_availability_abstract" ("id_availability_abstract"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" - FOREIGN KEY ("fk_parent_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" - FOREIGN KEY ("fk_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" - FOREIGN KEY ("fk_category_node_descendant") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_template" ("id_cms_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" - FOREIGN KEY ("fk_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_block_template" ("id_cms_block_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block"); - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" - FOREIGN KEY ("fk_cms_block_category_position") - REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" - FOREIGN KEY ("default_billing_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" - FOREIGN KEY ("default_shipping_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" - FOREIGN KEY ("fk_customer_group") - REFERENCES "spy_customer_group" ("id_customer_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_file" ADD CONSTRAINT "spy_file-fk_file_directory" - FOREIGN KEY ("fk_file_directory") - REFERENCES "spy_file_directory" ("id_file_directory"); - -ALTER TABLE "spy_file_info" ADD CONSTRAINT "spy_file_info-fk_file" - FOREIGN KEY ("fk_file") - REFERENCES "spy_file" ("id_file") - ON DELETE CASCADE; - -ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_file" - FOREIGN KEY ("fk_file") - REFERENCES "spy_file" ("id_file") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_file_directory" ADD CONSTRAINT "spy_file_directory_fk_47023d" - FOREIGN KEY ("fk_parent_file_directory") - REFERENCES "spy_file_directory" ("id_file_directory") - ON DELETE CASCADE; - -ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_52d44c" - FOREIGN KEY ("fk_file_directory") - REFERENCES "spy_file_directory" ("id_file_directory") - ON DELETE CASCADE; - -ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" - FOREIGN KEY ("fk_gift_card_product_abstract_configuration") - REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" - FOREIGN KEY ("fk_gift_card_product_configuration") - REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); - -ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" - FOREIGN KEY ("fk_sales_payment") - REFERENCES "spy_sales_payment" ("id_sales_payment"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" - FOREIGN KEY ("fk_gift_card") - REFERENCES "spy_gift_card" ("id_gift_card"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" - FOREIGN KEY ("fk_parent_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" - FOREIGN KEY ("fk_navigation") - REFERENCES "spy_navigation" ("id_navigation") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" - FOREIGN KEY ("fk_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" - FOREIGN KEY ("fk_url") - REFERENCES "spy_url" ("id_url"); - -ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" - FOREIGN KEY ("fk_newsletter_subscriber") - REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" - FOREIGN KEY ("fk_newsletter_type") - REFERENCES "spy_newsletter_type" ("id_newsletter_type"); - -ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" - FOREIGN KEY ("fk_price_type") - REFERENCES "spy_price_type" ("id_price_type"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" - FOREIGN KEY ("fk_price_product") - REFERENCES "spy_price_product" ("id_price_product"); - -ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" - FOREIGN KEY ("fk_price_product_store") - REFERENCES "spy_price_product_store" ("id_price_product_store") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" - FOREIGN KEY ("fk_product_abstract_alternative") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" - FOREIGN KEY ("fk_product_concrete_alternative") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" - FOREIGN KEY ("fk_product_management_attribute") - REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" - FOREIGN KEY ("fk_product_management_attribute_value") - REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" - FOREIGN KEY ("fk_bundled_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" - FOREIGN KEY ("fk_product_discontinued") - REFERENCES "spy_product_discontinued" ("id_product_discontinued"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" - FOREIGN KEY ("fk_product_group") - REFERENCES "spy_product_group" ("id_product_group"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" - FOREIGN KEY ("fk_product_image_set") - REFERENCES "spy_product_image_set" ("id_product_image_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" - FOREIGN KEY ("fk_product_image") - REFERENCES "spy_product_image" ("id_product_image"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE SET NULL; - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" - FOREIGN KEY ("fk_product_option_value") - REFERENCES "spy_product_option_value" ("id_product_option_value") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" - FOREIGN KEY ("fk_product_relation_type") - REFERENCES "spy_product_relation_type" ("id_product_relation_type"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" - FOREIGN KEY ("fk_product_relation") - REFERENCES "spy_product_relation" ("id_product_relation"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" - FOREIGN KEY ("fk_order_source") - REFERENCES "spy_order_source" ("id_order_source"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" - FOREIGN KEY ("fk_sales_order_address_billing") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" - FOREIGN KEY ("fk_sales_order_address_shipping") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" - FOREIGN KEY ("fk_sales_order_item_bundle") - REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" - FOREIGN KEY ("fk_sales_order_item_option") - REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); - -ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" - FOREIGN KEY ("fk_sales_discount") - REFERENCES "spy_sales_discount" ("id_sales_discount"); - -ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" - FOREIGN KEY ("fk_sales_order_address") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_sales_order_threshold_type" - FOREIGN KEY ("fk_sales_order_threshold_type") - REFERENCES "spy_sales_order_threshold_type" ("id_sales_order_threshold_type"); - -ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_sales_order_threshold_tax_set" ADD CONSTRAINT "spy_sales_order_threshold_tax_set-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" - FOREIGN KEY ("fk_sales_payment_method_type") - REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" - FOREIGN KEY ("fk_shipment_carrier") - REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" - FOREIGN KEY ("fk_shipment_method") - REFERENCES "spy_shipment_method" ("id_shipment_method"); - -ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" - FOREIGN KEY ("fk_stock") - REFERENCES "spy_stock" ("id_stock"); - -ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" - FOREIGN KEY ("fk_tax_rate") - REFERENCES "spy_tax_rate" ("id_tax_rate"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" - FOREIGN KEY ("fk_resource_categorynode") - REFERENCES "spy_category_node" ("id_category_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" - FOREIGN KEY ("fk_resource_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" - FOREIGN KEY ("fk_resource_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" - FOREIGN KEY ("fk_resource_redirect") - REFERENCES "spy_url_redirect" ("id_url_redirect") - ON DELETE CASCADE; - -ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" - FOREIGN KEY ("fk_wishlist") - REFERENCES "spy_wishlist" ("id_wishlist"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" - FOREIGN KEY ("sku") - REFERENCES "spy_product" ("sku"); - -COMMIT; -', -); - } - - /** - * Get the SQL statements for the Down migration - * - * @return array list of the SQL strings to execute for the Down migration - * the keys being the datasources - */ - public function getDownSQL() - { - return array ( - 'zed' => ' -BEGIN; - -DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role" CASCADE; - -DROP SEQUENCE "spy_acl_role_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; - -DROP SEQUENCE "spy_acl_rule_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_group" CASCADE; - -DROP SEQUENCE "spy_acl_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; - -DROP SEQUENCE "spy_auth_reset_password_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; - -DROP SEQUENCE "spy_availability_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability" CASCADE; - -DROP SEQUENCE "spy_availability_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; - -DROP SEQUENCE "spy_availability_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category" CASCADE; - -DROP SEQUENCE "spy_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; - -DROP SEQUENCE "spy_category_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node" CASCADE; - -DROP SEQUENCE "spy_category_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; - -DROP SEQUENCE "spy_category_closure_table_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; - -DROP SEQUENCE "spy_category_node_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; - -DROP SEQUENCE "spy_category_tree_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; - -DROP SEQUENCE "spy_category_node_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_template" CASCADE; - -DROP SEQUENCE "spy_category_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_template" CASCADE; - -DROP SEQUENCE "spy_cms_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page" CASCADE; - -DROP SEQUENCE "spy_cms_page_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_version" CASCADE; - -DROP SEQUENCE "spy_cms_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; - -DROP SEQUENCE "spy_cms_block_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block" CASCADE; - -DROP SEQUENCE "spy_cms_block_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; - -DROP SEQUENCE "id_cms_block_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; - -DROP SEQUENCE "spy_cms_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; - -DROP SEQUENCE "spy_cms_page_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_country" CASCADE; - -DROP SEQUENCE "spy_country_pk_seq"; - -DROP TABLE IF EXISTS "spy_region" CASCADE; - -DROP SEQUENCE "spy_region_pk_seq"; - -DROP TABLE IF EXISTS "spy_currency" CASCADE; - -DROP SEQUENCE "spy_currency_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer" CASCADE; - -DROP SEQUENCE "spy_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_address" CASCADE; - -DROP SEQUENCE "spy_customer_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group" CASCADE; - -DROP SEQUENCE "spy_customer_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; - -DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_note" CASCADE; - -DROP SEQUENCE "spy_customer_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount" CASCADE; - -DROP SEQUENCE "spy_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_store" CASCADE; - -DROP SEQUENCE "id_discount_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; - -DROP SEQUENCE "spy_discount_amount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; - -DROP SEQUENCE "spy_discount_promotion_pk_seq"; - -DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; - -DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; - -DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_file" CASCADE; - -DROP SEQUENCE "spy_file_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_info" CASCADE; - -DROP SEQUENCE "spy_file_info_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_file_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_directory" CASCADE; - -DROP SEQUENCE "spy_file_directory_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_directory_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_mime_type" CASCADE; - -DROP SEQUENCE "spy_mime_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_storage" CASCADE; - -DROP SEQUENCE "spy_file_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card" CASCADE; - -DROP SEQUENCE "spy_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; - -DROP SEQUENCE "spy_payment_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; - -DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; - -DROP SEQUENCE "spy_glossary_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; - -DROP SEQUENCE "spy_glossary_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; - -DROP SEQUENCE "spy_glossary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_locale" CASCADE; - -DROP SEQUENCE "spy_locale_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation" CASCADE; - -DROP SEQUENCE "spy_navigation_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; - -DROP SEQUENCE "spy_navigation_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; - -DROP SEQUENCE "spy_navigation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; - -DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; - -DROP SEQUENCE "spy_newsletter_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; - -DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; - -DROP SEQUENCE "spy_nopayment_paid_pk_seq"; - -DROP TABLE IF EXISTS "spy_offer" CASCADE; - -DROP SEQUENCE "spy_offer_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; - -DROP SEQUENCE "spy_oms_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; - -DROP SEQUENCE "spy_oms_order_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; - -DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; - -DROP TABLE IF EXISTS "spy_order_source" CASCADE; - -DROP SEQUENCE "spy_order_source_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product" CASCADE; - -DROP SEQUENCE "spy_price_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_type" CASCADE; - -DROP SEQUENCE "spy_price_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; - -DROP SEQUENCE "spy_price_product_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; - -DROP SEQUENCE "spy_price_product_default_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; - -DROP SEQUENCE "id_product_abstract_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_product" CASCADE; - -DROP SEQUENCE "spy_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; - -DROP SEQUENCE "spy_product_attribute_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; - -DROP SEQUENCE "spy_product_alternative_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; - -DROP SEQUENCE "id_product_alternative_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; - -DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; - -DROP SEQUENCE "spy_product_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category" CASCADE; - -DROP SEQUENCE "spy_product_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; - -DROP SEQUENCE "id_product_discontinued_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; - -DROP SEQUENCE "id_product_discontinued_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; - -DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_group" CASCADE; - -DROP SEQUENCE "spy_product_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; - -DROP SEQUENCE "spy_product_image_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label" CASCADE; - -DROP SEQUENCE "spy_product_label_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; - -DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; - -DROP SEQUENCE "spy_product_option_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; - -DROP SEQUENCE "spy_product_option_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; - -DROP SEQUENCE "spy_product_option_value_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; - -DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; - -DROP SEQUENCE "spy_product_relation_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation" CASCADE; - -DROP SEQUENCE "spy_product_relation_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review" CASCADE; - -DROP SEQUENCE "id_product_review_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; - -DROP SEQUENCE "spy_product_review_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search" CASCADE; - -DROP SEQUENCE "spy_product_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; - -DROP SEQUENCE "spy_product_search_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; - -DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set" CASCADE; - -DROP SEQUENCE "spy_product_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; - -DROP SEQUENCE "spy_product_abstract_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; - -DROP SEQUENCE "spy_product_set_data_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; - -DROP SEQUENCE "spy_product_set_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; - -DROP SEQUENCE "spy_product_set_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_validity" CASCADE; - -DROP SEQUENCE "spy_product_validity_pk_seq"; - -DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; - -DROP TABLE IF EXISTS "spy_queue_process" CASCADE; - -DROP SEQUENCE "spy_queue_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_quote" CASCADE; - -DROP SEQUENCE "id_quote_pk_seq"; - -DROP TABLE IF EXISTS "spy_refund" CASCADE; - -DROP SEQUENCE "spy_refund_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order" CASCADE; - -DROP SEQUENCE "spy_sales_order_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; - -DROP SEQUENCE "spy_sales_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; - -DROP SEQUENCE "spy_sales_discount_code_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; - -DROP SEQUENCE "spy_sales_order_totals_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; - -DROP SEQUENCE "spy_sales_order_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; - -DROP SEQUENCE "spy_sales_order_comment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; - -DROP SEQUENCE "spy_sales_expense_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; - -DROP SEQUENCE "spy_sales_shipment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_threshold" CASCADE; - -DROP SEQUENCE "id_sales_order_threshold_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_threshold_tax_set" CASCADE; - -DROP SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_threshold_type" CASCADE; - -DROP SEQUENCE "id_sales_order_threshold_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; - -DROP SEQUENCE "spy_sales_payment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; - -DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; - -DROP SEQUENCE "spy_sequence_number_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; - -DROP SEQUENCE "spy_shipment_carrier_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; - -DROP SEQUENCE "spy_shipment_method_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; - -DROP SEQUENCE "spy_shipment_method_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; - -DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; - -DROP SEQUENCE "spy_state_machine_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; - -DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock" CASCADE; - -DROP SEQUENCE "spy_stock_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock_product" CASCADE; - -DROP SEQUENCE "spy_stock_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_store" CASCADE; - -DROP SEQUENCE "spy_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set" CASCADE; - -DROP SEQUENCE "spy_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; - -DROP SEQUENCE "spy_tax_rate_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; - -DROP TABLE IF EXISTS "spy_touch" CASCADE; - -DROP SEQUENCE "spy_touch_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; - -DROP SEQUENCE "spy_touch_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_search" CASCADE; - -DROP SEQUENCE "spy_touch_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_unauthenticated_customer_access" CASCADE; - -DROP SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; - -DROP TABLE IF EXISTS "spy_unauthenticated_customer_access_storage" CASCADE; - -DROP SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url" CASCADE; - -DROP SEQUENCE "spy_url_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; - -DROP SEQUENCE "spy_url_redirect_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_storage" CASCADE; - -DROP SEQUENCE "spy_url_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; - -DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_user" CASCADE; - -DROP SEQUENCE "spy_user_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist" CASCADE; - -DROP SEQUENCE "spy_wishlist_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; - -DROP SEQUENCE "spy_wishlist_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_user_archive" CASCADE; - -COMMIT; -', -); - } - -} \ No newline at end of file diff --git a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php b/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php deleted file mode 100644 index 434a70ca3a..0000000000 --- a/src/Orm/Propel/US/Migration_pgsql/PropelMigration_1540205665.php +++ /dev/null @@ -1,5081 +0,0 @@ - ' -BEGIN; - -CREATE SEQUENCE "spy_sales_reclamation_pk_seq"; - -CREATE TABLE "spy_sales_reclamation" -( - "id_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "customer_name" VARCHAR(511) NOT NULL, - "customer_reference" VARCHAR(255), - "customer_email" VARCHAR(255) NOT NULL, - "state" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_reclamation") -); - -CREATE SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -CREATE TABLE "spy_sales_reclamation_item" -( - "id_sales_reclamation_item" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "state" INT2 NOT NULL, - PRIMARY KEY ("id_sales_reclamation_item") -); - -CREATE SEQUENCE "spy_acl_role_pk_seq"; - -CREATE TABLE "spy_acl_role" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role"), - CONSTRAINT "spy_acl_role-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_acl_rule_pk_seq"; - -CREATE TABLE "spy_acl_rule" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE SEQUENCE "spy_acl_group_pk_seq"; - -CREATE TABLE "spy_acl_group" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group"), - CONSTRAINT "spy_acl_group-name" UNIQUE ("name") -); - -CREATE TABLE "spy_acl_user_has_group" -( - "fk_user" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_user","fk_acl_group") -); - -CREATE TABLE "spy_acl_groups_has_roles" -( - "fk_acl_role" INTEGER NOT NULL, - "fk_acl_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_acl_role","fk_acl_group") -); - -CREATE SEQUENCE "spy_auth_reset_password_pk_seq"; - -CREATE TABLE "spy_auth_reset_password" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user"), - CONSTRAINT "spy_auth_reset_password-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_availability_abstract_pk_seq"; - -CREATE TABLE "spy_availability_abstract" -( - "id_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_availability_abstract"), - CONSTRAINT "spy_availability_abstract-sku" UNIQUE ("abstract_sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_pk_seq"; - -CREATE TABLE "spy_availability" -( - "id_availability" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "fk_store" INTEGER, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - "quantity" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_availability"), - CONSTRAINT "spy_availability-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_availability_storage_pk_seq"; - -CREATE TABLE "spy_availability_storage" -( - "id_availability_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_availability_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_availability_storage"), - CONSTRAINT "spy_availability_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_availability_storage-fk_product_abstract" ON "spy_availability_storage" ("fk_product_abstract"); - -CREATE INDEX "spy_availability_storage-fk_availability_abstract" ON "spy_availability_storage" ("fk_availability_abstract"); - -CREATE SEQUENCE "spy_category_pk_seq"; - -CREATE TABLE "spy_category" -( - "id_category" INTEGER NOT NULL, - "fk_category_template" INTEGER, - "category_key" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\', - "is_clickable" BOOLEAN DEFAULT \'t\', - "is_in_menu" BOOLEAN DEFAULT \'t\', - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_category"), - CONSTRAINT "spy_category-category_key" UNIQUE ("category_key") -); - -CREATE SEQUENCE "spy_category_attribute_pk_seq"; - -CREATE TABLE "spy_category_attribute" -( - "id_category_attribute" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "category_image_name" VARCHAR(255), - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" TEXT, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_attribute") -); - -CREATE SEQUENCE "spy_category_node_pk_seq"; - -CREATE TABLE "spy_category_node" -( - "id_category_node" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_parent_category_node" INTEGER, - "is_main" BOOLEAN DEFAULT \'f\', - "is_root" BOOLEAN DEFAULT \'f\', - "node_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_category_node") -); - -CREATE INDEX "spy_category_node_i_8f153e" ON "spy_category_node" ("node_order"); - -CREATE SEQUENCE "spy_category_closure_table_pk_seq"; - -CREATE TABLE "spy_category_closure_table" -( - "id_category_closure_table" INTEGER NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "fk_category_node_descendant" INTEGER NOT NULL, - "depth" INTEGER NOT NULL, - PRIMARY KEY ("id_category_closure_table") -); - -CREATE SEQUENCE "spy_category_node_page_search_pk_seq"; - -CREATE TABLE "spy_category_node_page_search" -( - "id_category_node_page_search" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_page_search"), - CONSTRAINT "spy_category_node_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_page_search-fk_category_node" ON "spy_category_node_page_search" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_tree_storage_pk_seq"; - -CREATE TABLE "spy_category_tree_storage" -( - "id_category_tree_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_tree_storage"), - CONSTRAINT "spy_category_tree_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_category_node_storage_pk_seq"; - -CREATE TABLE "spy_category_node_storage" -( - "id_category_node_storage" INT8 NOT NULL, - "fk_category_node" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_category_node_storage"), - CONSTRAINT "spy_category_node_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_category_node_storage-fk_category_node" ON "spy_category_node_storage" ("fk_category_node"); - -CREATE SEQUENCE "spy_category_template_pk_seq"; - -CREATE TABLE "spy_category_template" -( - "id_category_template" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_category_template"), - CONSTRAINT "spy_category_template-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_template_pk_seq"; - -CREATE TABLE "spy_cms_template" -( - "id_cms_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_template"), - CONSTRAINT "spy_cms_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE INDEX "spy_cms_template-template_path" ON "spy_cms_template" ("template_path"); - -CREATE SEQUENCE "spy_cms_page_pk_seq"; - -CREATE TABLE "spy_cms_page" -( - "id_cms_page" INTEGER NOT NULL, - "fk_template" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_searchable" BOOLEAN DEFAULT \'f\' NOT NULL, - "page_key" VARCHAR(32), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_cms_page") -); - -CREATE INDEX "spy_cms_page_i_615cb5" ON "spy_cms_page" ("page_key"); - -CREATE SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -CREATE TABLE "spy_cms_page_localized_attributes" -( - "id_cms_page_localized_attributes" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_localized_attributes"), - CONSTRAINT "spy_cms_page_localized_attributes-unique-fk_cms_page" UNIQUE ("fk_cms_page","fk_locale") -); - -CREATE SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_glossary_key_mapping" -( - "id_cms_glossary_key_mapping" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_page" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_glossary_key_mapping"), - CONSTRAINT "spy_cms_glossary_key_mapping-unique-fk_page" UNIQUE ("fk_page","placeholder") -); - -CREATE INDEX "spy_cms_glossary_key_mapping-fk_page" ON "spy_cms_glossary_key_mapping" ("fk_page","placeholder"); - -CREATE SEQUENCE "spy_cms_version_pk_seq"; - -CREATE TABLE "spy_cms_version" -( - "id_cms_version" INTEGER NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "fk_user" INTEGER, - "data" TEXT, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_version") -); - -CREATE INDEX "spy_cms_version-index-fk_cms_page_version" ON "spy_cms_version" ("fk_cms_page","version"); - -CREATE SEQUENCE "spy_cms_block_template_pk_seq"; - -CREATE TABLE "spy_cms_block_template" -( - "id_cms_block_template" INTEGER NOT NULL, - "template_name" VARCHAR(255) NOT NULL, - "template_path" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_template"), - CONSTRAINT "spy_cms_block_template-unique-template_path" UNIQUE ("template_path") -); - -CREATE SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -CREATE TABLE "spy_cms_block_glossary_key_mapping" -( - "id_cms_block_glossary_key_mapping" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "placeholder" VARCHAR NOT NULL, - PRIMARY KEY ("id_cms_block_glossary_key_mapping"), - CONSTRAINT "spy_cms_block_glossary_key_mapping-unique-fk_cms_block" UNIQUE ("fk_cms_block","placeholder") -); - -CREATE SEQUENCE "spy_cms_block_pk_seq"; - -CREATE TABLE "spy_cms_block" -( - "id_cms_block" INTEGER NOT NULL, - "fk_page" INTEGER, - "fk_template" INTEGER, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "name" VARCHAR(255) NOT NULL, - "type" VARCHAR(255), - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "value" INTEGER, - PRIMARY KEY ("id_cms_block"), - CONSTRAINT "spy_cms_block-name-uq" UNIQUE ("name") -); - -COMMENT ON COLUMN "spy_cms_block"."fk_page" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."type" IS \'Deprecated\'; - -COMMENT ON COLUMN "spy_cms_block"."value" IS \'Deprecated\'; - -CREATE SEQUENCE "id_cms_block_store_pk_seq"; - -CREATE TABLE "spy_cms_block_store" -( - "id_cms_block_store" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_store"), - CONSTRAINT "spy_cms_block_store-fk_cms_block-fk_store" UNIQUE ("fk_cms_block","fk_store") -); - -CREATE SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_category_connector" -( - "id_cms_block_category_connector" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_category_template" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_cms_block_category_position" INTEGER, - PRIMARY KEY ("id_cms_block_category_connector") -); - -CREATE INDEX "spy_cms_block_category-connector-fk_cms_block" ON "spy_cms_block_category_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_category-connector-fk_category" ON "spy_cms_block_category_connector" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_category_position_pk_seq"; - -CREATE TABLE "spy_cms_block_category_position" -( - "id_cms_block_category_position" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_cms_block_category_position") -); - -CREATE SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_category_storage" -( - "id_cms_block_category_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_category_storage"), - CONSTRAINT "spy_cms_block_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_category_storage-fk_category" ON "spy_cms_block_category_storage" ("fk_category"); - -CREATE SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -CREATE TABLE "spy_cms_block_product_connector" -( - "id_cms_block_product_connector" INTEGER NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - PRIMARY KEY ("id_cms_block_product_connector") -); - -CREATE INDEX "spy_cms_block_product_connector-fk_cms_block" ON "spy_cms_block_product_connector" ("fk_cms_block"); - -CREATE INDEX "spy_cms_block_product_connector-fk_product_abstract" ON "spy_cms_block_product_connector" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_product_storage" -( - "id_cms_block_product_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_product_storage"), - CONSTRAINT "spy_cms_block_product_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_product_storage-fk_product_abstract" ON "spy_cms_block_product_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_cms_block_storage_pk_seq"; - -CREATE TABLE "spy_cms_block_storage" -( - "id_cms_block_storage" INT8 NOT NULL, - "fk_cms_block" INTEGER NOT NULL, - "name" VARCHAR NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_block_storage"), - CONSTRAINT "spy_cms_block_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_block_storage-fk_cms_block" ON "spy_cms_block_storage" ("fk_cms_block"); - -CREATE SEQUENCE "spy_cms_page_search_pk_seq"; - -CREATE TABLE "spy_cms_page_search" -( - "id_cms_page_search" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_search"), - CONSTRAINT "spy_cms_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_search-fk_cms_page" ON "spy_cms_page_search" ("fk_cms_page"); - -CREATE SEQUENCE "spy_cms_page_storage_pk_seq"; - -CREATE TABLE "spy_cms_page_storage" -( - "id_cms_page_storage" INT8 NOT NULL, - "fk_cms_page" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_cms_page_storage"), - CONSTRAINT "spy_cms_page_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_cms_page_storage-fk_cms_page" ON "spy_cms_page_storage" ("fk_cms_page"); - -CREATE SEQUENCE "spy_country_pk_seq"; - -CREATE TABLE "spy_country" -( - "id_country" INTEGER NOT NULL, - "iso2_code" VARCHAR(2) NOT NULL, - "iso3_code" VARCHAR(3), - "name" VARCHAR(255), - "postal_code_mandatory" BOOLEAN DEFAULT \'f\', - "postal_code_regex" VARCHAR(500), - PRIMARY KEY ("id_country"), - CONSTRAINT "spy_country-iso2_code" UNIQUE ("iso2_code"), - CONSTRAINT "spy_country-iso3_code" UNIQUE ("iso3_code") -); - -CREATE SEQUENCE "spy_region_pk_seq"; - -CREATE TABLE "spy_region" -( - "id_region" INTEGER NOT NULL, - "fk_country" INTEGER, - "name" VARCHAR(100) NOT NULL, - "iso2_code" VARCHAR(6) NOT NULL, - PRIMARY KEY ("id_region"), - CONSTRAINT "spy_region-iso2_code" UNIQUE ("iso2_code") -); - -CREATE SEQUENCE "spy_currency_pk_seq"; - -CREATE TABLE "spy_currency" -( - "id_currency" INTEGER NOT NULL, - "name" VARCHAR(255), - "code" VARCHAR(5), - "symbol" VARCHAR(255), - PRIMARY KEY ("id_currency") -); - -CREATE SEQUENCE "spy_customer_pk_seq"; - -CREATE TABLE "spy_customer" -( - "id_customer" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_user" INTEGER, - "anonymized_at" TIMESTAMP, - "company" VARCHAR(100), - "customer_reference" VARCHAR(255) NOT NULL, - "date_of_birth" DATE, - "default_billing_address" INTEGER, - "default_shipping_address" INTEGER, - "email" VARCHAR(255) NOT NULL, - "first_name" VARCHAR(100), - "gender" INT2, - "last_name" VARCHAR(100), - "password" VARCHAR(255), - "phone" VARCHAR(255), - "registered" DATE, - "registration_key" VARCHAR(150), - "restore_password_date" TIMESTAMP, - "restore_password_key" VARCHAR(150), - "salutation" INT2, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer"), - CONSTRAINT "spy_customer-email" UNIQUE ("email"), - CONSTRAINT "spy_customer-customer_reference" UNIQUE ("customer_reference") -); - -CREATE SEQUENCE "spy_customer_address_pk_seq"; - -CREATE TABLE "spy_customer_address" -( - "id_customer_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "anonymized_at" TIMESTAMP, - "city" VARCHAR(255), - "comment" VARCHAR(255), - "company" VARCHAR(255), - "deleted_at" TIMESTAMP, - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "phone" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_address") -); - -CREATE INDEX "spy_customer_address-fk_customer" ON "spy_customer_address" ("fk_customer"); - -CREATE SEQUENCE "spy_customer_group_pk_seq"; - -CREATE TABLE "spy_customer_group" -( - "id_customer_group" INTEGER NOT NULL, - "name" VARCHAR(70) NOT NULL, - "description" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group"), - CONSTRAINT "spy_customer-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -CREATE TABLE "spy_customer_group_to_customer" -( - "id_customer_group_to_customer" INTEGER NOT NULL, - "fk_customer_group" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_group_to_customer"), - CONSTRAINT "fk_customer_group-fk_customer" UNIQUE ("fk_customer_group","fk_customer") -); - -CREATE SEQUENCE "spy_customer_note_pk_seq"; - -CREATE TABLE "spy_customer_note" -( - "id_customer_note" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "username" VARCHAR, - "message" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_customer_note") -); - -CREATE SEQUENCE "spy_discount_pk_seq"; - -CREATE TABLE "spy_discount" -( - "id_discount" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "fk_store" INTEGER, - "amount" INTEGER NOT NULL, - "calculator_plugin" VARCHAR(255), - "collector_query_string" VARCHAR, - "decision_rule_query_string" VARCHAR, - "description" VARCHAR(1024), - "discount_key" VARCHAR(32), - "discount_type" VARCHAR(255), - "display_name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "is_exclusive" BOOLEAN DEFAULT \'f\', - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount"), - CONSTRAINT "spy_discount-unique-fk_discount_voucher_pool" UNIQUE ("fk_discount_voucher_pool"), - CONSTRAINT "spy_discount-unique-display_name" UNIQUE ("display_name") -); - -CREATE INDEX "spy_discount-index-discount_type" ON "spy_discount" ("discount_type"); - -CREATE INDEX "spy_discount_i_862ce6" ON "spy_discount" ("discount_key"); - -CREATE SEQUENCE "id_discount_store_pk_seq"; - -CREATE TABLE "spy_discount_store" -( - "id_discount_store" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_store"), - CONSTRAINT "spy_discount_store-fk_discount-fk_store" UNIQUE ("fk_discount","fk_store") -); - -CREATE SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -CREATE TABLE "spy_discount_voucher_pool" -( - "id_discount_voucher_pool" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher_pool") -); - -CREATE SEQUENCE "spy_discount_voucher_pk_seq"; - -CREATE TABLE "spy_discount_voucher" -( - "id_discount_voucher" INTEGER NOT NULL, - "fk_discount_voucher_pool" INTEGER, - "code" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\', - "max_number_of_uses" INTEGER, - "number_of_uses" INTEGER, - "voucher_batch" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_discount_voucher"), - CONSTRAINT "spy_discount_voucher-code" UNIQUE ("code") -); - -CREATE SEQUENCE "spy_discount_amount_pk_seq"; - -CREATE TABLE "spy_discount_amount" -( - "id_discount_amount" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "gross_amount" INTEGER, - "net_amount" INTEGER, - PRIMARY KEY ("id_discount_amount"), - CONSTRAINT "spy_discount_amount-unique-currency-discount" UNIQUE ("fk_currency","fk_discount") -); - -CREATE SEQUENCE "spy_discount_promotion_pk_seq"; - -CREATE TABLE "spy_discount_promotion" -( - "id_discount_promotion" INTEGER NOT NULL, - "fk_discount" INTEGER NOT NULL, - "abstract_sku" VARCHAR(255) NOT NULL, - "quantity" INTEGER NOT NULL, - PRIMARY KEY ("id_discount_promotion") -); - -CREATE SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -CREATE TABLE "spy_event_behavior_entity_change" -( - "id_event_behavior_entity_change" INT8 NOT NULL, - "data" VARCHAR, - "process_id" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_event_behavior_entity_change") -); - -CREATE SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -CREATE TABLE "pyz_example_state_machine_item" -( - "id_example_state_machine_item" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER, - "name" VARCHAR, - PRIMARY KEY ("id_example_state_machine_item") -); - -CREATE SEQUENCE "spy_file_pk_seq"; - -CREATE TABLE "spy_file" -( - "id_file" INTEGER NOT NULL, - "fk_file_directory" INTEGER, - "file_name" VARCHAR(500) NOT NULL, - PRIMARY KEY ("id_file") -); - -CREATE SEQUENCE "spy_file_info_pk_seq"; - -CREATE TABLE "spy_file_info" -( - "id_file_info" INTEGER NOT NULL, - "fk_file" INTEGER NOT NULL, - "type" VARCHAR(255) NOT NULL, - "size" INTEGER NOT NULL, - "version" INTEGER NOT NULL, - "version_name" VARCHAR(255) NOT NULL, - "storage_name" VARCHAR(255), - "storage_file_name" VARCHAR(255), - "extension" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_file_info") -); - -CREATE SEQUENCE "spy_file_localized_attributes_pk_seq"; - -CREATE TABLE "spy_file_localized_attributes" -( - "id_file_localized_attributes" INTEGER NOT NULL, - "fk_file" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "title" VARCHAR(255), - "alt" TEXT, - PRIMARY KEY ("id_file_localized_attributes"), - CONSTRAINT "spy_file_localized_attributes-unique-fk_file" UNIQUE ("fk_file","fk_locale") -); - -CREATE SEQUENCE "spy_file_directory_pk_seq"; - -CREATE TABLE "spy_file_directory" -( - "id_file_directory" INTEGER NOT NULL, - "fk_parent_file_directory" INTEGER, - "name" VARCHAR(255) NOT NULL, - "position" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_file_directory") -); - -CREATE INDEX "spy_file_directory_i_ba7161" ON "spy_file_directory" ("position"); - -CREATE SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; - -CREATE TABLE "spy_file_directory_localized_attributes" -( - "id_file_directory_localized_attributes" INTEGER NOT NULL, - "fk_file_directory" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_file_directory_localized_attributes"), - CONSTRAINT "spy_file_directory_localized_attributes-unique-fk_file_director" UNIQUE ("fk_file_directory","fk_locale") -); - -CREATE SEQUENCE "spy_mime_type_pk_seq"; - -CREATE TABLE "spy_mime_type" -( - "id_mime_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "is_allowed" BOOLEAN NOT NULL, - PRIMARY KEY ("id_mime_type"), - CONSTRAINT "spy_mime_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_file_storage_pk_seq"; - -CREATE TABLE "spy_file_storage" -( - "id_file_storage" INTEGER NOT NULL, - "fk_file" INTEGER, - "file_name" VARCHAR, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - PRIMARY KEY ("id_file_storage"), - CONSTRAINT "spy_file_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_file_storage-fk_file" ON "spy_file_storage" ("fk_file"); - -CREATE SEQUENCE "spy_gift_card_pk_seq"; - -CREATE TABLE "spy_gift_card" -( - "id_gift_card" INTEGER NOT NULL, - "name" VARCHAR(40) NOT NULL, - "replacement_pattern" VARCHAR(40), - "code" VARCHAR(40) NOT NULL, - "value" INTEGER NOT NULL, - "currency_iso_code" VARCHAR(5), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "attributes" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration" -( - "id_gift_card_product_abstract_configuration" INTEGER NOT NULL, - "code_pattern" VARCHAR(40) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_abstract_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_abstract_configuration_link" -( - "id_gift_card_product_abstract_configuration_link" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_gift_card_product_abstract_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_abstract_configuration_link") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration" -( - "id_gift_card_product_configuration" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_gift_card_product_configuration") -); - -CREATE SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -CREATE TABLE "spy_gift_card_product_configuration_link" -( - "id_gift_card_product_configuration_link" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_gift_card_product_configuration" INTEGER NOT NULL, - PRIMARY KEY ("id_gift_card_product_configuration_link") -); - -CREATE SEQUENCE "spy_payment_gift_card_pk_seq"; - -CREATE TABLE "spy_payment_gift_card" -( - "id_payment_gift_card" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "fk_sales_payment" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_payment_gift_card") -); - -CREATE SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -CREATE TABLE "spy_gift_card_balance_log" -( - "id_gift_card_balance_log" INTEGER NOT NULL, - "fk_gift_card" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "value" INTEGER NOT NULL, - "created_at" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_gift_card_balance_log") -); - -CREATE INDEX "spy_gift_card_balance_log_i_f56346" ON "spy_gift_card_balance_log" ("fk_gift_card","created_at","fk_sales_order","value"); - -CREATE SEQUENCE "spy_glossary_key_pk_seq"; - -CREATE TABLE "spy_glossary_key" -( - "id_glossary_key" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_glossary_key"), - CONSTRAINT "spy_glossary_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_key-index-key" ON "spy_glossary_key" ("key"); - -CREATE INDEX "spy_glossary_key-is_active" ON "spy_glossary_key" ("is_active"); - -CREATE SEQUENCE "spy_glossary_translation_pk_seq"; - -CREATE TABLE "spy_glossary_translation" -( - "id_glossary_translation" INTEGER NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_glossary_translation"), - CONSTRAINT "spy_glossary_translation-unique-fk_glossary_key" UNIQUE ("fk_glossary_key","fk_locale") -); - -CREATE INDEX "spy_glossary_translation-index-fk_locale" ON "spy_glossary_translation" ("fk_locale"); - -CREATE INDEX "spy_glossary_translation-is_active" ON "spy_glossary_translation" ("is_active"); - -CREATE SEQUENCE "spy_glossary_storage_pk_seq"; - -CREATE TABLE "spy_glossary_storage" -( - "id_glossary_storage" INT8 NOT NULL, - "fk_glossary_key" INTEGER NOT NULL, - "glossary_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_glossary_storage"), - CONSTRAINT "spy_glossary_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_glossary_storage-fk_glossary_key" ON "spy_glossary_storage" ("fk_glossary_key"); - -CREATE SEQUENCE "spy_locale_pk_seq"; - -CREATE TABLE "spy_locale" -( - "id_locale" INTEGER NOT NULL, - "locale_name" VARCHAR(5) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_locale"), - CONSTRAINT "spy_locale-unique-locale_name" UNIQUE ("locale_name") -); - -CREATE INDEX "spy_locale-index-locale_name" ON "spy_locale" ("locale_name"); - -CREATE SEQUENCE "spy_navigation_pk_seq"; - -CREATE TABLE "spy_navigation" -( - "id_navigation" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "key" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation"), - CONSTRAINT "spy_navigation_key-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation-index-key" ON "spy_navigation" ("key"); - -CREATE INDEX "spy_navigation-index-is_active" ON "spy_navigation" ("is_active"); - -CREATE SEQUENCE "spy_navigation_node_pk_seq"; - -CREATE TABLE "spy_navigation_node" -( - "id_navigation_node" INTEGER NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "fk_parent_navigation_node" INTEGER, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "node_key" VARCHAR(32), - "node_type" VARCHAR(255), - "position" INTEGER, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_navigation_node") -); - -CREATE INDEX "spy_navigation_node_i_ba7161" ON "spy_navigation_node" ("position"); - -CREATE INDEX "spy_navigation_node_i_576b1b" ON "spy_navigation_node" ("node_key"); - -CREATE SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -CREATE TABLE "spy_navigation_node_localized_attributes" -( - "id_navigation_node_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_navigation_node" INTEGER NOT NULL, - "fk_url" INTEGER, - "css_class" VARCHAR(255), - "external_url" VARCHAR(255), - "link" VARCHAR(255), - "title" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_node_localized_attributes") -); - -CREATE SEQUENCE "spy_navigation_storage_pk_seq"; - -CREATE TABLE "spy_navigation_storage" -( - "id_navigation_storage" INT8 NOT NULL, - "fk_navigation" INTEGER NOT NULL, - "navigation_key" VARCHAR NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_navigation_storage"), - CONSTRAINT "spy_navigation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_navigation_storage-fk_navigation" ON "spy_navigation_storage" ("fk_navigation"); - -CREATE SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -CREATE TABLE "spy_newsletter_subscriber" -( - "id_newsletter_subscriber" INTEGER NOT NULL, - "fk_customer" INTEGER, - "email" VARCHAR(255) NOT NULL, - "subscriber_key" VARCHAR(150), - "is_confirmed" BOOLEAN DEFAULT \'f\' NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_subscriber"), - CONSTRAINT "spy_newsletter_subscriber-unique-email" UNIQUE ("email"), - CONSTRAINT "spy_newsletter_subscriber-unique-subscriber_key" UNIQUE ("subscriber_key") -); - -CREATE INDEX "spy_newsletter_subscriber-index-email" ON "spy_newsletter_subscriber" ("email"); - -CREATE INDEX "spy_newsletter_subscriber-index-subscriber_key" ON "spy_newsletter_subscriber" ("subscriber_key"); - -CREATE SEQUENCE "spy_newsletter_type_pk_seq"; - -CREATE TABLE "spy_newsletter_type" -( - "id_newsletter_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_newsletter_type"), - CONSTRAINT "spy_newsletter_type-unique-name" UNIQUE ("name") -); - -CREATE INDEX "spy_newsletter_type-index-name" ON "spy_newsletter_type" ("name"); - -CREATE TABLE "spy_newsletter_subscription" -( - "fk_newsletter_subscriber" INTEGER NOT NULL, - "fk_newsletter_type" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("fk_newsletter_subscriber","fk_newsletter_type") -); - -CREATE SEQUENCE "spy_nopayment_paid_pk_seq"; - -CREATE TABLE "spy_nopayment_paid" -( - "id_nopayment_paid" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_nopayment_paid") -); - -CREATE SEQUENCE "spy_offer_pk_seq"; - -CREATE TABLE "spy_offer" -( - "id_offer" INTEGER NOT NULL, - "quote_data" TEXT NOT NULL, - "status" INT2 DEFAULT 0, - "fk_user" INTEGER, - "customer_reference" VARCHAR(255), - "contact_person" VARCHAR(255), - "contact_date" TIMESTAMP, - "note" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_offer") -); - -CREATE INDEX "spy_offer-customer_reference" ON "spy_offer" ("customer_reference"); - -CREATE SEQUENCE "spy_oms_transition_log_pk_seq"; - -CREATE TABLE "spy_oms_transition_log" -( - "id_oms_transition_log" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "quantity" INTEGER, - "locked" BOOLEAN, - "fk_oms_order_process" INTEGER, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_transition_log") -); - -CREATE SEQUENCE "spy_oms_order_process_pk_seq"; - -CREATE TABLE "spy_oms_order_process" -( - "id_oms_order_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_process"), - CONSTRAINT "spy_oms_order_process-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_oms_state_machine_lock" -( - "id_oms_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "details" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_state_machine_lock"), - CONSTRAINT "spy_oms_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_oms_order_item_state_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state" -( - "id_oms_order_item_state" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_oms_order_item_state"), - CONSTRAINT "spy_oms_order_item_state-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -CREATE TABLE "spy_oms_order_item_state_history" -( - "id_oms_order_item_state_history" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_oms_order_item_state_history") -); - -CREATE INDEX "spy_oms_order_item_state_history-index-fk_soi-fk_oois-id_ooish" ON "spy_oms_order_item_state_history" ("fk_sales_order_item","fk_oms_order_item_state"); - -CREATE SEQUENCE "spy_oms_event_timeout_pk_seq"; - -CREATE TABLE "spy_oms_event_timeout" -( - "id_oms_event_timeout" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_event_timeout"), - CONSTRAINT "spy_oms_event_timeout-unique-fk_sales_order_item" UNIQUE ("fk_sales_order_item","fk_oms_order_item_state") -); - -CREATE INDEX "spy_oms_event_timeout-timeout" ON "spy_oms_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_oms_product_reservation_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation" -( - "id_oms_product_reservation" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER DEFAULT 0 NOT NULL, - "fk_store" INTEGER, - PRIMARY KEY ("id_oms_product_reservation"), - CONSTRAINT "spy_oms_product_reservation-sku" UNIQUE ("sku","fk_store") -); - -CREATE SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_store" -( - "id_oms_product_reservation_store" INTEGER NOT NULL, - "store" VARCHAR(255) NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "reservation_quantity" INTEGER NOT NULL, - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_oms_product_reservation_store"), - CONSTRAINT "spy_oms_product_reservation_store-unique-store-sku" UNIQUE ("store","sku") -); - -CREATE INDEX "spy_oms_product_reservation_store-version" ON "spy_oms_product_reservation_store" ("version"); - -CREATE INDEX "spy_oms_product_reservation_store-sku" ON "spy_oms_product_reservation_store" ("sku"); - -CREATE INDEX "spy_oms_product_reservation_store-store" ON "spy_oms_product_reservation_store" ("store"); - -CREATE SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -CREATE TABLE "spy_oms_product_reservation_change_version" -( - "version" INT8 NOT NULL, - "id_oms_product_reservation_id" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("version") -); - -CREATE TABLE "spy_oms_product_reservation_last_exported_version" -( - "version" INT8 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP -); - -CREATE SEQUENCE "spy_order_source_pk_seq"; - -CREATE TABLE "spy_order_source" -( - "id_order_source" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_order_source") -); - -CREATE SEQUENCE "spy_price_product_pk_seq"; - -CREATE TABLE "spy_price_product" -( - "id_price_product" INTEGER NOT NULL, - "fk_price_type" INTEGER NOT NULL, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "price" INTEGER DEFAULT 0, - PRIMARY KEY ("id_price_product"), - CONSTRAINT "spy_price_product-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product","fk_price_type") -); - -CREATE INDEX "spy_price_product-fk_price_type" ON "spy_price_product" ("fk_price_type"); - -CREATE INDEX "spy_price_product-index-fk_product-fk_price_type-price" ON "spy_price_product" ("fk_product","fk_price_type","price"); - -CREATE SEQUENCE "spy_price_type_pk_seq"; - -CREATE TABLE "spy_price_type" -( - "id_price_type" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "price_mode_configuration" INT2, - PRIMARY KEY ("id_price_type"), - CONSTRAINT "spy_price_type-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_price_product_store_pk_seq"; - -CREATE TABLE "spy_price_product_store" -( - "id_price_product_store" INT8 NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_price_product" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - "price_data" TEXT, - "price_data_checksum" VARCHAR, - PRIMARY KEY ("id_price_product_store") -); - -CREATE INDEX "spy_price_product_store-index-fk_pr_pro-fk_cur-fk_st" ON "spy_price_product_store" ("fk_currency","fk_store","fk_price_product","price_data_checksum","net_price","gross_price"); - -CREATE SEQUENCE "spy_price_product_default_pk_seq"; - -CREATE TABLE "spy_price_product_default" -( - "id_price_product_default" INT8 NOT NULL, - "fk_price_product_store" INT8 NOT NULL, - PRIMARY KEY ("id_price_product_default"), - CONSTRAINT "spy_prs_prod_default-unique-price_product_store" UNIQUE ("fk_price_product_store") -); - -CREATE INDEX "spy_price_product_default-index-fk_price_product_store" ON "spy_price_product_default" ("fk_price_product_store"); - -CREATE SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_price_product_abstract_storage" -( - "id_price_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_abstract_storage"), - CONSTRAINT "spy_price_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_abstract_storage-fk_product_abstract" ON "spy_price_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_price_product_concrete_storage" -( - "id_price_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128), - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_price_product_concrete_storage"), - CONSTRAINT "spy_price_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_price_product_concrete_storage-fk_product" ON "spy_price_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_abstract" -( - "id_product_abstract" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "attributes" TEXT NOT NULL, - "color_code" VARCHAR(8), - "new_from" TIMESTAMP, - "new_to" TIMESTAMP, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract"), - CONSTRAINT "spy_product_abstract-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_abstract_localized_attributes" -( - "id_abstract_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_abstract_attributes"), - CONSTRAINT "spy_product_abstract_localized_attributes-unique-fk_product_abs" UNIQUE ("fk_product_abstract","fk_locale") -); - -CREATE SEQUENCE "id_product_abstract_store_pk_seq"; - -CREATE TABLE "spy_product_abstract_store" -( - "id_product_abstract_store" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - PRIMARY KEY ("id_product_abstract_store"), - CONSTRAINT "spy_product_abstract_store-fk_product_abstract-fk_store" UNIQUE ("fk_product_abstract","fk_store") -); - -CREATE SEQUENCE "spy_product_pk_seq"; - -CREATE TABLE "spy_product" -( - "id_product" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product"), - CONSTRAINT "spy_product-sku" UNIQUE ("sku") -); - -CREATE SEQUENCE "spy_product_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_localized_attributes" -( - "id_product_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "attributes" TEXT NOT NULL, - "description" TEXT, - "is_complete" BOOLEAN DEFAULT \'t\', - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_attributes"), - CONSTRAINT "spy_product_localized_attributes-unique-fk_product" UNIQUE ("fk_product","fk_locale") -); - -CREATE SEQUENCE "spy_product_attribute_key_pk_seq"; - -CREATE TABLE "spy_product_attribute_key" -( - "id_product_attribute_key" INTEGER NOT NULL, - "is_super" BOOLEAN DEFAULT \'f\' NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_attribute_key"), - CONSTRAINT "spy_product_attribute_key-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_alternative_pk_seq"; - -CREATE TABLE "spy_product_alternative" -( - "id_product_alternative" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_product_abstract_alternative" INTEGER, - "fk_product_concrete_alternative" INTEGER, - PRIMARY KEY ("id_product_alternative") -); - -CREATE SEQUENCE "id_product_alternative_storage_pk_seq"; - -CREATE TABLE "spy_product_alternative_storage" -( - "id_product_alternative_storage" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_alternative_storage"), - CONSTRAINT "spy_product_alternative_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_alternative_storage-fk_product" ON "spy_product_alternative_storage" ("fk_product"); - -CREATE SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -CREATE TABLE "spy_product_replacement_for_storage" -( - "id_product_replacement_for_storage" INTEGER NOT NULL, - "data" TEXT, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_replacement_for_storage"), - CONSTRAINT "spy_product_replacement_for_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_replacement_for_storage-sku" ON "spy_product_replacement_for_storage" ("sku"); - -CREATE SEQUENCE "spy_product_management_attribute_pk_seq"; - -CREATE TABLE "spy_product_management_attribute" -( - "id_product_management_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "allow_input" BOOLEAN DEFAULT \'t\' NOT NULL, - "input_type" VARCHAR NOT NULL, - PRIMARY KEY ("id_product_management_attribute"), - CONSTRAINT "spy_pim_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value" -( - "id_product_management_attribute_value" INTEGER NOT NULL, - "fk_product_management_attribute" INTEGER NOT NULL, - "value" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -CREATE TABLE "spy_product_management_attribute_value_translation" -( - "id_product_management_attribute_value_translation" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_management_attribute_value" INTEGER NOT NULL, - "translation" TEXT NOT NULL, - PRIMARY KEY ("id_product_management_attribute_value_translation"), - CONSTRAINT "spy_pim_attribute_value_translation-unique-locale_attribute_val" UNIQUE ("fk_locale","fk_product_management_attribute_value") -); - -CREATE SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -CREATE TABLE "spy_sales_order_item_bundle" -( - "id_sales_order_item_bundle" INTEGER NOT NULL, - "cart_note" VARCHAR(255), - "gross_price" INTEGER NOT NULL, - "image" TEXT, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_bundle") -); - -CREATE SEQUENCE "spy_product_bundle_pk_seq"; - -CREATE TABLE "spy_product_bundle" -( - "id_product_bundle" INTEGER NOT NULL, - "fk_bundled_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_bundle") -); - -COMMENT ON COLUMN "spy_product_bundle"."fk_bundled_product" IS \'Representation of the single item in this bundle\'; - -COMMENT ON COLUMN "spy_product_bundle"."fk_product" IS \'Relation to the main bundle product\'; - -COMMENT ON COLUMN "spy_product_bundle"."quantity" IS \'Number of items bundled. For instance when you have 5000 equal items you will have quantity 5000\'; - -CREATE INDEX "spy_product_bundle-index-fk_product" ON "spy_product_bundle" ("fk_product"); - -CREATE SEQUENCE "spy_product_category_pk_seq"; - -CREATE TABLE "spy_product_category" -( - "id_product_category" INTEGER NOT NULL, - "fk_category" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "product_order" INTEGER DEFAULT 0, - PRIMARY KEY ("id_product_category"), - CONSTRAINT "spy_product_category-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_category") -); - -CREATE SEQUENCE "spy_product_category_filter_pk_seq"; - -CREATE TABLE "spy_product_category_filter" -( - "id_product_category_filter" INTEGER NOT NULL, - "fk_category" INTEGER, - "filter_data" TEXT NOT NULL, - PRIMARY KEY ("id_product_category_filter"), - CONSTRAINT "spy_product_category_filter-unique-fk_category" UNIQUE ("fk_category") -); - -CREATE INDEX "spy_product_category_filter_i_adaed7" ON "spy_product_category_filter" ("fk_category"); - -CREATE SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -CREATE TABLE "spy_product_category_filter_storage" -( - "id_product_category_filter_storage" INT8 NOT NULL, - "fk_category" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_category_filter_storage"), - CONSTRAINT "spy_product_category_filter_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_category_filter_storage-fk_category" ON "spy_product_category_filter_storage" ("fk_category"); - -CREATE SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_category_storage" -( - "id_product_abstract_category_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_category_storage"), - CONSTRAINT "spy_product_abstract_category_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_category_storage-fk_product_abstract" ON "spy_product_abstract_category_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_discontinued_pk_seq"; - -CREATE TABLE "spy_product_discontinued" -( - "id_product_discontinued" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "active_until" DATE NOT NULL, - "discontinued_on" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued") -); - -CREATE SEQUENCE "id_product_discontinued_note_pk_seq"; - -CREATE TABLE "spy_product_discontinued_note" -( - "id_product_discontinued_note" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "note" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_note"), - CONSTRAINT "spy_product_discontinued_note-unique-fk_product_discontinued" UNIQUE ("fk_product_discontinued","fk_locale") -); - -CREATE SEQUENCE "id_product_discontinued_storage_pk_seq"; - -CREATE TABLE "spy_product_discontinued_storage" -( - "id_product_discontinued_storage" INTEGER NOT NULL, - "fk_product_discontinued" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_discontinued_storage"), - CONSTRAINT "spy_product_discontinued_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_discontinued_storage-fk_product_discontinued" ON "spy_product_discontinued_storage" ("fk_product_discontinued"); - -CREATE SEQUENCE "spy_product_group_pk_seq"; - -CREATE TABLE "spy_product_group" -( - "id_product_group" INTEGER NOT NULL, - "product_group_key" VARCHAR(32), - PRIMARY KEY ("id_product_group") -); - -CREATE INDEX "spy_product_group_i_55ec34" ON "spy_product_group" ("product_group_key"); - -CREATE TABLE "spy_product_abstract_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_group" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_group") -); - -CREATE SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_group_storage" -( - "id_product_abstract_group_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_group_storage"), - CONSTRAINT "spy_product_abstract_group_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_group_storage-fk_product_abstract" ON "spy_product_abstract_group_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_image_set_pk_seq"; - -CREATE TABLE "spy_product_image_set" -( - "id_product_image_set" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "fk_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image_set"), - CONSTRAINT "fk_locale-fk_product-fk_product_abstract" UNIQUE ("fk_locale","fk_product","fk_product_abstract") -); - -CREATE INDEX "spy_product_image_set-index-fk_product" ON "spy_product_image_set" ("fk_product"); - -CREATE INDEX "spy_product_image_set-index-fk_product_abstract" ON "spy_product_image_set" ("fk_product_abstract"); - -CREATE INDEX "spy_product_image_set-fk_resource_product_set" ON "spy_product_image_set" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_product_image_pk_seq"; - -CREATE TABLE "spy_product_image" -( - "id_product_image" INTEGER NOT NULL, - "external_url_large" VARCHAR(2048), - "external_url_small" VARCHAR(2048), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_image") -); - -CREATE SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -CREATE TABLE "spy_product_image_set_to_product_image" -( - "id_product_image_set_to_product_image" INTEGER NOT NULL, - "fk_product_image" INTEGER NOT NULL, - "fk_product_image_set" INTEGER NOT NULL, - "sort_order" INTEGER NOT NULL, - PRIMARY KEY ("id_product_image_set_to_product_image"), - CONSTRAINT "fk_product_image_set-fk_product_image" UNIQUE ("fk_product_image_set","fk_product_image") -); - -CREATE SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_image_storage" -( - "id_product_abstract_image_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_image_storage"), - CONSTRAINT "spy_product_abstract_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_image_storage-fk_product_abstract" ON "spy_product_abstract_image_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_image_storage" -( - "id_product_concrete_image_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_image_storage"), - CONSTRAINT "spy_product_concrete_image_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_image_storage-fk_product" ON "spy_product_concrete_image_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_label_pk_seq"; - -CREATE TABLE "spy_product_label" -( - "id_product_label" INTEGER NOT NULL, - "front_end_reference" VARCHAR, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_dynamic" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_exclusive" BOOLEAN DEFAULT \'f\' NOT NULL, - "is_published" BOOLEAN DEFAULT \'f\', - "name" VARCHAR NOT NULL, - "position" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label"), - CONSTRAINT "spy_product_label-name" UNIQUE ("name") -); - -CREATE INDEX "idx-spy_product_label-position" ON "spy_product_label" ("position"); - -CREATE SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -CREATE TABLE "spy_product_label_localized_attributes" -( - "id_product_label_localized_attributes" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - "name" VARCHAR, - PRIMARY KEY ("id_product_label_localized_attributes"), - CONSTRAINT "spy_product_label_localized_attributes-fk_product_label-fk_loca" UNIQUE ("fk_product_label","fk_locale") -); - -CREATE INDEX "idx-spy_product_label_localized_attributes-fk_product_label" ON "spy_product_label_localized_attributes" ("fk_product_label"); - -CREATE SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -CREATE TABLE "spy_product_label_product_abstract" -( - "id_product_label_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_label" INTEGER NOT NULL, - PRIMARY KEY ("id_product_label_product_abstract"), - CONSTRAINT "spy_product_label_product_abstract-fk_product_label-fk_product_" UNIQUE ("fk_product_label","fk_product_abstract") -); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_label" ON "spy_product_label_product_abstract" ("fk_product_label"); - -CREATE INDEX "idx-spy_product_label_product_abstract-fk_product_abstract" ON "spy_product_label_product_abstract" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -CREATE TABLE "spy_product_label_dictionary_storage" -( - "id_product_label_dictionary_storage" INT8 NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_label_dictionary_storage"), - CONSTRAINT "spy_product_label_dictionary_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_label_storage" -( - "id_product_abstract_label_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_label_storage"), - CONSTRAINT "spy_product_abstract_label_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_label_storage-fk_product_abstract" ON "spy_product_abstract_label_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_option_group_pk_seq"; - -CREATE TABLE "spy_product_option_group" -( - "id_product_option_group" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "active" BOOLEAN, - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_group") -); - -CREATE TABLE "spy_product_abstract_product_option_group" -( - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - PRIMARY KEY ("fk_product_abstract","fk_product_option_group") -); - -CREATE SEQUENCE "spy_product_option_value_pk_seq"; - -CREATE TABLE "spy_product_option_value" -( - "id_product_option_value" INTEGER NOT NULL, - "fk_product_option_group" INTEGER NOT NULL, - "price" INTEGER, - "sku" VARCHAR(255) NOT NULL, - "value" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_option_value"), - CONSTRAINT "spy_product_option_value-sku" UNIQUE ("sku") -); - -COMMENT ON COLUMN "spy_product_option_value"."price" IS \'Deprecated\'; - -CREATE SEQUENCE "spy_product_option_value_price_pk_seq"; - -CREATE TABLE "spy_product_option_value_price" -( - "id_product_option_value_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_product_option_value" INTEGER NOT NULL, - "fk_store" INTEGER, - "gross_price" INTEGER, - "net_price" INTEGER, - PRIMARY KEY ("id_product_option_value_price"), - CONSTRAINT "spy_product_option_value_price-fk_value-fk_store-fk_currency" UNIQUE ("fk_product_option_value","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_option_storage" -( - "id_product_abstract_option_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_option_storage"), - CONSTRAINT "spy_product_abstract_option_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_option_storage-fk_product_abstract" ON "spy_product_abstract_option_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -CREATE TABLE "spy_product_abstract_page_search" -( - "id_product_abstract_page_search" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_page_search"), - CONSTRAINT "spy_product_abstract_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_page_search-fk_product_abstract" ON "spy_product_abstract_page_search" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_relation_type_pk_seq"; - -CREATE TABLE "spy_product_relation_type" -( - "id_product_relation_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_type") -); - -CREATE SEQUENCE "spy_product_relation_pk_seq"; - -CREATE TABLE "spy_product_relation" -( - "id_product_relation" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation_type" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "is_rebuild_scheduled" BOOLEAN DEFAULT \'f\' NOT NULL, - "query_set_data" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation"), - CONSTRAINT "spy_product-relation-unique-fk_product_abstract" UNIQUE ("fk_product_abstract","fk_product_relation_type") -); - -CREATE SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -CREATE TABLE "spy_product_relation_product_abstract" -( - "id_product_relation_product_abstract" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_relation" INTEGER NOT NULL, - "order" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_relation_product_abstract") -); - -CREATE SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_relation_storage" -( - "id_product_abstract_relation_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_relation_storage"), - CONSTRAINT "spy_product_abstract_relation_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_relation_storage-fk_product_abstract" ON "spy_product_abstract_relation_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "id_product_review_pk_seq"; - -CREATE TABLE "spy_product_review" -( - "id_product_review" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "description" TEXT, - "nickname" VARCHAR(255), - "rating" INTEGER DEFAULT 0 NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "summary" TEXT, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review") -); - -CREATE INDEX "spy_product_review-fk_product_abstract" ON "spy_product_review" ("fk_product_abstract"); - -CREATE INDEX "spy_product_review-fk_locale" ON "spy_product_review" ("fk_locale"); - -CREATE INDEX "spy_product_review-customer_reference" ON "spy_product_review" ("customer_reference"); - -CREATE SEQUENCE "spy_product_review_search_pk_seq"; - -CREATE TABLE "spy_product_review_search" -( - "id_product_review_search" INT8 NOT NULL, - "fk_product_review" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_review_search"), - CONSTRAINT "spy_product_review_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_review_search-fk_product_review" ON "spy_product_review_search" ("fk_product_review"); - -CREATE SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_review_storage" -( - "id_product_abstract_review_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_review_storage"), - CONSTRAINT "spy_product_abstract_review_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_review_storage-fk_product_abstract" ON "spy_product_abstract_review_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_search_pk_seq"; - -CREATE TABLE "spy_product_search" -( - "id_product_search" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_product" INTEGER, - "is_searchable" BOOLEAN DEFAULT \'t\', - PRIMARY KEY ("id_product_search") -); - -CREATE INDEX "spy_product_search-index-fk-product-fk-locale-is_searchable" ON "spy_product_search" ("fk_product","fk_locale","is_searchable"); - -CREATE TABLE "spy_product_search_attribute_map" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_i_a1d33d" ON "spy_product_search_attribute_map" ("fk_product_attribute_key"); - -CREATE SEQUENCE "spy_product_search_attribute_pk_seq"; - -CREATE TABLE "spy_product_search_attribute" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_product_search_attribute"), - CONSTRAINT "spy_product_search_attribute-unique-fk_product_attribute_key" UNIQUE ("fk_product_attribute_key") -); - -CREATE SEQUENCE "spy_product_search_config_storage_pk_seq"; - -CREATE TABLE "spy_product_search_config_storage" -( - "id_product_search_config_storage" INT8 NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_config_storage"), - CONSTRAINT "spy_product_search_config_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_product_set_pk_seq"; - -CREATE TABLE "spy_product_set" -( - "id_product_set" INTEGER NOT NULL, - "is_active" BOOLEAN DEFAULT \'f\' NOT NULL, - "product_set_key" VARCHAR(255) NOT NULL, - "weight" INTEGER DEFAULT 0 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set"), - CONSTRAINT "spy_product_set-product_set_key" UNIQUE ("product_set_key") -); - -CREATE SEQUENCE "spy_product_abstract_set_pk_seq"; - -CREATE TABLE "spy_product_abstract_set" -( - "id_product_abstract_set" INTEGER NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY ("id_product_abstract_set"), - CONSTRAINT "spy_product_abstract_set-unique-fk_product_set" UNIQUE ("fk_product_set","fk_product_abstract") -); - -CREATE INDEX "spy_product_abstract_set-fk_product_set" ON "spy_product_abstract_set" ("fk_product_set"); - -CREATE INDEX "spy_product_abstract_set-fk_product_abstract" ON "spy_product_abstract_set" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_set_data_pk_seq"; - -CREATE TABLE "spy_product_set_data" -( - "id_product_set_data" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "description" TEXT, - "meta_description" TEXT, - "meta_keywords" TEXT, - "meta_title" VARCHAR(255), - "name" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_data"), - CONSTRAINT "spy_product_set_data-unique-fk_product_set" UNIQUE ("fk_product_set","fk_locale") -); - -CREATE INDEX "spy_product_set_data-fk_product_set" ON "spy_product_set_data" ("fk_product_set"); - -CREATE INDEX "spy_product_set_data-fk_locale" ON "spy_product_set_data" ("fk_locale"); - -CREATE SEQUENCE "spy_product_set_page_search_pk_seq"; - -CREATE TABLE "spy_product_set_page_search" -( - "id_product_set_page_search" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "structured_data" TEXT NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_page_search"), - CONSTRAINT "spy_product_set_page_search-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_page_search-fk_product_set" ON "spy_product_set_page_search" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_set_storage_pk_seq"; - -CREATE TABLE "spy_product_set_storage" -( - "id_product_set_storage" INT8 NOT NULL, - "fk_product_set" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_set_storage"), - CONSTRAINT "spy_product_set_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_set_storage-fk_product_set" ON "spy_product_set_storage" ("fk_product_set"); - -CREATE SEQUENCE "spy_product_abstract_storage_pk_seq"; - -CREATE TABLE "spy_product_abstract_storage" -( - "id_product_abstract_storage" INT8 NOT NULL, - "fk_product_abstract" INTEGER NOT NULL, - "data" TEXT, - "store" VARCHAR(128) NOT NULL, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_abstract_storage"), - CONSTRAINT "spy_product_abstract_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_abstract_storage-fk_product_abstract" ON "spy_product_abstract_storage" ("fk_product_abstract"); - -CREATE SEQUENCE "spy_product_concrete_storage_pk_seq"; - -CREATE TABLE "spy_product_concrete_storage" -( - "id_product_concrete_storage" INT8 NOT NULL, - "fk_product" INTEGER NOT NULL, - "data" TEXT, - "locale" VARCHAR(16) NOT NULL, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_product_concrete_storage"), - CONSTRAINT "spy_product_concrete_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_product_concrete_storage-fk_product" ON "spy_product_concrete_storage" ("fk_product"); - -CREATE SEQUENCE "spy_product_validity_pk_seq"; - -CREATE TABLE "spy_product_validity" -( - "id_product_validity" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "valid_from" TIMESTAMP, - "valid_to" TIMESTAMP, - PRIMARY KEY ("id_product_validity"), - CONSTRAINT "spy_product_validity-fk_product-unique" UNIQUE ("fk_product") -); - -CREATE TABLE "spy_propel_heartbeat" -( - "heartbeat_check" VARCHAR NOT NULL, - PRIMARY KEY ("heartbeat_check") -); - -CREATE SEQUENCE "spy_queue_process_pk_seq"; - -CREATE TABLE "spy_queue_process" -( - "id_queue_process" INTEGER NOT NULL, - "server_id" VARCHAR(255) NOT NULL, - "process_pid" INTEGER NOT NULL, - "worker_pid" INTEGER NOT NULL, - "queue_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_queue_process"), - CONSTRAINT "spy_queue_process-unique-key" UNIQUE ("server_id","process_pid","queue_name") -); - -CREATE INDEX "spy_queue_process-index-key" ON "spy_queue_process" ("server_id","queue_name"); - -CREATE SEQUENCE "id_quote_pk_seq"; - -CREATE TABLE "spy_quote" -( - "id_quote" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "customer_reference" VARCHAR(255) NOT NULL, - "quote_data" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_quote") -); - -CREATE INDEX "spy_quote-fk_store" ON "spy_quote" ("fk_store"); - -CREATE INDEX "spy_quote-customer_reference" ON "spy_quote" ("customer_reference"); - -CREATE SEQUENCE "spy_refund_pk_seq"; - -CREATE TABLE "spy_refund" -( - "id_refund" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "comment" VARCHAR, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_refund") -); - -CREATE SEQUENCE "spy_sales_order_pk_seq"; - -CREATE TABLE "spy_sales_order" -( - "id_sales_order" INTEGER NOT NULL, - "fk_locale" INTEGER, - "fk_order_source" INTEGER, - "fk_sales_order_address_billing" INTEGER NOT NULL, - "fk_sales_order_address_shipping" INTEGER NOT NULL, - "fk_sales_reclamation" INTEGER, - "cart_note" VARCHAR(255), - "currency_iso_code" VARCHAR(5), - "customer_reference" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100), - "is_test" BOOLEAN DEFAULT \'f\' NOT NULL, - "last_name" VARCHAR(100), - "order_reference" VARCHAR(45) NOT NULL, - "price_mode" INT2, - "salutation" INT2, - "store" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order"), - CONSTRAINT "spy_sales_order-order_reference" UNIQUE ("order_reference") -); - -CREATE INDEX "spy_sales_order-customer_reference" ON "spy_sales_order" ("customer_reference"); - -CREATE INDEX "spy_sales_order-store" ON "spy_sales_order" ("store"); - -CREATE INDEX "spy_sales_order-currency_iso_code" ON "spy_sales_order" ("currency_iso_code"); - -CREATE SEQUENCE "spy_sales_order_item_pk_seq"; - -CREATE TABLE "spy_sales_order_item" -( - "id_sales_order_item" INTEGER NOT NULL, - "fk_oms_order_item_state" INTEGER NOT NULL, - "fk_oms_order_process" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_order_item_bundle" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "cart_note" VARCHAR(255), - "discount_amount_aggregation" INTEGER DEFAULT 0, - "discount_amount_full_aggregation" INTEGER DEFAULT 0, - "expense_price_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "group_key" VARCHAR(255), - "is_quantity_splittable" BOOLEAN DEFAULT \'t\' NOT NULL, - "last_state_change" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, - "name" VARCHAR(255) NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "product_option_price_aggregation" INTEGER DEFAULT 0, - "quantity" INTEGER DEFAULT 1 NOT NULL, - "refundable_amount" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "subtotal_aggregation" INTEGER, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_amount_full_aggregation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "tax_rate_average_aggregation" NUMERIC(8,2), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item") -); - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."discount_amount_full_aggregation" IS \'/Total discount amount for item with options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."expense_price_aggregation" IS \'/Total price amount for item from item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."gross_price" IS \'/price for one unit including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts including options or item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."product_option_price_aggregation" IS \'/Total price amount for item from options/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."quantity" IS \'/Quantity ordered for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."subtotal_aggregation" IS \'/Subtotal price amount (item + options + item expenses) before discounts/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_amount_full_aggregation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses/\'; - -COMMENT ON COLUMN "spy_sales_order_item"."tax_rate_average_aggregation" IS \'/Calculated tax rate, includes options, item expenses, /\'; - -CREATE INDEX "spy_sales_order_item-sku" ON "spy_sales_order_item" ("sku"); - -CREATE SEQUENCE "spy_sales_discount_pk_seq"; - -CREATE TABLE "spy_sales_discount" -( - "id_sales_discount" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER, - "fk_sales_order_item" INTEGER, - "fk_sales_order_item_option" INTEGER, - "amount" INTEGER NOT NULL, - "description" VARCHAR(510), - "display_name" VARCHAR(255) NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount") -); - -CREATE SEQUENCE "spy_sales_discount_code_pk_seq"; - -CREATE TABLE "spy_sales_discount_code" -( - "id_sales_discount_code" INTEGER NOT NULL, - "fk_sales_discount" INTEGER NOT NULL, - "code" VARCHAR(255) NOT NULL, - "codepool_name" VARCHAR(255) NOT NULL, - "is_once_per_customer" BOOLEAN DEFAULT \'t\', - "is_refundable" BOOLEAN DEFAULT \'f\', - "is_reusable" BOOLEAN DEFAULT \'f\', - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_discount_code") -); - -CREATE SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -CREATE TABLE "spy_sales_order_item_gift_card" -( - "id_sales_order_item_gift_card" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "attributes" TEXT, - "code" VARCHAR(40), - "pattern" VARCHAR(40), - "value" INTEGER, - PRIMARY KEY ("id_sales_order_item_gift_card") -); - -CREATE SEQUENCE "spy_sales_order_item_option_pk_seq"; - -CREATE TABLE "spy_sales_order_item_option" -( - "id_sales_order_item_option" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER DEFAULT 0 NOT NULL, - "group_name" VARCHAR NOT NULL, - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "sku" VARCHAR(255) NOT NULL, - "tax_amount" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2) NOT NULL, - "value" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_option") -); - -COMMENT ON COLUMN "spy_sales_order_item_option"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_order_item_option"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -CREATE SEQUENCE "spy_sales_order_address_pk_seq"; - -CREATE TABLE "spy_sales_order_address" -( - "id_sales_order_address" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address") -); - -CREATE SEQUENCE "spy_sales_order_address_history_pk_seq"; - -CREATE TABLE "spy_sales_order_address_history" -( - "id_sales_order_address_history" INTEGER NOT NULL, - "fk_country" INTEGER NOT NULL, - "fk_region" INTEGER, - "fk_sales_order_address" INTEGER NOT NULL, - "address1" VARCHAR(255), - "address2" VARCHAR(255), - "address3" VARCHAR(255), - "cell_phone" VARCHAR(255), - "city" VARCHAR(255) NOT NULL, - "comment" VARCHAR(255), - "company" VARCHAR(255), - "description" VARCHAR(255), - "email" VARCHAR(255), - "first_name" VARCHAR(100) NOT NULL, - "is_billing" BOOLEAN DEFAULT \'f\', - "last_name" VARCHAR(100) NOT NULL, - "middle_name" VARCHAR(100), - "phone" VARCHAR(255), - "po_box" VARCHAR(255), - "salutation" INT2, - "zip_code" VARCHAR(15) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_address_history") -); - -CREATE SEQUENCE "spy_sales_order_totals_pk_seq"; - -CREATE TABLE "spy_sales_order_totals" -( - "id_sales_order_totals" INTEGER NOT NULL, - "fk_sales_order" INTEGER DEFAULT 0 NOT NULL, - "canceled_total" INTEGER DEFAULT 0, - "discount_total" INTEGER DEFAULT 0, - "grand_total" INTEGER DEFAULT 0, - "order_expense_total" INTEGER DEFAULT 0, - "refund_total" INTEGER DEFAULT 0, - "subtotal" INTEGER DEFAULT 0, - "tax_total" INTEGER DEFAULT 0, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_totals") -); - -CREATE SEQUENCE "spy_sales_order_note_pk_seq"; - -CREATE TABLE "spy_sales_order_note" -( - "id_sales_order_note" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "command" VARCHAR(255) NOT NULL, - "message" VARCHAR(255) NOT NULL, - "success" BOOLEAN NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_note") -); - -CREATE SEQUENCE "spy_sales_order_comment_pk_seq"; - -CREATE TABLE "spy_sales_order_comment" -( - "id_sales_order_comment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "message" TEXT NOT NULL, - "username" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_comment") -); - -CREATE SEQUENCE "spy_sales_expense_pk_seq"; - -CREATE TABLE "spy_sales_expense" -( - "id_sales_expense" INTEGER NOT NULL, - "fk_sales_order" INTEGER, - "canceled_amount" INTEGER DEFAULT 0, - "discount_amount_aggregation" INTEGER DEFAULT 0, - "gross_price" INTEGER NOT NULL, - "name" VARCHAR(255), - "net_price" INTEGER DEFAULT 0, - "price" INTEGER DEFAULT 0, - "price_to_pay_aggregation" INTEGER DEFAULT 0, - "refundable_amount" INTEGER DEFAULT 0, - "tax_amount" INTEGER DEFAULT 0, - "tax_amount_after_cancellation" INTEGER DEFAULT 0, - "tax_rate" NUMERIC(8,2), - "type" VARCHAR(150), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_expense"), - CONSTRAINT "spy_sales_expense-unique-fk_sales_order" UNIQUE ("fk_sales_order","type") -); - -COMMENT ON COLUMN "spy_sales_expense"."discount_amount_aggregation" IS \'/Total discount amount for item/\'; - -COMMENT ON COLUMN "spy_sales_expense"."net_price" IS \'/Price for one unit not including tax, without shipping, coupons/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price" IS \'/Price for item, can be gross or net price depending on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."price_to_pay_aggregation" IS \'/Total item price to pay after discounts/\'; - -COMMENT ON COLUMN "spy_sales_expense"."refundable_amount" IS \'/Total item refundable amount/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount" IS \'/Calculated tax amount based on tax mode/\'; - -COMMENT ON COLUMN "spy_sales_expense"."tax_amount_after_cancellation" IS \'/Calculated tax full amount based on tax mode, includes options, item expenses, /\'; - -CREATE SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -CREATE TABLE "spy_sales_order_item_metadata" -( - "id_sales_order_item_metadata" INTEGER NOT NULL, - "fk_sales_order_item" INTEGER NOT NULL, - "image" TEXT, - "super_attributes" TEXT NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_item_metadata") -); - -CREATE INDEX "spy_sales_order_item_metadata-index-fk_sales_order_item" ON "spy_sales_order_item_metadata" ("fk_sales_order_item"); - -CREATE SEQUENCE "spy_sales_shipment_pk_seq"; - -CREATE TABLE "spy_sales_shipment" -( - "id_sales_shipment" INTEGER NOT NULL, - "fk_sales_expense" INTEGER, - "fk_sales_order" INTEGER NOT NULL, - "carrier_name" VARCHAR(255), - "delivery_time" VARCHAR(255), - "name" VARCHAR(255), - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_shipment") -); - -CREATE SEQUENCE "id_sales_order_threshold_pk_seq"; - -CREATE TABLE "spy_sales_order_threshold" -( - "id_sales_order_threshold" INTEGER NOT NULL, - "fk_sales_order_threshold_type" INTEGER NOT NULL, - "fk_store" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "threshold" INTEGER NOT NULL, - "fee" INTEGER, - "message_glossary_key" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_threshold") -); - -CREATE SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; - -CREATE TABLE "spy_sales_order_threshold_tax_set" -( - "id_sales_order_threshold_tax_set" INTEGER NOT NULL, - "fk_tax_set" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_threshold_tax_set") -); - -CREATE SEQUENCE "id_sales_order_threshold_type_pk_seq"; - -CREATE TABLE "spy_sales_order_threshold_type" -( - "id_sales_order_threshold_type" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - "threshold_group" VARCHAR NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_order_threshold_type"), - CONSTRAINT "spy_sales_order_threshold_type-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_sales_payment_pk_seq"; - -CREATE TABLE "spy_sales_payment" -( - "id_sales_payment" INTEGER NOT NULL, - "fk_sales_order" INTEGER NOT NULL, - "fk_sales_payment_method_type" INTEGER NOT NULL, - "amount" INTEGER NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_sales_payment") -); - -CREATE SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -CREATE TABLE "spy_sales_payment_method_type" -( - "id_sales_payment_method_type" INTEGER NOT NULL, - "payment_provider" VARCHAR NOT NULL, - "payment_method" VARCHAR NOT NULL, - PRIMARY KEY ("id_sales_payment_method_type") -); - -CREATE INDEX "spy_sales_payment_method_type-type" ON "spy_sales_payment_method_type" ("payment_provider","payment_method"); - -CREATE SEQUENCE "spy_sequence_number_pk_seq"; - -CREATE TABLE "spy_sequence_number" -( - "id_sequence_number" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "current_id" INTEGER NOT NULL, - PRIMARY KEY ("id_sequence_number"), - CONSTRAINT "spy_sequence_number-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_shipment_carrier_pk_seq"; - -CREATE TABLE "spy_shipment_carrier" -( - "id_shipment_carrier" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - PRIMARY KEY ("id_shipment_carrier") -); - -CREATE INDEX "spy_shipment_carrier-is_active" ON "spy_shipment_carrier" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_pk_seq"; - -CREATE TABLE "spy_shipment_method" -( - "id_shipment_method" INTEGER NOT NULL, - "fk_shipment_carrier" INTEGER NOT NULL, - "fk_tax_set" INTEGER, - "name" VARCHAR(255) NOT NULL, - "shipment_method_key" VARCHAR(255), - "is_active" BOOLEAN DEFAULT \'t\' NOT NULL, - "default_price" INTEGER, - "availability_plugin" VARCHAR(255), - "price_plugin" VARCHAR(255), - "delivery_time_plugin" VARCHAR(255), - PRIMARY KEY ("id_shipment_method") -); - -COMMENT ON COLUMN "spy_shipment_method"."default_price" IS \'Deprecated\'; - -CREATE INDEX "spy_shipment_method-is_active" ON "spy_shipment_method" ("is_active"); - -CREATE SEQUENCE "spy_shipment_method_price_pk_seq"; - -CREATE TABLE "spy_shipment_method_price" -( - "id_shipment_method_price" INTEGER NOT NULL, - "fk_currency" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_shipment_method" INTEGER NOT NULL, - "default_gross_price" INTEGER, - "default_net_price" INTEGER, - PRIMARY KEY ("id_shipment_method_price"), - CONSTRAINT "spy_shipment_method_price-fk_shipment_method-fk_currency-fk_sto" UNIQUE ("fk_shipment_method","fk_store","fk_currency") -); - -CREATE SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -CREATE TABLE "spy_state_machine_transition_log" -( - "id_state_machine_transition_log" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "locked" BOOLEAN, - "event" VARCHAR(100), - "hostname" VARCHAR(128) NOT NULL, - "path" VARCHAR(256), - "params" TEXT, - "source_state" VARCHAR(128), - "target_state" VARCHAR(128), - "command" VARCHAR, - "condition" VARCHAR, - "is_error" BOOLEAN, - "error_message" TEXT, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_transition_log") -); - -CREATE SEQUENCE "spy_state_machine_process_pk_seq"; - -CREATE TABLE "spy_state_machine_process" -( - "id_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "state_machine_name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_process"), - CONSTRAINT "spy_state_machine_process-name" UNIQUE ("name","state_machine_name") -); - -CREATE INDEX "spy_state_machine_process-state_machine_name" ON "spy_state_machine_process" ("state_machine_name"); - -CREATE SEQUENCE "spy_state_machine_lock_pk_seq"; - -CREATE TABLE "spy_state_machine_lock" -( - "id_state_machine_lock" INTEGER NOT NULL, - "identifier" VARCHAR(255) NOT NULL, - "expires" TIMESTAMP NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_lock"), - CONSTRAINT "spy_state_machine_lock-identifier" UNIQUE ("identifier") -); - -CREATE SEQUENCE "spy_state_machine_item_state_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state" -( - "id_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "description" VARCHAR(255), - PRIMARY KEY ("id_state_machine_item_state"), - CONSTRAINT "spy_state_machine_item_state-name" UNIQUE ("name","fk_state_machine_process") -); - -CREATE SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -CREATE TABLE "spy_state_machine_item_state_history" -( - "id_state_machine_item_state_history" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "created_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_item_state_history") -); - -CREATE INDEX "spy_state_machine_item_state_history-identifier" ON "spy_state_machine_item_state_history" ("identifier"); - -CREATE SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -CREATE TABLE "spy_state_machine_event_timeout" -( - "id_state_machine_event_timeout" INTEGER NOT NULL, - "fk_state_machine_item_state" INTEGER NOT NULL, - "fk_state_machine_process" INTEGER NOT NULL, - "identifier" INTEGER NOT NULL, - "timeout" TIMESTAMP NOT NULL, - "event" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_state_machine_event_timeout"), - CONSTRAINT "spy_state_machine_item_state-unique-identifier" UNIQUE ("identifier","fk_state_machine_item_state") -); - -CREATE INDEX "spy_state_machine_event_timeout-timeout" ON "spy_state_machine_event_timeout" ("timeout"); - -CREATE SEQUENCE "spy_stock_pk_seq"; - -CREATE TABLE "spy_stock" -( - "id_stock" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_stock"), - CONSTRAINT "spy_stock-name" UNIQUE ("name") -); - -CREATE SEQUENCE "spy_stock_product_pk_seq"; - -CREATE TABLE "spy_stock_product" -( - "id_stock_product" INTEGER NOT NULL, - "fk_product" INTEGER NOT NULL, - "fk_stock" INTEGER NOT NULL, - "quantity" INTEGER DEFAULT 0, - "is_never_out_of_stock" BOOLEAN DEFAULT \'f\', - PRIMARY KEY ("id_stock_product"), - CONSTRAINT "spy_stock_product-unique-fk_stock" UNIQUE ("fk_stock","fk_product") -); - -CREATE INDEX "spy_stock_product-fk_product" ON "spy_stock_product" ("fk_product"); - -CREATE SEQUENCE "spy_store_pk_seq"; - -CREATE TABLE "spy_store" -( - "id_store" INTEGER NOT NULL, - "name" VARCHAR(255), - PRIMARY KEY ("id_store") -); - -CREATE SEQUENCE "spy_tax_set_pk_seq"; - -CREATE TABLE "spy_tax_set" -( - "id_tax_set" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_set") -); - -CREATE SEQUENCE "spy_tax_rate_pk_seq"; - -CREATE TABLE "spy_tax_rate" -( - "id_tax_rate" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "rate" NUMERIC(8,2) NOT NULL, - "fk_country" INTEGER, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_tax_rate") -); - -CREATE TABLE "spy_tax_set_tax" -( - "fk_tax_set" INTEGER NOT NULL, - "fk_tax_rate" INTEGER NOT NULL, - PRIMARY KEY ("fk_tax_set","fk_tax_rate") -); - -CREATE SEQUENCE "spy_touch_pk_seq"; - -CREATE TABLE "spy_touch" -( - "id_touch" INTEGER NOT NULL, - "item_type" VARCHAR(255) NOT NULL, - "item_event" INT2 NOT NULL, - "item_id" INTEGER NOT NULL, - "touched" TIMESTAMP NOT NULL, - PRIMARY KEY ("id_touch"), - CONSTRAINT "spy_touch-unique-item_id" UNIQUE ("item_id","item_event","item_type") -); - -CREATE INDEX "spy_touch-index-item_id" ON "spy_touch" ("item_id"); - -CREATE INDEX "index_spy_touch-item_event_item_type_touched" ON "spy_touch" ("item_event","item_type","touched"); - -CREATE SEQUENCE "spy_touch_storage_pk_seq"; - -CREATE TABLE "spy_touch_storage" -( - "id_touch_storage" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_storage"), - CONSTRAINT "spy_touch_storage-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_storage-index-key" ON "spy_touch_storage" ("key"); - -CREATE SEQUENCE "spy_touch_search_pk_seq"; - -CREATE TABLE "spy_touch_search" -( - "id_touch_search" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_store" INTEGER, - "fk_touch" INTEGER NOT NULL, - "key" VARCHAR NOT NULL, - PRIMARY KEY ("id_touch_search"), - CONSTRAINT "spy_touch_search-unique-fk_locale" UNIQUE ("fk_locale","key") -); - -CREATE INDEX "spy_touch_search-index-key" ON "spy_touch_search" ("key"); - -CREATE SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; - -CREATE TABLE "spy_unauthenticated_customer_access" -( - "id_unauthenticated_customer_access" INTEGER NOT NULL, - "content_type" VARCHAR(100) NOT NULL, - "is_restricted" BOOLEAN NOT NULL, - PRIMARY KEY ("id_unauthenticated_customer_access"), - CONSTRAINT "spy_unauthenticated_customer_access_u_0984b8" UNIQUE ("content_type") -); - -CREATE SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; - -CREATE TABLE "spy_unauthenticated_customer_access_storage" -( - "id_unauthenticated_customer_access_storage" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_unauthenticated_customer_access_storage"), - CONSTRAINT "spy_unauthenticated_customer_access_storage-unique-key" UNIQUE ("key") -); - -CREATE SEQUENCE "spy_url_pk_seq"; - -CREATE TABLE "spy_url" -( - "id_url" INTEGER NOT NULL, - "fk_locale" INTEGER NOT NULL, - "fk_resource_categorynode" INTEGER, - "fk_resource_page" INTEGER, - "fk_resource_product_abstract" INTEGER, - "fk_resource_product_set" INTEGER, - "fk_resource_redirect" INTEGER, - "url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url"), - CONSTRAINT "spy_url_unique_key" UNIQUE ("url") -); - -CREATE INDEX "spy_url-fk_resource_product_set" ON "spy_url" ("fk_resource_product_set"); - -CREATE SEQUENCE "spy_url_redirect_pk_seq"; - -CREATE TABLE "spy_url_redirect" -( - "id_url_redirect" INTEGER NOT NULL, - "status" INTEGER DEFAULT 301 NOT NULL, - "to_url" VARCHAR(255) NOT NULL, - PRIMARY KEY ("id_url_redirect") -); - -CREATE INDEX "spy_url_redirect-to_url" ON "spy_url_redirect" ("to_url","status"); - -CREATE SEQUENCE "spy_url_storage_pk_seq"; - -CREATE TABLE "spy_url_storage" -( - "id_url_storage" INT8 NOT NULL, - "fk_categorynode" INTEGER, - "fk_page" INTEGER, - "fk_product_abstract" INTEGER, - "fk_product_set" INTEGER, - "fk_redirect" INTEGER, - "fk_url" INTEGER NOT NULL, - "url" VARCHAR NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_storage"), - CONSTRAINT "spy_url_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_storage-fk_url" ON "spy_url_storage" ("fk_url"); - -CREATE SEQUENCE "spy_url_redirect_storage_pk_seq"; - -CREATE TABLE "spy_url_redirect_storage" -( - "id_url_redirect_storage" INT8 NOT NULL, - "fk_url_redirect" INTEGER NOT NULL, - "data" TEXT, - "key" VARCHAR, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_url_redirect_storage"), - CONSTRAINT "spy_url_redirect_storage-unique-key" UNIQUE ("key") -); - -CREATE INDEX "spy_url_redirect_storage-fk_url_redirect" ON "spy_url_redirect_storage" ("fk_url_redirect"); - -CREATE SEQUENCE "spy_user_pk_seq"; - -CREATE TABLE "spy_user" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_user"), - CONSTRAINT "spy_user-username" UNIQUE ("username") -); - -CREATE SEQUENCE "spy_wishlist_pk_seq"; - -CREATE TABLE "spy_wishlist" -( - "id_wishlist" INTEGER NOT NULL, - "fk_customer" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist"), - CONSTRAINT "spy_wishlist-unique-fk_customer-name" UNIQUE ("fk_customer","name") -); - -CREATE SEQUENCE "spy_wishlist_item_pk_seq"; - -CREATE TABLE "spy_wishlist_item" -( - "id_wishlist_item" INTEGER NOT NULL, - "fk_wishlist" INTEGER NOT NULL, - "sku" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - PRIMARY KEY ("id_wishlist_item") -); - -CREATE TABLE "spy_acl_role_archive" -( - "id_acl_role" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_role") -); - -CREATE INDEX "spy_acl_role_archive_i_d94269" ON "spy_acl_role_archive" ("name"); - -CREATE TABLE "spy_acl_rule_archive" -( - "id_acl_rule" INTEGER NOT NULL, - "fk_acl_role" INTEGER NOT NULL, - "bundle" VARCHAR(45) NOT NULL, - "controller" VARCHAR(45) NOT NULL, - "action" VARCHAR(45) NOT NULL, - "type" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_rule") -); - -CREATE TABLE "spy_acl_group_archive" -( - "id_acl_group" INTEGER NOT NULL, - "name" VARCHAR(255) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_acl_group") -); - -CREATE INDEX "spy_acl_group_archive_i_d94269" ON "spy_acl_group_archive" ("name"); - -CREATE TABLE "spy_auth_reset_password_archive" -( - "id_auth_reset_password" INTEGER NOT NULL, - "fk_user" INTEGER NOT NULL, - "code" VARCHAR(35) NOT NULL, - "status" INT2 NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_auth_reset_password","fk_user") -); - -CREATE INDEX "spy_auth_reset_password_archive_i_4db226" ON "spy_auth_reset_password_archive" ("code"); - -CREATE TABLE "spy_product_search_attribute_map_archive" -( - "fk_product_attribute_key" INTEGER NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "target_field" VARCHAR NOT NULL, - "archived_at" TIMESTAMP, - PRIMARY KEY ("fk_product_attribute_key","target_field") -); - -CREATE INDEX "spy_product_search_attribute_map_archive_i_a1d33d" ON "spy_product_search_attribute_map_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_product_search_attribute_archive" -( - "id_product_search_attribute" INTEGER NOT NULL, - "fk_product_attribute_key" INTEGER NOT NULL, - "filter_type" VARCHAR NOT NULL, - "position" INTEGER DEFAULT 0 NOT NULL, - "synced" BOOLEAN DEFAULT \'f\', - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_product_search_attribute") -); - -CREATE INDEX "spy_product_search_attribute_archive_i_a1d33d" ON "spy_product_search_attribute_archive" ("fk_product_attribute_key"); - -CREATE TABLE "spy_user_archive" -( - "id_user" INTEGER NOT NULL, - "first_name" VARCHAR(45) NOT NULL, - "is_agent" BOOLEAN, - "last_login" TIMESTAMP, - "last_name" VARCHAR(255) NOT NULL, - "password" VARCHAR(255) NOT NULL, - "status" INT2 DEFAULT 0 NOT NULL, - "username" VARCHAR(45) NOT NULL, - "created_at" TIMESTAMP, - "updated_at" TIMESTAMP, - "archived_at" TIMESTAMP, - PRIMARY KEY ("id_user") -); - -CREATE INDEX "spy_user_archive_i_f86ef3" ON "spy_user_archive" ("username"); - -ALTER TABLE "spy_sales_reclamation" ADD CONSTRAINT "spy_sales_reclamation-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_reclamation_item" ADD CONSTRAINT "spy_sales_reclamation_item-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_acl_rule" ADD CONSTRAINT "spy_acl_rule-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_user_has_group" ADD CONSTRAINT "spy_acl_user_has_group-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_role" - FOREIGN KEY ("fk_acl_role") - REFERENCES "spy_acl_role" ("id_acl_role") - ON DELETE CASCADE; - -ALTER TABLE "spy_acl_groups_has_roles" ADD CONSTRAINT "spy_acl_groups_has_roles-fk_acl_group" - FOREIGN KEY ("fk_acl_group") - REFERENCES "spy_acl_group" ("id_acl_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_auth_reset_password" ADD CONSTRAINT "spy_auth_reset_password-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user") - ON DELETE CASCADE; - -ALTER TABLE "spy_availability_abstract" ADD CONSTRAINT "spy_availability_abstract-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_spy_availability_abstract" - FOREIGN KEY ("fk_availability_abstract") - REFERENCES "spy_availability_abstract" ("id_availability_abstract"); - -ALTER TABLE "spy_availability" ADD CONSTRAINT "spy_availability-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_category" ADD CONSTRAINT "spy_category_fk_7e2c46" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_category_attribute" ADD CONSTRAINT "spy_category_attribute_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_b54a47" - FOREIGN KEY ("fk_parent_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_node" ADD CONSTRAINT "spy_category_node_fk_723c48" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_d3e44d" - FOREIGN KEY ("fk_category_node") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_category_closure_table" ADD CONSTRAINT "spy_category_closure_table_fk_a3476a" - FOREIGN KEY ("fk_category_node_descendant") - REFERENCES "spy_category_node" ("id_category_node"); - -ALTER TABLE "spy_cms_page" ADD CONSTRAINT "spy_cms_page-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_template" ("id_cms_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_page_localized_attributes" ADD CONSTRAINT "spy_cms_page_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_page" - FOREIGN KEY ("fk_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_glossary_key_mapping" ADD CONSTRAINT "spy_cms_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_cms_page" - FOREIGN KEY ("fk_cms_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_version" ADD CONSTRAINT "spy_cms_version-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_glossary_key_mapping" ADD CONSTRAINT "spy_cms_block_glossary_key_mapping-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block" ADD CONSTRAINT "spy_cms_block-fk_template" - FOREIGN KEY ("fk_template") - REFERENCES "spy_cms_block_template" ("id_cms_block_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block"); - -ALTER TABLE "spy_cms_block_store" ADD CONSTRAINT "spy_cms_block_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_category_template" - FOREIGN KEY ("fk_category_template") - REFERENCES "spy_category_template" ("id_category_template") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_category_connector" ADD CONSTRAINT "spy_cms_block_category_connector-fk_cms_block_category_position" - FOREIGN KEY ("fk_cms_block_category_position") - REFERENCES "spy_cms_block_category_position" ("id_cms_block_category_position") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_cms_block" - FOREIGN KEY ("fk_cms_block") - REFERENCES "spy_cms_block" ("id_cms_block") - ON DELETE CASCADE; - -ALTER TABLE "spy_cms_block_product_connector" ADD CONSTRAINT "spy_cms_block_product_connector-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_region" ADD CONSTRAINT "spy_region-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_billing_address" - FOREIGN KEY ("default_billing_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-default_shipping_address" - FOREIGN KEY ("default_shipping_address") - REFERENCES "spy_customer_address" ("id_customer_address") - ON DELETE SET NULL; - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_customer" ADD CONSTRAINT "spy_customer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_customer_address" ADD CONSTRAINT "spy_customer_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer_group" - FOREIGN KEY ("fk_customer_group") - REFERENCES "spy_customer_group" ("id_customer_group") - ON DELETE CASCADE; - -ALTER TABLE "spy_customer_group_to_customer" ADD CONSTRAINT "spy_customer_group_to_customer-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_customer_note" ADD CONSTRAINT "spy_customer_note-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount" ADD CONSTRAINT "spy_discount-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_store" ADD CONSTRAINT "spy_discount_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_discount_voucher" ADD CONSTRAINT "spy_discount_voucher-fk_discount_voucher_pool" - FOREIGN KEY ("fk_discount_voucher_pool") - REFERENCES "spy_discount_voucher_pool" ("id_discount_voucher_pool"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_discount_amount" ADD CONSTRAINT "spy_discount_amount-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "spy_discount_promotion" ADD CONSTRAINT "spy_discount_promotion-fk_discount" - FOREIGN KEY ("fk_discount") - REFERENCES "spy_discount" ("id_discount"); - -ALTER TABLE "pyz_example_state_machine_item" ADD CONSTRAINT "pyz_example_state_machine_item-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_file" ADD CONSTRAINT "spy_file-fk_file_directory" - FOREIGN KEY ("fk_file_directory") - REFERENCES "spy_file_directory" ("id_file_directory"); - -ALTER TABLE "spy_file_info" ADD CONSTRAINT "spy_file_info-fk_file" - FOREIGN KEY ("fk_file") - REFERENCES "spy_file" ("id_file") - ON DELETE CASCADE; - -ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_file" - FOREIGN KEY ("fk_file") - REFERENCES "spy_file" ("id_file") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_file_localized_attributes" ADD CONSTRAINT "spy_file_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_file_directory" ADD CONSTRAINT "spy_file_directory_fk_47023d" - FOREIGN KEY ("fk_parent_file_directory") - REFERENCES "spy_file_directory" ("id_file_directory") - ON DELETE CASCADE; - -ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_52d44c" - FOREIGN KEY ("fk_file_directory") - REFERENCES "spy_file_directory" ("id_file_directory") - ON DELETE CASCADE; - -ALTER TABLE "spy_file_directory_localized_attributes" ADD CONSTRAINT "spy_file_directory_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_product_abstract_conf_link-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_gift_card_product_abstract_configuration_link" ADD CONSTRAINT "spy_gift_card_pa_conf_link-fk_gift_card_pa_conf" - FOREIGN KEY ("fk_gift_card_product_abstract_configuration") - REFERENCES "spy_gift_card_product_abstract_configuration" ("id_gift_card_product_abstract_configuration"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_product_configuration_link-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_gift_card_product_configuration_link" ADD CONSTRAINT "spy_gift_card_p_conf_link-fk_gift_card_p_conf" - FOREIGN KEY ("fk_gift_card_product_configuration") - REFERENCES "spy_gift_card_product_configuration" ("id_gift_card_product_configuration"); - -ALTER TABLE "spy_payment_gift_card" ADD CONSTRAINT "spy_payment_gift_card-fk_payment" - FOREIGN KEY ("fk_sales_payment") - REFERENCES "spy_sales_payment" ("id_sales_payment"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_gift_card" - FOREIGN KEY ("fk_gift_card") - REFERENCES "spy_gift_card" ("id_gift_card"); - -ALTER TABLE "spy_gift_card_balance_log" ADD CONSTRAINT "spy_gift_card_balance_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_glossary_key" - FOREIGN KEY ("fk_glossary_key") - REFERENCES "spy_glossary_key" ("id_glossary_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_glossary_translation" ADD CONSTRAINT "spy_glossary_translation-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_07636b" - FOREIGN KEY ("fk_parent_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node" ADD CONSTRAINT "spy_navigation_node_fk_6f985c" - FOREIGN KEY ("fk_navigation") - REFERENCES "spy_navigation" ("id_navigation") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_43843f" - FOREIGN KEY ("fk_navigation_node") - REFERENCES "spy_navigation_node" ("id_navigation_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_navigation_node_localized_attributes" ADD CONSTRAINT "spy_navigation_node_localized_attributes_fk_76593a" - FOREIGN KEY ("fk_url") - REFERENCES "spy_url" ("id_url"); - -ALTER TABLE "spy_newsletter_subscriber" ADD CONSTRAINT "spy_newsletter_subscriber-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_subscriber" - FOREIGN KEY ("fk_newsletter_subscriber") - REFERENCES "spy_newsletter_subscriber" ("id_newsletter_subscriber"); - -ALTER TABLE "spy_newsletter_subscription" ADD CONSTRAINT "spy_newsletter_subscription-fk_newsletter_type" - FOREIGN KEY ("fk_newsletter_type") - REFERENCES "spy_newsletter_type" ("id_newsletter_type"); - -ALTER TABLE "spy_nopayment_paid" ADD CONSTRAINT "spy_nopayment_paid-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_offer" ADD CONSTRAINT "spy_offer-fk_user" - FOREIGN KEY ("fk_user") - REFERENCES "spy_user" ("id_user"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_transition_log" ADD CONSTRAINT "spy_oms_transition_log-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_order_item_state_history" ADD CONSTRAINT "spy_oms_order_item_state_history-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_oms_event_timeout" ADD CONSTRAINT "spy_oms_event_timeout-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_oms_product_reservation" ADD CONSTRAINT "spy_oms_product_reservation-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_price_type" - FOREIGN KEY ("fk_price_type") - REFERENCES "spy_price_type" ("id_price_type"); - -ALTER TABLE "spy_price_product" ADD CONSTRAINT "spy_price_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_price_product_store" ADD CONSTRAINT "spy_price_product_store-fk_price_product" - FOREIGN KEY ("fk_price_product") - REFERENCES "spy_price_product" ("id_price_product"); - -ALTER TABLE "spy_price_product_default" ADD CONSTRAINT "spy_price_product_default-fk_price_product_store" - FOREIGN KEY ("fk_price_product_store") - REFERENCES "spy_price_product_store" ("id_price_product_store") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract" ADD CONSTRAINT "spy_product_abstract-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_abstract_localized_attributes" ADD CONSTRAINT "spy_product_abstract_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_product" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_store" ADD CONSTRAINT "spy_product_abstract_store-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product" ADD CONSTRAINT "spy_product-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_localized_attributes" ADD CONSTRAINT "spy_product_localized_attributes-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_abstract_alternative" - FOREIGN KEY ("fk_product_abstract_alternative") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_alternative" ADD CONSTRAINT "spy_product_alternative-fk_product_concrete_alternative" - FOREIGN KEY ("fk_product_concrete_alternative") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_management_attribute" ADD CONSTRAINT "spy_pim_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_management_attribute_value" ADD CONSTRAINT "spy_pim_attribute_value-fk_pim_attribute" - FOREIGN KEY ("fk_product_management_attribute") - REFERENCES "spy_product_management_attribute" ("id_product_management_attribute"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_management_attribute_value_translation" ADD CONSTRAINT "spy_pim_attribute_value_translation-fk_pim_attribute_value" - FOREIGN KEY ("fk_product_management_attribute_value") - REFERENCES "spy_product_management_attribute_value" ("id_product_management_attribute_value"); - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_bundled_product" - FOREIGN KEY ("fk_bundled_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_bundle" ADD CONSTRAINT "spy_product_bundle-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product") - ON UPDATE CASCADE - ON DELETE CASCADE; - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_category" ADD CONSTRAINT "spy_product_category-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_category_filter" ADD CONSTRAINT "spy_product_category_filter-fk_category" - FOREIGN KEY ("fk_category") - REFERENCES "spy_category" ("id_category"); - -ALTER TABLE "spy_product_discontinued" ADD CONSTRAINT "spy_product_discontinued-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_product_discontinued" - FOREIGN KEY ("fk_product_discontinued") - REFERENCES "spy_product_discontinued" ("id_product_discontinued"); - -ALTER TABLE "spy_product_discontinued_note" ADD CONSTRAINT "spy_product_discontinued_note-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_group" - FOREIGN KEY ("fk_product_group") - REFERENCES "spy_product_group" ("id_product_group"); - -ALTER TABLE "spy_product_abstract_group" ADD CONSTRAINT "spy_product_abstract_group-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_image_set" ADD CONSTRAINT "spy_product_image_set-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image_set" - FOREIGN KEY ("fk_product_image_set") - REFERENCES "spy_product_image_set" ("id_product_image_set"); - -ALTER TABLE "spy_product_image_set_to_product_image" ADD CONSTRAINT "spy_product_image_set_to_product_image-fk_product_image" - FOREIGN KEY ("fk_product_image") - REFERENCES "spy_product_image" ("id_product_image"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_localized_attributes" ADD CONSTRAINT "spy_product_label_localized_attributes_fk_12b6d0" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_3dcfb4" - FOREIGN KEY ("fk_product_label") - REFERENCES "spy_product_label" ("id_product_label"); - -ALTER TABLE "spy_product_label_product_abstract" ADD CONSTRAINT "spy_product_label_product_abstract_fk_371a4f" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_option_group" ADD CONSTRAINT "spy_product_option_group-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE SET NULL; - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_abstract_product_option_group" ADD CONSTRAINT "spy_product_abstract-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value" ADD CONSTRAINT "spy_product_option_value-fk_product_option_group" - FOREIGN KEY ("fk_product_option_group") - REFERENCES "spy_product_option_group" ("id_product_option_group"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_product_option_value_price" ADD CONSTRAINT "spy_product_option_value_price-fk_product_option_value" - FOREIGN KEY ("fk_product_option_value") - REFERENCES "spy_product_option_value" ("id_product_option_value") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_relation" ADD CONSTRAINT "spy_product-relation-type-fk_product_abstract" - FOREIGN KEY ("fk_product_relation_type") - REFERENCES "spy_product_relation_type" ("id_product_relation_type"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-rel-fk_product_relation" - FOREIGN KEY ("fk_product_relation") - REFERENCES "spy_product_relation" ("id_product_relation"); - -ALTER TABLE "spy_product_relation_product_abstract" ADD CONSTRAINT "spy_product-rel-prod-abs-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract"); - -ALTER TABLE "spy_product_review" ADD CONSTRAINT "spy_product_review-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_product_search" ADD CONSTRAINT "spy_product_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_search_attribute_map" ADD CONSTRAINT "spy_product_search_attribute_map-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_search_attribute" ADD CONSTRAINT "spy_product_search_attribute-fk_product_attribute_key" - FOREIGN KEY ("fk_product_attribute_key") - REFERENCES "spy_product_attribute_key" ("id_product_attribute_key"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set"); - -ALTER TABLE "spy_product_abstract_set" ADD CONSTRAINT "spy_product_abstract_set-fk_product_abstract" - FOREIGN KEY ("fk_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_product_set" - FOREIGN KEY ("fk_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_product_set_data" ADD CONSTRAINT "spy_product_set_data-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_product_validity" ADD CONSTRAINT "spy_product_validity-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_quote" ADD CONSTRAINT "spy_quote-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_refund" ADD CONSTRAINT "spy_refund-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_order_source" - FOREIGN KEY ("fk_order_source") - REFERENCES "spy_order_source" ("id_order_source"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_reclamation" - FOREIGN KEY ("fk_sales_reclamation") - REFERENCES "spy_sales_reclamation" ("id_sales_reclamation"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_billing" - FOREIGN KEY ("fk_sales_order_address_billing") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_sales_order_address_shipping" - FOREIGN KEY ("fk_sales_order_address_shipping") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order" ADD CONSTRAINT "spy_sales_order-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order_item_bundle" - FOREIGN KEY ("fk_sales_order_item_bundle") - REFERENCES "spy_sales_order_item_bundle" ("id_sales_order_item_bundle"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_item_state" - FOREIGN KEY ("fk_oms_order_item_state") - REFERENCES "spy_oms_order_item_state" ("id_oms_order_item_state"); - -ALTER TABLE "spy_sales_order_item" ADD CONSTRAINT "spy_sales_order_item-fk_oms_order_process" - FOREIGN KEY ("fk_oms_order_process") - REFERENCES "spy_oms_order_process" ("id_oms_order_process"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_discount" ADD CONSTRAINT "spy_sales_discount-fk_sales_order_item_option" - FOREIGN KEY ("fk_sales_order_item_option") - REFERENCES "spy_sales_order_item_option" ("id_sales_order_item_option"); - -ALTER TABLE "spy_sales_discount_code" ADD CONSTRAINT "spy_sales_discount_code-fk_sales_discount" - FOREIGN KEY ("fk_sales_discount") - REFERENCES "spy_sales_discount" ("id_sales_discount"); - -ALTER TABLE "spy_sales_order_item_gift_card" ADD CONSTRAINT "spy_sales_order_item_gift_card-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_item_option" ADD CONSTRAINT "spy_sales_order_item_option-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address" ADD CONSTRAINT "spy_sales_order_address-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_sales_order_address" - FOREIGN KEY ("fk_sales_order_address") - REFERENCES "spy_sales_order_address" ("id_sales_order_address"); - -ALTER TABLE "spy_sales_order_address_history" ADD CONSTRAINT "spy_sales_order_address_history-fk_region" - FOREIGN KEY ("fk_region") - REFERENCES "spy_region" ("id_region"); - -ALTER TABLE "spy_sales_order_totals" ADD CONSTRAINT "spy_sales_order_totals-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_note" ADD CONSTRAINT "spy_sales_order_note-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_comment" ADD CONSTRAINT "spy_sales_order_comment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_expense" ADD CONSTRAINT "spy_sales_expense-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_order_item_metadata" ADD CONSTRAINT "spy_sales_order_item_metadata-fk_sales_order_item" - FOREIGN KEY ("fk_sales_order_item") - REFERENCES "spy_sales_order_item" ("id_sales_order_item"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_shipment" ADD CONSTRAINT "spy_sales_shipment-fk_sales_expense" - FOREIGN KEY ("fk_sales_expense") - REFERENCES "spy_sales_expense" ("id_sales_expense"); - -ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_sales_order_threshold_type" - FOREIGN KEY ("fk_sales_order_threshold_type") - REFERENCES "spy_sales_order_threshold_type" ("id_sales_order_threshold_type"); - -ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_sales_order_threshold" ADD CONSTRAINT "spy_sales_order_threshold-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_sales_order_threshold_tax_set" ADD CONSTRAINT "spy_sales_order_threshold_tax_set-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_order" - FOREIGN KEY ("fk_sales_order") - REFERENCES "spy_sales_order" ("id_sales_order"); - -ALTER TABLE "spy_sales_payment" ADD CONSTRAINT "spy_sales_payment-fk_sales_payment_method_type" - FOREIGN KEY ("fk_sales_payment_method_type") - REFERENCES "spy_sales_payment_method_type" ("id_sales_payment_method_type"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_shipment_carrier" - FOREIGN KEY ("fk_shipment_carrier") - REFERENCES "spy_shipment_carrier" ("id_shipment_carrier"); - -ALTER TABLE "spy_shipment_method" ADD CONSTRAINT "spy_shipment_method-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_currency" - FOREIGN KEY ("fk_currency") - REFERENCES "spy_currency" ("id_currency"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_shipment_method_price" ADD CONSTRAINT "spy_shipment_method_price-fk_shipment_method" - FOREIGN KEY ("fk_shipment_method") - REFERENCES "spy_shipment_method" ("id_shipment_method"); - -ALTER TABLE "spy_state_machine_transition_log" ADD CONSTRAINT "spy_state_machine_transition_log-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state" ADD CONSTRAINT "spy_state_machine_item_state-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_state_machine_item_state_history" ADD CONSTRAINT "spy_state_machine_item_state_h-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_item_state" - FOREIGN KEY ("fk_state_machine_item_state") - REFERENCES "spy_state_machine_item_state" ("id_state_machine_item_state"); - -ALTER TABLE "spy_state_machine_event_timeout" ADD CONSTRAINT "spy_state_machine_event_timeout-fk_state_machine_process" - FOREIGN KEY ("fk_state_machine_process") - REFERENCES "spy_state_machine_process" ("id_state_machine_process"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_product" - FOREIGN KEY ("fk_product") - REFERENCES "spy_product" ("id_product"); - -ALTER TABLE "spy_stock_product" ADD CONSTRAINT "spy_stock_product-fk_stock" - FOREIGN KEY ("fk_stock") - REFERENCES "spy_stock" ("id_stock"); - -ALTER TABLE "spy_tax_rate" ADD CONSTRAINT "spy_tax_rate-fk_country" - FOREIGN KEY ("fk_country") - REFERENCES "spy_country" ("id_country"); - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_set" - FOREIGN KEY ("fk_tax_set") - REFERENCES "spy_tax_set" ("id_tax_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_tax_set_tax" ADD CONSTRAINT "spy_tax_set_tax-fk_tax_rate" - FOREIGN KEY ("fk_tax_rate") - REFERENCES "spy_tax_rate" ("id_tax_rate"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_storage" ADD CONSTRAINT "spy_touch_storage-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_touch" - FOREIGN KEY ("fk_touch") - REFERENCES "spy_touch" ("id_touch"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_store" - FOREIGN KEY ("fk_store") - REFERENCES "spy_store" ("id_store"); - -ALTER TABLE "spy_touch_search" ADD CONSTRAINT "spy_touch_search-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale"); - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_categorynode" - FOREIGN KEY ("fk_resource_categorynode") - REFERENCES "spy_category_node" ("id_category_node") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_page" - FOREIGN KEY ("fk_resource_page") - REFERENCES "spy_cms_page" ("id_cms_page") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_set" - FOREIGN KEY ("fk_resource_product_set") - REFERENCES "spy_product_set" ("id_product_set") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_product_abstract" - FOREIGN KEY ("fk_resource_product_abstract") - REFERENCES "spy_product_abstract" ("id_product_abstract") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_locale" - FOREIGN KEY ("fk_locale") - REFERENCES "spy_locale" ("id_locale") - ON DELETE CASCADE; - -ALTER TABLE "spy_url" ADD CONSTRAINT "spy_url-fk_resource_redirect" - FOREIGN KEY ("fk_resource_redirect") - REFERENCES "spy_url_redirect" ("id_url_redirect") - ON DELETE CASCADE; - -ALTER TABLE "spy_wishlist" ADD CONSTRAINT "spy_wishlist-fk_customer" - FOREIGN KEY ("fk_customer") - REFERENCES "spy_customer" ("id_customer"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-fk_wishlist" - FOREIGN KEY ("fk_wishlist") - REFERENCES "spy_wishlist" ("id_wishlist"); - -ALTER TABLE "spy_wishlist_item" ADD CONSTRAINT "spy_wishlist_item-sku" - FOREIGN KEY ("sku") - REFERENCES "spy_product" ("sku"); - -COMMIT; -', -); - } - - /** - * Get the SQL statements for the Down migration - * - * @return array list of the SQL strings to execute for the Down migration - * the keys being the datasources - */ - public function getDownSQL() - { - return array ( - 'zed' => ' -BEGIN; - -DROP TABLE IF EXISTS "spy_sales_reclamation" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_reclamation_item" CASCADE; - -DROP SEQUENCE "spy_sales_reclamation_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role" CASCADE; - -DROP SEQUENCE "spy_acl_role_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_rule" CASCADE; - -DROP SEQUENCE "spy_acl_rule_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_group" CASCADE; - -DROP SEQUENCE "spy_acl_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_user_has_group" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_groups_has_roles" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password" CASCADE; - -DROP SEQUENCE "spy_auth_reset_password_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_abstract" CASCADE; - -DROP SEQUENCE "spy_availability_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability" CASCADE; - -DROP SEQUENCE "spy_availability_pk_seq"; - -DROP TABLE IF EXISTS "spy_availability_storage" CASCADE; - -DROP SEQUENCE "spy_availability_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category" CASCADE; - -DROP SEQUENCE "spy_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_attribute" CASCADE; - -DROP SEQUENCE "spy_category_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node" CASCADE; - -DROP SEQUENCE "spy_category_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_closure_table" CASCADE; - -DROP SEQUENCE "spy_category_closure_table_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_page_search" CASCADE; - -DROP SEQUENCE "spy_category_node_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_tree_storage" CASCADE; - -DROP SEQUENCE "spy_category_tree_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_node_storage" CASCADE; - -DROP SEQUENCE "spy_category_node_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_category_template" CASCADE; - -DROP SEQUENCE "spy_category_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_template" CASCADE; - -DROP SEQUENCE "spy_cms_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page" CASCADE; - -DROP SEQUENCE "spy_cms_page_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_cms_page_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_version" CASCADE; - -DROP SEQUENCE "spy_cms_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_template" CASCADE; - -DROP SEQUENCE "spy_cms_block_template_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_glossary_key_mapping" CASCADE; - -DROP SEQUENCE "spy_cms_block_glossary_key_mapping_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block" CASCADE; - -DROP SEQUENCE "spy_cms_block_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_store" CASCADE; - -DROP SEQUENCE "id_cms_block_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_position" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_position_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_category_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_connector" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_connector_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_product_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_product_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_block_storage" CASCADE; - -DROP SEQUENCE "spy_cms_block_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_search" CASCADE; - -DROP SEQUENCE "spy_cms_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_cms_page_storage" CASCADE; - -DROP SEQUENCE "spy_cms_page_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_country" CASCADE; - -DROP SEQUENCE "spy_country_pk_seq"; - -DROP TABLE IF EXISTS "spy_region" CASCADE; - -DROP SEQUENCE "spy_region_pk_seq"; - -DROP TABLE IF EXISTS "spy_currency" CASCADE; - -DROP SEQUENCE "spy_currency_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer" CASCADE; - -DROP SEQUENCE "spy_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_address" CASCADE; - -DROP SEQUENCE "spy_customer_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group" CASCADE; - -DROP SEQUENCE "spy_customer_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_group_to_customer" CASCADE; - -DROP SEQUENCE "spy_customer_group_to_customer_pk_seq"; - -DROP TABLE IF EXISTS "spy_customer_note" CASCADE; - -DROP SEQUENCE "spy_customer_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount" CASCADE; - -DROP SEQUENCE "spy_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_store" CASCADE; - -DROP SEQUENCE "id_discount_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher_pool" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pool_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_voucher" CASCADE; - -DROP SEQUENCE "spy_discount_voucher_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_amount" CASCADE; - -DROP SEQUENCE "spy_discount_amount_pk_seq"; - -DROP TABLE IF EXISTS "spy_discount_promotion" CASCADE; - -DROP SEQUENCE "spy_discount_promotion_pk_seq"; - -DROP TABLE IF EXISTS "spy_event_behavior_entity_change" CASCADE; - -DROP SEQUENCE "spy_event_behavior_entity_change_pk_seq"; - -DROP TABLE IF EXISTS "pyz_example_state_machine_item" CASCADE; - -DROP SEQUENCE "pyz_example_state_machine_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_file" CASCADE; - -DROP SEQUENCE "spy_file_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_info" CASCADE; - -DROP SEQUENCE "spy_file_info_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_file_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_directory" CASCADE; - -DROP SEQUENCE "spy_file_directory_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_directory_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_file_directory_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_mime_type" CASCADE; - -DROP SEQUENCE "spy_mime_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_file_storage" CASCADE; - -DROP SEQUENCE "spy_file_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card" CASCADE; - -DROP SEQUENCE "spy_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_abstract_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_abstract_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_product_configuration_link" CASCADE; - -DROP SEQUENCE "spy_gift_card_product_configuration_link_pk_seq"; - -DROP TABLE IF EXISTS "spy_payment_gift_card" CASCADE; - -DROP SEQUENCE "spy_payment_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_gift_card_balance_log" CASCADE; - -DROP SEQUENCE "spy_gift_card_balance_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_key" CASCADE; - -DROP SEQUENCE "spy_glossary_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_translation" CASCADE; - -DROP SEQUENCE "spy_glossary_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_glossary_storage" CASCADE; - -DROP SEQUENCE "spy_glossary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_locale" CASCADE; - -DROP SEQUENCE "spy_locale_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation" CASCADE; - -DROP SEQUENCE "spy_navigation_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node" CASCADE; - -DROP SEQUENCE "spy_navigation_node_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_node_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_navigation_node_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_navigation_storage" CASCADE; - -DROP SEQUENCE "spy_navigation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscriber" CASCADE; - -DROP SEQUENCE "spy_newsletter_subscriber_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_type" CASCADE; - -DROP SEQUENCE "spy_newsletter_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_newsletter_subscription" CASCADE; - -DROP TABLE IF EXISTS "spy_nopayment_paid" CASCADE; - -DROP SEQUENCE "spy_nopayment_paid_pk_seq"; - -DROP TABLE IF EXISTS "spy_offer" CASCADE; - -DROP SEQUENCE "spy_offer_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_transition_log" CASCADE; - -DROP SEQUENCE "spy_oms_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_process" CASCADE; - -DROP SEQUENCE "spy_oms_order_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_oms_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_order_item_state_history" CASCADE; - -DROP SEQUENCE "spy_oms_order_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_event_timeout" CASCADE; - -DROP SEQUENCE "spy_oms_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_store" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_change_version" CASCADE; - -DROP SEQUENCE "spy_oms_product_reservation_change_version_pk_seq"; - -DROP TABLE IF EXISTS "spy_oms_product_reservation_last_exported_version" CASCADE; - -DROP TABLE IF EXISTS "spy_order_source" CASCADE; - -DROP SEQUENCE "spy_order_source_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product" CASCADE; - -DROP SEQUENCE "spy_price_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_type" CASCADE; - -DROP SEQUENCE "spy_price_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_store" CASCADE; - -DROP SEQUENCE "spy_price_product_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_default" CASCADE; - -DROP SEQUENCE "spy_price_product_default_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_price_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_price_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_abstract_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_store" CASCADE; - -DROP SEQUENCE "id_product_abstract_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_product" CASCADE; - -DROP SEQUENCE "spy_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_attribute_key" CASCADE; - -DROP SEQUENCE "spy_product_attribute_key_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative" CASCADE; - -DROP SEQUENCE "spy_product_alternative_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_alternative_storage" CASCADE; - -DROP SEQUENCE "id_product_alternative_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_replacement_for_storage" CASCADE; - -DROP SEQUENCE "id_product_replacement_for_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_management_attribute_value_translation" CASCADE; - -DROP SEQUENCE "spy_product_management_attribute_value_translation_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_bundle" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_bundle" CASCADE; - -DROP SEQUENCE "spy_product_bundle_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category" CASCADE; - -DROP SEQUENCE "spy_product_category_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_category_filter_storage" CASCADE; - -DROP SEQUENCE "spy_product_category_filter_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_category_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_category_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued" CASCADE; - -DROP SEQUENCE "id_product_discontinued_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_note" CASCADE; - -DROP SEQUENCE "id_product_discontinued_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_discontinued_storage" CASCADE; - -DROP SEQUENCE "id_product_discontinued_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_group" CASCADE; - -DROP SEQUENCE "spy_product_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_abstract_group_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_group_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set" CASCADE; - -DROP SEQUENCE "spy_product_image_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_image_set_to_product_image" CASCADE; - -DROP SEQUENCE "spy_product_image_set_to_product_image_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_image_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_image_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label" CASCADE; - -DROP SEQUENCE "spy_product_label_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_localized_attributes" CASCADE; - -DROP SEQUENCE "spy_product_label_localized_attributes_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_label_product_abstract_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_label_dictionary_storage" CASCADE; - -DROP SEQUENCE "spy_product_label_dictionary_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_label_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_label_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_group" CASCADE; - -DROP SEQUENCE "spy_product_option_group_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_product_option_group" CASCADE; - -DROP TABLE IF EXISTS "spy_product_option_value" CASCADE; - -DROP SEQUENCE "spy_product_option_value_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_option_value_price" CASCADE; - -DROP SEQUENCE "spy_product_option_value_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_option_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_option_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_page_search" CASCADE; - -DROP SEQUENCE "spy_product_abstract_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_type" CASCADE; - -DROP SEQUENCE "spy_product_relation_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation" CASCADE; - -DROP SEQUENCE "spy_product_relation_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_relation_product_abstract" CASCADE; - -DROP SEQUENCE "spy_product_rel_prod_abs_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_relation_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_relation_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review" CASCADE; - -DROP SEQUENCE "id_product_review_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_review_search" CASCADE; - -DROP SEQUENCE "spy_product_review_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_review_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_review_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search" CASCADE; - -DROP SEQUENCE "spy_product_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute" CASCADE; - -DROP SEQUENCE "spy_product_search_attribute_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_search_config_storage" CASCADE; - -DROP SEQUENCE "spy_product_search_config_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set" CASCADE; - -DROP SEQUENCE "spy_product_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_set" CASCADE; - -DROP SEQUENCE "spy_product_abstract_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_data" CASCADE; - -DROP SEQUENCE "spy_product_set_data_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_page_search" CASCADE; - -DROP SEQUENCE "spy_product_set_page_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_set_storage" CASCADE; - -DROP SEQUENCE "spy_product_set_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_abstract_storage" CASCADE; - -DROP SEQUENCE "spy_product_abstract_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_concrete_storage" CASCADE; - -DROP SEQUENCE "spy_product_concrete_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_product_validity" CASCADE; - -DROP SEQUENCE "spy_product_validity_pk_seq"; - -DROP TABLE IF EXISTS "spy_propel_heartbeat" CASCADE; - -DROP TABLE IF EXISTS "spy_queue_process" CASCADE; - -DROP SEQUENCE "spy_queue_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_quote" CASCADE; - -DROP SEQUENCE "id_quote_pk_seq"; - -DROP TABLE IF EXISTS "spy_refund" CASCADE; - -DROP SEQUENCE "spy_refund_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order" CASCADE; - -DROP SEQUENCE "spy_sales_order_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount" CASCADE; - -DROP SEQUENCE "spy_sales_discount_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_discount_code" CASCADE; - -DROP SEQUENCE "spy_sales_discount_code_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_gift_card" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_gift_card_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_option" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_option_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_address_history" CASCADE; - -DROP SEQUENCE "spy_sales_order_address_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_totals" CASCADE; - -DROP SEQUENCE "spy_sales_order_totals_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_note" CASCADE; - -DROP SEQUENCE "spy_sales_order_note_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_comment" CASCADE; - -DROP SEQUENCE "spy_sales_order_comment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_expense" CASCADE; - -DROP SEQUENCE "spy_sales_expense_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_item_metadata" CASCADE; - -DROP SEQUENCE "spy_sales_order_item_metadata_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_shipment" CASCADE; - -DROP SEQUENCE "spy_sales_shipment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_threshold" CASCADE; - -DROP SEQUENCE "id_sales_order_threshold_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_threshold_tax_set" CASCADE; - -DROP SEQUENCE "id_sales_order_threshold_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_order_threshold_type" CASCADE; - -DROP SEQUENCE "id_sales_order_threshold_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment" CASCADE; - -DROP SEQUENCE "spy_sales_payment_pk_seq"; - -DROP TABLE IF EXISTS "spy_sales_payment_method_type" CASCADE; - -DROP SEQUENCE "spy_sales_payment_method_type_pk_seq"; - -DROP TABLE IF EXISTS "spy_sequence_number" CASCADE; - -DROP SEQUENCE "spy_sequence_number_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_carrier" CASCADE; - -DROP SEQUENCE "spy_shipment_carrier_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method" CASCADE; - -DROP SEQUENCE "spy_shipment_method_pk_seq"; - -DROP TABLE IF EXISTS "spy_shipment_method_price" CASCADE; - -DROP SEQUENCE "spy_shipment_method_price_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_transition_log" CASCADE; - -DROP SEQUENCE "spy_state_machine_transition_log_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_process" CASCADE; - -DROP SEQUENCE "spy_state_machine_process_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_lock" CASCADE; - -DROP SEQUENCE "spy_state_machine_lock_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_item_state_history" CASCADE; - -DROP SEQUENCE "spy_state_machine_item_state_history_pk_seq"; - -DROP TABLE IF EXISTS "spy_state_machine_event_timeout" CASCADE; - -DROP SEQUENCE "spy_state_machine_event_timeout_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock" CASCADE; - -DROP SEQUENCE "spy_stock_pk_seq"; - -DROP TABLE IF EXISTS "spy_stock_product" CASCADE; - -DROP SEQUENCE "spy_stock_product_pk_seq"; - -DROP TABLE IF EXISTS "spy_store" CASCADE; - -DROP SEQUENCE "spy_store_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set" CASCADE; - -DROP SEQUENCE "spy_tax_set_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_rate" CASCADE; - -DROP SEQUENCE "spy_tax_rate_pk_seq"; - -DROP TABLE IF EXISTS "spy_tax_set_tax" CASCADE; - -DROP TABLE IF EXISTS "spy_touch" CASCADE; - -DROP SEQUENCE "spy_touch_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_storage" CASCADE; - -DROP SEQUENCE "spy_touch_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_touch_search" CASCADE; - -DROP SEQUENCE "spy_touch_search_pk_seq"; - -DROP TABLE IF EXISTS "spy_unauthenticated_customer_access" CASCADE; - -DROP SEQUENCE "spy_unauthenticated_customer_access_pk_seq"; - -DROP TABLE IF EXISTS "spy_unauthenticated_customer_access_storage" CASCADE; - -DROP SEQUENCE "unauthenticated_customer_access_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url" CASCADE; - -DROP SEQUENCE "spy_url_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect" CASCADE; - -DROP SEQUENCE "spy_url_redirect_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_storage" CASCADE; - -DROP SEQUENCE "spy_url_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_url_redirect_storage" CASCADE; - -DROP SEQUENCE "spy_url_redirect_storage_pk_seq"; - -DROP TABLE IF EXISTS "spy_user" CASCADE; - -DROP SEQUENCE "spy_user_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist" CASCADE; - -DROP SEQUENCE "spy_wishlist_pk_seq"; - -DROP TABLE IF EXISTS "spy_wishlist_item" CASCADE; - -DROP SEQUENCE "spy_wishlist_item_pk_seq"; - -DROP TABLE IF EXISTS "spy_acl_role_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_rule_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_acl_group_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_auth_reset_password_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_map_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_product_search_attribute_archive" CASCADE; - -DROP TABLE IF EXISTS "spy_user_archive" CASCADE; - -COMMIT; -', -); - } - -} \ No newline at end of file diff --git a/src/Orm/Zed/Oauth/Persistence/SpyOauthAccessToken.php b/src/Orm/Zed/Oauth/Persistence/SpyOauthAccessToken.php new file mode 100644 index 0000000000..29e3f9de7c --- /dev/null +++ b/src/Orm/Zed/Oauth/Persistence/SpyOauthAccessToken.php @@ -0,0 +1,24 @@ +getProductLabelStorageClient() ->findLabelByName($labelName, $localeName); - $stringFacetFieldFilter = $this->createStringFacetFieldFilter(ProductLabelFacetConfigTransferBuilderPlugin::NAME); - $stringFacetValueFilter = $this->createStringFacetValueFilter($storageProductLabelTransfer->getIdProductLabel()); + $labelId = $storageProductLabelTransfer ? $storageProductLabelTransfer->getIdProductLabel() : 0; $newProductsBoolQuery = new BoolQuery(); + + $stringFacetFieldFilter = $this->createStringFacetFieldFilter(ProductLabelFacetConfigTransferBuilderPlugin::NAME); + $stringFacetValueFilter = $this->createStringFacetValueFilter($labelId); + $newProductsBoolQuery ->addFilter($stringFacetFieldFilter) ->addFilter($stringFacetValueFilter); diff --git a/src/Pyz/Client/Price/PriceDependencyProvider.php b/src/Pyz/Client/Price/PriceDependencyProvider.php index dd78c19595..4411427fc2 100644 --- a/src/Pyz/Client/Price/PriceDependencyProvider.php +++ b/src/Pyz/Client/Price/PriceDependencyProvider.php @@ -7,6 +7,7 @@ namespace Pyz\Client\Price; +use Spryker\Client\PersistentCart\Plugin\UpdatePersistentCartPriceModePlugin; use Spryker\Client\Price\PriceDependencyProvider as SprykerPriceDependencyProvider; class PriceDependencyProvider extends SprykerPriceDependencyProvider @@ -17,6 +18,7 @@ class PriceDependencyProvider extends SprykerPriceDependencyProvider protected function getPriceModePostUpdatePlugins(): array { return [ + new UpdatePersistentCartPriceModePlugin(), ]; } } diff --git a/src/Pyz/Client/ProductAlternativeStorage/ProductAlternativeStorageDependencyProvider.php b/src/Pyz/Client/ProductAlternativeStorage/ProductAlternativeStorageDependencyProvider.php index 07cd7ab4a0..67960465f3 100644 --- a/src/Pyz/Client/ProductAlternativeStorage/ProductAlternativeStorageDependencyProvider.php +++ b/src/Pyz/Client/ProductAlternativeStorage/ProductAlternativeStorageDependencyProvider.php @@ -19,7 +19,7 @@ class ProductAlternativeStorageDependencyProvider extends SprykerProductAlternat protected function getAlternativeProductApplicableCheckPlugins(): array { return [ - new DiscontinuedCheckAlternativeProductApplicablePlugin(), + new DiscontinuedCheckAlternativeProductApplicablePlugin(), #ProductDiscontinuedFeature new AvailabilityCheckAlternativeProductApplicablePlugin(), ]; } diff --git a/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php b/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php index 63db49e9dd..2360b0e3ea 100644 --- a/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php +++ b/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php @@ -10,6 +10,7 @@ use Spryker\Client\Catalog\Plugin\Elasticsearch\ResultFormatter\RawCatalogSearchResultFormatterPlugin; use Spryker\Client\CatalogPriceProductConnector\Plugin\CurrencyAwareCatalogSearchResultFormatterPlugin; use Spryker\Client\CatalogPriceProductConnector\Plugin\ProductPriceQueryExpanderPlugin; +use Spryker\Client\CustomerCatalog\Plugin\Search\ProductListQueryExpanderPlugin; use Spryker\Client\ProductNew\ProductNewDependencyProvider as SprykerProductNewDependencyProvider; use Spryker\Client\Search\Plugin\Elasticsearch\QueryExpander\FacetQueryExpanderPlugin; use Spryker\Client\Search\Plugin\Elasticsearch\QueryExpander\LocalizedQueryExpanderPlugin; @@ -31,9 +32,14 @@ protected function getNewProductsQueryExpanderPlugins() new StoreQueryExpanderPlugin(), new LocalizedQueryExpanderPlugin(), new ProductPriceQueryExpanderPlugin(), - new FacetQueryExpanderPlugin(), new SortedQueryExpanderPlugin(), new PaginatedQueryExpanderPlugin(), + new ProductListQueryExpanderPlugin(), + + /** + * FacetQueryExpanderPlugin needs to be after other query expanders which filters down the results. + */ + new FacetQueryExpanderPlugin(), ]; } diff --git a/src/Pyz/Client/ProductReview/ProductReviewConfig.php b/src/Pyz/Client/ProductReview/ProductReviewConfig.php index 7a98430c05..8b6db23749 100644 --- a/src/Pyz/Client/ProductReview/ProductReviewConfig.php +++ b/src/Pyz/Client/ProductReview/ProductReviewConfig.php @@ -11,8 +11,8 @@ class ProductReviewConfig extends ProductReviewProductReviewConfig { - const PAGINATION_DEFAULT_ITEMS_PER_PAGE = 3; - const PAGINATION_VALID_ITEMS_PER_PAGE = [ + public const PAGINATION_DEFAULT_ITEMS_PER_PAGE = 3; + public const PAGINATION_VALID_ITEMS_PER_PAGE = [ 3, ]; } diff --git a/src/Pyz/Client/ProductStorage/ProductStorageDependencyProvider.php b/src/Pyz/Client/ProductStorage/ProductStorageDependencyProvider.php index 15431606cb..847b23a300 100644 --- a/src/Pyz/Client/ProductStorage/ProductStorageDependencyProvider.php +++ b/src/Pyz/Client/ProductStorage/ProductStorageDependencyProvider.php @@ -10,6 +10,7 @@ use Spryker\Client\AvailabilityStorage\Plugin\ProductViewAvailabilityStorageExpanderPlugin; use Spryker\Client\PriceProductStorage\Plugin\ProductViewPriceExpanderPlugin; use Spryker\Client\ProductDiscontinuedStorage\Plugin\ProductStorage\ProductDiscontinuedProductAvailabilityExpanderPlugin; +use Spryker\Client\ProductDiscontinuedStorage\Plugin\ProductStorage\ProductViewDiscontinuedOptionsExpanderPlugin; use Spryker\Client\ProductImageStorage\Plugin\ProductViewImageExpanderPlugin; use Spryker\Client\ProductStorage\Plugin\ProductViewVariantExpanderPlugin; use Spryker\Client\ProductStorage\ProductStorageDependencyProvider as SprykerProductStorageDependencyProvider; @@ -23,9 +24,11 @@ protected function getProductViewExpanderPlugins() { /** @var \Spryker\Client\ProductStorage\Dependency\Plugin\ProductViewExpanderPluginInterface[] $plugins */ $plugins = [ + new ProductViewDiscontinuedOptionsExpanderPlugin(), #ProductDiscontinuedFeature new ProductViewVariantExpanderPlugin(), new ProductViewPriceExpanderPlugin(), new ProductViewAvailabilityStorageExpanderPlugin(), + new ProductDiscontinuedProductAvailabilityExpanderPlugin(), #ProductDiscontinuedFeature new ProductViewImageExpanderPlugin(), new ProductDiscontinuedProductAvailabilityExpanderPlugin(), ]; diff --git a/src/Pyz/Client/RabbitMq/RabbitMqConfig.php b/src/Pyz/Client/RabbitMq/RabbitMqConfig.php index 97e362a4ec..6b72bf5320 100644 --- a/src/Pyz/Client/RabbitMq/RabbitMqConfig.php +++ b/src/Pyz/Client/RabbitMq/RabbitMqConfig.php @@ -16,6 +16,8 @@ use Spryker\Shared\CategoryStorage\CategoryStorageConstants; use Spryker\Shared\CmsPageSearch\CmsPageSearchConstants; use Spryker\Shared\CmsStorage\CmsStorageConstants; +use Spryker\Shared\CustomerAccessStorage\CustomerAccessStorageConstants; +use Spryker\Shared\Event\EventConfig; use Spryker\Shared\Event\EventConstants; use Spryker\Shared\FileManagerStorage\FileManagerStorageConstants; use Spryker\Shared\GlossaryStorage\GlossaryStorageConstants; @@ -33,10 +35,12 @@ class RabbitMqConfig extends SprykerRabbitMqConfig protected function getQueueOptions() { $queueOptionCollection = new ArrayObject(); - $queueOptionCollection->append($this->createQueueOption(EventConstants::EVENT_QUEUE, EventConstants::EVENT_QUEUE_ERROR)); + $queueOptionCollection->append($this->createQueueOption(EventConstants::EVENT_QUEUE, EventConstants::EVENT_QUEUE_RETRY, EventConfig::EVENT_ROUTING_KEY_RETRY)); + $queueOptionCollection->append($this->createQueueOption(EventConstants::EVENT_QUEUE, EventConstants::EVENT_QUEUE_ERROR, EventConfig::EVENT_ROUTING_KEY_ERROR)); $queueOptionCollection->append($this->createQueueOption(GlossaryStorageConstants::SYNC_STORAGE_QUEUE, GlossaryStorageConstants::SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(UrlStorageConstants::URL_SYNC_STORAGE_QUEUE, UrlStorageConstants::URL_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(AvailabilityStorageConstants::AVAILABILITY_SYNC_STORAGE_QUEUE, AvailabilityStorageConstants::AVAILABILITY_SYNC_STORAGE_ERROR_QUEUE)); + $queueOptionCollection->append($this->createQueueOption(CustomerAccessStorageConstants::CUSTOMER_ACCESS_SYNC_STORAGE_QUEUE, CustomerAccessStorageConstants::CUSTOMER_ACCESS_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(CategoryStorageConstants::CATEGORY_SYNC_STORAGE_QUEUE, CategoryStorageConstants::CATEGORY_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(FileManagerStorageConstants::FILE_SYNC_STORAGE_QUEUE, FileManagerStorageConstants::FILE_SYNC_STORAGE_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(ProductStorageConstants::PRODUCT_SYNC_STORAGE_QUEUE, ProductStorageConstants::PRODUCT_SYNC_STORAGE_ERROR_QUEUE)); @@ -45,6 +49,8 @@ protected function getQueueOptions() $queueOptionCollection->append($this->createQueueOption(CategoryPageSearchConstants::CATEGORY_SYNC_SEARCH_QUEUE, CategoryPageSearchConstants::CATEGORY_SYNC_SEARCH_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(CmsPageSearchConstants::CMS_SYNC_SEARCH_QUEUE, CmsPageSearchConstants::CMS_SYNC_SEARCH_ERROR_QUEUE)); $queueOptionCollection->append($this->createQueueOption(ProductPageSearchConstants::PRODUCT_SYNC_SEARCH_QUEUE, ProductPageSearchConstants::PRODUCT_SYNC_SEARCH_ERROR_QUEUE)); + $queueOptionCollection->append($this->createQueueOption(FileManagerStorageConstants::FILE_SYNC_STORAGE_QUEUE, FileManagerStorageConstants::FILE_SYNC_STORAGE_ERROR_QUEUE)); + $queueOptionCollection->append( $this->createQueueOption( $this->get(LogConstants::LOG_QUEUE_NAME), @@ -104,6 +110,7 @@ protected function createErrorQueueBinding($errorQueueName, $routingKey) $queueOptionTransfer ->setQueueName($errorQueueName) ->setDurable(true) + ->setNoWait(false) ->addRoutingKey($routingKey); return $queueOptionTransfer; diff --git a/src/Pyz/Service/Barcode/BarcodeDependencyProvider.php b/src/Pyz/Service/Barcode/BarcodeDependencyProvider.php deleted file mode 100644 index 24f0ed3b78..0000000000 --- a/src/Pyz/Service/Barcode/BarcodeDependencyProvider.php +++ /dev/null @@ -1,24 +0,0 @@ - + + + + + + + + + diff --git a/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php b/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php index b63bfd40f4..b20711bf16 100644 --- a/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php +++ b/src/Pyz/Yves/CartPage/CartPageDependencyProvider.php @@ -7,40 +7,11 @@ namespace Pyz\Yves\CartPage; -use SprykerShop\Yves\CartNoteWidget\Plugin\CartPage\CartNoteQuoteItemWidgetPlugin; -use SprykerShop\Yves\CartNoteWidget\Plugin\CartPage\CartNoteQuoteWidgetPlugin; use SprykerShop\Yves\CartPage\CartPageDependencyProvider as SprykerCartPageDependencyProvider; -use SprykerShop\Yves\CheckoutWidget\Plugin\CartPage\CheckoutBreadcrumbWidgetPlugin; -use SprykerShop\Yves\DiscountPromotionWidget\Plugin\CartPage\DiscountPromotionItemListWidgetPlugin; -use SprykerShop\Yves\DiscountWidget\Plugin\CartPage\DiscountSummaryWidgetPlugin; -use SprykerShop\Yves\DiscountWidget\Plugin\CartPage\DiscountVoucherFormWidgetPlugin; use SprykerShop\Yves\ProductBundleWidget\Plugin\CartPage\ProductBundleCartItemTransformerPlugin; -use SprykerShop\Yves\ProductBundleWidget\Plugin\CartPage\ProductBundleItemsWidgetPlugin; -use SprykerShop\Yves\ProductOptionWidget\Plugin\CartPage\CartItemProductOptionWidgetPlugin; -use SprykerShop\Yves\ProductRelationWidget\Plugin\CartPage\UpSellingProductsWidgetPlugin; -use SprykerShop\Yves\SalesOrderThresholdWidget\Plugin\CartPage\SalesOrderThresholdWidgetPlugin; class CartPageDependencyProvider extends SprykerCartPageDependencyProvider { - /** - * @return array - */ - protected function getCartPageWidgetPlugins(): array - { - return [ - CartItemProductOptionWidgetPlugin::class, - CheckoutBreadcrumbWidgetPlugin::class, - DiscountVoucherFormWidgetPlugin::class, - DiscountSummaryWidgetPlugin::class, - DiscountPromotionItemListWidgetPlugin::class, - UpSellingProductsWidgetPlugin::class, - ProductBundleItemsWidgetPlugin::class, - CartNoteQuoteWidgetPlugin::class, #CartNoteFeature - CartNoteQuoteItemWidgetPlugin::class, #CartNoteFeature - SalesOrderThresholdWidgetPlugin::class, #SalesOrderThreshold - ]; - } - /** * @return \SprykerShop\Yves\CartPage\Dependency\Plugin\CartItemTransformerPluginInterface[] */ diff --git a/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig b/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig index 46474f5ca2..a51f1e7fc5 100644 --- a/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig +++ b/src/Pyz/Yves/CartPage/Theme/default/components/molecules/cart-item/cart-item.twig @@ -41,7 +41,7 @@ } only %} {% endif %} - {{ widget('ProductBundleItemsWidgetPlugin', data.cartItem, data.cart) }} + {% widget 'ProductBundleCartItemsListWidget' args [data.cartItem, data.cart] only %}{% endwidget %} {% include molecule('cart-item-summary', 'CartPage') with { data: { @@ -57,15 +57,11 @@ {{ widget('CartProductPackagingUnitWidgetPlugin', data.cartItem) }} {% if data.cartItem.amountSalesUnit is not defined or data.cartItem.amountSalesUnit is empty %} {% if canEditCart %} - {% if widgetExists('QuantitySalesUnitWidgetPlugin') %} - {{ widget('QuantitySalesUnitWidgetPlugin', data.cartItem) }} - {% else %} - {% include molecule('cart-quantity-input', 'CartPage') with { - data: { - cartItem: data.cartItem - } - } only %} - {% endif %} + {% include molecule('cart-quantity-input', 'CartPage') with { + data: { + cartItem: data.cartItem + } + } only %} {% else %} {{ 'cart.item_quantity' | trans }}: {{ data.cartItem.quantity }} @@ -77,7 +73,7 @@
{% endif %} - {{ widget('CartNoteQuoteItemWidgetPlugin', data.cartItem, data.cart) }} + {% widget 'CartItemNoteFormWidget' args [data.cartItem, data.cart] only %}{% endwidget %}
{% endblock %} diff --git a/src/Pyz/Yves/CartPage/Theme/default/views/cart/cart.twig b/src/Pyz/Yves/CartPage/Theme/default/views/cart/cart.twig index cc2182f7c0..91138b2405 100644 --- a/src/Pyz/Yves/CartPage/Theme/default/views/cart/cart.twig +++ b/src/Pyz/Yves/CartPage/Theme/default/views/cart/cart.twig @@ -11,15 +11,11 @@ } %} {% block breadcrumbs %} - {{ widget('CheckoutBreadcrumbWidgetPlugin', data.cart) }} + {% widget 'CheckoutBreadcrumbWidget' args [data.cart] only %}{% endwidget %} {% endblock %} {% block title %} - {% if widgetExists('CartOperationsWidgetPlugin') %} - {{ widgetBlock('CartOperationsWidgetPlugin', 'title', data.cart) }} - {% else %} - {{ parent() }} - {% endif %} + {% widget 'CartOperationsWidget' args [data.cart] use view('cart-operations-title', 'MultiCartWidget') only %}{% endwidget %} {% endblock %} {% block content %} @@ -49,24 +45,27 @@ } only %} {% endfor %} - {{ widget('DiscountPromotionItemListWidgetPlugin', data.cart, data.request) }} + {% widget 'CartDiscountPromotionProductListWidget' args [data.cart, data.request] only %}{% endwidget %} {% if canEditCart and data.cart.idQuote is not empty %} - {{ widgetBlock('CartOperationsWidgetPlugin', 'actions', data.cart) }} + {% widget 'CartOperationsWidget' args [data.cart] use view('cart-operations-actions', 'MultiCartWidget') only %}{% endwidget %} {% endif %}
- {{ widget('CartNoteQuoteWidgetPlugin', data.cart) }} + {% widget 'CartNoteFormWidget' args [data.cart] only %}{% endwidget %} {% if not is_granted('ROLE_USER') or canEditCart %} - {{ widget('DiscountVoucherFormWidgetPlugin') }} -
+ {% widget 'DiscountVoucherFormWidget' only %} + {% block body %} + {{ parent() }} +
+ {% endblock %} + {% endwidget %} {% endif %} - - {% if canEditCart and data.cart.idQuote is not empty and widgetExists('CartToShoppingListWidgetPlugin') %} - {{ widget('CartToShoppingListWidgetPlugin', data.cart.idQuote) }} + {% if canEditCart and data.cart.idQuote is not empty %} + {% widget 'CreateShoppingListFromCartWidget' args [data.cart.idQuote] only %}{% endwidget %}
{% endif %} @@ -81,7 +80,7 @@
{% endif %} - {{ widget('UpSellingProductsWidgetPlugin', data.cart) }} + {% widget 'UpSellingProductsWidget' args [data.cart] only %}{% endwidget %} {% endblock %} {% block footer %}{% endblock %} diff --git a/src/Pyz/Yves/CatalogPage/CatalogPageDependencyProvider.php b/src/Pyz/Yves/CatalogPage/CatalogPageDependencyProvider.php index aa376e37f1..b35a260675 100644 --- a/src/Pyz/Yves/CatalogPage/CatalogPageDependencyProvider.php +++ b/src/Pyz/Yves/CatalogPage/CatalogPageDependencyProvider.php @@ -9,8 +9,6 @@ use SprykerShop\Yves\CatalogPage\CatalogPageDependencyProvider as SprykerCatalogPageDependencyProvider; use SprykerShop\Yves\CmsBlockWidget\Plugin\CatalogPage\CatalogCmsBlockWidgetPlugin; -use SprykerShop\Yves\ProductReviewWidget\Plugin\CatalogPage\ProductRatingFilterWidgetPlugin; -use SprykerShop\Yves\ProductWidget\Plugin\CatalogPage\ProductWidgetPlugin; class CatalogPageDependencyProvider extends SprykerCatalogPageDependencyProvider { @@ -20,9 +18,7 @@ class CatalogPageDependencyProvider extends SprykerCatalogPageDependencyProvider protected function getCatalogPageWidgetPlugins(): array { return [ - ProductWidgetPlugin::class, CatalogCmsBlockWidgetPlugin::class, - ProductRatingFilterWidgetPlugin::class, ]; } } diff --git a/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig b/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig index bf4d590923..f4decf8158 100644 --- a/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig +++ b/src/Pyz/Yves/CatalogPage/Theme/default/views/catalog-with-cms-block/catalog-with-cms-block.twig @@ -6,6 +6,7 @@ category: _view.category | default, categories: categories | default([]), categoryId: _view.idCategory | default, + isEmptyCategoryFilterValueVisible: _view.isEmptyCategoryFilterValueVisible | default, filterPath: _view.filterPath | default, viewMode: _view.viewMode | default, diff --git a/src/Pyz/Yves/CatalogPage/Theme/default/views/simple-cms-block/simple-cms-block.twig b/src/Pyz/Yves/CatalogPage/Theme/default/views/simple-cms-block/simple-cms-block.twig index c2f0bdbf02..ce91e0e677 100644 --- a/src/Pyz/Yves/CatalogPage/Theme/default/views/simple-cms-block/simple-cms-block.twig +++ b/src/Pyz/Yves/CatalogPage/Theme/default/views/simple-cms-block/simple-cms-block.twig @@ -6,6 +6,7 @@ category: _view.category | default, categories: categories | default([]), categoryId: _view.idCategory | default, + isEmptyCategoryFilterValueVisible: _view.isEmptyCategoryFilterValueVisible | default, filterPath: _view.filterPath | default, viewMode: _view.viewMode | default, diff --git a/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php b/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php index c82a643526..d36ada685c 100644 --- a/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php +++ b/src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php @@ -10,8 +10,6 @@ use Spryker\Yves\Kernel\Container; use Spryker\Yves\Kernel\Plugin\Pimple; use Spryker\Yves\Payment\Plugin\PaymentFormFilterPlugin; -use SprykerShop\Yves\CartNoteWidget\Plugin\CheckoutPage\CartNoteQuoteItemNoteWidgetPlugin; -use SprykerShop\Yves\CartNoteWidget\Plugin\CheckoutPage\CartNoteQuoteNoteWidgetPlugin; use SprykerShop\Yves\CheckoutPage\CheckoutPageDependencyProvider as SprykerShopCheckoutPageDependencyProvider; use SprykerShop\Yves\CustomerPage\Form\CheckoutAddressCollectionForm; use SprykerShop\Yves\CustomerPage\Form\CustomerCheckoutForm; @@ -19,7 +17,6 @@ use SprykerShop\Yves\CustomerPage\Form\GuestForm; use SprykerShop\Yves\CustomerPage\Form\LoginForm; use SprykerShop\Yves\CustomerPage\Form\RegisterForm; -use SprykerShop\Yves\DiscountWidget\Plugin\CheckoutPage\CheckoutVoucherFormWidgetPlugin; use SprykerShop\Yves\SalesOrderThresholdWidget\Plugin\CheckoutPage\SalesOrderThresholdWidgetPlugin; class CheckoutPageDependencyProvider extends SprykerShopCheckoutPageDependencyProvider @@ -30,10 +27,7 @@ class CheckoutPageDependencyProvider extends SprykerShopCheckoutPageDependencyPr protected function getSummaryPageWidgetPlugins(): array { return [ - CheckoutVoucherFormWidgetPlugin::class, - CartNoteQuoteItemNoteWidgetPlugin::class, #CartNoteFeature - CartNoteQuoteNoteWidgetPlugin::class, #CartNoteFeature - SalesOrderThresholdWidgetPlugin::class, + SalesOrderThresholdWidgetPlugin::class, #SalesOrderThresholdFeature ]; } diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig index 4f3ce7cbbb..89ed2762df 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig @@ -80,17 +80,34 @@ } only %} {% block body %} {{parent()}} - {{ widget('CartNoteQuoteItemNoteWidgetPlugin', embed.item) }} + {% if embed.item.cartNote is not empty %} + {% include molecule('note-list', 'CartNoteWidget') ignore missing with { + data: { + label: 'cart_note.checkout_page.item_note', + note: embed.item.cartNote + } + } only %} + {% endif %} {% if embed.isLast %}
{% endif %} {% endblock %} {% endembed %} {% endfor %}
- {{ widget('CartNoteQuoteNoteWidgetPlugin', data.transfer) }} + {% if data.transfer.cartNote is not empty %} +
+ {% include molecule('note-list', 'CartNoteWidget') ignore missing with { + data: { + label: 'cart_note.checkout_page.quote_note', + note: data.transfer.cartNote + } + } only %} +
+ {% endif %}
- {{ widget('CheckoutVoucherFormWidgetPlugin', data.transfer) }} + {% widget 'CheckoutVoucherFormWidget' args [data.transfer] only %} + {% endwidget %}
{% embed molecule('form') with { diff --git a/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php b/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php index e26088bba9..1f20dc0899 100644 --- a/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php +++ b/src/Pyz/Yves/CmsContentWidget/CmsContentWidgetDependencyProvider.php @@ -8,10 +8,12 @@ namespace Pyz\Yves\CmsContentWidget; use Spryker\Yves\CmsContentWidget\CmsContentWidgetDependencyProvider as SprykerCmsContentWidgetDependencyProvider; +use SprykerShop\Shared\CmsContentWidgetChartConnector\ContentWidgetConfigurationProvider\CmsChartContentWidgetConfigurationProvider; use SprykerShop\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider; use SprykerShop\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider; use SprykerShop\Shared\CmsContentWidgetProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider; use SprykerShop\Shared\FileManagerWidget\CmsContentWidgetConfigurationProvider\FileManagerWidgetConfigurationProvider; +use SprykerShop\Yves\CmsContentWidgetChartConnector\Plugin\CmsContentWidget\CmsChartContentWidgetPlugin; use SprykerShop\Yves\CmsContentWidgetProductConnector\Plugin\CmsProductContentWidgetPlugin; use SprykerShop\Yves\CmsContentWidgetProductSetConnector\Plugin\CmsProductSetContentWidgetPlugin; use SprykerShop\Yves\FileManagerWidget\Plugin\CmsContentWidget\FileManagerWidgetPlugin; @@ -26,6 +28,9 @@ class CmsContentWidgetDependencyProvider extends SprykerCmsContentWidgetDependen public function getCmsContentWidgetPlugins() { return [ + CmsChartContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsChartContentWidgetPlugin( + new CmsChartContentWidgetConfigurationProvider() + ), CmsProductContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductContentWidgetPlugin( new CmsProductContentWidgetConfigurationProvider() ), diff --git a/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/pdp-color-selector-widget/pdp-color-selector-widget.twig b/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/pdp-color-selector-widget/pdp-color-selector-widget.twig index 6393303aa1..97cc65c0ac 100644 --- a/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/pdp-color-selector-widget/pdp-color-selector-widget.twig +++ b/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/pdp-color-selector-widget/pdp-color-selector-widget.twig @@ -5,5 +5,5 @@ } %} {% block body %} - {{ widgetGlobal('ProductGroupWidgetPlugin', data.idProductAbstract, view('pdp-color-selector', 'ExampleProductColorGroupWidget')) }} + {% widget 'ProductGroupWidget' args [data.idProductAbstract] use view('pdp-color-selector', 'ExampleProductColorGroupWidget') only %}{% endwidget %} {% endblock %} diff --git a/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/product-color-selector-widget/product-color-selector-widget.twig b/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/product-color-selector-widget/product-color-selector-widget.twig index 5dc4ec75e9..b858e4e2f6 100644 --- a/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/product-color-selector-widget/product-color-selector-widget.twig +++ b/src/Pyz/Yves/ExampleProductColorGroupWidget/Theme/default/views/product-color-selector-widget/product-color-selector-widget.twig @@ -5,5 +5,5 @@ } %} {% block body %} - {{ widgetGlobal('ProductGroupWidgetPlugin', data.idProductAbstract, view('product-color-selector', 'ExampleProductColorGroupWidget')) }} + {% widget 'ProductGroupWidget' args [data.idProductAbstract] use view('product-color-selector', 'ExampleProductColorGroupWidget') only %}{% endwidget %} {% endblock %} diff --git a/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php b/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php index 002d2da8c1..592cd4da7c 100644 --- a/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php +++ b/src/Pyz/Yves/ExampleProductSalePage/Controller/SaleController.php @@ -76,6 +76,6 @@ protected function getCategoryNode($categoryPath): array )); } - return $categoryNode; + return $categoryNode['data']; } } diff --git a/src/Pyz/Yves/ExampleProductSalePage/Plugin/Provider/ExampleProductSaleControllerProvider.php b/src/Pyz/Yves/ExampleProductSalePage/Plugin/Provider/ExampleProductSaleControllerProvider.php index d3560b8604..327bd6342b 100644 --- a/src/Pyz/Yves/ExampleProductSalePage/Plugin/Provider/ExampleProductSaleControllerProvider.php +++ b/src/Pyz/Yves/ExampleProductSalePage/Plugin/Provider/ExampleProductSaleControllerProvider.php @@ -12,7 +12,7 @@ class ExampleProductSaleControllerProvider extends AbstractYvesControllerProvider { - const ROUTE_SALE = 'sale'; + public const ROUTE_SALE = 'sale'; /** * @param \Silex\Application $app diff --git a/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-configurator/product-configurator.twig b/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-configurator/product-configurator.twig new file mode 100644 index 0000000000..3b417a2326 --- /dev/null +++ b/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-configurator/product-configurator.twig @@ -0,0 +1,152 @@ +{% extends model('component') %} + +{% define config = { + name: 'product-configurator', + tag: 'section' +} %} + +{% define data = { + product: required, + maxQuantity: 10 +} %} + +{% set options = [] %} +{% set brand = data.product.attributes.brand | default %} +{% set sku = data.product.sku %} +{% set availabilityWidget = '' %} +{% set isDisabled = data.product.idProductConcrete is empty or data.product.price is empty %} +{% set isProductAvailable = true %} + +{% for index in 1..data.maxQuantity %} + {% set options = options | merge([{ + label: index, + value: index + }]) %} +{% endfor %} + +{% set isAvailable = data.product.idProductConcrete and data.product.available %} +{% set isDisabled = not isAvailable or isDisabled %} + +{% set productDiscontinuedNoteWidget = findWidget('ProductDiscontinuedNoteWidget', [sku]) %} +{% set isDiscontinued = productDiscontinuedNoteWidget.isDiscontinued ?? widgetBlock('ProductDiscontinuedWidgetPlugin', 'isDiscontinued', sku) %} {# @deprecated Use productDiscontinuedNoteWidget instead of ProductDiscontinuedWidgetPlugin. #} +{% if isDiscontinued is not null %} + {% set isDisabled = isDiscontinued or isDisabled %} + {% set isProductAvailable = not isDiscontinued %} +{% endif %} + +{% block body %} + {% if brand is not empty %} +
{{'page.product.by' | trans}} {{brand}}
+ {% endif %} + {{ 'product.attribute.sku' | trans }}: {{sku}} + +
+ {% widget 'ProductPriceVolumeWidget' args [data.product] only %} + {% elsewidget 'PriceProductVolumeWidgetPlugin' args [data.product] only %} {# @deprecated Use ProductPriceVolumeWidget instead. #} + {% nowidget %} + {% if widgetExists('PriceWidgetPlugin') %} + {{ widget('PriceWidgetPlugin', data.product) }} {# @deprecated Use molecule('price') instead. #} + {% else %} +

+ {% include molecule('price') with { + data: { + amount: data.product.price | money, + originalAmount: data.product.prices.ORIGINAL | default + } + } only %} +

+ {% endif %} + {% endwidget %} + + {% widget 'ProductDetailPageReviewWidget' args [data.product.idProductAbstract] use view('pdp-review-rating', 'ProductReviewWidget') only %} + {% nowidget %} + {{ widgetBlock('ProductReviewWidgetPlugin', 'rating', data.product.idProductAbstract) }} {# @deprecated Use ProductDetailPageReviewWidget instead. #} + {% endwidget %} + + {% widget 'ExampleProductColorSelectorWidget' args [data.product.idProductAbstract] use view('pdp-color-selector', 'ExampleProductColorGroupWidget') only %} + {% elsewidget 'ProductGroupWidgetPlugin' args [data.product.idProductAbstract] only %} {# @deprecated Use ExampleProductColorSelectorWidget or ProductGroupWidget instead. #} + {% endwidget %} + + {% embed molecule('variant-configurator', 'ProductDetailPage') with { + data: { + superAttributes: data.product.attributeMap.superAttributes, + selectedAttributes: data.product.selectedAttributes, + availableAttributes: data.product.availableAttributes + } + } only %} + {% block body %}
{{parent()}}{% endblock %} + {% endembed %} + +
+
+ {% widget 'ProductOptionConfiguratorWidget' args [data.product] only %} + {% elsewidget 'ProductOptionWidgetPlugin' args [data.product] only %} {# @deprecated Use ProductOptionConfiguratorWidget instead. #} + {% endwidget %} + + {% if can('SeeAddToCartPermissionPlugin') %} + {% widget 'ProductPackagingUnitWidget' args [data.product, isDisabled, options] only %} + {% elsewidget 'ProductPackagingUnitWidgetPlugin' args [data.product, isDisabled, options] only %} {# @deprecated Use ProductPackagingUnitWidget instead. #} + {% elsewidget 'ManageProductMeasurementUnitWidget' args [data.product, isDisabled, options] only %} + {% elsewidget 'ProductMeasurementUnitWidgetPlugin' args [data.product, isDisabled, options] only %} {# @deprecated Use ManageProductMeasurementUnitWidget instead. #} + {% nowidget %} +
+
+ +
+ +
+ +
+
+ {% endwidget %} + {% endif %} + + + {% include molecule('availability-product', 'AvailabilityWidget') ignore missing with { + data: { + idProductConcrete: data.product.idProductConcrete, + isAvailable: data.product.available + } + } only %} +
+ + {% if can('SeeShoppingListPermissionPlugin') and isProductAvailable %} + {% widget 'AddToShoppingListWidget' args [sku, isDisabled] only %} + {% block body %} +
+ {{ parent() }} + {% endblock %} + {% endwidget %} + {% endif %} + + {% if can('SeeWishlistPermissionPlugin') and isProductAvailable %} + {% include molecule('wishlist-selector-for-pdp', 'WishlistWidget') ignore missing with { + data: { + sku: data.product.sku, + idProductConcrete: data.product.idProductConcrete | default + } + } only %} + {% endif %} + + {% widget 'ProductDiscontinuedNoteWidget' args [sku] only %}{% endwidget %} + +{% endblock %} diff --git a/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php b/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php index 580451955c..6123222624 100644 --- a/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php +++ b/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php @@ -7,32 +7,102 @@ namespace Pyz\Yves\ShopApplication; -use SprykerShop\Yves\AgentWidget\Plugin\Widget\AgentWidgetPlugin; -use SprykerShop\Yves\CurrencyWidget\Plugin\ShopUi\CurrencyWidgetPlugin; -use SprykerShop\Yves\CustomerPage\Plugin\CustomerPage\CustomerNavigationWidgetPlugin; -use SprykerShop\Yves\LanguageSwitcherWidget\Plugin\ShopUi\LanguageSwitcherWidgetPlugin; - -use SprykerShop\Yves\NavigationWidget\Plugin\ShopUi\NavigationWidgetPlugin; -use SprykerShop\Yves\PriceWidget\Plugin\ShopUi\PriceModeSwitcherWidgetPlugin; -use SprykerShop\Yves\ProductGroupWidget\Plugin\ShopUi\ProductGroupWidgetPlugin; - +use SprykerShop\Yves\AgentWidget\Widget\AgentControlBarWidget; +use SprykerShop\Yves\CartNoteWidget\Widget\CartItemNoteFormWidget; +use SprykerShop\Yves\CartNoteWidget\Widget\CartNoteFormWidget; +use SprykerShop\Yves\CheckoutWidget\Widget\CheckoutBreadcrumbWidget; +use SprykerShop\Yves\CurrencyWidget\Widget\CurrencyWidget; +use SprykerShop\Yves\CustomerPage\Widget\CustomerNavigationWidget; +use SprykerShop\Yves\DiscountPromotionWidget\Widget\CartDiscountPromotionProductListWidget; +use SprykerShop\Yves\DiscountWidget\Widget\CheckoutVoucherFormWidget; +use SprykerShop\Yves\DiscountWidget\Widget\DiscountVoucherFormWidget; +use SprykerShop\Yves\LanguageSwitcherWidget\Widget\LanguageSwitcherWidget; +use SprykerShop\Yves\NavigationWidget\Widget\NavigationWidget; +use SprykerShop\Yves\NewsletterWidget\Widget\NewsletterSubscriptionSummaryWidget; +use SprykerShop\Yves\PriceProductVolumeWidget\Widget\ProductPriceVolumeWidget; +use SprykerShop\Yves\PriceWidget\Widget\PriceModeSwitcherWidget; +use SprykerShop\Yves\ProductAlternativeWidget\Widget\ProductAlternativeListWidget; +use SprykerShop\Yves\ProductAlternativeWidget\Widget\ShoppingListProductAlternativeWidget; +use SprykerShop\Yves\ProductAlternativeWidget\Widget\WishlistProductAlternativeWidget; +use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleCartItemsListWidget; +use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleItemCounterWidget; +use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleItemsMultiCartItemsListWidget; +use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleMultiCartItemsListWidget; +use SprykerShop\Yves\ProductCategoryWidget\Widget\ProductBreadcrumbsWithCategoriesWidget; +use SprykerShop\Yves\ProductDiscontinuedWidget\Widget\ProductDiscontinuedNoteWidget; +use SprykerShop\Yves\ProductDiscontinuedWidget\Widget\ProductDiscontinuedWidget; +use SprykerShop\Yves\ProductGroupWidget\Widget\ProductGroupWidget; +use SprykerShop\Yves\ProductLabelWidget\Widget\ProductAbstractLabelWidget; +use SprykerShop\Yves\ProductLabelWidget\Widget\ProductConcreteLabelWidget; +use SprykerShop\Yves\ProductOptionWidget\Widget\ProductOptionConfiguratorWidget; +use SprykerShop\Yves\ProductRelationWidget\Widget\SimilarProductsWidget; +use SprykerShop\Yves\ProductRelationWidget\Widget\UpSellingProductsWidget; +use SprykerShop\Yves\ProductReplacementForWidget\Widget\ProductReplacementForListWidget; +use SprykerShop\Yves\ProductReviewWidget\Widget\DisplayProductAbstractReviewWidget; +use SprykerShop\Yves\ProductReviewWidget\Widget\ProductDetailPageReviewWidget; +use SprykerShop\Yves\ProductReviewWidget\Widget\ProductRatingFilterWidget; +use SprykerShop\Yves\ProductReviewWidget\Widget\ProductReviewDisplayWidget; +use SprykerShop\Yves\ProductWidget\Widget\CatalogPageProductWidget; +use SprykerShop\Yves\ProductWidget\Widget\CmsProductGroupWidget; +use SprykerShop\Yves\ProductWidget\Widget\CmsProductWidget; +use SprykerShop\Yves\ProductWidget\Widget\PdpProductRelationWidget; +use SprykerShop\Yves\ProductWidget\Widget\PdpProductReplacementForListWidget; +use SprykerShop\Yves\ProductWidget\Widget\ProductAlternativeWidget; +use SprykerShop\Yves\SalesOrderThresholdWidget\Widget\SalesOrderThresholdWidget; use SprykerShop\Yves\ShopApplication\ShopApplicationDependencyProvider as SprykerShopApplicationDependencyProvider; +use SprykerShop\Yves\WishlistWidget\Widget\WishlistMenuItemWidget; class ShopApplicationDependencyProvider extends SprykerShopApplicationDependencyProvider { /** * @return string[] */ - protected function getGlobalWidgetPlugins(): array + protected function getGlobalWidgets(): array { return [ - CurrencyWidgetPlugin::class, - LanguageSwitcherWidgetPlugin::class, - NavigationWidgetPlugin::class, - ProductGroupWidgetPlugin::class, - PriceModeSwitcherWidgetPlugin::class, - CustomerNavigationWidgetPlugin::class, - AgentWidgetPlugin::class, #AgentFeature + AgentControlBarWidget::class, + CartDiscountPromotionProductListWidget::class, + CartItemNoteFormWidget::class, + CartNoteFormWidget::class, + CatalogPageProductWidget::class, + CheckoutBreadcrumbWidget::class, + CmsProductGroupWidget::class, + CmsProductWidget::class, + CurrencyWidget::class, + CustomerNavigationWidget::class, + DisplayProductAbstractReviewWidget::class, + LanguageSwitcherWidget::class, + NavigationWidget::class, + NewsletterSubscriptionSummaryWidget::class, + PdpProductRelationWidget::class, + PdpProductReplacementForListWidget::class, + ProductReplacementForListWidget::class, + PriceModeSwitcherWidget::class, + ProductAbstractLabelWidget::class, + ProductAlternativeListWidget::class, + ProductAlternativeWidget::class, + ProductBreadcrumbsWithCategoriesWidget::class, + ProductBundleCartItemsListWidget::class, + ProductBundleItemCounterWidget::class, + ProductBundleItemsMultiCartItemsListWidget::class, + ProductBundleMultiCartItemsListWidget::class, + ProductConcreteLabelWidget::class, + ProductDetailPageReviewWidget::class, + ProductDiscontinuedNoteWidget::class, + ProductDiscontinuedWidget::class, + ProductGroupWidget::class, + ProductOptionConfiguratorWidget::class, + ProductPriceVolumeWidget::class, + ProductRatingFilterWidget::class, + ProductReviewDisplayWidget::class, + SalesOrderThresholdWidget::class, + ShoppingListProductAlternativeWidget::class, + SimilarProductsWidget::class, + UpSellingProductsWidget::class, + DiscountVoucherFormWidget::class, + CheckoutVoucherFormWidget::class, + WishlistMenuItemWidget::class, + WishlistProductAlternativeWidget::class, ]; } } diff --git a/src/Pyz/Yves/ShopApplication/YvesBootstrap.php b/src/Pyz/Yves/ShopApplication/YvesBootstrap.php index 6e74baab8d..e6ce02a3df 100644 --- a/src/Pyz/Yves/ShopApplication/YvesBootstrap.php +++ b/src/Pyz/Yves/ShopApplication/YvesBootstrap.php @@ -28,7 +28,7 @@ use Spryker\Yves\Application\Plugin\ServiceProvider\SslServiceProvider; use Spryker\Yves\CmsContentWidget\Plugin\CmsContentWidgetServiceProvider; use Spryker\Yves\Messenger\Plugin\Provider\FlashMessengerServiceProvider; -use Spryker\Yves\NewRelic\Plugin\ServiceProvider\NewRelicRequestTransactionServiceProvider; +use Spryker\Yves\Monitoring\Plugin\ServiceProvider\MonitoringRequestTransactionServiceProvider; use Spryker\Yves\Session\Plugin\ServiceProvider\SessionServiceProvider as SprykerSessionServiceProvider; use Spryker\Yves\Storage\Plugin\Provider\StorageCacheServiceProvider; use Spryker\Yves\Twig\Plugin\ServiceProvider\TwigServiceProvider as SprykerTwigServiceProvider; @@ -112,7 +112,7 @@ protected function registerServiceProviders() $this->application->register(new YvesSecurityServiceProvider()); $this->application->register(new YvesExceptionServiceProvider()); $this->application->register(new ErrorPageServiceProvider()); - $this->application->register(new NewRelicRequestTransactionServiceProvider()); + $this->application->register(new MonitoringRequestTransactionServiceProvider()); $this->application->register(new CookieServiceProvider()); $this->application->register(new UrlGeneratorServiceProvider()); $this->application->register(new ServiceControllerServiceProvider()); diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/product-card/product-card.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/product-card/product-card.twig index ae63854c4a..d67e9f5c0a 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/product-card/product-card.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/product-card/product-card.twig @@ -29,11 +29,11 @@ {% block content %} {% block labels %} - {{ widget('ProductAbstractLabelWidgetPlugin', data.abstractId) }} + {% widget 'ProductAbstractLabelWidget' args [data.abstractId] only %}{% endwidget %} {% endblock %} {% block groups %} - {{ widget('ProductGroupWidgetPlugin', data.abstractId) }} + {% widget 'ExampleProductColorSelectorWidget' args [data.abstractId] use view('product-color-selector', 'ExampleProductColorGroupWidget') only %}{% endwidget %} {% endblock %} {% block name %} @@ -41,17 +41,21 @@ {% endblock %} {% block rating %} - {{ widget('ProductAbstractReviewWidgetPlugin', data.abstractId) }} + {% widget 'ProductAbstractReviewWidget' args [data.abstractId] only %}{% endwidget %} {% endblock %} {% block price %}

- {% include molecule('price') with { - data: { - amount: data.price | money, - originalAmount: data.originalPrice is empty ? null : (data.originalPrice | money) - } - } only %} + {% if can('SeePricePermissionPlugin') %} + {% include molecule('price') with { + data: { + amount: data.price | money, + originalAmount: data.originalPrice is empty ? null : (data.originalPrice | money) + } + } only %} + {% else %} + {{ 'customer.access.cannot_see_price' | trans }} + {% endif %}

{% endblock %} {% endblock %} diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig index 172db395ae..7fda84456a 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/navigation-top/navigation-top.twig @@ -17,32 +17,25 @@ {% block body %}