From a785af9617cc4143bb8f9e36dd9548007011674f Mon Sep 17 00:00:00 2001 From: vlad Date: Wed, 9 Aug 2017 22:42:34 -0700 Subject: Method to insert test data from SQL file --- .../scala/xyz/driver/core/database/database.scala | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala index 8426309..2f20989 100644 --- a/src/main/scala/xyz/driver/core/database/database.scala +++ b/src/main/scala/xyz/driver/core/database/database.scala @@ -6,6 +6,7 @@ import xyz.driver.core.date.Date import xyz.driver.core.time.Time import scala.concurrent.Future +import scala.concurrent.ExecutionContext package database { @@ -136,6 +137,29 @@ package database { def dropSchema(): Unit = { Await.result(slickDal.execute(tables.schema.drop >> tables.dropNamespaceSchema), Duration.Inf) } + + def insertTestData(database: xyz.driver.core.database.Database, filePath: String)( + implicit executionContext: ExecutionContext) = { + + import database.profile.api.{DBIO => _, _} + + val file = java.nio.file.Paths.get(filePath) + val sqlLine = new String(java.nio.file.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)) + } } trait DatabaseObject extends ColumnTypes { -- cgit v1.2.3 From 3cfe6b4b290309206d4fb663fe2199419b19886f Mon Sep 17 00:00:00 2001 From: vlad Date: Thu, 10 Aug 2017 09:11:38 -0700 Subject: Removing fully qualified class names --- src/main/scala/xyz/driver/core/database/database.scala | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala index 2f20989..7df44ba 100644 --- a/src/main/scala/xyz/driver/core/database/database.scala +++ b/src/main/scala/xyz/driver/core/database/database.scala @@ -10,6 +10,8 @@ import scala.concurrent.ExecutionContext package database { + import java.nio.file.{Files, Paths} + import com.typesafe.config.Config trait Database { @@ -139,12 +141,12 @@ package database { } def insertTestData(database: xyz.driver.core.database.Database, filePath: String)( - implicit executionContext: ExecutionContext) = { + implicit executionContext: ExecutionContext): Future[Seq[Int]] = { import database.profile.api.{DBIO => _, _} - val file = java.nio.file.Paths.get(filePath) - val sqlLine = new String(java.nio.file.Files.readAllBytes(file), "UTF-8") + val file = Paths.get(filePath) + val sqlLine = new String(Files.readAllBytes(file), "UTF-8") val createInsertProcedure = sqlu"""CREATE PROCEDURE INSERT_TEST_DATA() -- cgit v1.2.3