gpt4 book ai didi

grails - 使用OS环境中的用户名和密码配置grails数据源

转载 作者:行者123 更新时间:2023-12-02 14:10:44 25 4
gpt4 key购买 nike

我目前正在研究grails应用程序。以前,我一直在使用Django来创建webapp。在django中,您可以轻松创建从OS环境收集的设置。我发现这是确保您不将用户名和密码 checkin 源代码存储库的简便解决方案。

所以我想做的是在DataSource.groovy中能够从OS环境中输入用户名和密码。有没有人做过这样的事情,或者这不是前进的方式吗?

如果这不是“grails方式”,那么应该怎么做,因为在存储库中拥有用户名和密码会感到不对吗?

最佳答案

您可以在DataSource.groovy和Config.groovy中编写代码以获取env变量,然后设置用户名密码和其他内容。我总是将其用于生产应用程序,示例代码如下
//示例基于url结构,例如“mysql:// username:password @ host / database?autoReconnect = true&useUnicode = yes&characterEncoding = UTF-8”

dataSource {
String mysqlUrl = System.getenv("DATABASE_URL")
println ">>>>>> Got DATABASE_URL: ${mysqlUrl} <<<<<<<"

URI dbUri = new URI(mysqlUrl);
username = dbUri.userInfo.split(":")[0]
password = dbUri.userInfo.split(":")[1]

String databaseUrl = "jdbc:${dbUri.scheme}://${dbUri.host}${dbUri.path}"
if (dbUri.port > 0) {
databaseUrl += ":${dbUri.port}"
}

String query = dbUri.query ?: "reconnect=true"
query += "&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8"
databaseUrl += "?${query}"
url = databaseUrl
dialect = 'org.hibernate.dialect.MySQL5InnoDBDialect'
}

这是我确信必须有一些更简单的方法来执行此操作之一。

PS:我觉得很简单:)

关于grails - 使用OS环境中的用户名和密码配置grails数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com