Điều gì có thể là lý do cho lỗi này bin/magento setup:upgrade
sau khi cập nhật từ 2.2.8 đến 2.3.1?
SQLSTATE [42000]: Lỗi cú pháp hoặc vi phạm truy cập: 1061 Tên khóa trùng lặp 'WISHLIST_CUSTOMER_ID', truy vấn là: ALTER TABLE
wishlist
ADD CONSTRAINTWISHLIST_CUSTOMER_ID
UNIQUE KEY (customer_id
)
Các db_schema.xml
của module danh sách mong ước chứa định nghĩa này:
<constraint xsi:type="unique" referenceId="WISHLIST_CUSTOMER_ID">
<column name="customer_id"/>
</constraint>
Nhưng nó không nên cố gắng tạo ra các ràng buộc nếu nó đã ở đó?
SHOW CREATE TABLE whishlist
Cho tôi thấy:
CREATE TABLE `wishlist` (
`wishlist_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Wishlist ID',
`customer_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Customer ID',
`shared` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Sharing flag (0 or 1)',
`sharing_code` varchar(32) DEFAULT NULL COMMENT 'Sharing encrypted code',
`updated_at` timestamp NULL DEFAULT NULL COMMENT 'Last updated date',
`name` varchar(255) DEFAULT NULL COMMENT 'Wish List Name',
`visibility` smallint(6) DEFAULT '0' COMMENT 'Wish List visibility type',
PRIMARY KEY (`wishlist_id`),
KEY `WISHLIST_SHARED` (`shared`),
KEY `WISHLIST_CUSTOMER_ID` (`customer_id`),
CONSTRAINT `WISHLIST_CUSTOMER_ID_CUSTOMER_ENTITY_ENTITY_ID` FOREIGN KEY (`customer_id`) REFERENCES `customer_entity` (`entity_id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=34412 DEFAULT CHARSET=utf8 COMMENT='Wishlist main Table'
Mục trong setup_module
bảng:
+------------------+----------------+--------------+
| module | schema_version | data_version |
+------------------+----------------+--------------+
| Magento_Wishlist | 2.0.2 | 2.0.2 |
+------------------+----------------+--------------+