play { modules { enabled += "play.api.db.DBModule" enabled += "play.api.db.HikariCPModule" } # Database configuration db { # The name of the configuration item from which to read database config. # So, if set to db, means that db.default is where the configuration for the # database named default is found. config = "db" # The name of the default database, used when no database name is explicitly # specified. default = "default" # The default connection pool. # Valid values are: # - default - Use the default connection pool provided by the platform (HikariCP) # - hikaricp - Use HikariCP # - bonecp - Use BoneCP # - A FQCN to a class that implements play.api.db.ConnectionPool pool = "default" # The prototype for database configuration prototype = { # The connection pool for this database. # Valid values are: # - default - Delegate to play.db.pool # - hikaricp - Use HikariCP # - bonecp - Use BoneCP # - A FQCN to a class that implements play.api.db.ConnectionPool pool = "default" # The database driver driver = null # The database url url = null # The username username = null # The password password = null # If non null, binds the JNDI name to this data source to the given JNDI name. jndiName = null # HikariCP configuration options hikaricp { # The datasource class name, if not using a URL dataSourceClassName = null # Data source configuration options dataSource { } # Whether autocommit should be used autoCommit = true # The connection timeout connectionTimeout = 30 seconds # The idle timeout idleTimeout = 10 minutes # The max lifetime of a connection maxLifetime = 30 minutes # If non null, the query that should be used to test connections connectionTestQuery = null # If non null, sets the minimum number of idle connections to maintain. minimumIdle = null # The maximum number of connections to make. maximumPoolSize = 10 # If non null, sets the name of the connection pool. Primarily used for stats reporting. poolName = null # Sets whether or not construction of the pool should fail if the minimum number of connections # coludn't be created. initializationFailFast = true # Sets whether internal queries should be isolated isolateInternalQueries = false # Sets whether pool suspension is allowed. There is a performance impact to enabling it. allowPoolSuspension = false # Sets whether connections should be read only readOnly = false # Sets whether mbeans should be registered registerMbeans = false # If non null, sets the catalog that should be used on connections catalog = null # If non null, sets the transaction isolation level transactionIsolation = null # The validation timeout to use validationTimeout = 5 seconds # If non null, sets the threshold for the amount of time that a connection has been out of the pool before it is # considered to have leaked leakDetectionThreshold = null } # BoneCP configuration options bonecp { # Whether autocommit should be used autoCommit = true # If non null, the transaction isolation level to use. isolation = null # If non null, sets the catolog to use defaultCatalog = null # Whether the database should be treated as read only readOnly = false # Whether opened statements should be automatically closed closeOpenStatements = true # The pool partition count partitionCount = 1 # The maximum number of connections per partition maxConnectionsPerPartition = 30 # The minimum number of connections per partition minConnectionsPerPartition = 5 # The increment to acquire connections in acquireIncrement = 1 # The acquire retry attempts acquireRetryAttempts = 10 # The delay to wait before retrying to acquire a connection acquireRetryDelay = 1 second # The connection timeout connectionTimeout = 1 second # The idle age to expire connections idleMaxAge = 10 minutes # The maximum a connection should live for maxConnectionAge = 1 hour # Whether JMX reporting should be disabled disableJMX = true # Whether statistics should be kept statisticsEnabled = false # How frequently idle connections should be tested idleConnectionTestPeriod = 1 minute # Disable connection tracking disableConnectionTracking = true # The time limit for executing queries. 0 means no time limit. queryExecuteTimeLimit = 0 # Whether the connection should be reset when closed resetConnectionOnClose = false # Whether unresolved transations should be detected detectUnresolvedTransactions = false # An SQL statement to execute to test if a connection is ok after it is created. # Null turns this feature off. initSQL = null # An SQL statement to execute to test if a connection is ok before giving it out of the pool. # Null turns this feature off. connectionTestStatement = null # Whether SQL statements should be logged logStatements = false } } } # Evolutions configuration evolutions { # Whether evolutions are enabled enabled = true # Whether evolution updates should be performed with autocommit or in a manually managed transaction autocommit = true # Whether locks should be used when apply evolutions. If this is true, a locks table will be created, and will # be used to synchronise between multiple Play instances trying to apply evolutions. Set this to true in a multi # node environment. useLocks = false # Whether evolutions should be automatically applied. In prod mode, this will only apply ups, in dev mode, it will # cause both ups and downs to be automatically applied. autoApply = false # Whether downs should be automatically applied. This must be used in combination with autoApply, and only applies # to prod mode. autoApplyDowns = false # Db specific configuration. Should be a map of db names to configuration in the same format as this. db { } } }