databases.yml 設定ファイル
~databases.yml
~ では、データベースコネクション (接続) のコンフィギュレーションを変更できます。この設定ファイルは symfony に搭載されている ORM である Propel と Doctrine の両方で使われます。
プロジェクトのメイン設定ファイルである databases.yml
は config/
ディレクトリで見つかります。
ほとんどの場合、プロジェクトのすべてのアプリケーションは同じデータベースを共有します。このことがデータベースのメイン設定ファイルがプロジェクトの
config/
ディレクトリに存在する理由です。もちろんアプリケーションのconfig
ディレクトリのなかでdatabases.yml
設定ファイルを定義することで、デフォルトコンフィギュレーションをオーバーライドできます。
設定ファイルの原則の章で説明したように、databases.yml
ファイルでは、環境が認識され、コンフィギュレーションカスケードのメカニズムがはたらき、定数を定義することができます。
databases.yml
のなかのそれぞれのコネクションでは、データベースオブジェクトを設定するために使う名前、データベースハンドラクラスの名前、パラメータ (param
) の設定を指定しなければなりません:
---
CONNECTION_NAME:
class: CLASS_NAME
param: { ARRAY OF PARAMETERS }
class
クラスは sfDatabase
基底クラスを継承します。
データベースハンドラクラスがオートロードされない場合、ファクトリが作られる前に file
パスが定義され、自動的にインクルードされます:
---
CONNECTION_NAME:
class: CLASS_NAME
file: ABSOLUTE_PATH_TO_FILE
databases.yml
設定ファイルは PHP ファイルとしてキャッシュされます。処理は ~sfDatabaseConfigHandler
~ クラスによって自動管理されます。
データベースのコンフィギュレーションを変更する作業は
database:configure
タスクでも行うことができます。このタスクは引数に渡された値にしたがってdatabases.yml
を更新します。
Propel
デフォルトコンフィギュレーション:
d次のパラメータは param
セクションの下でカスタマイズできます:
キー | 説明 | デフォルト |
---|---|---|
classname |
Propel のアダプタクラス | PropelPDO |
dsn |
PDO の DSN (必須) | - |
username |
データベースのユーザー名 | - |
password |
データベースのパスワード | - |
pooling |
プーリングを有効にするか | true |
encoding |
デフォルトのエンコーディング | utf8 |
persistent |
永続的なコネクションを作成するか | false |
options |
Propel オプションのセット | - |
debug |
DebugPDO クラスのオプション |
n/a |
debug
エントリは Propel のドキュメントで説明されているすべてのオプションを定義します。次の YAML は利用可能なオプションを示します:
---
debug:
realmemoryusage: true
details:
time:
enabled: true
slow:
enabled: true
threshold:
memdelta:
enabled: true
mempeak:
enabled: true
method:
enabled: true
mem:
enabled: true
querycount:
enabled: true
Doctrine
デフォルトコンフィギュレーション:
---
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql
username: root
password:
attributes:
quote_identifier: false
use_native_enum: false
validate: all
idxname_format: %s_idx
seqname_format: %s_seq
tblname_format: %s
次のパラメータは param
セクションの下でカスタマイズできます:
キー | 説明 | デフォルト |
---|---|---|
dsn |
PDO の DSN (必須) | - |
username |
データベースのユーザー名 | - |
password |
データベースのパスワード | - |
encoding |
デフォルトのエンコーディング | utf8 |
attributes |
Doctrine 属性のセット | - |
次の属性は attributes
セクションの下でカスタマイズできます:
キー | 説明 | デフォルト |
---|---|---|
quote_identifier |
識別子をクォートでラッピングするか | false |
use_native_enum |
ネイティブの列挙型を使うか | false |
validate |
データバリデーションを有効にするかどうか | true |
idxname_format |
インデックス名のフォーマット | %s_idx |
seqname_format |
シーケンス名のフォーマット | %s_seq |
tblname_format |
テーブル名のフォーマット | %s |
インデックス
Document Index
関連ページリスト
Related Pages
日本語ドキュメント
Japanese Documents
- 2011/01/18 Chapter 17 - Extending Symfony
- 2011/01/18 The generator.yml Configuration File
- 2011/01/18 Les tâches
- 2011/01/18 Emails
- 2010/11/26 blogチュートリアル(8) ビューの作成
リリース情報
Release Information
- 2.0 : 2.0.15(2011/05/30)
Symfony2日本語ドキュメント - 1.4 : 1.4.18(2012/05/30)
Changelog