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) ビューの作成