Postgresql 优化数据库操作Slick 3
我用Slick创建了一个数据库。我正在尝试创建表的模式,选择一些信息等等。以下是我创建模式的代码:Postgresql 优化数据库操作Slick 3,postgresql,scala,slick,Postgresql,Scala,Slick,我用Slick创建了一个数据库。我正在尝试创建表的模式,选择一些信息等等。以下是我创建模式的代码: val createUserTable = UserTable.table.schema.create val createTaskTable = TaskTable.table.schema.create Await.result(db.run(DBIO.seq(Queries.createUserTable, Queries.createTaskTable)), 2 seconds) 这段代
val createUserTable = UserTable.table.schema.create
val createTaskTable = TaskTable.table.schema.create
Await.result(db.run(DBIO.seq(Queries.createUserTable, Queries.createTaskTable)), 2 seconds)
这段代码工作得很好,但我不想在每个查询中使用wait.result。我所寻找的是至少按目的(创建、选择等)批量执行它们。我可以创建此方法来传递不同的操作:
def executeAction[T](action: DBIO[T]) =
Await.result(db.run(action), 2 seconds)
所以我很好奇,我该如何修改它来传递一些包含一系列查询的数据结构?例如,List(createUserTable、createTaskTable)
谢谢你的帮助 避免每次DBIO操作都等待的两种方法
DBIO.seq
收集这些操作并执行在这两种情况下,您必须使用
Await.result
至少等待一次主线程中的结果(即停止主线程退出)。有两种方法可以避免每次DBIO操作都等待
DBIO.seq
收集这些操作并执行在这两种情况下,您必须使用
wait.result
至少等待一次主线程中的结果(即停止主线程退出)。所以我的行wait.result(db.run(DBIO.seq(querys.createUserTable,querys.createTaskTable)),2秒)
实际上可以吗?我的意思是,我可以在这里添加更多的动作。是这样吗?那么我的行Await.result(db.run(DBIO.seq(querys.createUserTable,querys.createTaskTable)),2秒)
实际上还可以吗?我的意思是,我可以在这里添加更多的动作。是吗?请添加您正在使用的slick版本。slick 2和slick 3不同,洛蒂编辑了这个问题。我正在使用Slick 3请添加您正在使用的Slick版本。slick 2和slick 3不同,洛蒂编辑了这个问题。我用的是滑头3