Me remettant à Sf2, je coince sur un problème : j'ai des entités avec des contraintes d'intégrité et des fixtures à y charger. Le problème, c'est que je ne peux pas simplement charger mes fixtures en vidant ma table, je ne peux que les ajouter à la fin...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
$ app/console doctrine:fixtures:load
  > purging database
 
  [PDOException]
 
  SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a tabl
e referenced in a foreign key constraint (`symfony`.`category`, CONSTRAINT `cate
gory_ibfk_1` FOREIGN KEY (`rubrique_id`) REFERENCES `symfony`.`rubrique` (`id`))
Si j'ajoute le paramètre --append, ça fonctionne sans problème, mais ce n'est pas ce que je veux faire...

Mon entité :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
namespace Quiz\QuizBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
 
/** 
 * @ORM\Entity
 */
class LogCategory
{
    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue
     */
    protected $id; 
 
    /**
     * @ORM\OneToMany(targetEntity="Log", mappedBy="category")
     */
    protected $logs;
 
    /**
     * @ORM\Column(type="string")
     *
     * Nom de la catégorie
     */
    protected $name; 
 
    public function __construct()
    {
        $this->logs = new ArrayCollection();
    }
 
    // getters et setters automatiquement définis
}
J'utilise MySQL 5.5 via PDO, Sf2 en beta 4 et Doctrine Data Fixtures Extension.