SCENARIO:私は私の地元の発展のためにシナトラ+シナトラ/アクティブレコード+ SQLite3のを使用してい
。私は、HerokuにPostgresqlを使用するようにプッシュするとわかっています。私は積極的な記録を使っているのでうれしいです。問題はありません。シナトラ/ ActiveRecordの+ Herokuの発生エラー
APP.RBファイル
require 'rubygems'
require 'sinatra'
require 'sinatra/activerecord'
require 'open-uri'
require 'uri'
require 'nokogiri'
configure :development do
set :database, 'sqlite://development.db'
end
configure :test do
set :database, 'sqlite://test.db'
end
configure :production do
db = URI.parse(ENV['DATABASE_URL'] || 'postgres://localhost/mydb')
ActiveRecord::Base.establish_connection(
:adapter => db.scheme == 'postgres' ? 'postgresql' : db.scheme,
:host => db.host,
:username => db.user,
:password => db.password,
:database => db.path[1..-1],
:encoding => 'utf8'
)
end
class Picture < ActiveRecord::Base
end
get '/' do
@test = Picture.find(:all)
erb :index
end
エラー
私は、私は次のエラーを取得するheroku rake db:migrate
を試してみてください...
DEBUG -- : NoMethodError: undefined method `values' for #<PGresult:0x00000002b24d08>: SHOW client_min_messages
DEBUG -- : PGError: ERROR: invalid value for parameter "client_min_messages": ""
は、それから私は大丈夫、私はよ心配を考えません私のローカルsqlite3
development.db
からheroku production dbにデータをプッシュするこのheroku機能を試してみてください。だから私は
heroku push:db sqlite://development.db
と
成功をしたデータはである。私は、アプリを再起動し、さらにコミットをプッシュしますが、私はActiveRecordのを行うには何もアクセスすることはできません
。もし私がPicture.find(:all)
の基本的な質問をすれば、私は同じDEBUG
エラーになります。
私のconfigure :production
は私を台無しにしていますか? 推奨事項はありますか?
「私は、アクティブなレコードを使用していると私は何の問題もないはずです。」あなたは明らかに英雄の質問を読んでいません。 PostgreSQLをインストールして開発する方がずっと良いです。 –
私はこれをしなければならないように聞こえ始めます。別のSQL言語を学ぶことを望んでいない。 – alenm
SQLはSQLです。しかし、SQLiteはSQLではありません。 (そして、MySQLもどちらでもない。) –