我怎么能动态更新Datasource.groovy文件

时间:2012-09-07 17:44:28

标签: grails

在grails项目中,会有一个名为DataSource.groovy的文件。如下:

dataSource {
  pooled = true
  driverClassName = "org.h2.Driver"
  username = "sa"
  password = ""
}

mongodb {
  host = 127.0.0.1// adjust this according to your settings
  port = 27017
  databaseName = 'test'
  username = 'user'  // database user and password, if server requires authentication
  password = 's3cret' 
}

我的问题是如何在运行时动态设置示例mongodb.host

1 个答案:

答案 0 :(得分:1)

如果您有不同的MongoDB主机,则可以使用environments中的DataSource.groovy关闭为开发,测试和生产设置不同的环境。

在上面的示例中,假设您使用localhost 127.0.0.1进行开发,使用mongo-prodserver进行制作

environments {
   development {
       grails {
           mongo {
               host = "127.0.0.1"
               port = 27017
               username = "user"
               password= "s3cret"
               databaseName = "test"
           }
       }
   }
   production {
       grails {
           mongo {
               host = "mongo-prodserver"
               port = 27017
               username = "user"
               password= "s3cret"
               databaseName = "prod"
           }
       }
   }
   ...
}

以下是Grails Doc on DataSources and Environments的链接。