Slick 3会话与回滚

Mat*_*ska 9 scala transactions slick

我正在使用光滑3并且我正在尝试使用一些插入执行一些集成测试,一些使用db的代码然后我想在测试结束时回滚所有插入或删除但我找不到任何关于它的文档.

可能吗?我怎样才能实现它?

小智 1

我可以建议在测试之前和之后使用 scala-test 特性和下一个代码删除和创建表模式BeforeAndAfter

def createTable(): Future[Unit] = {
        db.run(DBIO.seq(
          MTable.getTables.map(tables =>
            if (!tables.exists(_.name.name == table.baseTableRow.tableName))
              db.run(table.schema.create)
          )
        ))
}

def dropTable(): Future[Unit] = db.run(table.schema.drop)
Run Code Online (Sandbox Code Playgroud)