diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,6 +1,10 @@
+# 2.0.4
+
+Adjust version bounds of `persistent` to `>= 2.15.0.0 && < 2.18.0.0`.
+
 # 2.0.3
 
-Synchronize deployed version with GitHub tags.
+Synchronize deployed version with GitHub commit.
 
 # 2.0.2
 
diff --git a/serversession-backend-persistent.cabal b/serversession-backend-persistent.cabal
--- a/serversession-backend-persistent.cabal
+++ b/serversession-backend-persistent.cabal
@@ -1,6 +1,6 @@
 cabal-version:   >= 1.10
 name:            serversession-backend-persistent
-version:         2.0.3
+version:         2.0.4
 license:         MIT
 license-file:    LICENSE
 author:          Felipe Lessa <felipe.lessa@gmail.com>
@@ -28,7 +28,7 @@
     , bytestring
     , cereal                    >= 0.4
     , path-pieces
-    , persistent                >= 2.13.0.0 && < 2.15.0.0
+    , persistent                >= 2.15.0.0 && < 2.18.0.0
     , tagged                    >= 0.7
     , text
     , time
diff --git a/src/Web/ServerSession/Backend/Persistent.hs b/src/Web/ServerSession/Backend/Persistent.hs
--- a/src/Web/ServerSession/Backend/Persistent.hs
+++ b/src/Web/ServerSession/Backend/Persistent.hs
@@ -22,9 +22,12 @@
 -- share [mkPersist sqlSettings, mkSave \"entityDefs\"]
 --
 -- -- On Application.hs
+-- {-# LANGUAGE TypeApplications #-}
 -- import Web.ServerSession.Backend.Persistent
+-- import Database.Persist.Sql.Migration(Migration)
 --
--- mkMigrate \"migrateAll\" (entityDefs \`embedEntityDefs\` serverSessionDefsBySessionMap)
+-- migrateAll :: Migration
+-- migrateAll = migrateModels (entityDef (Proxy @PersistentSessionBySessionMap) : entityDefs)
 --
 -- makeFoundation =
 --     ...
diff --git a/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs b/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs
--- a/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs
+++ b/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE CPP, TypeOperators #-}
 -- | Internal module exposing the guts of the package.  Use at
 -- your own risk.  No API stability guarantees apply.
 module Web.ServerSession.Backend.Persistent.Internal.Impl
@@ -106,6 +106,7 @@
     , entityExtra = mempty
     , entitySum = False
     , entityComments = Nothing
+    , entitySpan = Nothing
     }
     where pfd :: P.EntityField (PersistentSession sess) typ -> P.FieldDef
           pfd = P.persistFieldDef
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE TypeApplications #-}
+
 module Main (main) where
 
 import Control.Monad (forM_)
@@ -8,11 +10,14 @@
 import Test.Hspec
 import Web.ServerSession.Backend.Persistent
 import Web.ServerSession.Core.StorageTests
+import Database.Persist.Sql.Migration (Migration)
+import Data.Proxy (Proxy(..))
+import Database.Persist.TH (migrateModels)
 
-import qualified Database.Persist.TH as P
 import qualified Database.Persist.Sql as P
 
-P.mkMigrate "migrateAll" serverSessionDefsBySessionMap
+migrateAll :: Migration
+migrateAll = migrateModels $ [(P.entityDef (Proxy @PersistentSessionBySessionMap))]
 
 main :: IO ()
 main = hspec $
