Наведені нижче кроки працювали для мене. Він використовує крани камінь, створений Heroku і згадується в Райана Бейтса Railscast # 342. Є кілька кроків, але це спрацювало чудово (навіть дати були перенесені правильно), і це було набагато простіше, ніж Oracle -> DB2 або SQL Server -> міграції Oracle, які я робив у минулому.
Зауважте, що у SQLite немає ідентифікатора користувача або пароля, але дорогоцінний камінь вимагає чогось. Я щойно використав літерали «користувач» та «пароль».
Створіть користувача бази даних Postgres для нових баз даних
$ 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 - оновлена команда нижче - використовуйте це замість цього
$ createuser f3 -d -s
Створіть необхідні бази даних
$ createdb -Of3 -Eutf8 f3_development
$ createdb -Of3 -Eutf8 f3_test
Оновіть Gemfile
gem 'sqlite3'
gem 'pg'
gem 'taps'
$ bundle
Оновіть database.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:
Запустіть сервер taps на базі даних sqlite
$ taps server sqlite://db/development.sqlite3 user password
Перенесення даних
$ taps pull postgres://f3@localhost/f3_development http://user:password@localhost:5000
Перезапустіть веб-сервер Rails
$ rails s
Очищення Gemfile
#gem 'sqlite3'
gem 'pg'
#gem 'taps'
$ bundle