[RUBY] rails db: échec de la migration!

Erreur lors de l'exécution des rails db: migrer

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.

Hypothèse de cette erreur

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.

Solution

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

rails db: échec de la migration!
[Rails] Modifier le fichier de migration (rails db: rollback)
rails db: 〇〇 Résumé
[Rails] Modifier le fichier de migration (rails db: rollback STEP =)
[heroku] run rails db: la migration ne fonctionne pas
Résumé de la commande [Rails] rails db
Après tout, que fait [rails db: migrate]?
rails test db seulement chute
Erreur dans la base de données: migrate: reset
Erreur PG :: DatatypeMismatch lors de l'exécution de heroku run rails db: migrate
[rails] Comment afficher les informations de base de données
[Note personnelle] Prise en compte de l’index Rails DB
[Rails] Conception de bases de données pour le site EC
L'histoire que j'ai eu du mal parce que je ne pouvais pas faire "Rails db: migrate".
Rails DB PostgreSQL a été remplacé par MySQL
ArgumentError: Validateur inconnu: 'UniqunessValidator' dans rake db: migrate
[Rails] Stocker uniquement les éléments cochés dans la base de données