その他 > その他 > マスタ・スレーブ設定 |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
xcs_ts |
投稿日時: 2019/6/6 10:59
対応状況: −−−
|
新米 登録日: 2019/6/5 居住地: 投稿: 3 |
Re: マスタ・スレーブ設定 ご返答ありがとうございます。スレーブDBへ接続出来ました。
masterSlaveConnectionをwrapper_classで指定はしていましたが、以下の2点に問題がありました。 (1)doctrine.ymlにkeep_slave: trueを設定 (2)masterSlaveConnectionクラスのconnection関数にてmasterの切り替えがされていた点をコメントアウト コメントアウトした処理は以下の通りです。 if ($this->getTransactionNestingLevel() > 0) { $connectionName = 'master'; $forceMasterAsSlave = true; } 1つ疑問に思うことは、上記の処理をコメントアウトしないと、スレーブDBへの接続が行えないのものなのでしょうか? すみませんが、ご教授頂けますと幸いです。 |
tao_s |
投稿日時: 2019/6/5 20:07
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: マスタ・スレーブ設定 ちょっと設定がわからんのですが、設定が合ってるならそれで取れるはずです。 app/config/eccube/packages 配下の doctrine.yaml を見直してみてください。
Doctrine\DBAL\Connections\MasterSlaveConnection が使われる様になってるかどうかとか
|
xcs_ts |
投稿日時: 2019/6/5 18:27
対応状況: −−−
|
新米 登録日: 2019/6/5 居住地: 投稿: 3 |
Re: マスタ・スレーブ設定 ECCUBE4でのスレーブDBへの接続切り替えをコントローラーで出来ないかを検討しています。
ただ、その方法が分からないという状態でご質問しています。 試したこととしては、以下のように接続設定をしてみましたが、スレーブDBを参照したデータが取得されていないような状態となっています。 コントローラーはTopControllerのindexアクション関数で試しています。 $this->getDoctrine()->getConnection()->connect("slave"); 何かおかしな点があれば、ご指摘頂ければと思います。 |
tao_s |
投稿日時: 2019/6/5 17:12
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: マスタ・スレーブ設定 確かdoctrineがよしなに自動で切り替えてくれるはずですが、具体的に切り替えて何をしたいのでしょうか?
|
xcs_ts |
投稿日時: 2019/6/5 12:04
対応状況: −−−
|
新米 登録日: 2019/6/5 居住地: 投稿: 3 |
マスタ・スレーブ設定 ▼テンプレート
[EC-CUBE] EC-CUBE4.0.0 新規インストール [OS] linux [PHP] php7.2.15 [データベース] MySQL 5.7.26 [WEBサーバ] Apache/2.4.18 [ブラウザ] Chrome [導入プラグインの有無] なし [カスタマイズの有無] あり [現象] doctrine.yamlファイルにて、マスタ・スレーブの設定を行ったのですが、コントローラー側からスレーブDBに接続を切り替えをしたいのですが、その設定方法が分かりません。 以前にECCUBE3では以下のように接続切り替えが出来ました。 $app['db']->connect('slave'); ECCUBE4で同様なこは可能でしょうか? |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |