postgresql - 获取自定义光滑配置文件的执行异常

标签 postgresql scala slick

当我尝试使用我自己的自定义配置文件时出现异常。我之所以要使用它,是因为我想将 JSON 保存在我的 postgresql 数据库中。因此,我正在使用 pg-slick。 异常说: slick.jdbc.PostgresProfile$ 无法转换为 util.ExtendedPostgresProfile。

这是我的 ExtendedPostgresProfile 代码:

package util

import com.github.tminglei.slickpg._

trait ExtendedPostgresProfile extends ExPostgresProfile with PgPlayJsonSupport {

    override val api = new API with PlayJsonImplicits

    override def pgjson: String = "jsonb"
}

object ExtendedPostgresProfile extends ExtendedPostgresProfile

这是我的 DAO 类:

class ActivityDAO @Inject()(dbConfigProvider: DatabaseConfigProvider)(implicit ec: ExecutionContext) {

    private val dbConfig = dbConfigProvider.get[ExtendedPostgresProfile]

    import dbConfig._
    import profile.api._

    private class ActivityTable(tag: Tag) extends Table[Activity](tag, "activity") {

        def id: Rep[Long] = column[Long]("id", O.PrimaryKey, O.AutoInc)

        def activity: Rep[JsValue] = column[JsValue]("activity")

        def atTime: Rep[Timestamp] = column[Timestamp]("at_time")

        def activityTypeId: Rep[Int] = column[Int]("activiry_type_id")

        def userId: Rep[Long] = column[Long]("user_id")

        override def * : ProvenShape[Activity] =
            (id.?, activity, atTime.?, activityTypeId, userId.?) <> ((Activity.apply _).tupled, Activity.unapply)
    }

    private val activities = TableQuery[ActivityTable]

    def add(activity: Activity): Future[Long] = {

        val query = activities returning activities.map(_.id)

        db.run(query += activity)
    }

    def filter(userId: Long): Future[Seq[Activity]] = {

        db.run(activities.filter(_.userId === userId).result)
    }
}

我曾尝试自己寻找答案,但运气不佳。

最佳答案

您的自定义配置文件是否按照 Database Configuration 中的建议在您的 Play-slick 配置中进行了配置?部分? IE。是 util.ExtendedPostgresProfile$ 还是 slick.jdbc.PostgresProfile$

关于postgresql - 获取自定义光滑配置文件的执行异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738322/

相关文章:

scala - 从光滑表定义创建表

scala - Slick 3.1.1 模糊隐式值涉及过滤器和隐式 CanBeQueryCondition

sql - 列名中带有空格的 Drupal 8 SQL 语句

PostgreSQL SELECT 太慢

sql - 查找非 ST_EQUALS 的点

scala - sbt 0.11 需要运行任务示例

sql - 创建数据范围计数的更有效方法是什么?

scala - 重载通用 scala 类中的构造函数

algorithm - 如何在二叉搜索树中设置下界?

scala - 如何使用 Scala Slick 2.0 在 .where() 子句中生成 OR 查询?