Follow the instructions in the installation guide below that corresponds to your operating system:
- macOS
- Postgres.app: PostgreSQL installation as a Mac app
- Homebrew: if you use Homebrew you can easily install PostgreSQL with
brew install postgresql
- Linux (Ubuntu)
- Windows
You can find all installation options for a variety of operating systems on the official PostgreSQL download page.
By default the application is configured to connect to a local database named PracticalDeveloper_development
. If you need to specify a username and a password you can go about it two ways: using the environment variable DATABASE_URL
with a connection string (preferred method) or modifying the file database.yml
.
The official Rails guides go into depth on how Rails merges the existing database.yml
with the connection string.
-
Open your
config/application.yml
-
Add the following:
DATABASE_URL: postgresql://USERNAME:PASSWORD@localhost
- Replace
USERNAME
with your database username,PASSWORD
with your database password.
You can find more details on connection strings in PostgreSQL's own documentation.
NOTE: due to how Rails merges database.yml
and DATABASE_URL
it's recommended not to add the database name in the connection string. This will default to your development database name also during tests, which will effectively empty the development DB each time tests are run.
The other option is to change the database.yml
directly.
Update your database.yml
file with username
and password
:
development:
<<: *default
username: USERNAME
password: PASSWORD
test:
<<: *default
username: USERNAME
password: PASSWORD
Keep in mind not to commit your modified database.yml
containing your credentials under any circumstances to any repository.
- While running test cases, if you get an error message
postgresql connection timeout
. Go to yourspec/support/database_cleaner.rb
file. And rename:truncation
with:deletion
.
Please, do not commit database_cleaner.rb
to the repository either.