回答編集履歴

1

データベースの設定ファイルに関する情報を追加

2016/06/06 15:11

投稿

nukosuke
nukosuke

スコア145

test CHANGED
@@ -1,3 +1,109 @@
1
1
  Railsのデータベースの設定ファイルは `config/database.yml` にあります。
2
2
 
3
3
  ファイルが存在するか、正しく設定されているか確認してください。
4
+
5
+
6
+
7
+
8
+
9
+ 追記: database.ymlの作成について
10
+
11
+
12
+
13
+ Gemfileに次のうちいずれか、あるいは複数のgemが記述されていると思います。
14
+
15
+ (使用するデータベースによって異なります。)
16
+
17
+
18
+
19
+ ```ruby
20
+
21
+ gem 'sqlite3'
22
+
23
+ gem 'pg'
24
+
25
+ gem 'mysql2'
26
+
27
+ ```
28
+
29
+
30
+
31
+ 開発用とテスト用にSQLite、本番用にMySQLを使う場合、`database.yml`は次のようになります。
32
+
33
+
34
+
35
+ ```yml
36
+
37
+ # SQLite version 3.x
38
+
39
+ # gem install sqlite3
40
+
41
+ #
42
+
43
+ # Ensure the SQLite 3 gem is defined in your Gemfile
44
+
45
+ # gem 'sqlite3'
46
+
47
+ #
48
+
49
+ default: &default
50
+
51
+ adapter: sqlite3
52
+
53
+ pool: 5
54
+
55
+ timeout: 5000
56
+
57
+
58
+
59
+ development:
60
+
61
+ <<: *default
62
+
63
+ database: db/development.sqlite3
64
+
65
+
66
+
67
+ # Warning: The database defined as "test" will be erased and
68
+
69
+ # re-generated from your development database when you run "rake".
70
+
71
+ # Do not set this db to the same as development or production.
72
+
73
+ test:
74
+
75
+ <<: *default
76
+
77
+ database: db/test.sqlite3
78
+
79
+
80
+
81
+ production:
82
+
83
+ adapter: mysql2
84
+
85
+ encoding: utf8
86
+
87
+ pool: 5
88
+
89
+ url: <%= ENV['DATABASE_URL'] %>
90
+
91
+ ```
92
+
93
+
94
+
95
+ development, test, productionのセクションはそれぞれ、開発用、テスト用、本番用に用いるデータベースの設定です。本番用にはpg(PostgreSQL)やmysql2(MySQL)を用いるのが一般的です。
96
+
97
+
98
+
99
+ あと、本番用データベースのユーザ名やパスワードはセキュリティの観点から普通は設定ファイルに記述しません。
100
+
101
+ 環境変数を使って設定してください。
102
+
103
+
104
+
105
+ ```bash
106
+
107
+ export DATABASE_URL=mysql2://myuser:mypass@localhost/somedatabase
108
+
109
+ ```