Os passos abaixo funcionaram para mim. Ele usa a gema torneiras , criada por Heroku e mencionada no Railscast # 342 de Ryan Bates. Existem algumas etapas, mas funcionou perfeitamente (até as datas foram migradas corretamente) e foi muito mais fácil do que as migrações Oracle -> DB2 ou SQL Server -> Oracle que fiz no passado.
Observe que o SQLite não possui um ID de usuário ou senha, mas a gema torneiras exige algo. Eu apenas usei os literais "usuário" e "senha".
Crie o usuário do banco de dados Postgres para os novos bancos de dados
$ 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 atualizado abaixo - use isso em vez
$ createuser f3 -d -s
Crie os bancos de dados necessários
$ createdb -Of3 -Eutf8 f3_development
$ createdb -Of3 -Eutf8 f3_test
Atualize o Gemfile
gem 'sqlite3'
gem 'pg'
gem 'taps'
$ bundle
Atualizar 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:
Inicie o servidor taps no banco de dados sqlite
$ taps server sqlite://db/development.sqlite3 user password
Migrar os dados
$ taps pull postgres://f3@localhost/f3_development http://user:password@localhost:5000
Reinicie o servidor da web Rails
$ rails s
Limpeza do Gemfile
#gem 'sqlite3'
gem 'pg'
#gem 'taps'
$ bundle