Bonjour, j'utilise symfony et j'essaie actuellement de faire une migration avec les commandes suivantes:

php console make:migration
php console doctrine:migrations:migrate

sauf qu'en retour, j'obtiens les erreurs suivantes:

In AbstractSQLiteDriver.php line 55:

  An exception occurred while executing 'INSERT INTO commentaire (id, article_id, contenu) SELECT id, article_id, con
  tenu FROM __temp__commentaire':

  SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: commentaire.datecreation

In Exception.php line 18:

  SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: commentaire.datecreation

In PDOConnection.php line 132:

  SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: commentaire.datecreation

Je ne sais pas pourquoi pas j'ai une erreur de ce type alors que j'ai bien créé la date dans ma classe Commentaire, avec un constructeur:

  /**
     * @ORM\Column(type="datetime")
     */
    private $datecreation;

    /**
     * Commentaire constructor.
     */
    public function __construct(){
        $this -> datecreation = new \DateTimeImmutable();
    }

Cela m'empêche de faire ma migration.
Auriez-vous une idée d'où peut venir l'erreur?

Merci pour votre aide!

4 réponses


Dans ton insert il n'y a pas ton champ date de création.

marow
Auteur

Effectivement, par contre je ne vois pas trop où se trouve cette portion de code dans mon projet :
"An exception occurred while executing 'INSERT INTO commentaire (id, article_id, contenu) SELECT id, article_id, con
tenu FROM tempcommentaire':"

Je suis allée dans le fichier AbstractSQLiteDriver.php mais ça n'y est pas. Où est-ce que je peux trouver cette ligne de code ?

marow
Auteur

En fait je viens de voir où se trouvait ce code avec une recherche dans le projet, il y a 31 matches... Comment savoir lequel je dois modifier ?

marow
Auteur

Finalement j'ai supprimé la base de donnée ainsi que les fichiers migration version, etc. et j'ai recréé la base de donnée en ligne de commande avec
php console make:migration
php console doctrine:migrations:migrate
php bin/console doctrine:schema:update --dump-sql
php bin/console doctrine:schema:update --force

et ça marche !

Merci à toi en tout cas :)