私はデータベース接続をparameters.yml
ファイルに保存する理由を理解していますが、追加のデータベース接続だけでなく、 dev、stage、prod環境をサポートします。 config_dev.yml
、config_test.yml
、config_prod.yml
とconfig.yml
と一緒にこれを行うことができると私は考えましたか?データベース接続用のparameters.ymlとconfig_(dev | stage | prod).ymlとの混乱
parameters.yml
私はメインデータベース接続を保持していますが、これを代わりにconfig(s)に移動できますか?
例:config.yml
# Doctrine Configuration - notice there is no host defined here
doctrine:
dbal:
default_connection: blah
connections:
blah:
driver: pdo_pgsql
port: 5432
dbname: blah
user: blah_user
password: blah_pass
charset: UTF8
foo:
driver: pdo_pgsql
port: 5432
dbname: foo
user: foo_user
password: foo_pass
charset: UTF8
例:config_dev.yml
# Doctrine Configuration - Here I define the dev hosts
doctrine:
dbal:
connections:
blah:
host: blah_dev
foo:
host: foo_dev
例:config_test.yml
# Doctrine Configuration - Here I define the stage or QA hosts
doctrine:
dbal:
connections:
blah:
host: blah_stage
foo:
host: foo_stage
例:config_prod.yml
# Doctrine Configuration - Here I define the prod hosts
doctrine:
dbal:
connections:
blah:
host: blah_prod
foo:
host: foo_prod
私はparameters.yml
の設定も削除しましたが、Symfony/Doctrineではこれが嫌です。何か不足していますか?私のようにセットアップするにはどうすればいいですか?私はparameters.yml
のデフォルトのデータベース接続を定義した場合
今、私はそれに接続し、
parameters:
database_driver: pdo_pgsql
database_host: blah_prod
database_port: 5432
database_name: blah
database_user: blah_user
database_password: blah_pass
とconfig.yml
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
にしかし、今、私は私が必要とする複数のデータベースを失うことができ、開発者からステージに切り替えてデータベースサーバーをプロデュースする機能
これが解決されている場合は、いくつかの追加のドキュメントが不足している可能性があります。
私は教義
で複数のデータベース接続のためのドキュメントを見てきました。しかし、私は、各devに関する以下のような3つのデータベース・オプションを追加することを避けるために希望、ステージとPRODサーバーparameters.yml
parameters:
database_driver: pdo_pgsql
database_host: blah_dev
database_port: 5432
database_name: blah
database_user: blah_user
database_password: blah_pass
#database_driver2: pdo_pgsql
database_host2: blah_stage
#database_port2: 5432
#database_name2: blah
#database_user2: blah_user
#database_password2: blah_pass
#database_driver3: pdo_pgsql
database_host3: blah_prod
#database_port3: 5432
#database_name3: blah
#database_user3: blah_user
#database_password3: blah_pass
(別のホストを設定するだけでもよいでしょう)
これは醜いとPITAに見えますが、これはちょっとしたデータベースのためのものです。私はこれをfooと設定する必要がある他のデータベースに対して行う必要があります。
ありがとうございます、私はあなたが示唆したドキュメントを見ましたが、それでも私の状況には役立ちません。なぜ私はこの設定をしたいのかという理由からです。 1)私は複数のデータベースサーバを持っている、2)私は複数の環境(dev、stage、prod、QA)を持っており、3)これらの変更を行う能力。その他の提案はありますか? {:parameters.ymlリソース} とconfig_dev.ymlとconfig_prod.ymlに 輸入を追加: - - {リソース:parameters_dev.yml}または - {リソースを : –
はたぶん、あなただけのconfig.ymlで 輸入を取り外す必要があります:parameters_prod.yml} – nvvetal