diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,21 @@
+<!-- -*- Markdown -*- -->
+
+## 0.1.3.2
+
+- Apply generic instances to schema queries.
+
+## 0.1.3.1
+
+- Add tested-with.
+
+## 0.1.3.0
+
+- Update typeMap of SQLite3 schema.
+
+## 0.1.2.0
+
+- Get type info of network address in PostgreSQL schema.
+
+## 0.1.1.0
+
+- Add medium-int to typeMap of MySQL schema.
diff --git a/relational-schemas.cabal b/relational-schemas.cabal
--- a/relational-schemas.cabal
+++ b/relational-schemas.cabal
@@ -1,5 +1,5 @@
 name:                relational-schemas
-version:             0.1.3.1
+version:             0.1.3.2
 synopsis:            RDBMSs' schema templates for relational-query
 description:         This package contains some RDBMSs' schema structure definitions.
                      Supported RDBMS schemas are below:
@@ -14,16 +14,21 @@
 license-file:        LICENSE
 author:              Kei Hibino, Shohei Murayama, Shohei Yasutake, Sho KURODA
 maintainer:          ex8k.hibino@gmail.com, shohei.murayama@gmail.com, amutake.s@gmail.com, krdlab@gmail.com
-copyright:           Copyright (c) 2013-2016 Kei Hibino, Shohei Murayama, Shohei Yasutake, Sho KURODA
+copyright:           Copyright (c) 2013-2017 Kei Hibino, Shohei Murayama, Shohei Yasutake, Sho KURODA
 category:            Database
 build-type:          Simple
 cabal-version:       >=1.10
-tested-with:           GHC == 8.0.1
+tested-with:           GHC == 8.0.1, GHC == 8.0.2
                      , GHC == 7.10.1, GHC == 7.10.2, GHC == 7.10.3
                      , GHC == 7.8.1, GHC == 7.8.2, GHC == 7.8.3, GHC == 7.8.4
                      , GHC == 7.6.1, GHC == 7.6.2, GHC == 7.6.3
                      , GHC == 7.4.1, GHC == 7.4.2
+extra-source-files:  ChangeLog.md
 
+flag ghc74-generic
+  description: Enable for generic programming using old ghc. If true use ghc-prim.
+  default:     False
+
 library
   exposed-modules:
                        Database.Relational.Schema.DB2Syscat.Columns
@@ -78,8 +83,9 @@
                        , time
                        , bytestring
 
-                       , persistable-record >= 0.2
-                       , relational-query >= 0.8
+                       , relational-query >= 0.9
+  if flag(ghc74-generic)
+    build-depends:        ghc-prim == 0.2.*
 
   hs-source-dirs:      src
   ghc-options:         -Wall
diff --git a/src/Database/Relational/Schema/DB2Syscat/Columns.hs b/src/Database/Relational/Schema/DB2Syscat/Columns.hs
--- a/src/Database/Relational/Schema/DB2Syscat/Columns.hs
+++ b/src/Database/Relational/Schema/DB2Syscat/Columns.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.Relational.Schema.DB2Syscat.Columns
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -13,8 +14,8 @@
 -- Generate template of SYSCAT.columns system catalog table.
 module Database.Relational.Schema.DB2Syscat.Columns where
 
+import GHC.Generics (Generic)
 import Data.Int (Int16, Int32, Int64)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.DB2Syscat.Config (config)
@@ -99,4 +100,4 @@
     ("remarks", [t|Maybe String|])
 
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs b/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs
--- a/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs
+++ b/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.Relational.Schema.DB2Syscat.Keycoluse
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -15,6 +16,7 @@
 -- Minimum implementation required to generate table constraints.
 module Database.Relational.Schema.DB2Syscat.Keycoluse where
 
+import GHC.Generics (Generic)
 import Data.Int (Int16)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -27,4 +29,4 @@
   [("constname", [t| String |]),
    ("colname"  , [t| String |]),
    ("colseq"   , [t| Int16 |])]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs b/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs
--- a/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs
+++ b/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.Relational.Schema.DB2Syscat.Tabconst
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -15,6 +16,7 @@
 -- Minimum implementation required to generate table constraints.
 module Database.Relational.Schema.DB2Syscat.Tabconst where
 
+import GHC.Generics (Generic)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.DB2Syscat.Config (config)
@@ -29,4 +31,4 @@
    --
    ("type"     , [t| String |]),
    ("enforced" , [t| String |])]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/MySQLInfo/Columns.hs b/src/Database/Relational/Schema/MySQLInfo/Columns.hs
