Ticket #490 (closed defect: worksforme)
Erreur à l'import d'une sauvegarde de dotclear dans une installation multiblog
| Reported by: | effraie | Owned by: | olivier |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.2 |
| Component: | module:import/export | Version: | 2.1 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
La sauvegarde est issue d'une installation "monoblog", et l'import de cette sauvegarde dans une installation multiblog (fonctionnelle par ailleurs) se solde par un échec, avec cette erreur :
Cannot add or update a child row: a foreign key constraint fails (`multiblog/dc_post_media`, CONSTRAINT `dc_fk_media` FOREIGN KEY (`media_id`) REFERENCES `dc_media` (`media_id`) ON DELETE CASCADE ON UPDATE CASCADE) (1452)
Change History
comment:4 Changed 16 years ago by xave
C'est la grosse merde, oui. Soit on cherche à simuler ce defer constraints : ça marche dans postgres, on peut éventuellement le faire dans mysql mais il faut alors faire toutes les vérifications d'intégrité à la main, ce qui risque d'être assez lourd, par contre, dans sqlite, on oublie tout de suite.
L'autre solution, c'est de vérifier qu'on rentre bien tout dans le bon ordre, mais sur un fichier de sauvegarde, c'est tout sauf évident.
D'un côté comme de l'autre, on perd le bénéfice de la multi-transaction qui permet de faire un rollback propre en cas d'erreur.
Oui, c'est la grosse merde.
