ruby '2.6.5' gem 'rails', '~> 6.0.0' gem 'mysql2', '0.5.3'
Dieses Mal habe ich eine Anwendung von Grund auf neu erstellt und da ich bis zu einem gewissen Grad ein Framework hatte, habe ich es auf Heroku verschoben. Der obere Bildschirm wurde sicher angezeigt, aber wenn ich zum neuen Registrierungsbildschirm oder Anmeldebildschirm gehe, tritt ein Fehler auf, sodass ich die Methode zum Lesen der Fehleranweisung und zum Beheben des Fehlers schreibe.
Das Ergebnis war zunächst, dass die Datenbank und die Anwendung nicht gut miteinander verbunden waren.
%Heroku erstellen Anwendungsnamen
Erstellen Sie nun eine Datenbank. Erstellen und bestätigen Sie mit dem folgenden Code.
% git config --list | grep heroku
Wenn etwas anderes als fatal: Nicht in einem Git-Verzeichnis angezeigt wird, ist es OK.
In Heroku wird standardmäßig PostgreSQL verwendet. Dieses Mal werden wir die Einstellungen so konfigurieren, dass sie dasselbe MySQL wie die Entwicklungsumgebung verwenden.
Ein Tool zur Verwendung von MySQL. Ein Add-On eines Datenbankdienstes namens ClearDB, mit dem Sie MySQL mit Heroku verwenden können.
% heroku addons:add cleardb
Sie haben jetzt Ihre Datenbank auf MySQL eingestellt.
Als nächstes muss die Version von MySQL mit der Version des entsprechenden Gem übereinstimmen. Führen Sie daher den folgenden Befehl aus.
% heroku config | grep CLEARDB_DATABASE_URL
CLEARDB_DATABASE_URL wird erstellt. In dieser Anwendung Da wir einen Edelstein namens mysql2 verwenden, müssen wir den Teil mysql: // in etwas wie mysql2: // ändern.
heroku config:set DATABASE_URL='mysql2://000000000000:[email protected]/heroku_aaa00000000?reconnect=true'
、mysql:// → mysql2://
//000000000000:[email protected]/heroku_aaa00000000?
Der obige Teil ist für jede Anwendung unterschiedlich.
Ich konnte hier nicht mysql: // → mysql2: // ausführen. Es wurde also gesagt, dass die Datenbank nicht gut verbunden werden könne.
Muss ich die Datenbank löschen, um sie zurückzusetzen? Ich habe nach Dingen wie dem Löschen von CLEARDB_DATABASE_URL gesucht, aber das war es nicht.
CLEARDB_DATABASE_URL kann zurückgesetzt werden.
% heroku config:set DATABASE_URL='mysql2://[Anwendung CLEARDB_DATABASE_URL]=true'
Ich habe es hier gelöst.
Und danach
% git push heroku master
Push to Heroku,
% heroku run rails db:migrate
halten. Es ist ein Muster, das Anfänger gerne vergessen. Vergessen Sie also nicht, zu migrieren.
Ich habe auf die Anwendung zugegriffen und den neuen Buchungsbildschirm überprüft, konnte aber sicher darauf zugreifen.
Recommended Posts