Scala 玩can';找不到数据库

Scala 玩can';找不到数据库,scala,jdbc,playframework,Scala,Jdbc,Playframework,所以,三天来,我在游戏方面遇到了各种各样的问题,我对这个框架还不熟悉,但我不知道发生了什么。所以,在我无法使用Slick之后,由于一些期货永远不会返回价值,我决定改用Anorm。它成功了,直到我决定添加第二个存储库。。。之后,我现在无法加载我的页面,因为我一直收到以下消息: @769g71c3d - Internal server error, for (GET) [/] -> play.api.UnexpectedException: Unexpected exception[Prov

所以,三天来,我在游戏方面遇到了各种各样的问题,我对这个框架还不熟悉,但我不知道发生了什么。所以,在我无法使用Slick之后,由于一些期货永远不会返回价值,我决定改用Anorm。它成功了,直到我决定添加第二个存储库。。。之后,我现在无法加载我的页面,因为我一直收到以下消息:

@769g71c3d - Internal server error, for (GET) [/] ->

play.api.UnexpectedException: Unexpected exception[ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.IllegalArgumentException: Could not find database for pmf
  at dao.ActivityTypeRepository.<init>(ActivityTypeDAO.scala:13)
  at dao.ActivityTypeRepository.class(ActivityTypeDAO.scala:13)
  while locating dao.ActivityTypeRepository
    for the 1st parameter of services.ActivityTypeServiceImpl.<init>(ActivityTypeService.scala:17)
  while locating services.ActivityTypeServiceImpl
  while locating services.ActivityTypeService
这些是我的课程:

@Singleton

class ActivityTypeRepository @Inject()(dbapi: DBApi)(implicit ec: ExecutionContext) {

    private val db = dbapi.database(RepositorySettings.dbName)

    private[dao] val activityTypeMapping = {

        get[Int]("activityType.id") ~
        get[String]("activityType.name") map {
            case id ~ name => ActivityType(id, name)
        }
    }

    def listAll: Future[Seq[ActivityType]] = Future {

        db.withConnection { implicit conn =>

            SQL("SELECT * FROM ActivityType").as(activityTypeMapping *)
        }
    }
}

@Singleton
class UserRepository @Inject()(dbApi: DBApi)(implicit ec: ExecutionContext){

    private val db = dbApi.database(RepositorySettings.dbName)

    private[dao] val userMapping = {

        get[Option[Long]]("users.id") ~
          get[String]("users.email") ~
          get[Option[String]]("users.name") ~
          get[Option[String]]("users.surname") map {
            case id ~ email ~ name ~ surname => User(id, email, name, surname)
        }
    }

    def add(user: User): Future[Option[Long]] = Future {

        db.withConnection { implicit conn =>

            SQL"INSERT INTO users(id, email, name, surname) VALUES (${user.id}, ${user.email}, ${user.name}, ${user.surname})".executeInsert()
        }
    }

    def find(id: Long): Future[Option[User]] = Future {

        db.withConnection { implicit conn =>

            SQL"SELECT * FROM User WHERE id = $id".as(userMapping *).headOption
        }
    }

    def findByEmail(email: String): Future[Option[User]] = Future {

        db.withConnection { implicit conn =>

            SQL"SELECT * FROM User WHERE email = $email".as(userMapping *).headOption
        }
    }

    def listAll: Future[Seq[User]] = Future {

        db.withConnection { implicit conn =>

            SQL("SELECT * FROM User").as(userMapping *)
        }
    }
}
编辑

添加到application.conf

db {
   default.driver = org.postgresql.Driver
   default.url = "jdbc:postgresql://localhost:5432/pmf_visualizations"
}

但是没有变化。

Marin,您可能应该向我们展示更多配置的详细信息您的数据库名称是什么?您似乎忘了在配置文件中设置它,它现在是
DATABASENAME
您需要用真实的数据库名替换它。我确实替换了它。用于Slick插件(粘贴)的DB conf不是用于播放JDBC的
db {
   default.driver = org.postgresql.Driver
   default.url = "jdbc:postgresql://localhost:5432/pmf_visualizations"
}