[RUBY] [Rails] Annoter n'est pas exécuté lors de la migration

introduction

Voici un résumé de ce que j'ai essayé lorsque Annotate ne pouvait pas s'exécuter et que les commentaires n'étaient pas écrits.

environnement

Qu'est-ce que Annoter

C'est un joyau qui commente les informations écrites dans le schéma au début du fichier pour les informations de routage. Vous pouvez éviter de vérifier les informations de colonne et le routage. Pour une introduction et une utilisation détaillée, reportez-vous à ce qui suit. [Rails] Comment utiliser anonyme

Bug survenu (les commentaires ne sont pas écrits lors de la migration)

Un problème est survenu lors de l'exécution de la fonction anonyme pendant la migration et celle-ci n'a pas été exécutée même si elle était configurée pour être commentée sur le modèle. Lorsque j'ai créé le premier fichier de migration dans la branche de travail et migré, le commentaire a été écrit, mais lorsque j'ai créé le deuxième fichier de migration dans la branche de travail et migré, le commentaire a été écrit. pas.

J'ai essayé diverses choses, mais à la fin, j'ai supprimé le commentaire une fois, puis je l'ai migré, et cela a fonctionné.

Ce que j'ai fait

1. Vérifiez le fichier de configuration

Vérifiez le paramètre Annoter dans lib / tasks / auto_annotate_models.rake généré par $ bundle exec rails g annotate: install.

auto_annotate_models.rake


'skip_on_db_migrate' => 'false', 

Puisqu'il est «faux», il est configuré pour écrire des commentaires lors de la migration. (Pas de problème ici)

2. Exécutez manuellement Annotate

Puisqu'il n'est pas exécuté au moment de la migration, exécutez Annotate manuellement. Le commentaire n'est toujours pas écrit. ..

.bash


$ bundle exec annoatate --models

3. Réinstaller la gemme

Si le commentaire n'est toujours pas écrit, réinstallez le gem. Dans certains cas, il a été résolu en réinstallant.

4. Supprimer le commentaire d'annotation

Dans mon cas, j'ai essayé diverses choses et le commentaire n'était pas écrit, j'ai donc décidé de supprimer le commentaire.

.bash


$ bundle exec annotate --delete

Confirmez que le commentaire a été supprimé du modèle et exécutez-le par migration ou manuellement.

.bash


$ bundle exec rails db:migrate

or

$ bundle exec annoatate --models

Lorsque je l'ai supprimé et migré, il a été exporté vers tous les modèles.

en conclusion

Après tout, je n'ai pas compris pourquoi annoter n'a pas été exécuté pendant la migration, mais un commentaire a été rédigé pour le moment. Si quelqu'un connaît la cause, je vous serais reconnaissant si vous pouviez commenter.

Recommended Posts

[Rails] Annoter n'est pas exécuté lors de la migration
[Rails] fields_for n'est pas affiché
[Rails] Lorsque le changement de disposition du dispositif n'est pas reflété
rails Le déploiement AWS n'est pas reflété
Les données ne sont pas enregistrées dans Rails.
MySQL ne fonctionne pas de manière stable ... L'application Rails ne fonctionne pas.
[Rails] [Note] Quand ajouter = à <%%> et quand pas
Lorsque nginx conf n'est pas bien reflété dans l'environnement AWS Elastic Beanstalk + Rails
rail nouveau nom d'application non créé
Lorsque le projet n'est pas affiché dans eclipse
Ebean.update () n'est pas exécuté dans le modèle hérité.
[Railways] Railways ne fonctionne pas lorsque la racine du projet RubyMine est différente du répertoire racine Rails.
[Ruby on rails] Lors de l'exécution de la commande heroku, bash: heroku: command not found s'affiche. [Tutoriel Rails]
ORA-08177 lorsque Spring Batch est exécuté en continu dans Oracle
Comment résoudre le problème lorsque la valeur n'est pas envoyée lorsque le formulaire est désactivé dans les rails et envoyé
[Rails] Enregistrez lorsque l'événement ne s'est pas déclenché lorsque le nom du fichier javascript est le même que celui du contrôleur
Comment générer automatiquement un diagramme ER lors de la migration avec Rails 6
[Ruby on Rails] Lorsque l'acquisition de l'identifiant du paramètre ne s'est pas bien déroulée
Lorsqu'une erreur se produit même si la validation n'est pas définie
[Rails DM] Créons une fonction de notification lorsque DM est envoyé!
Que vérifier lorsque rails db: la migration ne réussit pas
L'idée de couper quand l'erreur n'est pas résolue
% rails db: Lorsque vous créez, le LoadError causé par mimemagic est
[Rails 6] Introduction de jQuery ・ La solution de l'erreur de référence non interceptée $ n'est pas définie
Le code de sortie 1 se produit lorsque Rails est arrêté dans l'environnement Docker
Comportement lorsque chacun est exécuté dans la plage inverse
Le journal de journalisation n'est pas généré lorsque l'application serveur est fermée
Que faire si l'application n'est pas créée avec la dernière version de Rails installée lorsque les rails sont neufs