Migration avec Phinx

Par Zenthos, il y a 7 ans


Base de données MySQL

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, il y a 7 ans

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.