Data source can be setup in application.yml
. You need to fill in 3 environments, and they are production, test, and development. Here is an example of it. You need to fill in your own *
below.
Assume using MS SQL Server 2012.
dataSource: pooled: true jmxExport: true driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver username: ******** password: ******** environments: development: dataSource: logSql: true # dbCreate: create-drop dbCreate: none dialect: org.hibernate.dialect.SQLServer2012Dialect url: jdbc:sqlserver://***.***.***.***:1433;databaseName=*****;charset=utf8;useUnicode=yes&characterEncoding=UTF-8 properties: jmxEnabled: true initialSize: 5 maxActive: 50 minIdle: 5 maxIdle: 25 maxWait: 10000 maxAge: 600000 timeBetweenEvictionRunsMillis: 5000 minEvictableIdleTimeMillis: 60000 validationQuery: SELECT 1 validationQueryTimeout: 3 validationInterval: 15000 testOnBorrow: true testWhileIdle: true testOnReturn: false jdbcInterceptors: ConnectionState defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED test: dataSource: dbCreate: update url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE production: dataSource: jndiName: "java:/**********" logSql: false dbCreate: none
from https://docs.grails.org/4.0.1/guide/conf.html
driverClassName
- The class name of the JDBC driver
username
- The username used to establish a JDBC connection
password
- The password used to establish a JDBC connection
url
- The JDBC URL of the database
dbCreate
- Whether to auto-generate the database from the domain model - one of 'create-drop', 'create', 'update' or 'validate'
pooled
- Whether to use a pool of connections (defaults to true)
logSql
- Enable SQL logging to stdout
formatSql
- Format logged SQL
dialect
- A String or Class that represents the Hibernate dialect used to communicate with the database. See the org.hibernate.dialect package for available dialects.
readOnly
- If true makes the DataSource read-only, which results in the connection pool calling setReadOnly(true) on each Connection
transactional
- If false leaves the DataSource’s transactionManager bean outside the chained BE1PC transaction manager implementation. This only applies to additional datasources.
persistenceInterceptor
- The default datasource is automatically wired up to the persistence interceptor, other datasources are not wired up automatically unless this is set to true
properties
- Extra properties to set on the DataSource bean. See the Tomcat Pool documentation. There is also a Javadoc format documentation of the properties.
jmxExport
- If false, will disable registration of JMX MBeans for all DataSources. By default JMX MBeans are added for DataSources with jmxEnabled = true in properties.
type
- The connection pool class if you want to force Grails to use it when there are more than one available.