Bonjour,

Je rencontre un probleme lors de la migartion avec Phinx

Ce que je fais

$this->table('posts')
            ->addColumn('name', 'string')
            ->addColumn('slug', 'string')
            ->addColumn('content', 'string', ['limit' => \Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG])
            ->addColumn('updated_at', 'datetime')
            ->addColumn('created_at', 'datetime')
            ->create();

Ce que j'obtiens

 SQLSTATE[42000]: Syntax error or access violation: 1074 Column length too big for column 'content' (max = 21845); u
  se BLOB or TEXT instead 

Merci d'avance pour vos reponses

1 réponse


Lartak
Réponse acceptée

Bonsoir.
D'après le message d'erreur le problème vient de :

->addColumn('content', 'string', ['limit' => \Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG])

Ensuite si tu analyses le message d'erreur il y est dit que la colonne est trop longue par rapport au type de données spécifié, soit string et il y est indiqué quels types de données tu peux spécifier pour cette colonne selon la longueur que tu as spécifié, soit BLOB ou TEXT.
Il te faut par conséquent remplacer string par blob ou text.