Last active
October 4, 2024 14:01
-
-
Save jwo/4512764 to your computer and use it in GitHub Desktop.
Sample config/database.yml from Rails. Postgres, MySQL, and SQLite
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Install the MYSQL driver | |
# gem install mysql2 | |
# | |
# Ensure the MySQL gem is defined in your Gemfile | |
# gem 'mysql2' | |
# | |
# And be sure to use new-style password hashing: | |
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html | |
development: | |
adapter: mysql2 | |
encoding: utf8 | |
reconnect: false | |
database: sample_sqlite3_development | |
pool: 5 | |
username: root | |
password: | |
socket: /tmp/mysql.sock | |
# Warning: The database defined as "test" will be erased and | |
# re-generated from your development database when you run "rake". | |
# Do not set this db to the same as development or production. | |
test: | |
adapter: mysql2 | |
encoding: utf8 | |
reconnect: false | |
database: sample_sqlite3_test | |
pool: 5 | |
username: root | |
password: | |
socket: /tmp/mysql.sock | |
production: | |
adapter: mysql2 | |
encoding: utf8 | |
reconnect: false | |
database: sample_sqlite3_production | |
pool: 5 | |
username: root | |
password: | |
socket: /tmp/mysql.sock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# PostgreSQL. Versions 8.2 and up are supported. | |
# | |
# Install the pg driver: | |
# gem install pg | |
# On Mac OS X with macports: | |
# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config | |
# On Windows: | |
# gem install pg | |
# Choose the win32 build. | |
# Install PostgreSQL and put its /bin directory on your path. | |
# | |
# Configure Using Gemfile | |
# gem 'pg' | |
# | |
development: | |
adapter: postgresql | |
encoding: unicode | |
database: sample_postgres_development | |
pool: 5 | |
username: sample_postgres | |
password: | |
# Connect on a TCP socket. Omitted by default since the client uses a | |
# domain socket that doesn't need configuration. Windows does not have | |
# domain sockets, so uncomment these lines. | |
#host: localhost | |
#port: 5432 | |
# Schema search path. The server defaults to $user,public | |
#schema_search_path: myapp,sharedapp,public | |
# Minimum log levels, in increasing order: | |
# debug5, debug4, debug3, debug2, debug1, | |
# log, notice, warning, error, fatal, and panic | |
# The server defaults to notice. | |
#min_messages: warning | |
# Warning: The database defined as "test" will be erased and | |
# re-generated from your development database when you run "rake". | |
# Do not set this db to the same as development or production. | |
test: | |
adapter: postgresql | |
encoding: unicode | |
database: sample_postgres_test | |
pool: 5 | |
username: sample_postgres | |
password: | |
production: | |
adapter: postgresql | |
encoding: unicode | |
database: sample_postgres_production | |
pool: 5 | |
username: sample_postgres | |
password: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# MySQL. Versions 4.1 and 5.0 are recommended. | |
# | |
# Install the MYSQL driver | |
# gem install mysql2 | |
# | |
# Ensure the MySQL gem is defined in your Gemfile | |
# gem 'mysql2' | |
# | |
# And be sure to use new-style password hashing: | |
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html | |
development: | |
adapter: mysql2 | |
encoding: utf8 | |
reconnect: false | |
database: sample_sqlite3_development | |
pool: 5 | |
username: root | |
password: | |
socket: /tmp/mysql.sock | |
# Warning: The database defined as "test" will be erased and | |
# re-generated from your development database when you run "rake". | |
# Do not set this db to the same as development or production. | |
test: | |
adapter: mysql2 | |
encoding: utf8 | |
reconnect: false | |
database: sample_sqlite3_test | |
pool: 5 | |
username: root | |
password: | |
socket: /tmp/mysql.sock | |
production: | |
adapter: mysql2 | |
encoding: utf8 | |
reconnect: false | |
database: sample_sqlite3_production | |
pool: 5 | |
username: root | |
password: | |
socket: /tmp/mysql.sock |
if your docker-compose.yml file is something like this:
db_postgres:
image: postgres:latest
environment:
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
POSTGRES_DB: mydb
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- mynetwork
so you can configure your database.yml with the host property using the name of your service in your docker-compose
default: &default
adapter: postgresql
encoding: unicode
host: db_postgres # service name of the database in your Docker Compose
username: myuser
password: mypassword
database: mydb
You can use this example in others sections "test", "development" or "production"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
config database.yml postgres