--- a/src/Database/Relational/Schema/MySQLInfo/Columns.hs
+++ b/src/Database/Relational/Schema/MySQLInfo/Columns.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.MySQLInfo.Columns where
 
+import GHC.Generics (Generic)
 import Data.Int                     (Int16)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -19,4 +21,4 @@
     , ("is_nullable",       [t|String|])
     , ("data_type",         [t|String|])
     ]
-    [''Show])
+    [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs b/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs
--- a/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs
+++ b/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.MySQLInfo.KeyColumnUsage where
 
+import GHC.Generics (Generic)
 import Data.Int                     (Int16)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -17,4 +19,4 @@
     , ("column_name"        , [t| String |])
     , ("ordinal_position"   , [t| Int16 |])
     ]
-    [''Show])
+    [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs b/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs
--- a/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs
+++ b/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.MySQLInfo.TableConstraints where
 
+import GHC.Generics (Generic)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.MySQLInfo.Config (config)
@@ -15,4 +17,4 @@
     , ("constraint_name"    , [t| String |])
     , ("constraint_type"    , [t| String |])
     ]
-    [''Show])
+    [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs b/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs
--- a/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs
+++ b/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs
@@ -1,10 +1,11 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.OracleDataDictionary.ConsColumns where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.OracleDataDictionary.Config (config)
@@ -24,4 +25,4 @@
     , ("column_name", [t|Maybe String|])
     -- POSITION                                           NUMBER
     , ("position", [t|Maybe Int32|])
-    ] [''Show])
+    ] [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs b/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs
--- a/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs
+++ b/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.OracleDataDictionary.Constraints where
 
+import GHC.Generics (Generic)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.OracleDataDictionary.Config (config)
@@ -36,4 +38,4 @@
     -- INDEX_NAME                                         VARCHAR2(30)
     -- INVALID                                            VARCHAR2(7)
     -- VIEW_RELATED                                       VARCHAR2(14)
-    ] [''Show])
+    ] [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs b/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs
--- a/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs
+++ b/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs
@@ -1,12 +1,11 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.OracleDataDictionary.TabColumns where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
--- import Data.ByteString (ByteString)
--- import Data.Time.Calendar (Day)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.OracleDataDictionary.Config (config)
@@ -78,4 +77,4 @@
     , ("data_upgraded", [t|Maybe String|])
     -- HISTOGRAM                                          VARCHAR2(15)
     , ("histogram", [t|Maybe String|])
-    ] [''Show])
+    ] [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs b/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs
--- a/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs
+++ b/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.HDBC.Schema.PgCatalog.PgAttribute
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -11,8 +12,8 @@
 -- Portability : unknown
 module Database.Relational.Schema.PgCatalog.PgAttribute where
 
+import GHC.Generics (Generic)
 import Data.Int (Int16, Int32)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.PgCatalog.Config (config)
@@ -66,4 +67,4 @@
 --  attoptions    | text[]    |
     -- ("attoptions"  , [t|String|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/PgCatalog/PgClass.hs b/src/Database/Relational/Schema/PgCatalog/PgClass.hs
--- a/src/Database/Relational/Schema/PgCatalog/PgClass.hs
+++ b/src/Database/Relational/Schema/PgCatalog/PgClass.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.Relational.Schema.PgCatalog.PgClass
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -11,8 +12,8 @@
 -- Portability : unknown
 module Database.Relational.Schema.PgCatalog.PgClass where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.PgCatalog.Config (config)
@@ -50,4 +51,4 @@
  -- relacl         | aclitem[] |
  -- reloptions     | text[]    |
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs b/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs
--- a/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs
+++ b/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.Relational.Schema.PgCatalog.PgConstraint
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -11,8 +12,8 @@
 -- Portability : unknown
 module Database.Relational.Schema.PgCatalog.PgConstraint where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.PgCatalog.Config (config)
@@ -48,4 +49,4 @@
  -- conbin        | pg_node_tree |
  -- consrc        | text         |
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs b/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs
--- a/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs
+++ b/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.Relational.Schema.PgCatalog.PgNamespace
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -11,8 +12,8 @@
 -- Portability : unknown
 module Database.Relational.Schema.PgCatalog.PgNamespace where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.PgCatalog.Config (config)
@@ -26,4 +27,4 @@
  -- nspowner | oid       | not null
  -- nspacl   | aclitem[] |
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/PgCatalog/PgType.hs b/src/Database/Relational/Schema/PgCatalog/PgType.hs
--- a/src/Database/Relational/Schema/PgCatalog/PgType.hs
+++ b/src/Database/Relational/Schema/PgCatalog/PgType.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- |
 -- Module      : Database.Relational.Schema.PgCatalog.PgType
--- Copyright   : 2013 Kei Hibino
+-- Copyright   : 2013-2017 Kei Hibino
 -- License     : BSD3
 --
 -- Maintainer  : ex8k.hibino@gmail.com
@@ -11,8 +12,8 @@
 -- Portability : unknown
 module Database.Relational.Schema.PgCatalog.PgType where
 
+import GHC.Generics (Generic)
 import Data.Int (Int16, Int32)
-
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
 import Database.Relational.Schema.PgCatalog.Config (config)
@@ -85,4 +86,4 @@
 --  typdefault     | text         |
     ("typdefault", [t|Maybe String|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/SQLServer.hs b/src/Database/Relational/Schema/SQLServer.hs
--- a/src/Database/Relational/Schema/SQLServer.hs
+++ b/src/Database/Relational/Schema/SQLServer.hs
@@ -17,7 +17,6 @@
 import Data.Int (Int8, Int16, Int32, Int64)
 import Data.Map (Map)
 import Data.Time (LocalTime, Day, TimeOfDay)
-import Database.Record.Instances ()
 import Database.Relational.Query (Query, Relation, PlaceHolders, Projection, Flat,
                                   (!), (.=.), (><), asc, relationalQuery, just, placeholder',
                                   query, relation', unsafeShowSql,
diff --git a/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs b/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs
--- a/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs
+++ b/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.SQLServerSyscat.Columns where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -65,4 +67,4 @@
   -- is_column_set         sys     bit                        1 Yes
     --("is_column_set", [t|Maybe Bool|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs b/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs
--- a/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs
+++ b/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.SQLServerSyscat.IndexColumns where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -29,4 +31,4 @@
   -- is_included_column    sys     bit                        1 No
     ("is_included_column", [t|Bool|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs b/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs
--- a/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs
+++ b/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.SQLServerSyscat.Indexes where
 
---import Data.ByteString (ByteString)
+import GHC.Generics (Generic)
 import Data.Int (Int32)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -53,4 +54,4 @@
 -- filter_definition     sys     nvarchar                 max Yes
     --("filter_definition", [t|Maybe ByteString|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/SQLServerSyscat/Types.hs b/src/Database/Relational/Schema/SQLServerSyscat/Types.hs
--- a/src/Database/Relational/Schema/SQLServerSyscat/Types.hs
+++ b/src/Database/Relational/Schema/SQLServerSyscat/Types.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.SQLServerSyscat.Types where
 
+import GHC.Generics (Generic)
 import Data.Int (Int32)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -46,4 +48,4 @@
 -- is_table_type         sys     bit                        1 No
     --("is_table_type", [t|Bool|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/SQLite3.hs b/src/Database/Relational/Schema/SQLite3.hs
--- a/src/Database/Relational/Schema/SQLite3.hs
+++ b/src/Database/Relational/Schema/SQLite3.hs
@@ -15,7 +15,6 @@
 import Data.Int (Int8, Int16, Int32, Int64)
 import Data.Map (Map)
 import Data.Time (Day, LocalTime)
-import Database.Record.Instances ()
 import Database.Relational.Query (Query)
 import Database.Relational.Query.Type (unsafeTypedQuery)
 import Database.Relational.Schema.SQLite3Syscat.IndexInfo
diff --git a/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs b/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs
--- a/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs
+++ b/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.SQLite3Syscat.IndexInfo where
 
+import GHC.Generics (Generic)
 import Data.Int (Int64)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -22,4 +24,4 @@
 -- name                  text                No
     ("name", [t|String|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs b/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs
--- a/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs
+++ b/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.SQLite3Syscat.IndexList where
 
+import GHC.Generics (Generic)
 import Data.Int (Int64)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -22,4 +24,4 @@
 -- unique                integer             No
     ("unique", [t|Int64|])
   ]
-  [''Show])
+  [''Show, ''Generic])
diff --git a/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs b/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs
--- a/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs
+++ b/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs
@@ -1,8 +1,10 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Database.Relational.Schema.SQLite3Syscat.TableInfo where
 
+import GHC.Generics (Generic)
 import Data.Int (Int16, Int64)
 import Database.Relational.Query.TH (defineTableTypesAndRecord)
 
@@ -28,4 +30,4 @@
 -- pk                    integer             No
     ("pk", [t|Int16|])
   ]
-  [''Show])
+  [''Show, ''Generic])
