0

私はHerokuを使用しており、新しいアプリケーションを作成し、Postgres の空のデータベースをセットアップしています。

Heroku ツールベルトがインストールされており、Heroku にログインして次のコマンドを正常に実行できます。

c:\>heroku pg:info mydbname --app my-app-name

c:\>heroku pg:credentials mydbname --app my-app-name

これで、アプリと空のデータベースが作成されたので、データベースへの接続を成功させようとしています。

ルビーを使用しています。プロジェクトのローカル コピーがあり、単純な ruby​​ ファイルを作成してデータベースに接続しようとしています。アプリケーションからデータベースに接続できることを証明しようとしています。

ここでactiverecordオプションを見ていました

しかし、私はあまり運がありません。

heroku/postgres の第一人者は、私を正しい方向に向けるのに役立ちますか? データベースが空です。私がやろうとしているのは、最初のステップとしてデータベースへの接続を成功させることだけです。

ルビーファイル:

require 'active_record'
require 'uri'

db = URI.parse(ENV['DATABASE_URL'] || 'postgres://localhost/jade')

ActiveRecord::Base.establish_connection(
  :adapter  => db.scheme == 'postgres' ? 'postgresql' : db.scheme,
  :host     => db.host,
  :port     => db.port,
  :username => db.user,
  :password => db.password,
  :database => db.path[1..-1],
  :encoding => 'utf8'
)
4

1 に答える 1

1

ENV['DATABASE_URL'] の内容は何ですかenable user-env-compile
で試してもらえますか

ビルド中にアプリの構成変数を存在させると、ビルド時の最適化を、ランタイム環境により近い環境で実行できます。これにより、構成変数を使用してビルドを構成することもできます。

$ heroku labs:enable user-env-compile -a myapp
-----> Enabling user-env-compile for myapp... done
WARNING: This feature is experimental and may change or be removed without notice.

missing-database-urlが役立つ場合があります

編集:

データベースの YAML ファイルが適切に解析されていることを確認してください。

ruby -ryaml -e "File.open('config/database.yml') { |f| puts YAML.load(f).inspect }"

PostgreSQL データベースの構成

PostgreSQL データベースを使用するようにカスタマイズされた config/database.yml:

development:
  adapter: postgresql
  encoding: unicode
  database: MyDb
  pool: 5
  username: meuser
  password:

もう 1 つのヒントRails アプリのルート ディレクトリに
呼び出されたファイルがあるかどうかを確認します。それ以外の場合は追加してください 。Gemfile
gem 'pg'

于 2013-01-08T14:32:58.360 に答える