Heroku PostgreSQLを共有するときの接続方法がわかりません。
現在2つのSinatraアプリ(first_appとsecond_app)をデプロイ済です。
各々のアプリでPostgreSQLを使っていて問題なく稼働しています。
first_appのデータベースは
データベース名: first
テーブル名: firsts
second_appのデータベースは
データベース名: second
テーブル名: seconds
今後second_appでfirst_appのデータベースも使いたいと思っています。
Heroku addons:attachを試したのですがアプリに接続すると(できず)エラーになってしまいます。
試したこと。
Heroku addons:attach
heroku addons:attach first_app::DATABASE --app second_app
Herokuの返答
Attaching postgresql-*-** to ⬢ second_app... done
Setting HEROKU_POSTGRESQL_<color> config vars and restarting ⬢
second_app... done, v**
second_app.rb
ruby
1require 'sinatra' 2require 'active_record' 3require 'dotenv/load' 4 5get '/' do 6 class Second < ActiveRecord::Base 7 establish_connection(ENV['DATABASE_URL']) 8 end 9 10 class First < ActiveRecord::Base 11 establish_connection(ENV['HEROKU_POSTGRESQL_<color>_URL']) 12 end 13 14 @second = Second.all 15 @first = First.all 16 17 erb :index 18end
index.erb
<!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>Test</title> </head> <body> <% @second.each do |second_row| %> <ul> <li><%= "#{second_row['column_name']}" %></li> </ul> <% end %> <% @first.each do |first_row| %> <ul> <li><%= "#{first_row['column_name']}" %></li> </ul> <% end %> </body> </html>
Herokuのエラーログ
ActiveRecord::StatementInvalid - PG::UndefinedTable: ERROR: relation "firsts" does not exist
その他、試したこと。
heroku addons:attachで
first_app::DATABASE --app second_appを
second_app::DATABASE --app first_appと逆にしても同じ結果になりました。
解決方法がわかりましたらよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。