packages feed

dbmigrations 1.1 → 1.1.1

raw patch · 4 files changed

+18/−18 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

dbmigrations.cabal view
@@ -1,5 +1,5 @@ Name:                dbmigrations-Version:             1.1+Version:             1.1.1 Synopsis:            An implementation of relational database "migrations" Description:         A library and program for the creation,                      management, and installation of schema updates
src/Database/Schema/Migrations.hs view
@@ -20,7 +20,6 @@ import qualified Database.Schema.Migrations.Store as S import Database.Schema.Migrations.Migration     ( Migration(..)-    , newMigration     )  -- |Given a 'B.Backend' and a 'S.MigrationMap', query the backend and
src/Moo/CommandUtils.hs view
@@ -10,6 +10,7 @@        , getCurrentTimestamp        ) where +import Control.Applicative import Control.Exception ( bracket ) import Control.Monad ( when, forM_, unless ) import Control.Monad.Reader ( asks )
src/Moo/Core.hs view
@@ -16,7 +16,7 @@  import Data.List.Split (wordsBy) import Data.Char (isSpace)-import Control.Applicative ((<$>), (<*>))+import Control.Applicative import Control.Monad.Reader (ReaderT) import qualified Data.Configurator as C import Data.Configurator.Types (Config, Configured)@@ -25,7 +25,7 @@ import Database.HDBC.PostgreSQL (connectPostgreSQL) import Database.HDBC.Sqlite3 (connectSqlite3) import System.Environment (getEnvironment)-import Data.Maybe (isJust, fromMaybe)+import Data.Maybe (fromMaybe) import qualified Database.MySQL.Simple as MySQL import qualified Database.MySQL.Base as MySQLB @@ -79,15 +79,15 @@ newLoadConfig :: LoadConfig newLoadConfig = LoadConfig Nothing Nothing Nothing Nothing Nothing -isValidConfig :: LoadConfig -> Bool-isValidConfig (LoadConfig a b c _ _) = all isJust [a, b, c]--loadConfigToConfig :: LoadConfig -> Configuration-loadConfigToConfig (LoadConfig (Just cs) (Just dt) (Just msp) lm ts) =-  Configuration cs dt msp-    (fromMaybe False lm)-    (fromMaybe False ts)-loadConfigToConfig _ = error "LoadConfig is invalid!"+validateLoadConfig :: LoadConfig -> Either String Configuration+validateLoadConfig (LoadConfig Nothing _ _ _ _) =+    Left "Invalid configuration: connection string not specified"+validateLoadConfig (LoadConfig _ Nothing _ _ _) =+    Left "Invalid configuration: database type not specified"+validateLoadConfig (LoadConfig _ _ Nothing _ _) =+    Left "Invalid configuration: migration store path not specified"+validateLoadConfig (LoadConfig (Just cs) (Just dt) (Just msp) lm ts) =+    Right $ Configuration cs dt msp (fromMaybe False lm) (fromMaybe False ts)  -- |Setters for fields of 'LoadConfig'. lcConnectionString, lcDatabaseType, lcMigrationStorePath@@ -98,6 +98,8 @@  lcLinearMigrations :: LoadConfig -> Maybe Bool -> LoadConfig lcLinearMigrations c v   = c { _lcLinearMigrations   = v }++lcTimestampFilenames :: LoadConfig -> Maybe Bool -> LoadConfig lcTimestampFilenames c v = c { _lcTimestampFilenames = v }  @@ -144,9 +146,7 @@     env <- getEnvironment     cfg <- applyConfigFile file newLoadConfig >>= applyEnvironment env -    if isValidConfig cfg-       then return $ Right $ loadConfigToConfig cfg-       else return $ Left "Configuration is invalid, check if everything is set."+    return $ validateLoadConfig cfg  -- |Converts @Just "on"@ and @Just "true"@ (case insensitive) to @True@, -- anything else to @False@.@@ -195,8 +195,8 @@         [(map toLower (trimlr k),trimlr v) | kvPair <-                                               wordsBy (== ';') connectionString :: [String]                                            , let (k,v) = case wordsBy (== '=') kvPair of-                                                           (k:v:_) -> (k,v)-                                                           [k] -> (k,"")+                                                           (k':v':_) -> (k',v')+                                                           [k'] -> (k',"")                                                            [] -> error "impossible"]       trimlr = takeWhile (not . isSpace) . dropWhile isSpace       connInfo =