PHP version: 8.4

SQL version: 11.8.6-MariaDB

Problem


Ich bekomme wiederholte Foreign Key Constraint Fehler im Worker-Log, besonders beim FixContacts Job:

DB Error: Cannot add or update a child row: a foreign key constraint fails 
(`friendica`.`contact`, CONSTRAINT `contact_ibfk_2` FOREIGN KEY (`uri-id`) 
REFERENCES `item-uri` (`id`) ON DELETE CASCADE)

Die INSERT-Query versucht, einen Kontakt mit uri-id=0 zu erstellen, was gegen die Foreign Key Constraint verstößt:
INSERT INTO `contact` (..., `uri-id`, ...) VALUES (..., 0, ...)

Darauf folgt dann:
Contact was not created

Zusätzliche Fehler im Log


  • Undefined array key "gravity" in ConversationDataProvider.php:975
  • Undefined array key "thr-parent-id" in ConversationDataProvider.php:977
  • Fehler beim Verarbeiten von Federation-Items: "Unknown parent item"
  • Deprecation Warnings von guzzlehttp/psr7


Meine Fragen


  1. Wie behebt man uri-id=0 Einträge in der Datenbank?
    • Sollte ich mit DELETE FROM contact WHERE uri-id = 0 AND uid = 0; arbeiten?


  2. Wo kommt das FixContacts Job-Problem her?
    • Ist das ein bekanntes Bug?


  3. Sind die ConversationDataProvider Array-Key Fehler damit verbunden?
  4. Wie kann ich präventiv verhindern, dass solche ungültigen Kontakte erstellt werden?