无法使用水龙头迁移错误:Rack :: Utils :: OkJson ::错误

时间:2016-07-01 21:27:17

标签: ruby-on-rails ruby postgresql sqlite

我正在尝试将我的rails数据库从sqlite3迁移到postgresql,所以我可以推送到heroku。我也试图迁移数据 这是我的gemfile:

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.5'
# Use sqlite3 as the database for Active Record

gem 'sqlite3'
gem 'pg'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

gem 'taps', '>= 0.3.22'
gem "tilt", '~> 1.4.1'
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

# Use ActiveModel has_secure_password
gem 'bcrypt', '~> 3.1.7'
gem "twitter-bootstrap-rails"
# Use Unicorn as the app server
# gem 'unicorn'
gem 'therubyracer'
gem 'bootstrap-sass'

gem 'will_paginate', '~> 3.1.0'


# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'

  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'

end

group :production do

  gem 'rails_12factor'
  gem 'puma'

end

我还更改了我的database.yml文件以迁移到postgres

development:
  adapter: postgresql
  encoding: unicode
  database: gainxp_development
  pool: 5
  username: sam
  password: pass
  host: localhost


# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: postgresql
  encoding: unicode
  database: gainxp_test
  pool: 5
  username: sam
  password: pass
  host: localhost

production:
  adapter: postgresql
  encoding: unicode
  database: gainxp_production
  pool: 5 
  username: sam
  password: pass
  host: localhost

我运行以下命令启动我的水龙头服务器并正确启动:

taps server sqlite://db/development.sqlite3 sam pass -p $PORT 

在另一个终端我跑:

sudo taps pull postgres://sam:pass@localhost/gainxp_development http://sam:pass@localhost:$PORT

这给了我这个错误:

Receiving schema
Unable to fetch tables information from http://sam:pass@0.0.0.0:8080. Please check the server log.

我的pg_hba.conf文件如下

# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                trust


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

当我访问sinatra服务器的水龙头正在运行时,我会在白色背景上显示以下内容:

Taps >= v0.3.22 is required for this server    

我几周都在试图迁移我的数据库。谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

没关系。我通过运行sequel -C sqlite://db/development.sqlite3 postgres://sam:pass@localhost/gainxp_development修复了问题,一切正常。 自我五