diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Unreleased
 
+# 0.2.2.0
+
+* Fix for persistent 2.13
+
 # 0.2.1.0
 
 * Add `rerunnableLift` for `SqlTransaction`
diff --git a/persistent-mtl.cabal b/persistent-mtl.cabal
--- a/persistent-mtl.cabal
+++ b/persistent-mtl.cabal
@@ -1,13 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.33.0.
+-- This file has been generated from package.yaml by hpack version 0.34.4.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: 1c982d6beda7cf991f9c302b1cbcb030441f7956de96f1d4080e3776fb192b33
 
 name:           persistent-mtl
-version:        0.2.1.0
+version:        0.2.2.0
 synopsis:       Monad transformer for the persistent API
 description:    A monad transformer and mtl-style type class for using the
                 persistent API directly in your monad transformer stack.
@@ -23,6 +21,8 @@
     README.md
     test/goldens/persistent-2.10/sqlqueryrep_show_representation.golden
     test/goldens/persistent-2.11/sqlqueryrep_show_representation.golden
+    test/goldens/persistent-2.12/sqlqueryrep_show_representation.golden
+    test/goldens/persistent-2.13/sqlqueryrep_show_representation.golden
     test/goldens/persistent-2.8/sqlqueryrep_show_representation.golden
     test/goldens/persistent-2.9/sqlqueryrep_show_representation.golden
 
@@ -44,14 +44,14 @@
       src
   ghc-options: -Wall
   build-depends:
-      base >=4.10 && <5
-    , conduit >=1.3.0.3 && <2
+      base >=4.10 && <4.16
+    , conduit >=1.3.0.3 && <1.4
     , containers >=0.5.10.2 && <0.7
-    , mtl >=2.2.2 && <3
-    , persistent >=2.8.2 && <3
+    , mtl >=2.2.2 && <2.3
+    , persistent >=2.8.2 && <2.14
     , resource-pool >=0.2.3.2 && <0.3
-    , resourcet >=1.2.1 && <2
-    , text >=1.2.3.0 && <2
+    , resourcet >=1.2.1 && <1.3
+    , text >=1.2.3.0 && <1.3
     , transformers >=0.5.2.0 && <0.6
     , unliftio >=0.2.7.0 && <0.3
     , unliftio-core >=0.1.2.0 && <0.3
diff --git a/src/Database/Persist/Monad/Shim.hs b/src/Database/Persist/Monad/Shim.hs
--- a/src/Database/Persist/Monad/Shim.hs
+++ b/src/Database/Persist/Monad/Shim.hs
@@ -360,17 +360,21 @@
   => [Filter record] -> [Update record] -> m Int64
 updateWhereCount a1 a2 = runQueryRep $ UpdateWhereCount a1 a2
 
+#if !MIN_VERSION_persistent(2,13,0)
 -- | The lifted version of 'Database.Persist.Sql.deleteCascade'
 deleteCascade
   :: (DeleteCascade record SqlBackend, Typeable record, MonadSqlQuery m)
   => Key record -> m ()
 deleteCascade a1 = runQueryRep $ DeleteCascade a1
+#endif
 
+#if !MIN_VERSION_persistent(2,13,0)
 -- | The lifted version of 'Database.Persist.Sql.deleteCascadeWhere'
 deleteCascadeWhere
   :: (DeleteCascade record SqlBackend, Typeable record, MonadSqlQuery m)
   => [Filter record] -> m ()
 deleteCascadeWhere a1 = runQueryRep $ DeleteCascadeWhere a1
+#endif
 
 -- | The lifted version of 'Database.Persist.Sql.parseMigration'
 parseMigration
diff --git a/src/Database/Persist/Monad/SqlQueryRep.hs b/src/Database/Persist/Monad/SqlQueryRep.hs
--- a/src/Database/Persist/Monad/SqlQueryRep.hs
+++ b/src/Database/Persist/Monad/SqlQueryRep.hs
@@ -313,15 +313,19 @@
     :: (PersistRecordBackend record SqlBackend)
     => [Filter record] -> [Update record] -> SqlQueryRep record Int64
 
+#if !MIN_VERSION_persistent(2,13,0)
   -- | Constructor corresponding to 'Persist.deleteCascade'
   DeleteCascade
     :: (DeleteCascade record SqlBackend)
     => Key record -> SqlQueryRep record ()
