From 311209b81f6224d55c3de28c5ed043168f9a31b8 Mon Sep 17 00:00:00 2001 From: vlad Date: Thu, 10 Aug 2017 16:03:15 -0700 Subject: Fixing `insertTestData` implementation --- .../scala/xyz/driver/core/database/database.scala | 31 +++++++++------------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala index 7df44ba..dd2ed88 100644 --- a/src/main/scala/xyz/driver/core/database/database.scala +++ b/src/main/scala/xyz/driver/core/database/database.scala @@ -7,13 +7,11 @@ import xyz.driver.core.time.Time import scala.concurrent.Future import scala.concurrent.ExecutionContext +import java.nio.file.{Files, Paths} +import com.typesafe.config.Config package database { - import java.nio.file.{Files, Paths} - - import com.typesafe.config.Config - trait Database { val profile: JdbcProfile val database: JdbcProfile#Backend#Database @@ -141,26 +139,23 @@ package database { } def insertTestData(database: xyz.driver.core.database.Database, filePath: String)( - implicit executionContext: ExecutionContext): Future[Seq[Int]] = { + implicit executionContext: ExecutionContext): Future[Int] = { import database.profile.api.{DBIO => _, _} val file = Paths.get(filePath) val sqlLine = new String(Files.readAllBytes(file), "UTF-8") - val createInsertProcedure = - sqlu"""CREATE PROCEDURE INSERT_TEST_DATA() - MODIFIES SQL DATA - BEGIN ATOMIC - #$sqlLine - END; - """ - - val callInserts = sqlu"""{call INSERT_TEST_DATA()}""" - - val dropInsertProcedure = sqlu"""drop PROCEDURE INSERT_TEST_DATA;""" - - Future.sequence(Seq(createInsertProcedure, callInserts, dropInsertProcedure).map(slickDal.execute)) + slickDal.execute(sqlu"""CREATE PROCEDURE INSERT_TEST_DATA() + MODIFIES SQL DATA + BEGIN ATOMIC + #$sqlLine + END; + """).flatMap { _ => + slickDal.execute(sqlu"""{call INSERT_TEST_DATA()}""").flatMap { _ => + slickDal.execute(sqlu"""drop PROCEDURE INSERT_TEST_DATA;""") + } + } } } -- cgit v1.2.3