teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

修正

2019/12/26 05:55

投稿

sk_73
sk_73

スコア8

title CHANGED
@@ -1,1 +1,1 @@
1
- Rails6でDB(レプリカ)の自動切り替えが正常に動作しない?
1
+ RailsでDB(レプリカ)の自動切り替えが正常に動作しない
body CHANGED
@@ -46,12 +46,12 @@
46
46
  pool: <%= ENV.fetch('RAILS_MAX_THREADS') { 5 } %>
47
47
  timeout: 5000
48
48
  database: <%= ENV['DB_NAME'] %>
49
- # ↓Railsガイドではprimaryと異なるuserを記載していたが、異なるusernameを実際に記載すると、DB読み込みも書き込みも必要のない処理まで失敗するようになっためprimaryと同じusernameを使用
49
+ # primaryとは別のusername
50
- username: <%= ENV['DB_USERNAME'] %>
50
+ username: <%= ENV['DB_READ_USERNAME'] %>
51
51
  password: <%= ENV['DB_PASSWORD'] %>
52
52
  host: <%= ENV['DB_REPLICA_HOSTNAME'] %>
53
53
  port: <%= ENV['DB_PORT'] %>
54
- #レプリカ明示
54
+ # レプリカ明示
55
55
  replica: true
56
56
  ```
57
57
  ```ここに言語名を入力
@@ -81,7 +81,6 @@
81
81
  →変化無し
82
82
 
83
83
  ### 最後に
84
- database.ymlのprimaryとprimary_replicaに同じusernameを使用(Railsガイドでは異なるuserを使用)しているのが気がかりです。
85
84
 
86
85
  できれば、switch_point等のgemは使用せずに解決したいと思っています。
87
86
 

5

2019/12/26 05:55

投稿

sk_73
sk_73

スコア8

title CHANGED
@@ -1,1 +1,1 @@
1
- Rails6でDB(レプリカ)の自動切り替えが正常に動作しない
1
+ Rails6でDB(レプリカ)の自動切り替えが正常に動作しない?
body CHANGED
File without changes

4

2019/12/25 18:33

投稿

sk_73
sk_73

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  ### 前提
2
2
 
3
+
3
4
  Ruby on RailsでWebアプリケーションを作っています。
4
5
  DBをRDS for Mysql(リードレプリカ無し)からRDS Aurora Mysql(Auroraレプリカ有り)へ変更した際、問題が発生しました。
5
6
 

3

追記

2019/12/25 15:04

投稿

sk_73
sk_73

スコア8

title CHANGED
File without changes
body CHANGED
@@ -82,6 +82,8 @@
82
82
  ### 最後に
83
83
  database.ymlのprimaryとprimary_replicaに同じusernameを使用(Railsガイドでは異なるuserを使用)しているのが気がかりです。
84
84
 
85
+ できれば、switch_point等のgemは使用せずに解決したいと思っています。
86
+
85
87
  解決の糸口となるアドバイスを頂けたらと思います。
86
88
 
87
89
  どうぞよろしくお願い致します。

2

追記

2019/12/25 12:25

投稿

sk_73
sk_73

スコア8

title CHANGED
File without changes
body CHANGED
@@ -14,10 +14,10 @@
14
14
  ```ここに言語を入力
15
15
  これまで正常に動作していた下記の処理がエラーを起こすようになりました(トークンを使用する処理を行うとpublic/500.htmlが表示される)。
16
16
  ・アカウント有効化処理(Ruby on Rails Turorialとほぼ同様)
17
+ ※ユーザーデータをDBに保存することはできる
17
18
  ・パスワードリセット処理(Ruby on Rails Turorialとほぼ同様)
18
19
  ・omniauth-twitterによるtwitter認証処理
19
20
 
20
- よって、ユーザーの作成と更新が行えなくなりました。
21
21
  ```
22
22
 
23
23
  ### 実現したいこと

1

誤字

2019/12/25 12:01

投稿

sk_73
sk_73

スコア8

title CHANGED
File without changes
body CHANGED
@@ -64,7 +64,7 @@
64
64
  end
65
65
  ```
66
66
  ```ここに言語名を入力
67
- production.rb (一部抜粋)
67
+ # production.rb (一部抜粋)
68
68
  config.active_record.database_selector = { delay: 2.seconds }
69
69
  config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver
70
70
  config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session