I passaggi seguenti hanno funzionato per me. Utilizza la gemma dei rubinetti , creata da Heroku e menzionata nel Railscast # 342 di Ryan Bates. Ci sono alcuni passaggi ma ha funzionato perfettamente (anche le date sono state migrate correttamente) ed è stato molto più semplice delle migrazioni Oracle -> DB2 o SQL Server -> Oracle che ho fatto in passato.
Nota che SQLite non ha un ID utente o una password, ma la gemma dei tocchi richiede qualcosa. Ho appena usato i letterali "utente" e "password".
Crea l'utente del database Postgres per i nuovi database
$ 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 - comando aggiornato di seguito - utilizzare invece questo
$ createuser f3 -d -s
Creare i database richiesti
$ createdb -Of3 -Eutf8 f3_development
$ createdb -Of3 -Eutf8 f3_test
Aggiorna il Gemfile
gem 'sqlite3'
gem 'pg'
gem 'taps'
$ bundle
Aggiorna 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:
Avviare il server dei tocchi sul database sqlite
$ taps server sqlite://db/development.sqlite3 user password
Migrare i dati
$ taps pull postgres://f3@localhost/f3_development http://user:password@localhost:5000
Riavvia il server web Rails
$ rails s
Pulisci il Gemfile
#gem 'sqlite3'
gem 'pg'
#gem 'taps'
$ bundle