Typesafe Activator

Play Slick quickstart

Play Slick quickstart

loicdescotte
Source
January 31, 2015
play scala slick seed starter

Activator template for Play Framework and the Slick database access library. This template helps building a classic Web app or a JSON API.

How to get "Play Slick quickstart" on your computer

There are several ways to get this template.

Option 1: Choose play-slick-quickstart in the Typesafe Activator UI.

Already have Typesafe Activator (get it here)? Launch the UI then search for play-slick-quickstart in the list of templates.

Option 2: Download the play-slick-quickstart project as a zip archive

If you haven't installed Activator, you can get the code by downloading the template bundle for play-slick-quickstart.

  1. Download the Template Bundle for "Play Slick quickstart"
  2. Extract the downloaded zip file to your system
  3. The bundle includes a small bootstrap script that can start Activator. To start Typesafe Activator's UI:

    In your File Explorer, navigate into the directory that the template was extracted to, right-click on the file named "activator.bat", then select "Open", and if prompted with a warning, click to continue:

    Or from a command line:

     C:\Users\typesafe\play-slick-quickstart> activator ui 
    This will start Typesafe Activator and open this template in your browser.

Option 3: Create a play-slick-quickstart project from the command line

If you have Typesafe Activator, use its command line mode to create a new project from this template. Type activator new PROJECTNAME play-slick-quickstart on the command line.

Option 4: View the template source

The creator of this template maintains it at https://github.com/loicdescotte/activator-play-slick#master.

Option 5: Preview the tutorial below

We've included the text of this template's tutorial below, but it may work better if you view it inside Activator on your computer. Activator tutorials are often designed to be interactive.

Preview the tutorial

You've just created a simple Play Framework application with the Slick library!
This template will help you building a classic Web app or a JSON API.

View the App

Once the application has been compiled and the server started, your application can be accessed at: http://localhost:9000

Slick Usage

In order to enable schema generation you can specify the packages or classes you want to have in the application.conf file. The default value is :
 slick.default="models.*"

It follows the same format as the Ebean plugin: slick.default="models.*" means all Tables in the models package should be run on the default database. It is possible to specify individual objects like: slick.default="models.Users,models.Settings"
The DB wrapper provided by play-slick is just a thin wrapper that uses Slick classes with databases defined in the Play Application . To see an example, check the Application.scala file from this template. Using "import play.api.db.slick.Config.driver.simple._" will import the driver defing with the key "db.default.driver" in application.conf, or the one set by the test helpers in test mode (see tests in this template as an example).

Execution context configuration

You may want to use a separated execution context to avoid blocking threads in the default thread pool. Play-slick provides a DBActionto handle this. This thread pool configuration is available in application.conf (see the slick-context settings)
If you need to use more advanced use cases (example : more than one database driver per mode (run or test)), please read the play-slick wiki.
comments powered by Disqus