使用Scala(Play+Slick)配置AlwaysData数据库连接字符串的问题
如何正确配置AlwaysData与Scala(Play+Slick)的数据库连接字符串?
我正在使用Scala结合Play框架与Slick开发应用,当前配置如下:
build.sbt 配置
scalaVersion := "2.13.10" libraryDependencies += guice libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "5.1.0" % Test libraryDependencies += "org.postgresql" % "postgresql" % "42.5.0" libraryDependencies += "com.typesafe.play" %% "play-slick" % "5.1.0"
application.conf 配置
slick.dbs.default.profile = "slick.jdbc.PostgresProfile$" slick.dbs.default.db.driver = "org.postgresql.Driver" slick.dbs.default.db.url = "postgresql-stevapp.alwaysdata.net:5432" slick.dbs.default.db.user = "XXXX" slick.dbs.default.db.password="YYYYY"
当前出现无效JDBC连接URL的错误,无法建立数据库连接。
正确配置方案
AlwaysData的PostgreSQL数据库连接URL需要遵循标准JDBC格式,必须包含数据库名称,修正后的db.url格式如下:
slick.dbs.default.db.url = "jdbc:postgresql://postgresql-stevapp.alwaysdata.net:5432/你的数据库名称"
需要注意:
- 前缀必须添加
jdbc:postgresql://,这是PostgreSQL JDBC驱动要求的标准前缀 - 末尾必须追加你在AlwaysData后台创建的具体数据库名称(比如你的用户名对应的默认数据库,或者自定义创建的数据库名)
- 保持
user和password为你在AlwaysData平台的数据库账号凭据
修正后的完整application.conf示例:
slick.dbs.default.profile = "slick.jdbc.PostgresProfile$" slick.dbs.default.db.driver = "org.postgresql.Driver" slick.dbs.default.db.url = "jdbc:postgresql://postgresql-stevapp.alwaysdata.net:5432/stevapp_db" # 替换为你的数据库名 slick.dbs.default.db.user = "XXXX" slick.dbs.default.db.password="YYYYY"
确认依赖版本:当前使用的play-slick 5.1.0、Scala 2.13.10与PostgreSQL驱动42.5.0版本兼容,无需调整依赖配置。
内容的提问来源于stack exchange,提问作者user609511
相关产品推荐
相关产品推荐

