2

アプリを開発しようとしています。Heroku を使用してデプロイします。開発環境とテスト環境で sqlite3 を実行し、運用環境で postgres を実行している最後のアプリで問題が発生したため、すべての環境で postgres データベースを実行したいだけです。そのため、postgres のインストールに取り掛かりました。

しかし、この Heroku ページ (https://devcenter.heroku.com/articles/local-postgresql) に出くわしました。このページでは、共有サーバーに PostgreSQL 8.3 データベースを使用し、新しくプロビジョニングされたデータベースに PostgreSQL 9.1 を使用していると述べています。もちろん、少なくとも最初は共有サーバーを使用したいと考えています。それで、それは私にいくつかの問題を引き起こします。

postgres 8.3 をインストールし、それを使用して開発およびデプロイすることにした場合 (データベースが共有サーバーと一致するように)、データベースのサイズを増やして最終的に postgres 9.1 を実行する必要がある場合、大きな問題に遭遇するでしょうか?

postgres 9.1 をインストールし、それを使用して開発および展開すると、postgres 8.3 サーバーに展開するときに大きな問題が発生しますか?

私は自分の前に巨大なプロジェクトを抱えており、できるだけ前もって計画を立てることができるように、以前にこれに対処したことがある人から話を聞きたい. あらゆるご意見をお待ちしております。

4

2 に答える 2

2

これが新しいアプリの場合は、8.3 の共有プランではなく、開発プランのベータ版を使用する必要があります。大規模なプロジェクトが完了する前に、ベータ版が終了する可能性があります。古い共有プランが明らかに廃止され、PostgreSQL 8.3 自体が 2 月に廃止される予定である場合、8.3 の癖に対処する理由はほとんどありません。現在、9.1 以外で新しい PostgreSQL アプリを構築することはお勧めしません。以前のバージョンのソフトウェアと比較して、修正される制限が多すぎます。

于 2012-07-31T00:32:39.953 に答える
0

はい、ソフトウェアがこれら 2 つのデータベース バージョンで異なるいくつかの機能に依存している場合、問題が発生する可能性があります。たとえば、9.1 には存在し、8.3 には存在しない機能を使用する場合などです。

ただし、通常、アップグレード (小さいバージョン番号から大きいバージョン番号へ) は問題なく行われます。あなたはそれをチェックする必要があります。

優れたテスト スイートが役立ちます。1 つのデータベースでアプリケーションをテストし、次に別のデータベースでテストするだけです。

ルール番号 1: テストに使用するデータベースは、本番環境で使用するものとまったく同じデータベース (エンジン、バージョン、オペレーティング システム) でなければなりません。そうしないと、アプリケーションをテストしたとは言えません。

ルール 2: "postgre" のようなものはありません。データベース名は PostgreSQL または Postgres です。

于 2012-07-29T18:10:26.023 に答える