Các bước dưới đây làm việc cho tôi. Nó sử dụng đá quý vòi , được tạo bởi Heroku và được đề cập trong Railscast # 342 của Ryan Bates. Có một vài bước nhưng nó hoạt động hoàn hảo (ngay cả ngày được di chuyển chính xác) và nó dễ dàng hơn nhiều so với Oracle -> Máy chủ DB2 hoặc SQL -> Di chuyển Oracle tôi đã thực hiện trong quá khứ.
Lưu ý rằng SQLite không có id người dùng hoặc mật khẩu, nhưng đá quý vòi yêu cầu một cái gì đó. Tôi chỉ sử dụng chữ "người dùng" và "mật khẩu".
Tạo người dùng cơ sở dữ liệu Postgres cho cơ sở dữ liệu mới
$ createuser f3
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y
EDIT - Lệnh cập nhật bên dưới - sử dụng lệnh này thay thế
$ createuser f3 -d -s
Tạo cơ sở dữ liệu cần thiết
$ createdb -Of3 -Eutf8 f3_development
$ createdb -Of3 -Eutf8 f3_test
Cập nhật Gemfile
gem 'sqlite3'
gem 'pg'
gem 'taps'
$ bundle
Cập nhật cơ sở dữ liệu.yml
#development:
# adapter: sqlite3
# database: db/development.sqlite3
# pool: 5
# timeout: 5000
development:
adapter: postgresql
encoding: unicode
database: f3_development
pool: 5
username: f3
password:
#test:
# adapter: sqlite3
# database: db/test.sqlite3
# pool: 5
# timeout: 5000
test:
adapter: postgresql
encoding: unicode
database: f3_test
pool: 5
username: f3
password:
Bắt đầu máy chủ vòi trên cơ sở dữ liệu sqlite
$ taps server sqlite://db/development.sqlite3 user password
Di chuyển dữ liệu
$ taps pull postgres://f3@localhost/f3_development http://user:password@localhost:5000
Khởi động lại máy chủ web Rails
$ rails s
Dọn dẹp Gemfile
#gem 'sqlite3'
gem 'pg'
#gem 'taps'
$ bundle