diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,9 @@
+# 0.5.1.2
+
+## Added features
+
+ * Aeson 2.0 support
+
 # 0.5.1.1
 
 ## Added features
diff --git a/Database/Beam/Migrate/Serialization.hs b/Database/Beam/Migrate/Serialization.hs
--- a/Database/Beam/Migrate/Serialization.hs
+++ b/Database/Beam/Migrate/Serialization.hs
@@ -39,6 +39,9 @@
 import           Control.Monad
 
 import           Data.Aeson
+#if MIN_VERSION_aeson(2,0,0)
+import qualified Data.Aeson.Key as DAK
+#endif
 import           Data.Aeson.Types (Parser)
 import qualified Data.Dependent.Map as D
 import qualified Data.GADT.Compare as D
@@ -321,8 +324,13 @@
                    , beamDeserializer deserializeSql92ReferentialAction
                    , beamDeserializer deserializeSql92Attributes ]
   where
+#if MIN_VERSION_aeson(2,0,0)
+    makeKey = DAK.fromText
+#else
+    makeKey = id
+#endif
     parseSub nm o key parse =
-      withObject (unpack (nm <> "." <> key)) parse =<< o .: key
+      withObject (unpack (nm <> "." <> key)) parse =<< o .: makeKey key
 
     deserializeSql92DataType :: BeamDeserializers be' -> Value
                              -> Parser (BeamSqlBackendDataTypeSyntax be)
diff --git a/beam-migrate.cabal b/beam-migrate.cabal
--- a/beam-migrate.cabal
+++ b/beam-migrate.cabal
@@ -1,5 +1,5 @@
 name:                beam-migrate
-version:             0.5.1.1
+version:             0.5.1.2
 synopsis:            SQL DDL support and migrations support library for Beam
 description:         This package provides type classes to allow backends to implement
                      SQL DDL support for beam. This allows you to use beam syntax to
@@ -62,7 +62,7 @@
   build-depends:       base                 >=4.9     && <5.0,
                        beam-core            >=0.9     && <0.10,
                        text                 >=1.2     && <1.3,
-                       aeson                >=0.11    && <1.6,
+                       aeson                >=0.11    && <2.1,
                        bytestring           >=0.10    && <0.12,
                        free                 >=4.12    && <5.2,
                        time                 >=1.6     && <1.12,
