Ошибка PostgreSQL с Doobie: PSQLException: индекс столбца вне допустимого диапазона: 3, количество столбцов: 2

Практикую Scala, Doobie и PostgreSQL. База данных находится в контейнере Docker. Я могу публиковать и обновлять вакансии, но не могу ПОЛУЧИТЬ все сообщения. Я продолжаю получать ошибку ниже.

Я исследовал другие похожие вопросы, но мой вариант отличается, поскольку я просто пытаюсь ПОЛУЧИТЬ все из базы данных, поэтому я не понимаю эту проблему с столбцом.

Я начинаю думать, что мне нужен кодировщик circe, чтобы читать Json из базы данных??? Декодер circe ниже выдает ошибку на leftMap и на шоу

implicit val get: Get[JobPostDetails] =
 Get[Json].temap(_.as[JobPostDetails].leftMap(_.show))
case class JobPost(id: String, details: JobPostDetails)

case class JobPostDetails(title: String, description: String, salary: Double, employmentType: String, employer: String)

  def createTable: doobie.Update0 = {
    sql"""
         |CREATE TABLE IF NOT EXISTS jobs (
         |  id TEXT PRIMARY KEY,
         |  details JSON NOT NULL
         |)
       """.stripMargin
      .update
  }
  def getAll: doobie.Query0[JobPost] = {
    sql"""
         |SELECT id, details FROM jobs
       """.stripMargin
      .query[JobPost]
  }

  def getPosts: IO[List[JobPost]] = {
    JobQueries.getAll.to[List].transact(xa)
  }
09:01:50.452 [ioapp-compute-7] ERROR org.http4s.server.service-errors - Error servicing request: GET /api/v1/posts from 0:0:0:0:0:0:0:1
org.postgresql.util.PSQLException: The column index is out of range: 3, number of columns: 2.
        at org.postgresql.jdbc.PgResultSet.checkColumnIndex(PgResultSet.java:2760) ~[postgresql-42.2.12.jar:42.2.12]
        at org.postgresql.jdbc.PgResultSet.checkResultSet(PgResultSet.java:2780) ~[postgresql-42.2.12.jar:42.2.12]

0 ответов

Другие вопросы по тегам