Rails アプリを Heroku にデプロイできるように、開発 (およびテスト/本番) データベースを PostgreSQL に切り替えようとしています。
彼らの指示と Railscast に従い、StackOverflow と Google を調べて、database.yml ファイルを書き換えて他のすべてを行う正しい方法を探しましたが、多くの問題に直面していたので、誰かが私を理解するのを手伝ってくれることを望んでいました他に何をする必要がありますか。私が試したことを以下に説明します。
1 つの大きな問題は、database.yml ファイルをどうするかということです。多くのサイトは同意しないか、単にプール、ユーザー名、またはエンコーディング (または、さらに言えば、実稼働環境全体) のエントリをまったく持っていません。いろいろ調べて組み合わせた結果、こんな感じになりました。これは機能しますか?:
development:
adapter: postgresql
encoding: unicode
database: <appname>_development
pool: 5
username: <username>
password: <password>
test:
adapter: postgresql
database: <appname>_test
username: <username>
password: <password>
host: localhost
プールとは?エンコーディングは必要ですか? 多くの例で yml ファイルに production セクションがないのはなぜですか?
Railscastの提案に従って、PostgreSQLを自作でインストールし、データベースを初期化してから、この行を実行しました。
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
別の StackOverflow の回答に従って、Postgres が /usr/local/bin/postgres ディレクトリにあることを確認し、この行を .bash_profile ファイルに追加しました。
export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
また、Railscast の提案に従って、taps gem をインストールし、次の行を実行しました。
taps server sqlite://db.development.sqlite3 <username> <password>
次に、新しいタブを開いて実行しました:
taps pull postgresql://<username>@localhost/<appname>_development http://localhost//5000
しかし、それを入力すると、次のエラーが表示されます。
Failed to connect to database:
Sequel::AdapterNotFound -> LoadError: cannot load such file -- sequel/adapters/postgresql
確かに私はたくさん間違っています。(たとえば、代わりに sqlite3 データベースからプルする必要がありますか?その URL を知るにはどうすればよいですか?)。しかし、トラブルシューティングを開始する方法がわからないので、助けを求めることにしました。
ありがとう!