+#endif
 
+#if !MIN_VERSION_persistent(2,13,0)
   -- | Constructor corresponding to 'Persist.deleteCascadeWhere'
   DeleteCascadeWhere
     :: (DeleteCascade record SqlBackend)
     => [Filter record] -> SqlQueryRep record ()
+#endif
 
   -- | Constructor corresponding to 'Persist.parseMigration'
   ParseMigration
@@ -507,8 +511,12 @@
     DeleteWhere{} -> "DeleteWhere{..}" ++ record
     DeleteWhereCount{} -> "DeleteWhereCount{..}" ++ record
     UpdateWhereCount{} -> "UpdateWhereCount{..}" ++ record
+#if !MIN_VERSION_persistent(2,13,0)
     DeleteCascade{} -> "DeleteCascade{..}" ++ record
+#endif
+#if !MIN_VERSION_persistent(2,13,0)
     DeleteCascadeWhere{} -> "DeleteCascadeWhere{..}" ++ record
+#endif
     ParseMigration{} -> "ParseMigration{..}" ++ record
     ParseMigration'{} -> "ParseMigration'{..}" ++ record
     PrintMigration{} -> "PrintMigration{..}" ++ record
@@ -619,8 +627,12 @@
   DeleteWhere a1 -> Persist.deleteWhere a1
   DeleteWhereCount a1 -> Persist.deleteWhereCount a1
   UpdateWhereCount a1 a2 -> Persist.updateWhereCount a1 a2
+#if !MIN_VERSION_persistent(2,13,0)
   DeleteCascade a1 -> Persist.deleteCascade a1
+#endif
+#if !MIN_VERSION_persistent(2,13,0)
   DeleteCascadeWhere a1 -> Persist.deleteCascadeWhere a1
+#endif
   ParseMigration a1 -> Persist.parseMigration a1
   ParseMigration' a1 -> Persist.parseMigration' a1
   PrintMigration a1 -> Persist.printMigration a1
diff --git a/test/Example.hs b/test/Example.hs
--- a/test/Example.hs
+++ b/test/Example.hs
@@ -45,13 +45,10 @@
 import Database.Persist.Sql
     (Entity(..), EntityField, Key, SelectOpt(..), Unique, toSqlKey)
 import Database.Persist.TH
-    ( mkDeleteCascade
-    , mkMigrate
-    , mkPersist
-    , persistLowerCase
-    , share
-    , sqlSettings
-    )
+    (mkMigrate, mkPersist, persistLowerCase, share, sqlSettings)
+#if !MIN_VERSION_persistent(2,13,0)
+import qualified Database.Persist.TH
+#endif
 import UnliftIO (MonadUnliftIO(..), wrappedWithRunInIO)
 
 import Control.Monad.IO.Rerunnable (MonadRerunnableIO)
@@ -60,21 +57,28 @@
 
 share
   [ mkPersist sqlSettings
-  , mkDeleteCascade sqlSettings
+#if !MIN_VERSION_persistent(2,13,0)
+  , Database.Persist.TH.mkDeleteCascade sqlSettings
+#endif
   , mkMigrate "migration"
   ]
   [persistLowerCase|
 Person
-  name String
-  age Int
+  name          String
+  age           Int
   removedColumn String SafeToRemove
   UniqueName name
   deriving Show Eq
 
 Post
-  title String
+  title  String
+#if MIN_VERSION_persistent(2,13,0)
   author PersonId
   editor PersonId Maybe
+#else
+  author PersonId       OnDeleteCascade
+  editor PersonId Maybe OnDeleteCascade
+#endif
   deriving Show Eq
 |]
 
diff --git a/test/Generated.hs b/test/Generated.hs
--- a/test/Generated.hs
+++ b/test/Generated.hs
@@ -90,8 +90,12 @@
   , show (DeleteWhere undefined :: SqlQueryRep Person ())
   , show (DeleteWhereCount undefined :: SqlQueryRep Person Int64)
   , show (UpdateWhereCount undefined undefined :: SqlQueryRep Person Int64)
+#if !MIN_VERSION_persistent(2,13,0)
   , show (DeleteCascade undefined :: SqlQueryRep Person ())
