sql >> データベース >  >> RDS >> PostgreSQL

Herokuの進化におけるエラー

    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
    


    1. テーブル値関数を呼び出すときにクエリヒントを追加する

    2. 多言語データを保持するための最良のデータベース構造は何ですか?

    3. ページングを実装する効率的な方法

    4. IDENTITY列の値にギャップがあるのはなぜですか?