【问题标题】:Cannot Migrate with taps ERROR: Rack::Utils::OkJson::Error无法通过点击迁移错误:Rack::Utils::OkJson::Error
【发布时间】:2016-07-01 21:27:17
【问题描述】:

我正在尝试将我的 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 服务器并且它正确启动了:

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    

我已经在这几周尝试迁移我的数据库。感谢您的帮助

【问题讨论】:

    标签: ruby-on-rails ruby postgresql sqlite


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-11-11
      • 1970-01-01
      • 2014-03-30
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 2014-05-29
      • 2020-01-15
      相关资源
      最近更新 更多