I’m experiencing issues with foreign keys.
I’m publishing a new concrete CMS website. It works fine locally, but in production, the website renders correctly. However, when making any changes, it causes foreign key errors.
Example of errors:
Error
An exception occurred while executing 'INSERT INTO CollectionAttributeValues (cID, cvID, akID, avID) VALUES (?, ?, ?, ?)' with params [361, "1", 7, null]:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ( myfoodli_myfoodli. CollectionAttributeValues, CONSTRAINT FK_BB9995FCB6561A7E FOREIGN KEY ( akID) REFERENCES attributekeys ( akID))
Details
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php(68): Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException->null
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(182): Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(159): Doctrine\DBAL\DBALException->wrapException
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(2226): Doctrine\DBAL\DBALException->driverExceptionDuringQuery
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php(185): Doctrine\DBAL\Connection->handleExceptionDuringQuery
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php(18): Doctrine\DBAL\Driver\PDO\Exception->null
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(119): Doctrine\DBAL\Driver\PDO\Exception->new
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(117): PDOException->null
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(117): PDOStatement->execute
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php(179): Doctrine\DBAL\Driver\PDOStatement->execute
/home/myfoodli/public_html/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php(226): Doctrine\DBAL\Statement->execute
/home/myfoodli/public_html/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(278): Doctrine\DBAL\Statement->executeStatement
/home/myfoodli/public_html/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1145): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->executeInserts
/home/myfoodli/public_html/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(431): Doctrine\ORM\UnitOfWork->executeInserts
/home/myfoodli/public_html/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(403): Doctrine\ORM\UnitOfWork->commit
/home/myfoodli/public_html/concrete/src/Attribute/ObjectTrait.php(93): Doctrine\ORM\EntityManager->flush
/home/myfoodli/public_html/concrete/src/Page/Collection/Collection.php(455): Concrete\Core\Page\Collection\Version\Version->setAttribute
/home/myfoodli/public_html/concrete/controllers/panel/detail/page/attributes.php(135): Concrete\Core\Page\Collection\Collection->setAttribute
/home/myfoodli/public_html/concrete/src/Controller/AbstractController.php(318): Concrete\Controller\Panel\Detail\Page\Attributes->submit
/home/myfoodli/public_html/concrete/src/Controller/AbstractController.php(318): null->call_user_func_array
/home/myfoodli/public_html/concrete/src/Routing/ControllerRouteAction.php(64): Concrete\Core\Controller\AbstractController->runAction
/home/myfoodli/public_html/concrete/src/Http/RouteDispatcher.php(37): Concrete\Core\Routing\ControllerRouteAction->execute
/home/myfoodli/public_html/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\RouteDispatcher->dispatch
/home/myfoodli/public_html/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\DispatcherDelegate->next
/home/myfoodli/public_html/concrete/src/Http/DefaultDispatcher.php(127): Concrete\Core\Http\Middleware\MiddlewareStack->process
/home/myfoodli/public_html/concrete/src/Http/DefaultDispatcher.php(60): Concrete\Core\Http\DefaultDispatcher->handleDispatch
/home/myfoodli/public_html/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\DefaultDispatcher->dispatch
/home/myfoodli/public_html/concrete/src/Http/Middleware/FrameOptionsMiddleware.php(39): Concrete\Core\Http\Middleware\DispatcherDelegate->next
/home/myfoodli/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\FrameOptionsMiddleware->process
/home/myfoodli/public_html/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php(36): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/home/myfoodli/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware->process
/home/myfoodli/public_html/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php(36): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/home/myfoodli/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware->process
/home/myfoodli/public_html/concrete/src/Http/Middleware/CookieMiddleware.php(35): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/home/myfoodli/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\CookieMiddleware->process
/home/myfoodli/public_html/concrete/src/Http/Middleware/ApplicationMiddleware.php(29): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/home/myfoodli/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ApplicationMiddleware->process
/home/myfoodli/public_html/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/home/myfoodli/public_html/concrete/src/Http/DefaultServer.php(85): Concrete\Core\Http\Middleware\MiddlewareStack->process
/home/myfoodli/public_html/concrete/src/Foundation/Runtime/Run/DefaultRunner.php(128): Concrete\Core\Http\DefaultServer->handleRequest
/home/myfoodli/public_html/concrete/src/Foundation/Runtime/DefaultRuntime.php(102): Concrete\Core\Foundation\Runtime\Run\DefaultRunner->run
/home/myfoodli/public_html/concrete/dispatcher.php(45): Concrete\Core\Foundation\Runtime\DefaultRuntime->ru
An exception occurred while executing 'INSERT INTO ExpressEntityEntries (exEntryDisplayOrder, exEntryDateCreated, exEntryDateModified, publicIdentifier, resultsNodeID, uID, exEntryEntityID) VALUES (?, ?, ?, ?, ?, ?, ?)' with params [0, "2024-04-30 11:53:56", "2024-04-30 11:53:56", "66304f34bdb6e311059576", "126", null, "b93ab6c6-e0e5-11ee-98cc-ad5ecff55ceb"]: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (myfoodli_myfoodli.ExpressEntityEntries, CONSTRAINT FK_B8AE3531AFC87D03 FOREIGN KEY (exEntryEntityID) REFERENCES expressentities (id))
Has anyone had this problem before, I couldn’t find a solution on the forum.
Thanks