persistent-mysql 2.10.0 → 2.10.1
raw patch · 3 files changed
+11/−11 lines, 3 files
Files
- ChangeLog.md +4/−0
- Database/Persist/MySQL.hs +6/−10
- persistent-mysql.cabal +1/−1
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for persistent-mysql +## 2.10.1++* Added `constraint=` attribute to allow users to specify foreign reference constraint names.+ ## 2.10.0 * Remove deprecated `SomeField` type and pattern synonym. Use `HandleUpdateCollision` type instead and the `copyField` function instead of `SomeField` constructor/pattern. [#894](https://github.com/yesodweb/persistent/pull/894)
Database/Persist/MySQL.hs view
@@ -341,8 +341,8 @@ AddUniqueConstraint uname $ map (findTypeAndMaxLen name) ucols ] let foreigns = do- Column { cName=cname, cReference=Just (refTblName, _a) } <- newcols- return $ AlterColumn name (refTblName, addReference allDefs (refName name cname) refTblName cname)+ Column { cName=cname, cReference=Just (refTblName, refConstraintName) } <- newcols+ return $ AlterColumn name (refTblName, addReference allDefs refConstraintName refTblName cname) let foreignsAlt = map (\fdef -> let (childfields, parentfields) = unzip (map (\((_,b),(_,d)) -> (b,d)) (foreignFields fdef)) in AlterColumn name (foreignRefTableDBName fdef, AddReference (foreignRefTableDBName fdef) (foreignConstraintNameDBName fdef) childfields parentfields)) fdefs@@ -704,7 +704,7 @@ -- new fkey that didnt exist before [] -> case ref of Nothing -> ([(name, Add' col)],[])- Just (tname, _b) -> let cnstr = [addReference allDefs (refName tblName name) tname name]+ Just (tname, cname) -> let cnstr = [addReference allDefs cname tname name] in (map ((,) tname) (Add' col : cnstr), cols) Column _ isNull' type_' def' _defConstraintName' maxLen' ref':_ -> let -- Foreign key@@ -712,7 +712,7 @@ (False, Just (_, cname)) -> [(name, DropReference cname)] _ -> [] refAdd = case (ref == ref', ref) of- (False, Just (tname, _cname)) -> [(tname, addReference allDefs (refName tblName name) tname name)]+ (False, Just (tname, cname)) -> [(tname, addReference allDefs cname tname name)] _ -> [] -- Type and nullability modType | showSqlType type_ maxLen False `ciEquals` showSqlType type_' maxLen' False && isNull == isNull' = []@@ -883,10 +883,6 @@ , escapeDBName cname ] -refName :: DBName -> DBName -> DBName-refName (DBName table) (DBName column) =- DBName $ T.concat [table, "_", column, "_fkey"]- ---------------------------------------------------------------------- escape :: DBName -> Text@@ -983,8 +979,8 @@ AddUniqueConstraint uname $ map (findTypeAndMaxLen name) ucols ] let foreigns = do- Column { cName=cname, cReference=Just (refTblName, _a) } <- newcols- return $ AlterColumn name (refTblName, addReference allDefs (refName name cname) refTblName cname)+ Column { cName=cname, cReference=Just (refTblName, refConstraintName) } <- newcols+ return $ AlterColumn name (refTblName, addReference allDefs refConstraintName refTblName cname) let foreignsAlt = map (\fdef -> let (childfields, parentfields) = unzip (map (\((_,b),(_,d)) -> (b,d)) (foreignFields fdef)) in AlterColumn name (foreignRefTableDBName fdef, AddReference (foreignRefTableDBName fdef) (foreignConstraintNameDBName fdef) childfields parentfields)) fdefs
persistent-mysql.cabal view
@@ -1,5 +1,5 @@ name: persistent-mysql-version: 2.10.0+version: 2.10.1 license: MIT license-file: LICENSE author: Felipe Lessa <felipe.lessa@gmail.com>, Michael Snoyman