Sqlite Sinatra中的pg sql lite适配器出错

Sqlite Sinatra中的pg sql lite适配器出错,sqlite,postgresql,Sqlite,Postgresql,我在连接Sinatra的开发数据库时遇到问题。做后端的人在纽约,目前不在。我对前端比较熟悉,我想知道,我是否缺少一些简单的东西 生产数据库可以连接,但当我尝试在开发模式下启动它时,终端中会出现一系列错误。我还尝试使用端口5432启动精简,但没有成功 有什么想法吗?编辑下面添加的models.rb 终端 mdb|moreButton⚡ ⇒ ruby app.rb /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/data_objects-0

我在连接Sinatra的开发数据库时遇到问题。做后端的人在纽约,目前不在。我对前端比较熟悉,我想知道,我是否缺少一些简单的东西

生产数据库可以连接,但当我尝试在开发模式下启动它时,终端中会出现一系列错误。我还尝试使用端口5432启动精简,但没有成功

有什么想法吗?编辑下面添加的models.rb

终端

mdb|moreButton⚡ ⇒ ruby app.rb   
/Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/data_objects-0.10.10/lib/data_objects/connection.rb:79:in `initialize': could not connect to server: Connection     refused (DataObjects::ConnectionError)
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (fe80::1) and accepting
    TCP/IP connections on port 5432?
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/data_objects-0.10.10/lib/data_objects/connection.rb:79:in `new'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/data_objects-0.10.10/lib/data_objects/pooling.rb:181:in `block in new'
    from <internal:prelude>:10:in `synchronize'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/data_objects-0.10.10/lib/data_objects/pooling.rb:176:in `new'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/data_objects-0.10.10/lib/data_objects/pooling.rb:121:in `new'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/data_objects-0.10.10/lib/data_objects/connection.rb:68:in `new'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:251:in `open_connection'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-transactions-1.2.0/lib/dm-transactions/adapters/dm-do-adapter.rb:69:in `open_connection'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:276:in `with_connection'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:33:in `select'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-migrations-1.2.0/lib/dm-migrations/adapters/dm-postgres-adapter.rb:45:in `schema_name'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-migrations-1.2.0/lib/dm-migrations/adapters/dm-do-adapter.rb:26:in `storage_exists?'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-migrations-1.2.0/lib/dm-migrations/auto_migration.rb:65:in `storage_exists?'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-migrations-1.2.0/lib/dm-migrations/auto_migration.rb:120:in `storage_exists?'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-constraints-1.2.0/lib/data_mapper/constraints/migrations/model.rb:22:in `auto_migrate_constraints_down'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-constraints-1.2.0/lib/data_mapper/constraints/migrations/singleton_methods.rb:39:in `block in     auto_migrate_constraints_down'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-core-1.2.0/lib/dm-core/support/descendant_set.rb:64:in `block in each'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-core-1.2.0/lib/dm-core/support/subject_set.rb:210:in `block in each'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-core-1.2.0/lib/dm-core/support/ordered_set.rb:319:in `block in each'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-core-1.2.0/lib/dm-core/support/ordered_set.rb:319:in `each'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-core-1.2.0/lib/dm-core/support/ordered_set.rb:319:in `each'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-core-1.2.0/lib/dm-core/support/subject_set.rb:210:in `each'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-core-1.2.0/lib/dm-core/support/descendant_set.rb:63:in `each'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-constraints-1.2.0/lib/data_mapper/constraints/migrations/singleton_methods.rb:38:in     `auto_migrate_constraints_down'
    from /Users/adam/.rvm/gems/ruby-1.9.3-p125@sinatra/gems/dm-constraints-1.2.0/lib/data_mapper/constraints/migrations/singleton_methods.rb:7:in `auto_migrate!'
    from /Users/adam/Git/mdb/models.rb:403:in `<top (required)>'
    from /Users/adam/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/adam/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from app.rb:1:in `<main>'
app.rb文件

source 'http://rubygems.org'
gem 'sinatra'
gem 'data_mapper'
gem 'hpricot'
gem 'dm-core'
gem 'json'
gem 'dm-postgres-adapter'
gem 'dm-adjust'
gem 'time-ago-in-words'
gem 'sass'
gem 'rest-client'
gem 'multimap'

