* Improve format and clarity of the docs [ci skip] While this change produces a lot of git noise by enacting what seems like an arbitrary linewrap on most of the files in the documentation it will result in better version control and tracking of the changes in the documentation. For example, as it currently stands, if one was to make a PR to move a comma in a sentence because each paragraph in most of the files is on a single line, that small change would look in the git history like the author had modified the entire paragraph. In reality, this author just moved a comma. This change also includes a significant number of modifications to the more article-esque docs. Many of these docs were written in a sort of stream-of-conciousness and aren't as easy to read as they could be. Hopefully this is the first of several readability changes. If we could get these docs to a more accessible reading level, we would probably see an increase in contributions. :) * Delegate markdown wrapping to Prettier * Add linewrapping explanation in the docs [ci skip]
2.3 KiB
| title |
|---|
| PostgreSQL |
Setup your application with PostgreSQL
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.
Configuration
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 by using the environment variable DATABASE_URL
with a connection string.
The official Rails
guides
go into depth on how Rails merges the existing database.yml with the
connection string.
Setup DATABASE_URL in application.yml
-
Open your
config/application.yml -
Add the following:
DATABASE_URL: postgresql://USERNAME:PASSWORD@localhost
- Replace
USERNAMEwith your database username,PASSWORDwith 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.
Troubleshooting tests
- While running test cases, if you get an error message
postgresql connection timeout, please re-run the tests by increasing the statement timeout, for example:
STATEMENT_TIMEOUT=10000 bundle exec rspec