diff --git a/CHANGELOG.md b/CHANGELOG.md index 5314caa7d0c..696cb5c4fe3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - `craft\helpers\Json::encode()` no longer sets the `JSON_UNESCAPED_SLASHES` flag by default. - Fixed a JavaScript error that occurred when resolving an asset move conflict. ([#12920](https://github.com/craftcms/cms/issues/12920)) - Fixed a bug where volume subfolders were being shown when viewing soft-deleted assets. ([#12927](https://github.com/craftcms/cms/issues/12927)) +- Fixed a bug where structure data was getting deleted when running garbage collection on PostgreSQL. ([#12925](https://github.com/craftcms/cms/issues/12925)) ## 3.8.3 - 2023-03-16 diff --git a/src/services/Gc.php b/src/services/Gc.php index 424016c29aa..f8ed1f0bfec 100644 --- a/src/services/Gc.php +++ b/src/services/Gc.php @@ -390,7 +390,8 @@ private function _deleteOrphanedStructureElements(): void DELETE FROM $structureElementsTable USING $structureElementsTable [[se]] LEFT JOIN $elementsTable [[e]] ON [[e.id]] = [[se.elementId]] -WHERE [[se.elementId]] IS NOT NULL AND [[e.id]] IS NULL +WHERE $structureElementsTable.[[id]] = [[se.id]] AND + [[se.elementId]] IS NOT NULL AND [[e.id]] IS NULL SQL; }