aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-08-09 22:42:34 -0700
committervlad <vlad@driver.xyz>2017-08-09 22:42:34 -0700
commita785af9617cc4143bb8f9e36dd9548007011674f (patch)
tree41a1f5e5bcab8c6f44184980e1f0a34a13c1741a
parent77973b5559d17fcb82466fcd34cfbb1841b9932b (diff)
downloaddriver-core-a785af9617cc4143bb8f9e36dd9548007011674f.tar.gz
driver-core-a785af9617cc4143bb8f9e36dd9548007011674f.tar.bz2
driver-core-a785af9617cc4143bb8f9e36dd9548007011674f.zip
Method to insert test data from SQL file
-rw-r--r--src/main/scala/xyz/driver/core/database/database.scala24
1 files changed, 24 insertions, 0 deletions
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 {