
During the last project, it was only when I was deploying the app to heroku that I learnt that heroku supported postgresql. I then changed the database to postgresql from the default sqlite that rails came with.
For the project that I am embarking on, I decided to start off using postgresql to begin with.
I created the app the usual way rails new (appname), and then proceded to change the database detail. In the database.yml file I changed the default details to
default: &default
adapter: postgresql
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: app_development
test:
<<: *default
database: app_test
production:
<<: *default
database: app_production
I also added the gem pg to the gemfile and ran bundle install to install postgresql.
With this done, I ran rails db:create that created the database. I then created my users model. This time around I will be using the devise gem for the users authentication process. Finally, I ran rails db:migrate and my model was ready.
After all this was done, I found out that I could have skipped the process of changing the database.yml file had I mentioned the kind of database I would be using while generating my app with rails new app --database postgresql.
Did I learn something today? Yes, I did even though I did not get a lot of coding hours logged in today. I intend to start working with devise tomorrow, so I tomorrow's post will be all about getting started with the devise gem.
Top comments (0)