[RUBY] [heroku] run rail db: migrieren funktioniert nicht

Umgebung

・ Schienen 6.0.3.2 ・ MySQL Ver 14.14 Distrib 5.6.47 ・ Osx10.15 ・ Auf Heroku bereitstellen

Einführung

Dies ist eine Antwort, wenn beim Erstellen einer App mit "Rails" und beim Hochladen auf "Heroku" etwas schief geht. In der Entwicklungsumgebung haben "MySQL" und "Heroku" DB als "PostgreSQL", daher ist es notwendig, diese zu unterstützen. In der Mitte des Prozesses ist ein Fehler aufgetreten. Ich werde in der richtigen Reihenfolge schreiben.

Unterstützung für PostgreSQL

Schreiben Sie zunächst Folgendes in "Gemfile". Es verwendet "PostgreSQL" in einer Produktionsumgebung. Ich habe unten geschrieben.

group :production do
  gem 'pg'
end

Ich habe die Gemfile geändert, also vergiss nicht, die Bundle-Installation durchzuführen. Zunächst war es hier der erste Fehler. Wenn Sie nur die Bundle-Installation durchführen, tritt ein Fehler auf, da in Ihrer Entwicklungsumgebung kein PostgreSQL vorhanden ist.

Die Korrespondenz besteht darin, den Befehl auszuführen, um die Stelle von "group: produciton end" im Terminal zu überspringen.


$ bundle install --without production 

Fügen Sie die Beschreibung für die Verbindung zur Datenbank in database.yml im Konfigurationsordner ein. Ich habe es unten hinzugefügt.

production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

Das ist alles für mich. Der Artikel, der hilfreich war, ist hier! [Für Anfänger] So stellen Sie Rails-Apps mithilfe von Heroku zuverlässig bereit [Definitive Edition] ・ Htps: // Quiita. Diese m / Kazuki Tsumoto / Te ms / A 0 Da 7281 A 3948701c39

In Heroku bereitstellen

Ich werde es diesmal hier weglassen. Fahren Sie fort, bis die Bereitstellung abgeschlossen ist.

Hier db: migrieren

Ich mache "Heroku Run Rails DB: Migrieren", aber ein Fehler tritt auf! Ich bin endlich auf diesen Fehler gestoßen, als ich verschiedene Dinge betrachtet habe. .. ..

Die folgende Beschreibung befindet sich in der Mitte des Terminals.

Caused by:
PG::ConnectionBad: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Ursache

Die einfache Sache ist, dass "Heroku" standardmäßig kein "PostgreSQL" enthält, also müssen Sie es hinzufügen! Was! !! !! !! Ich bin noch nicht daran gewöhnt, also habe ich diese einfache Sache nicht bemerkt. .. .. ..

Korrespondenz

Befehl zum Hinzufügen von "PostgreSQL" im Terminal

$ heroku addons:create heroku-postgresql

Nachdem

$ heroku run rails db:migrate

Dann ist die Migration abgeschlossen!

Ich dachte, etwas anderes stimmte nicht und verbrachte Stunden damit, etwas völlig anderes zu tun, aber es war einfach! Die App funktioniert und ist komplett!

Referenz

[Für Anfänger] So stellen Sie Rails-Apps mithilfe von Heroku zuverlässig bereit [Definitive Edition] ・ Htps: // Quiita. Diese m / Kazuki Tsumoto / Te ms / A 0 Da 7281 A 3948701c39

[Rails] Über den Fehler, der beim Ausführen von "heroku run rake db: migrate" auftritt. ・ Https://qiita.com/suzuki-x/items/b878723080aea1a673ed

Recommended Posts

[heroku] run rail db: migrieren funktioniert nicht
PG :: DatatypeMismatch-Fehler beim Heroku-Ausführen von Rails db: migrate
Schienen db: Migration fehlgeschlagen!
[Anfänger] Wenn Schienen nicht funktionieren
[Rails] Migrationsdatei ändern (Rails DB: Rollback)
Schienen erzeugen funktioniert überhaupt nicht! Manchmal versuchen
Was macht [Rails DB: Migrieren]?
[Rails MySQL] So setzen Sie die Datenbank auf Heroku zurück
Schienen db: 〇〇 Zusammenfassung
[Ruby On Rails] So setzen Sie die Datenbank in Heroku zurück
[Rails] Rails DB-Befehlsübersicht
[Schienen] Heroku-Bereitstellungsablauf