玩框架 PostgreSQL 连接字符串
Play framework PostgreSQL connection string
我无法使用如下常规字符串配置我的 Play 框架 PostgreSQL 连接:
db.default.driver=org.postgresql.Driver
db.default.url="postgres://localhost:5432/mydb"
我收到错误 "Cannot connect to database [default]"。
如果我将 URL 更改为:
,它会起作用
db.default.url="jdbc:postgresql://localhost:5432/mydb"
但我想坚持使用以前的版本,因为环境已经配置了这样的变量。
我正在使用带有 Java 1.8 和以下 JDBC 驱动程序的最新 Play (2.3.8):
libraryDependencies += "org.postgresql" % "postgresql" % "9.4-1201-jdbc4"
如果连接字符串包含用户名/密码信息,则看起来正常:
db.default.url="postgres://postgres:postgres@localhost:5432/mydb"
这是限制还是我遗漏了什么?
您需要在 url 前面指定 jdbc 以了解要加载哪个驱动程序处理数据库连接
您在这里输入的内容:
db.default.url="postgres://localhost:5432/mydb"
不是 'regular string',而是一个不正确的值。
即使您设法找到一种方法来坚持使用它(Play 是开源的,所以没有人可以阻止您),它也会让所有查看此设置的开发人员感到困惑,这包括未来的您。
在原始上下文之外使用配置键是一种冒险的做法,因此您应该对抗它而不是框架。
如果你想避免重复你的配置字符串那么你应该做的是这样的:
my.db.address="localhost:5432/mydb"
db.default.url="jdbc:postgresql://"${my.db.address}
my.reusable.key="postgres://"${my.db.address}
并在需要时使用 my.reusable.key
,同时让 db.default.url
发挥作用。
回答您对可能的限制的疑问,我认为您可能错过了明确标出正确配置字符串的文档:https://www.playframework.com/documentation/2.3.8/SettingsJDBC
我无法使用如下常规字符串配置我的 Play 框架 PostgreSQL 连接:
db.default.driver=org.postgresql.Driver
db.default.url="postgres://localhost:5432/mydb"
我收到错误 "Cannot connect to database [default]"。
如果我将 URL 更改为:
,它会起作用db.default.url="jdbc:postgresql://localhost:5432/mydb"
但我想坚持使用以前的版本,因为环境已经配置了这样的变量。
我正在使用带有 Java 1.8 和以下 JDBC 驱动程序的最新 Play (2.3.8):
libraryDependencies += "org.postgresql" % "postgresql" % "9.4-1201-jdbc4"
如果连接字符串包含用户名/密码信息,则看起来正常:
db.default.url="postgres://postgres:postgres@localhost:5432/mydb"
这是限制还是我遗漏了什么?
您需要在 url 前面指定 jdbc 以了解要加载哪个驱动程序处理数据库连接
您在这里输入的内容:
db.default.url="postgres://localhost:5432/mydb"
不是 'regular string',而是一个不正确的值。
即使您设法找到一种方法来坚持使用它(Play 是开源的,所以没有人可以阻止您),它也会让所有查看此设置的开发人员感到困惑,这包括未来的您。
在原始上下文之外使用配置键是一种冒险的做法,因此您应该对抗它而不是框架。 如果你想避免重复你的配置字符串那么你应该做的是这样的:
my.db.address="localhost:5432/mydb"
db.default.url="jdbc:postgresql://"${my.db.address}
my.reusable.key="postgres://"${my.db.address}
并在需要时使用 my.reusable.key
,同时让 db.default.url
发挥作用。
回答您对可能的限制的疑问,我认为您可能错过了明确标出正确配置字符串的文档:https://www.playframework.com/documentation/2.3.8/SettingsJDBC