Гладкая таблица не сохраняется в БД без ошибок - PullRequest
0 голосов
/ 15 мая 2019

Я использую Slick 3.2.3 с Scala Play Framework 2.6. Я вставляю строки в таблицу с итерацией. Некоторое время он успешно сохраняется, но иногда сохраняет несколько строк в MYSQL (некоторые строки отсутствуют). что может быть основной причиной? Версия MYSQL - 5,7 это мой код

try {
      db.run {
        documentDetails.map(p => (p.documentDetailsId, p.documentDirectoryId, p.patentId, p.hospitalId, p.clinicId, p.patientType, p.categoryType, p.admissionAppointmentNo, p.documentName, p.status, p.remarks, p.description)) += (docId, documentDirectoryId, patentId, hospitalId, clinicId, patientType, categoryType, admissionAppointmentNo, documentName, true, remarks, description)
      }
    }
    catch {
      case e: Exception =>
        e.printStackTrace()
        logger.error(e.getMessage)
        throw e
    }

1 Ответ

0 голосов
/ 15 мая 2019

db.run возвращает Future, поэтому вы должны что-то сделать с этим Future.

Кстати, ваш блок try-catch не проверяет, провалилось ли будущее.

Попробуйте

Await.result(db.run(...), Duration.Inf)

, если блокировка приемлема для вас (это зависит от того, где находится этот код).

...