@@ -33,6 +33,12 @@ data None
3333data Default :: Symbol -> Type
3434data Default a
3535
36+data DefaultInt :: Int -> Type
37+data DefaultInt a
38+
39+data DefaultBool :: Boolean -> Type
40+data DefaultBool a
41+
3642-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3743-- Nullability: inferred from Maybe
3844-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -89,6 +95,14 @@ instance RenderConstraint None where
8995instance Reflectable sym String => RenderConstraint (Default sym) where
9096 renderConstraint _ = "DEFAULT " <> reflectType (Proxy :: Proxy sym)
9197
98+instance Reflectable val Int => RenderConstraint (DefaultInt val) where
99+ renderConstraint _ = "DEFAULT " <> show (reflectType (Proxy :: Proxy val))
100+
101+instance Reflectable val Boolean => RenderConstraint (DefaultBool val) where
102+ renderConstraint _ =
103+ if reflectType (Proxy :: Proxy val) then "DEFAULT true"
104+ else "DEFAULT false"
105+
92106instance (RenderConstraint a, RenderConstraint b) => RenderConstraint (a /\ b) where
93107 renderConstraint _ = do
94108 let a = renderConstraint (Proxy :: Proxy a)
@@ -151,6 +165,10 @@ instance IsAutoGenerated AutoIncrement where
151165 isAutoGenerated _ = true
152166else instance IsAutoGenerated (Default a) where
153167 isAutoGenerated _ = true
168+else instance IsAutoGenerated (DefaultInt a) where
169+ isAutoGenerated _ = true
170+else instance IsAutoGenerated (DefaultBool a) where
171+ isAutoGenerated _ = true
154172else instance (IsAutoGenerated a, IsAutoGenerated b) => IsAutoGenerated (a /\ b) where
155173 isAutoGenerated _ = isAutoGenerated (Proxy :: Proxy a) || isAutoGenerated (Proxy :: Proxy b)
156174else instance IsAutoGenerated a where