ruby '2.6.5' gem 'rails', '~> 6.0.0' gem 'mysql2', '0.5.3'
Cette fois, j'ai créé une application à partir de zéro, et comme j'avais un cadre dans une certaine mesure, je l'ai poussé vers heroku. L'écran supérieur a été affiché en toute sécurité, mais lorsque je vais au nouvel écran d'enregistrement ou à l'écran de connexion, une erreur se produit, donc j'écrirai la méthode pour lire la déclaration d'erreur et la résoudre.
Tout d'abord, d'après le résultat, c'était parce que la base de données et l'application n'étaient pas bien connectées.
%heroku créer le nom de l'application
Créez maintenant une base de données. Créez et confirmez avec le code ci-dessous.
% git config --list | grep heroku
Si quelque chose d'autre que fatal: not in a git directory est affiché, c'est OK.
Dans Heroku, le paramètre de base de données utilisé est PostgreSQL par défaut. Cette fois, nous allons configurer les paramètres pour utiliser le même MySQL que l'environnement de développement.
Un outil pour utiliser MySQL. Un add-on fourni par un service de base de données appelé ClearDB qui vous permet d'utiliser MySQL avec Heroku.
% heroku addons:add cleardb
Vous avez maintenant défini votre base de données sur MySQL.
Ensuite, la version de MySQL doit correspondre à la version du Gem correspondant, alors exécutez la commande suivante.
% heroku config | grep CLEARDB_DATABASE_URL
CLEARDB_DATABASE_URL est créé. Dans cette application Puisque nous utilisons un gem appelé mysql2, nous devons changer la partie mysql: // en quelque chose comme mysql2: //.
heroku config:set DATABASE_URL='mysql2://000000000000:[email protected]/heroku_aaa00000000?reconnect=true'
、mysql:// → mysql2://
//000000000000:[email protected]/heroku_aaa00000000?
La partie ci-dessus est différente pour chaque application.
Je n'ai pas pu faire mysql: // → mysql2: // ici. On a donc dit que la base de données ne pouvait pas être bien connectée.
Dois-je supprimer la base de données pour la réinitialiser? J'ai recherché des choses comme la suppression de CLEARDB_DATABASE_URL, mais ce n'était pas le cas.
CLEARDB_DATABASE_URL peut être réinitialisé.
% heroku config:set DATABASE_URL='mysql2://[Application CLEARDB_DATABASE_URL]=true'
Je l'ai résolu ici.
Et après ça
% git push heroku master
Poussez vers heroku,
% heroku run rails db:migrate
tenir. C'est un modèle que les débutants ont tendance à oublier, alors n'oubliez pas de migrer.
J'ai accédé à l'application et vérifié le nouvel écran de publication, mais j'ai pu y accéder en toute sécurité.
Recommended Posts