From 83bab6b0dbe391cce2be21daede385e08adf2fae Mon Sep 17 00:00:00 2001 From: Gerard de Visser Date: Thu, 25 Mar 2021 15:31:03 +0100 Subject: [PATCH] Add db column via setup because hybrid approach with db_schema corrupts table. --- Setup/UpgradeSchema.php | 189 ++++++++++++++++++----------------- etc/db_schema.xml | 6 -- etc/db_schema_whitelist.json | 17 ---- 3 files changed, 99 insertions(+), 113 deletions(-) delete mode 100644 etc/db_schema.xml delete mode 100644 etc/db_schema_whitelist.json diff --git a/Setup/UpgradeSchema.php b/Setup/UpgradeSchema.php index 435e6c5..c4d041b 100644 --- a/Setup/UpgradeSchema.php +++ b/Setup/UpgradeSchema.php @@ -55,96 +55,105 @@ private function createPimcoreAssetQueueTable(SchemaSetupInterface $setup) $setup->getConnection()->createTable( $setup->getConnection() - ->newTable($setup->getTable(AssetQueueInterface::SCHEMA_NAME)) - ->addColumn( - AssetQueueInterface::TRANSACTION_ID, - Table::TYPE_INTEGER, - 11, - [ - 'identity' => true, - 'nullable' => false, - 'primary' => true, - 'unsigned' => true, - ], - 'Transaction ID' - ) - ->addColumn( - AssetQueueInterface::ASSET_ID, - Table::TYPE_INTEGER, - 11, - [ - 'nullable' => false, - 'unsigned' => true, - ], - 'Pimcore Asset ID' - ) - ->addColumn( - AssetQueueInterface::STORE_VIEW_ID, - Table::TYPE_INTEGER, - 11, - [ - 'nullable' => false, - 'unsigned' => true, - ], - 'Magento store_view id for published asset' - ) - ->addColumn( - AssetQueueInterface::STATUS, - Table::TYPE_INTEGER, - 1, - [ - 'nullable' => false, - 'unsigned' => true, - ], - 'Status of import processing' - ) - ->addColumn( - AssetQueueInterface::ACTION, - Table::TYPE_TEXT, - 30, - [ - 'nullable' => false, - ], - 'Status of import processing' - ) - ->addColumn( - AssetQueueInterface::ASSET_TYPE, - Table::TYPE_TEXT, - 100, - [ - 'nullable' => true, - ], - 'Type of asset to import, eg. product, category, video (youtube, vimeo)' - ) - ->addColumn( - AssetQueueInterface::CREATED_AT, - Table::TYPE_TIMESTAMP, - null, - [ - 'nullable' => false, - 'default' => Table::TIMESTAMP_INIT, - ], - 'Date of published asset' - ) - ->addColumn( - AssetQueueInterface::UPDATED_AT, - Table::TYPE_TIMESTAMP, - null, - [ - 'nullable' => false, - 'default' => Table::TIMESTAMP_INIT_UPDATE, - ], - 'Date of last queue update' - ) - ->addColumn( - AssetQueueInterface::FINISHED_AT, - Table::TYPE_TIMESTAMP, - null, - [ - 'nullable' => true, - ], - 'Date when import was finished' - )->setComment('Pim asset queue table') + ->newTable($setup->getTable(AssetQueueInterface::SCHEMA_NAME)) + ->addColumn( + AssetQueueInterface::TRANSACTION_ID, + Table::TYPE_INTEGER, + 11, + [ + 'identity' => true, + 'nullable' => false, + 'primary' => true, + 'unsigned' => true, + ], + 'Transaction ID' + ) + ->addColumn( + AssetQueueInterface::ASSET_ID, + Table::TYPE_INTEGER, + 11, + [ + 'nullable' => false, + 'unsigned' => true, + ], + 'Pimcore Asset ID' + ) + ->addColumn( + AssetQueueInterface::STORE_VIEW_ID, + Table::TYPE_INTEGER, + 11, + [ + 'nullable' => false, + 'unsigned' => true, + ], + 'Magento store_view id for published asset' + ) + ->addColumn( + AssetQueueInterface::STATUS, + Table::TYPE_INTEGER, + 1, + [ + 'nullable' => false, + 'unsigned' => true, + ], + 'Status of import processing' + ) + ->addColumn( + AssetQueueInterface::ACTION, + Table::TYPE_TEXT, + 30, + [ + 'nullable' => false, + ], + 'Status of import processing' + ) + ->addColumn( + AssetQueueInterface::ASSET_TYPE, + Table::TYPE_TEXT, + 100, + [ + 'nullable' => true, + ], + 'Type of asset to import, eg. product, category, video (youtube, vimeo)' + ) + ->addColumn( + AssetQueueInterface::CREATED_AT, + Table::TYPE_TIMESTAMP, + null, + [ + 'nullable' => false, + 'default' => Table::TIMESTAMP_INIT, + ], + 'Date of published asset' + ) + ->addColumn( + AssetQueueInterface::UPDATED_AT, + Table::TYPE_TIMESTAMP, + null, + [ + 'nullable' => false, + 'default' => Table::TIMESTAMP_INIT_UPDATE, + ], + 'Date of last queue update' + ) + ->addColumn( + AssetQueueInterface::FINISHED_AT, + Table::TYPE_TIMESTAMP, + null, + [ + 'nullable' => true, + ], + 'Date when import was finished' + ) + ->addColumn( + AssetQueueInterface::ASSET_VALUE, + Table::TYPE_TEXT, + null, + [ + 'nullable' => true, + ], + 'Contains the asset value if element is video for instance' + )->setComment('Pim asset queue table') ); } diff --git a/etc/db_schema.xml b/etc/db_schema.xml deleted file mode 100644 index 115e6cd..0000000 --- a/etc/db_schema.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - -
-
diff --git a/etc/db_schema_whitelist.json b/etc/db_schema_whitelist.json deleted file mode 100644 index 3285fdf..0000000 --- a/etc/db_schema_whitelist.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "divante_pimcore_asset_queue": { - "column": { - "transaction_id": true, - "asset_id": true, - "store_view_id": true, - "status": true, - "action": true, - "asset_type": true, - "entity_id": true, - "created_at": true, - "updated_at": true, - "finished_at": true, - "asset_value": true - } - } -} \ No newline at end of file