Heroku 1.sql
に送信する場合 H2
用に生成されたファイル 、競合する可能性が高くなります。代わりに、HerokuのURLをapplication.conf
に設定してください。 db.default.url
として 最初にローカルホストで開発モードで実行して、有効なPostresSQLを生成します。また、db.default.user
をコメントアウトする必要があります およびdb.default.password
HerokuのURLにはすでにこの情報が含まれているため、設定。
現在の接続のURLがわからない場合は、次のURLにあります:
https://postgres.heroku.com/-> YourDBs
-> db-name ->Connection settings
-> JDBC URL
ローカルホスト(またはHerokuのスペースではない他のマシン)から接続するには、次のパラメーターをURLに追加する必要があります:
&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
このアプローチのおかげで、リモートのHerokuのDBへの接続を確立して、アプリケーションをローカルでテストできます(驚かないでください。この組み合わせは、local app + local DB
を使用する場合よりもはるかに遅くなります。 またはHeroku app + Heroku DB
)とにかくテストするには、小さな修正をクラウドに繰り返しプッシュするよりも優れています。
また、コードをHerokuにプッシュすることなく、ローカルホストから進化を実行できるようになります。SQLに問題がある場合は、非常に短いアプローチです。
さらに、ローカル開発モードでSQLロギングをオンにして、冗長なSQLクエリを探す良い機会です。不要なクエリをすべて削除し、ローカルホストで満足する場合は、Herokuにデプロイした後、はるかに満足します。 )
リセット
適切な1.sql
を作成する場合 ほとんどの場合、無効な構造を含むDBをリセットする必要があります(ローカルからHerokuに移動するだけなので、まだ問題はないと思います)。まず、現在のアプリのDBの名前を見つけます(bashを使用して、アプリのフォルダーで):
heroku pg
次に、でリセットします(すべてのデータが破壊されるため、データを失いたくない場合は、最初にバックアップを検討してください!):
heroku pg:reset HEROKU_DATABASE_SOMEBASE