+#endif
+#if !MIN_VERSION_persistent(2,13,0)
   , show (DeleteCascadeWhere undefined :: SqlQueryRep Person ())
+#endif
   , show (ParseMigration undefined :: SqlQueryRep Void (Either [Text] CautiousMigration))
   , show (ParseMigration' undefined :: SqlQueryRep Void CautiousMigration)
   , show (PrintMigration undefined :: SqlQueryRep Void ())
diff --git a/test/Integration.hs b/test/Integration.hs
--- a/test/Integration.hs
+++ b/test/Integration.hs
@@ -539,6 +539,7 @@
       rowsDeleted @?= 1
       names @?= ["Bob"]
 
+#if !MIN_VERSION_persistent(2,13,0)
   , testCase "deleteCascade" $ do
       (people, posts) <- runTestApp backendType $ do
         aliceKey <- insert $ person "Alice"
@@ -568,6 +569,7 @@
         return (people, posts)
       people @?= ["Bob"]
       posts @?= ["Post #2"]
+#endif
 
   , testCase "parseMigration" $ do
       result <- runTestApp backendType $ do
diff --git a/test/Mocked.hs b/test/Mocked.hs
--- a/test/Mocked.hs
+++ b/test/Mocked.hs
@@ -455,6 +455,7 @@
         ]
       result @?= 10
 
+#if !MIN_VERSION_persistent(2,13,0)
   , testCase "deleteCascade" $ do
       result <- runMockSqlQueryT (deleteCascade @Person 1)
         [ withRecord @Person $ \case
@@ -470,6 +471,7 @@
             _ -> Nothing
         ]
       result @?= ()
+#endif
 
   , testCase "getFieldName" $ do
       result <- runMockSqlQueryT (getFieldName PersonName)
