Lorsque vous exécutez rails db: migrate
J'ai eu l'erreur suivante!
StandardError: An error has occurred, all later migrations canceled:
Traduit littéralement, cela signifie que toutes les migrations suivantes ont été annulées en raison d'une erreur.
De plus, j'obtiens cette erreur.
Mysql2::Error: Specified key was too long; max key length is 767 bytes
Cette erreur semble se produire car la clé spécifiée est trop longue. La longueur de clé de max semble être de 767 octets.
La longueur de la clé est de 767 octets au maximum, mais il semble qu'une erreur s'est produite car la clé est trop longue.
Pour le type VARCHER de 255 caractères généré par défaut par les rails
◎ ** utf8mb4 est de 4 octets par caractère **, 255 x 4 octets = 1020 octets Une erreur se produira car elle dépassera 767 octets.
Remplacez la spécification du code de caractère par ** utf8 **
◎ utf8 est de 3 octets par caractère, 255 x 3 octets = 765 octets
Il s'adapte presque exactement, c'est donc la solution!
database.yml
default: &default
encoding: utf8
Faites bundle install
et redémarrez avec rails s
!
ensuite,
$ rails db:migrate:reset
Vous avez migré avec succès!
Recommended Posts