group :development do
  gem "dm-sqlite-adapter"
  gem 'sinatra-reloader'
end
型号.rb

if $development
    DataMapper.setup(:default, "postgres://localhost/mistakesdb_default")
else
    DataMapper.setup(:default, "postgres://giberish:giberish@ec2-23-21-209-147.compute-1.amazonaws.com:5432/giberish")
end
DataMapper.finalize
if $development
    #DataMapper.auto_upgrade!
    DataMapper.auto_migrate!
else
    DataMapper.auto_upgrade!
    #DataMapper.auto_migrate!
end

###### required.rb ######
$development = File.exists?('/Users/adam')

##### Top of app.rb #####
require "./models.rb"
require "./required.rb"
require "sinatra"
require "sass"
require "sinatra/reloader" if $development
require "time-ago-in-words"
require "rest_client"
require "multimap"

在开发模式下,DataMapper正在尝试连接到名为mistakesdb_default的本地PostgreSQL数据库。看起来您根本没有运行本地postgres安装,因此出现了“连接被拒绝”错误。根据您的操作系统,您可能可以在找到一个简单的postgres安装程序。

在开发模式下,DataMapper正在尝试连接到名为mistakesdb_default的本地PostgreSQL数据库。看起来您根本没有运行本地postgres安装,因此出现了“连接被拒绝”错误。根据您的操作系统,您可能可以在找到一个简单的postgres安装程序。

您的database.yml文件是什么样子的(当然可以过滤任何密码)?跟踪看起来像是试图连接到PostgreSQL数据库,而不是SQL Lite。如果生产模式有效,请将生产数据库配置与开发配置进行比较,这可能会对问题有所帮助。。。不过,我在models.rb中找到了更多的数据库信息。如果有帮助的话,生产数据库也在Heroku上。哦,快照。。。我在上面的代码中粘贴后才意识到这一点。。。是否为pg设置了本地数据库?如果是这样,我可以下载postgress.app gui并创建一个名为“mistakesdb_default”的空白数据库吗?没错。我个人还没有尝试过postgress.app,但快速浏览后,它看起来会起作用。如果您使用不同的安装程序,一个好的gui postgres管理实用程序是pgAdmin-我刚刚尝试了osx的postgres.app,并添加了一个新的数据库,它正在工作。非常感谢!你的database.yml文件是什么样子的(当然要过滤任何密码)?跟踪看起来像是试图连接到PostgreSQL数据库,而不是SQL Lite。如果生产模式有效,请将生产数据库配置与开发配置进行比较,这可能会对问题有所帮助。。。不过,我在models.rb中找到了更多的数据库信息。如果有帮助的话,生产数据库也在Heroku上。哦,快照。。。我在上面的代码中粘贴后才意识到这一点。。。是否为pg设置了本地数据库?如果是这样,我可以下载postgress.app gui并创建一个名为“mistakesdb_default”的空白数据库吗?没错。我个人还没有尝试过postgress.app,但快速浏览后,它看起来会起作用。如果您使用不同的安装程序,一个好的gui postgres管理实用程序是pgAdmin-我刚刚尝试了osx的postgres.app,并添加了一个新的数据库,它正在工作。非常感谢!我想这很有道理!我会安装PostresSQL,然后再试一次。我需要尽快了解更多关于数据库的信息!谢谢我想这很有道理!我会安装PostresSQL,然后再试一次。我需要尽快了解更多关于数据库的信息!谢谢
if $development
    DataMapper.setup(:default, "postgres://localhost/mistakesdb_default")
else
    DataMapper.setup(:default, "postgres://giberish:giberish@ec2-23-21-209-147.compute-1.amazonaws.com:5432/giberish")
end
DataMapper.finalize
if $development
    #DataMapper.auto_upgrade!
    DataMapper.auto_migrate!
else
    DataMapper.auto_upgrade!
    #DataMapper.auto_migrate!
end

###### required.rb ######
$development = File.exists?('/Users/adam')

##### Top of app.rb #####
require "./models.rb"
require "./required.rb"
require "sinatra"
require "sass"
require "sinatra/reloader" if $development
require "time-ago-in-words"
require "rest_client"
require "multimap"