12

Postgres データベースで Rails アプリを実行しています。データベースで実行されるバックグラウンド タスク キューを設定していますが、データベースの URL を指定する必要があります。

私が試したさまざまな順列は、すべてが返されることを期待していFATAL: database "database-name" does not existます。

この URL を出力するコマンドはありますか?

または、私の database.yml が次のようになっている場合、URL はどのようになりますか?

development:
    adapter: postgresql
    encoding: unicode
    database: db/database-name

提案をありがとう。

4

2 に答える 2

12

フォーマットは

postgres://username:password@host/database

データベース名に a があり/、(明らかに) postgres は/データベース名を受け入れるため、いずれかを使用する必要があります。

postgres:///db/database-name

また

postgres:///db%2Fdatabase-name

データベース名の一部を自由に取り出してdb/ください。データベースをローカル ファイルに格納し、ファイル名が必要な SQLite などのデータベースに対してのみ保証されます。

于 2012-05-17T09:38:35.877 に答える
0

どのようにデータベースにアクセスしようとしているのかはわかりませんが、rails と同じデータベースを使用するが別個に実行されるスクリプトを作成しようとしている場合は、rails で実行されるスクリプトの使用を検討してください。unix/linux では、次の行を追加すると:

#! script/rails runner

スクリプトの最初の行に追加し、次のコマンドで実行可能にします。

chmod +x myscript

次に、単にそれを実行できます

./myscript

コントローラーと同じようにモデルクラスを使用し、レールでコードを表示できます。その後、手動でデータベースにアクセスする必要はありません。

于 2012-05-17T09:26:55.000 に答える