2016-07-01 37 views
0

我想從我的rails數據庫從sqlite3遷移到postgresql,所以我可以推送到heroku。我也在嘗試遷移數據。
這裏是我的Gemfile:不能遷移與水龍頭錯誤:Rack :: Utils :: OkJson :: Error

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:[email protected]/gainxp_development http://sam:[email protected]:$PORT 

這給了我這個錯誤:

Receiving schema 
Unable to fetch tables information from http://sam:[email protected]: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 

當我參觀西納特拉服務器水龍頭正在運行,我得到以下出現在白色背景:

Taps >= v0.3.22 is required for this server  

我一直在這個星期試圖遷移我的分貝。感謝您的幫助

回答

0

沒關係。我通過運行sequel -C sqlite://db/development.sqlite3 postgres://sam:[email protected]/gainxp_development解決了問題,並且一切正常。 Self Five