I’m using Slick since 2.0 version and I have migrated my application to 3.0 and it wasn’t a very simple task. Fortunately, I saw that Underscore team was writing a new book about Slick 3 and without a second thought I sent an email to apply for a book reviewer position.
The book starts teaching how to setup a project to work with Slick 3 and it is nice for those who want to have the first touch with the functional Database Access Library, in my opinion that introduction is fundamental mainly for those who already are familiar with blocking libraries. Slick 3 as well described on that book works asynchronously. The book has many exercises that allow the reader try to solve the proposal problems using the acknowledgements acquired on each chapter, the solutions for exercises are well explained and contains tips to solve eventual problems in compilation time. I like a lot of Chapter 4, it contains very important information about Combining Actions using already known functions like map, flatMap, andThen and etc., but with a Database Access vision. Appendix A is another interesting source of information for multiple Database Types requirement. Chapter 6 brought Applicative and Monadic examples using SQL, I think it helps the reader that aren’t so familiar with functional programming to understand and use it on Slick and others Scala code too. The book was very helpful for my Slick migration and continues to be my first reference for Slick 3.
I think that some explanation could be provided about how to reduce some boilerplate code, for example how to create a generic CRUD repository, it is a common requirement on applications.
You can get more details about the book at: http://underscore.io/books/essential-slick/
My conclusion is: The book is a worth reading.