diff --git a/test/SqlQueryRepTest.hs b/test/SqlQueryRepTest.hs
--- a/test/SqlQueryRepTest.hs
+++ b/test/SqlQueryRepTest.hs
@@ -11,7 +11,13 @@
 {-# ANN module "HLint: ignore" #-}
 
 persistentVersionDir :: FilePath
-#if MIN_VERSION_persistent(2,11,0)
+#if MIN_VERSION_persistent(2,14,0)
+persistentVersionDir = error "Running tests against persistent > 2.13 is not supported"
+#elif MIN_VERSION_persistent(2,13,0)
+persistentVersionDir = "persistent-2.13/"
+#elif MIN_VERSION_persistent(2,12,0)
+persistentVersionDir = "persistent-2.12/"
+#elif MIN_VERSION_persistent(2,11,0)
 persistentVersionDir = "persistent-2.11/"
 #elif MIN_VERSION_persistent(2,10,0)
 persistentVersionDir = "persistent-2.10/"
@@ -20,7 +26,7 @@
 #elif MIN_VERSION_persistent(2,8,0)
 persistentVersionDir = "persistent-2.8/"
 #else
-persistentVersionDir = undefined
+persistentVersionDir = error "Running tests against persistent < 2.8 is not supported"
 #endif
 
 tests :: TestTree
diff --git a/test/goldens/persistent-2.12/sqlqueryrep_show_representation.golden b/test/goldens/persistent-2.12/sqlqueryrep_show_representation.golden
new file mode 100644
--- /dev/null
+++ b/test/goldens/persistent-2.12/sqlqueryrep_show_representation.golden
@@ -0,0 +1,68 @@
+Get{..}<Person>
+GetMany{..}<Person>
+GetJust{..}<Person>
+GetJustEntity{..}<Person>
+GetEntity{..}<Person>
+BelongsTo{..}<(Person,Post)>
+BelongsToJust{..}<(Person,Post)>
+Insert{..}<Person>
+Insert_{..}<Person>
+InsertMany{..}<Person>
+InsertMany_{..}<Person>
+InsertEntityMany{..}<Person>
+InsertKey{..}<Person>
+Repsert{..}<Person>
+RepsertMany{..}<Person>
+Replace{..}<Person>
+Delete{..}<Person>
+Update{..}<Person>
+UpdateGet{..}<Person>
+InsertEntity{..}<Person>
+InsertRecord{..}<Person>
+GetBy{..}<Person>
+GetByValue{..}<Person>
+CheckUnique{..}<Person>
+CheckUniqueUpdateable{..}<Person>
+DeleteBy{..}<Person>
+InsertUnique{..}<Person>
+Upsert{..}<Person>
+UpsertBy{..}<Person>
+PutMany{..}<Person>
+InsertBy{..}<Person>
+InsertUniqueEntity{..}<Person>
+ReplaceUnique{..}<Person>
+OnlyUnique{..}<Person>
+SelectSourceRes{..}<Person>
+SelectFirst{..}<Person>
+SelectKeysRes{..}<Person>
+Count{..}<Person>
+Exists{..}<Person>
+SelectList{..}<Person>
+SelectKeysList{..}<Person>
+UpdateWhere{..}<Person>
+DeleteWhere{..}<Person>
+DeleteWhereCount{..}<Person>
+UpdateWhereCount{..}<Person>
+DeleteCascade{..}<Person>
+DeleteCascadeWhere{..}<Person>
+ParseMigration{..}
+ParseMigration'{..}
+PrintMigration{..}
+ShowMigration{..}
+GetMigration{..}
+RunMigration{..}
+RunMigrationQuiet{..}
+RunMigrationSilent{..}
+RunMigrationUnsafe{..}
+RunMigrationUnsafeQuiet{..}
+GetFieldName{..}<Person>
+GetTableName{..}<Person>
+WithRawQuery{..}
+RawQueryRes{..}
+RawExecute{..}
+RawExecuteCount{..}
+RawSql{..}
+TransactionSave{..}
+TransactionSaveWithIsolation{..}
+TransactionUndo{..}
+TransactionUndoWithIsolation{..}
diff --git a/test/goldens/persistent-2.13/sqlqueryrep_show_representation.golden b/test/goldens/persistent-2.13/sqlqueryrep_show_representation.golden
new file mode 100644
--- /dev/null
+++ b/test/goldens/persistent-2.13/sqlqueryrep_show_representation.golden
@@ -0,0 +1,66 @@
+Get{..}<Person>
+GetMany{..}<Person>
+GetJust{..}<Person>
+GetJustEntity{..}<Person>
+GetEntity{..}<Person>
+BelongsTo{..}<(Person,Post)>
+BelongsToJust{..}<(Person,Post)>
+Insert{..}<Person>
+Insert_{..}<Person>
+InsertMany{..}<Person>
+InsertMany_{..}<Person>
+InsertEntityMany{..}<Person>
+InsertKey{..}<Person>
+Repsert{..}<Person>
+RepsertMany{..}<Person>
+Replace{..}<Person>
+Delete{..}<Person>
+Update{..}<Person>
+UpdateGet{..}<Person>
+InsertEntity{..}<Person>
+InsertRecord{..}<Person>
+GetBy{..}<Person>
+GetByValue{..}<Person>
+CheckUnique{..}<Person>
+CheckUniqueUpdateable{..}<Person>
+DeleteBy{..}<Person>
+InsertUnique{..}<Person>
+Upsert{..}<Person>
+UpsertBy{..}<Person>
+PutMany{..}<Person>
+InsertBy{..}<Person>
+InsertUniqueEntity{..}<Person>
+ReplaceUnique{..}<Person>
+OnlyUnique{..}<Person>
+SelectSourceRes{..}<Person>
+SelectFirst{..}<Person>
+SelectKeysRes{..}<Person>
+Count{..}<Person>
+Exists{..}<Person>
+SelectList{..}<Person>
+SelectKeysList{..}<Person>
+UpdateWhere{..}<Person>
+DeleteWhere{..}<Person>
+DeleteWhereCount{..}<Person>
+UpdateWhereCount{..}<Person>
+ParseMigration{..}
+ParseMigration'{..}
+PrintMigration{..}
+ShowMigration{..}
+GetMigration{..}
+RunMigration{..}
+RunMigrationQuiet{..}
+RunMigrationSilent{..}
+RunMigrationUnsafe{..}
+RunMigrationUnsafeQuiet{..}
+GetFieldName{..}<Person>
+GetTableName{..}<Person>
+WithRawQuery{..}
+RawQueryRes{..}
+RawExecute{..}
+RawExecuteCount{..}
+RawSql{..}
+TransactionSave{..}
+TransactionSaveWithIsolation{..}
+TransactionUndo{..}
+TransactionUndoWithIsolation{..}
