私は単純にRubyスクリプトを使って、ローカルでCSVファイルを自分のモデルにインポートできます。これは、開発に動作しますが、生産に失敗した(Herokuの)`retrieve_connection ':Model(ActiveRecord :: ConnectionNotEstablished)の接続プールがありません
私は次のエラーを乗り越えることができないよう:
`retrieve_connection ':会社のための接続なしプール(ActiveRecordは:: ConnectionNotEstablished)
open_csv_prod.rb
require 'csv'
require_relative 'helpers'
require 'active_record'
require 'rails'
# Connect to database
ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env]
class Company < ActiveRecord::Base
print_memory_usage do
print_time_spent do
#open the file
filename = 'lib/assets/1/BasicCompanyData-2016-09-01-part1_5.csv'
# count how many rows?
line_count = `wc -l "#{filename}"`.strip.split(' ')[0].to_i
# Print that result
puts "#{line_count}"
count = 0
CSV.foreach(filename, headers: true) do |row|
Company.create! row.to_hash
count += 1
p "#{count}"
end
end
end
end
heroku run ruby open_csv_prod.rb
この結果、上記のエラーが報告されます。私はHeroku RailsコンソールでActiveRecord :: Base.configurations [Rails.env]をチェックすると、Herokuがプールについて不平を言う理由が分かりません。
私はこれを次のデータベース構成で試してみたはずですが、herokuが[DATABASE_URL]にデータベース情報を格納しているため、これも失敗します。
ActiveRecord::Base.establish_connection(
adapter: 'postgresql',
host: ENV['IP'],
username: ENV['USERNAME'],
password: ENV['PASSWORD'],
database: 'dbb_development'
)
とても私はターミナルで実行Rubyスクリプトの私の会社のモデルに記述する必要がある場合、私は、すべて間違っを接続しようとしていますが可能です。
:次のスニペットは、たぶん、あなたはこのように接続することができ、レールのドキュメント
http://api.rubyonrails.org/classes/ActiveRecord/ConnectionHandling.html
からです。本当にありがとう!、それは答えとして受け入れる – Dearg