読者です 読者をやめる 読者になる 読者になる

【Rails】Railsのデータベース環境

Ruby Rails

 

Railsプロジェクトの作成

sqlite3(デフォルト)

>rails new myapp

 

postgresql

>rails new myapp -d postgresql

 

▼Gemfile

sqlite3

gem 'sqlite3'

 

postgresql

gem 'pg', '~> 0.18'

 

▼database.yml

config/database.yml にDBの接続方法などを定義

sqlite3

default: &default
 adapter: sqlite3
 pool: 5
 timeout: 5000

development:
 <<: *default
 database: db/development.sqlite3

test:
 <<: *default
 database: db/test.sqlite3

production:
 <<: *default
 database: db/production.sqlite3

 

postgresql

default: &default
 adapter: postgresql
 encoding: unicode
 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
 <<: *default
 database: db_name
 username: postgres

test:
 <<: *default
 database: girls_test

production:
 <<: *default
 database: db_name
 username: postgres
 password: <%= ENV['GIRLS_DATABASE_PASSWORD'] %>

 

ActiveRecord

#sqlite3はpostgresqlと違いパスワードは不要
#指定できるオプションはconfig/database.ymlで指定する内容と同じ

 

sqlite3
ActiveRecord::Base.establish_connection(
  "adapter" => "sqlite3",
  "database" => "blog"
);

 

postgresql

ActiveRecord::Base.establish_connection(
  "adapter" => "postgresql",
  "encoding" => "unicode",
  "username" => "postgres",
  "database" => "blog"
);