2012-09-07 30 views
1

,將會有一個名爲DataSource.groovy的文件。比如如下:如何在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設置在運行時動態。

+0

爲什麼你需要動態主機? – chrislovecnm

回答

1

如果您有不同的MongoDB主機,您可以使用DataSource.groovy中的environments閉包設置開發,測試和生產的不同環境。

在你上面的例子,假設您正在使用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

+0

非常感謝,我很抱歉,我的意思是「主機」在運行之前是未知的。 –

+0

你什麼時候知道主持人?有點困惑。 – chrislovecnm

相關問題