2012-05-17 11 views
11

私はpostgresデータベース上で走っているRailsアプリケーションを持っています。私は、データベース上で実行されているバックグラウンドタスクキューを設定しており、データベースのURLを指定する必要があります。ローカルpostgresデータベースへのURLパスを見つけるには?

私が試したすべての復帰を期待する様々な順列FATAL: database "database-name" does not exist

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

それとも、私のdatabase.ymlのが提案のため、この

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

おかげのように見える場合はどのようなURLは次のようになります。

+0

古典的なアプローチは、フロントエンドが何を試みたかを見るために、postgresログファイルを調べることです。 – wildplasser

+0

そして、**は** PostgreSQLのデータベースの名前ですか? –

+0

ジョンDですが、他の名前で馬のように甘い香りです –

答えて

11

形式は、あなたが

postgres:///db/database-name 

かのいずれかを使用する必要があるので、自分のデータベース名と(明らか)はpostgresで/は、データベース名に/を受け入れる必要があり

postgres://username:[email protected]/database 

ように見えます

postgres:///db%2Fdatabase-name 

テイクアウトe db/データベース名の一部です。dbをローカルファイルに格納し、ファイル名が必要なSQLiteのようなデータベースに対してのみ保証されています。

+0

dbパスが問題でした。私はすでにデータベースにデータがあるので、これを回避する方法を期待していました。最後に、私は落として、名前なしでdbを作り直し、バックアップをインポートしました。完璧に動作します。ありがとう! –

0

データベースにどのようにアクセスしようとしているのかわかりませんが、レールと同じデータベースを使用するが別々に実行されるスクリプトを作成しようとしている場合は、レールで実行されるスクリプトの使用を検討してください。 UNIX/Linuxでは、あなたはこの行を追加した場合:スクリプトの最初の行に

#! script/rails runner 

をし、その後でそれを実行可能にします。

chmod +x myscript 

あなたは単に

./myscript 
でそれを実行することができます

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

+0

ありがとうmichael、いいえ、私はちょうどデータベースへの接続パスが必要です。私は私のアプリhttps://github.com/ryandotsmith/queue_classicにqueue_classicを組み込もうとしています。 –

+0

私が直面している問題は、database.ymlがパス 'db/database-name'を定義していますが、エラーは' FATAL:database "dbdatabase-name"は存在しません。そこで私は、Railsがどのようなパスを使用しているかを調べて調べる方法を探しています。何か案は? –

関連する問題