)
where
+import Data.Char ( toLower, toUpper )
import Data.List.Utils ( join, split )
import Database.Groundhog.TH (
CodegenConfig ( namingStyle ),
- NamingStyle ( mkDbFieldName ),
+ NamingStyle ( mkDbConstrName, mkDbFieldName, mkExprFieldName ),
defaultCodegenConfig )
default_ns :: NamingStyle
tsn_db_field_namer _ _ _ fieldname _ =
(join "_") . tail . (split "_") $ fieldname
+tsn_db_constr_namer :: String -> String -> Int -> String
+tsn_db_constr_namer _ constrname _ =
+ map toLower constrname
+
+tsn_expr_field_namer :: String -> String -> Int -> String -> Int -> String
+tsn_expr_field_namer _ _ _ fieldname _ =
+ (join "_") . (map capitalize) . (split "_") $ fieldname
+ where
+ capitalize [] = []
+ capitalize (c:cs) = (toUpper c : cs)
+
tsn_naming_style :: NamingStyle
-tsn_naming_style = default_ns { mkDbFieldName = tsn_db_field_namer }
+tsn_naming_style = default_ns { mkDbConstrName = tsn_db_constr_namer,
+ mkDbFieldName = tsn_db_field_namer,
+ mkExprFieldName = tsn_expr_field_namer }
tsn_codegen_config :: CodegenConfig
tsn_codegen_config =