sql >> Databasteknik >  >> RDS >> Mysql

Misslyckas med att använda transaktioner i Quill för att INFOGA en-till-många relationsobjekt

Problemet var för närvarande att Quill async inte stöder samtidiga operationer inuti transaktioner.

Så var tvungen att göra djurinsättningen sekventiellt:

ctx.transaction { implicit ec =>
  for {
    personId <- ctx.run(insertPersonQuery)
    animals = personCreate.animals.map(Animal.apply(personId, _))
    _ <- animals.foldLeft(Future.successful(0l)) {
      case (fut, animal) =>
        fut.flatMap(_ => insertAnimal(animal))
    }
  } yield personId
}

också, ännu bättre är att använda batchinsättning :)

Tack för @fwbrasil och @mentegy för hjälpen!



  1. Kopiera objekt från treeview tkinter

  2. Uppdatera flera kolumner i SQL

  3. Hur löser man ORA-04063:visa SYS.ALL_QUEUE_TABLES har fel?

  4. Hur genererar jag ett slumpmässigt tidsintervall och lägger till det i en mysql datetime med php?