微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Spring Boot如何识别Heroku的DATABASE_URL配置变量?

短篇故事:

Spring Boot如何解析DATABASE_URL配置变量?在我的本地PC上设置具有相同名称的环境属性无效.涉及Spring Boot库中的哪些类? DATABASE_URL上的全文搜索不返回任何内容.

很长的故事:

我最近在Heroku上部署了一个简单的Spring Boot JPA应用程序.我的heroku已经配置了Postgres附加组件.

在我的第一次部署期间,我只想确认应用程序是否正确构建和启动.令我惊讶的是,应用程序立即连接到Heroku的DATABASE_URL配置var中配置的Postgres数据库

2018-11-30T09:28:51.054688+00:00 app[web.1]: 2018-11-30 09:28:51.054  INFO 4 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.Postgresql95Dialect

这引出了我上面已经发布的问题.

我正在使用Spring引导2.1.0.,simple app创建的simple app,以及Web JPA H2 Postgresql.包括H2,因为:

>我想用嵌入式H2运行单元测试
>大部分时间,我想在本地使用嵌入式H2运行我的应用程序,但有时,我想切换到Heroku的Postgres,以便我可以验证一些特定于数据库内容(例如迁移)

解决方法:

Spring不知道DATABASE_URL(据我所知).但它确实检测并自动使用了运行时Heroku Java buildpack设置的SPRING_DATASOURCE_URL.

您可以在Connecting to Relational Databases on Heroku with Java的Heroku文档中阅读有关此env var的更多信息

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