由于頻繁執行pim:completeness:calculate命令,我們可以面臨下一個例外:
An exception occurred while executing ' INSERT INTO pim_catalog_completeness (locale_id, channel_id, product_id, missing_count, required_count) VALUES (?, ?, ?, ?, ?),(?, ?, ?, ?, ?),(?, ?, ?, ?, ?)' with params ["58", "1", 52597, 0, 21, "58", "1", 52599, 0, 21, "58", "1", 52598, 1, 21]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2147483647' for key 'pim_catalog_completeness.PRIMARY'
uj5u.com熱心網友回復:
只需將您的 ID 列設為 BIG INT:
ALTER TABLE pim_catalog_completeness MODIFY COLUMN id BIGINT AUTO_INCREMENT;
uj5u.com熱心網友回復:
記住 2147483647 是 MAX_INT,我們理解該表達到了主鍵邊界(因為不斷洗掉然后添加新的完整性記錄將主鍵增加到 MAX_INT)。
要解決這種特殊情況下的問題 - 我們必須截斷表格。這是安全的,因為pim_catalog_completeness 表只生成了截斷后可以重新生成的資訊。
為了以后不再出現這個問題 - 我們可以添加下一個 cron 命令(對 bitnami akeneo 默認安裝有效的路徑):
# Truncate pim_catalog_completeness at 00:05 every 1st day of month to not reach MAX_INT & recalculate completeness
5 0 1 * * daemon /opt/bitnami/mysql/bin/mysql -e "truncate bitnami_akeneo.pim_catalog_completeness" && /opt/bitnami/php/bin/php /opt/bitnami/apps/akeneo/htdocs/bin/console pim:completeness:calculate --env=prod
截斷后 - ID 再次從 1 開始,例外消失:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/351138.html
上一篇:從多個子查詢派生欄位
