The databases.yml Configuration File
The ~databases.yml
~ configuration allows for the configuration of the database connection. It is used by both ORMs bundled with symfony: Propel and Doctrine.
The main databases.yml
configuration file for a project can be found in the config/
directory.
Most of the time, all applications of a project share the same database. That's why the main database configuration file is in the project
config/
directory. You can of course override the default configuration by defining adatabases.yml
configuration file in your application configuration directories.
As discussed in the introduction, the databases.yml
file is environment-aware, benefits from the configuration cascade mechanism, and can include constants.
Each connection described in databases.yml
must include a name, a database handler class name, and a set of parameters (param
) used to configure the database object:
---
CONNECTION_NAME:
class: CLASS_NAME
param: { ARRAY OF PARAMETERS }
The class
name should extend the sfDatabase
base class.
If the database handler class cannot be autoloaded, a file
path can be defined and will be automatically included before the factory is created:
---
CONNECTION_NAME:
class: CLASS_NAME
file: ABSOLUTE_PATH_TO_FILE
The
databases.yml
configuration file is cached as a PHP file; the process is automatically managed by the ~sfDatabaseConfigHandler
~ class.
The database configuration can also be configured by using the
database:configure
task. This task updates thedatabases.yml
according to the arguments you pass to it.
Propel
Default Configuration:
dThe following parameters can be customized under the param
section:
Key | Description | Default Value |
---|---|---|
classname |
The Propel adapter class | PropelPDO |
dsn |
The PDO DSN (required) | - |
username |
The database username | - |
password |
The database password | - |
pooling |
Whether to enable pooling | true |
encoding |
The default charset | UTF8 |
persistent |
Whether to create persistent connections | false |
options |
A set of Propel options | - |
debug |
Options for the DebugPDO class |
n/a |
The debug
entry defines all the options described in the Propel documentation. The following YAML shows all the available options:
---
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
Default Configuration:
---
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
The following parameters can be customized under the param
section:
Key | Description | Default Value |
---|---|---|
dsn |
The PDO DSN (required) | - |
username |
The database username | - |
password |
The database password | - |
encoding |
The default charset | UTF8 |
attributes |
A set of Doctrine attributes | - |
The following attributes can be customized under the attributes
section:
Key | Description | Default Value |
---|---|---|
quote_identifier |
Whether to wrap identifiers with quotes | false |
use_native_enum |
Whether to use native enums | false |
validate |
Whether to enable data validation | false |
idxname_format |
Format for index names | %s_idx |
seqname_format |
Format for sequence names | %s_seq |
tblname_format |
Format for table names | %s |
インデックス
Document Index
関連ページリスト
Related Pages
Introduction
The YAML Format
Configuration File Principles
The settings.yml Configuration File
The factories.yml Configuration File
The generator.yml Configuration File
The databases.yml Configuration File
The security.yml Configuration File
The cache.yml Configuration File
The routing.yml Configuration File
The app.yml Configuration File
The filters.yml Configuration File
The view.yml Configuration File
Other Configuration Files
Events
Tasks
Appendix A - License

日本語ドキュメント
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) ビューの作成

