FriendsOfREDAXO/feeds

Whoops - Löschen eines Streams

tbaddade opened this issue · 6 comments

rex_sql_exception: Error while executing statement "DELETE FROM rex_feeds_stream WHERE id = ?" using params [4]! SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (database.rex_feeds_item, CONSTRAINT rex_feeds_item_ibfk_1 FOREIGN KEY (stream_id) REFERENCES rex_feeds_stream (id))
File: src/core/lib/sql/sql.php
Line: 325

Stacktrace
Function File Line
rex_sql->execute src/core/lib/sql/sql.php 367
rex_sql->setQuery src/core/lib/sql/sql.php 1003
rex_sql->delete src/addons/feeds/pages/streams.php 38
include src/core/lib/packages/package.php 228
rex_package->includeFile src/core/lib/be/controller.php 462
rex_be_controller::includePath src/core/lib/be/controller.php 419
rex_be_controller::includeCurrentPageSubPath src/addons/feeds/pages/index.php 14
include src/core/lib/packages/package.php 228
rex_package->includeFile src/core/lib/be/controller.php 462
rex_be_controller::includePath src/core/lib/be/controller.php 404
rex_be_controller::includeCurrentPage src/core/backend.php 215
require src/core/boot.php 137
require public/redaxo/index.php 12
System report (REDAXO 5.9.0, PHP 7.4.1)
REDAXO
Version 5.9.0
PHP
Version 7.4.1
OPcache yes
Xdebug yes
Database
Version MariaDB 10.4.10
Character set utf8
Packages
feeds 3.1

Aktuelles Feeds?

Aktuelles Feeds?

Siehe > System report

Kannst du nachvollziehen, warum 5c9091e bei dir nicht ausgeführt wurde?

Das Problem ist vermutlich diese Zeile
https://github.com/FriendsOfREDAXO/feeds/blob/master/install.php#L54

Siehe Meldung

Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (database.rex_feeds_item, CONSTRAINT rex_feeds_item_ibfk_1 FOREIGN KEY (stream_id) REFERENCES rex_feeds_stream (id)

@gharlan kannst du dir das auch nochmal mit anschauen zwecks Fremdschlüssel-Schlamassel von mir?

Der FK steht auf RESTRICT, somit lassen sich Streams nicht löschen, zu denen es Items gibt.
Zu überlegen ist, was denn das gewünscht Verhalten ist. Sollen die Items mit gelöscht werden? Dann auf CASCADE umstellen.