2017-08-13 1 views
0

Ich bin neu bei Heroku und ich habe eine Java-Anwendung gemacht, die bei Heroku läuft. Ich möchte jetzt eine erweiterte Datenbank für die Anwendung erstellen und ich möchte das Datenbankschema hochladen. Die Beispielanwendung für Java, die ich von heroku heruntergeladen habe, zeigt, dass die Tabelle mit einem String-Literal aus dem Code erstellt wird. Ich möchte ein erweitertes Schema erstellen und hochladen. Ist das möglich oder muss ich die Tabellen aus dem Code erstellen?Datenbank-Schemas in Heroku

Dank

+0

Link zum Beispiel Java Heroku App, bitte. –

Antwort

2

ein gemeinsames Konzept für Datenbank-Migrationen ist sie als Teil des Bereitstellungsprozesses zu laufen, die nichts spezifisch für Heroku ist - es die Modernisierung der Infrastruktur ist nur ein Teil ist, wie durch den Anwendungscode erforderlich.

Durch die Ausführung von Migrationen im Rahmen der Bereitstellung wird diese von Ihrem Anwendungscode getrennt, sodass Sie sich keine Gedanken über die Einbindung in Ihre App machen müssen.

Beispiel Einsatz

jede Anfrage bei der Bereitstellung akzeptiert Um zu vermeiden, es mit der Aktivierung des App-Wartungsmodus zu beginnen empfohlen wird.

heroku maintenance:on --app myapp 

# push to Heroku which will trigger the buildpack to run 
git push [email protected]:myapp.git master 

# Use migration tool of your choice, this example is using migrate 
# https://github.com/mattes/migrate which supports a number of 
# different database systems. Make sure to use the DATABASE_URL that 
# is set in your application's environment variables. 
migrate -database $(heroku config:get DATABASE_URL --app myapp) \ 
    -path ./migrations up 

heroku maintenance:off --app myapp 

Hinweis: das obige Beispiel enthält keine Fehlerbehandlung, zum Beispiel, wie die Bereitstellung Heroku vorgehen, wenn nicht, oder wie von einer ausgefallenen Datenbankmigration zu erholen. Darüber hinaus empfiehlt es sich, vor dem Start der Migration einen Datenbank-Snapshot/eine Datenbanksicherung zu erstellen.

Ich habe migrate in das Beispiel aufgenommen, da es mit Unterstützung für PostgreSQL, MySQL, SQLite und eine Reihe anderer Datenbanken kommt. Aber jedes Migrationstool reicht je nach Ihren Anforderungen.

+1

Für Java-Anwendungen stehen einige andere Migrationstools zur Verfügung: https://devcenter.heroku.com/articles/running-database-migrations-for-java-apps – codefinger

Verwandte Themen