ruby-on-railsdatabasesqlitepostgresqlheroku

Change from SQLite to PostgreSQL in a fresh Rails project


I have a rails app that's databases are in SQLite (The dev and production). Since I am moving to heroku, I want to convert my database to PostgreSQL.

Anyways, I heard that the local, development, database does not need to be changed from SQLite, so I don't need to change that, however, how do I go about changing the production environment from SQLite to PostgreSQL?

Has anyone ever done this before and can help?

P.S. I'm not sure what exactly this process is called, but I've heard about migrating the database from SQLite to PostgreSQL, is that what needs to be done?


Solution

  • You can change your database.yml to this instead of using the out of the box sqlite one:

    development:
      adapter: postgresql
      encoding: utf8
      database: project_development
      pool: 5
      username: 
      password:
    
    test: &TEST
      adapter: postgresql
      encoding: utf8
      database: project_test
      pool: 5
      username: 
      password:
    
    production:
      adapter: postgresql
      encoding: utf8
      database: project_production
      pool: 5
      username: 
      password:
    
    cucumber:
      <<: *TEST