packages feed

mallard 0.6.0.4 → 0.6.1.0

raw patch · 5 files changed

+22/−20 lines, 5 filesdep ~megaparsecPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: megaparsec

API changes (from Hackage documentation)

- Database.Mallard.Parser: ParserException :: (Path Abs File) -> ParseError Char Dec -> ParserException
+ Database.Mallard.Parser: ParserException :: (Path Abs File) -> ParseError Char Void -> ParserException
- Database.Mallard.Parser: [_peError] :: ParserException -> ParseError Char Dec
+ Database.Mallard.Parser: [_peError] :: ParserException -> ParseError Char Void
- Database.Mallard.Types: class HasMigration c_anTR where migrationChecksum = (.) migration migrationChecksum migrationDescription = (.) migration migrationDescription migrationName = (.) migration migrationName migrationRequires = (.) migration migrationRequires migrationScript = (.) migration migrationScript
+ Database.Mallard.Types: class HasMigration c_anHr where migrationChecksum = (.) migration migrationChecksum migrationDescription = (.) migration migrationDescription migrationName = (.) migration migrationName migrationRequires = (.) migration migrationRequires migrationScript = (.) migration migrationScript
- Database.Mallard.Types: class HasTest c_ao4s where testDescription = (.) test testDescription testName = (.) test testName testScript = (.) test testScript
+ Database.Mallard.Types: class HasTest c_anS2 where testDescription = (.) test testDescription testName = (.) test testName testScript = (.) test testScript
- Database.Mallard.Types: migration :: HasMigration c_anTR => Lens' c_anTR Migration
+ Database.Mallard.Types: migration :: HasMigration c_anHr => Lens' c_anHr Migration
- Database.Mallard.Types: migrationChecksum :: HasMigration c_anTR => Lens' c_anTR MigrationDigest
+ Database.Mallard.Types: migrationChecksum :: HasMigration c_anHr => Lens' c_anHr MigrationDigest
- Database.Mallard.Types: migrationDescription :: HasMigration c_anTR => Lens' c_anTR Text
+ Database.Mallard.Types: migrationDescription :: HasMigration c_anHr => Lens' c_anHr Text
- Database.Mallard.Types: migrationName :: HasMigration c_anTR => Lens' c_anTR MigrationId
+ Database.Mallard.Types: migrationName :: HasMigration c_anHr => Lens' c_anHr MigrationId
- Database.Mallard.Types: migrationRequires :: HasMigration c_anTR => Lens' c_anTR [MigrationId]
+ Database.Mallard.Types: migrationRequires :: HasMigration c_anHr => Lens' c_anHr [MigrationId]
- Database.Mallard.Types: migrationScript :: HasMigration c_anTR => Lens' c_anTR Text
+ Database.Mallard.Types: migrationScript :: HasMigration c_anHr => Lens' c_anHr Text
- Database.Mallard.Types: test :: HasTest c_ao4s => Lens' c_ao4s Test
+ Database.Mallard.Types: test :: HasTest c_anS2 => Lens' c_anS2 Test
- Database.Mallard.Types: testDescription :: HasTest c_ao4s => Lens' c_ao4s Text
+ Database.Mallard.Types: testDescription :: HasTest c_anS2 => Lens' c_anS2 Text
- Database.Mallard.Types: testName :: HasTest c_ao4s => Lens' c_ao4s TestId
+ Database.Mallard.Types: testName :: HasTest c_anS2 => Lens' c_anS2 TestId
- Database.Mallard.Types: testScript :: HasTest c_ao4s => Lens' c_ao4s Text
+ Database.Mallard.Types: testScript :: HasTest c_anS2 => Lens' c_anS2 Text

Files

README.md view
@@ -1,4 +1,4 @@-# Mallard+# [Mallard](https://en.wikipedia.org/wiki/Mallard)  No frills migration for relational databases. Usable as either an application or library. 
app/Mallard.hs view
@@ -20,7 +20,7 @@ import qualified Hasql.Connection           as Sql import           Hasql.Options.Applicative import qualified Hasql.Pool                 as Pool-import           Options.Applicative        hiding (Parser, runParser)+import           Options.Applicative        hiding (Parser) import           Options.Applicative import           Options.Applicative.Text import           Path@@ -68,7 +68,7 @@             <> header "mallard - applies SQL database migrations." )  parseRelOrAbsDir :: (MonadThrow m, MonadCatch m, MonadIO m) => FilePath -> m (Path Abs Dir)-parseRelOrAbsDir file = parseAbsDir file `catch` (\(_::PathParseException) -> makeAbsolute =<< parseRelDir file)+parseRelOrAbsDir file = parseAbsDir file `catch` (\(_::PathException) -> makeAbsolute =<< parseRelDir file)  run :: (MonadIO m, MonadCatch m, MonadReader AppOptions m, MonadState AppState m, MonadThrow m) => m () run = do
lib/Database/Mallard/File.hs view
@@ -10,9 +10,9 @@ import           Control.Lens import           Control.Monad.Catch import           Control.Monad.Reader-import qualified Data.ByteString         as BS import           Data.Foldable import qualified Data.HashMap.Strict     as Map+import qualified Data.Text.IO            as T import           Database.Mallard.Parser import           Database.Mallard.Types import           Path@@ -39,7 +39,7 @@  importFile' :: (MonadIO m, MonadThrow m) => Path Abs File -> m [Action] importFile' file = do-    fileContent <- liftIO $ BS.readFile (toFilePath file)+    fileContent <- liftIO $ T.readFile (toFilePath file)     let parseResult = runParser parseActions (toFilePath file) fileContent     case parseResult of         Left er -> throw $ ParserException file er
lib/Database/Mallard/Parser.hs view
@@ -21,11 +21,12 @@ import           Data.Text                  (Text) import qualified Data.Text                  as T import qualified Data.Text.Encoding         as T+import           Data.Void import           Database.Mallard.Types import           Path import           Text.Megaparsec            hiding (parseTest, tab)-import           Text.Megaparsec.ByteString-import qualified Text.Megaparsec.Lexer      as L+import           Text.Megaparsec.Char       hiding (tab)+import qualified Text.Megaparsec.Char.Lexer as L  data Action     = ActionMigration Migration@@ -38,6 +39,8 @@     = TextField Text     | ListField [Text] +type Parser = Parsec Void Text+ -- Lexer  spaceConsumer :: Parser ()@@ -45,31 +48,31 @@     where         space' = void (try spaceChar <|> char '-') -symbol :: String -> Parser String+symbol :: Text -> Parser Text symbol = L.symbol spaceConsumer -symbol' :: String -> Parser String+symbol' :: Text -> Parser Text symbol' = L.symbol' spaceConsumer  brackets :: Parser a -> Parser a brackets = between (symbol "[") (symbol "]") -comma :: Parser String+comma :: Parser Text comma = symbol "," -colon :: Parser String+colon :: Parser Text colon = symbol ":" -semiColon :: Parser String+semiColon :: Parser Text semiColon = symbol ";" -migrationS :: Parser String+migrationS :: Parser Text migrationS = symbol' "migration" -testS :: Parser String+testS :: Parser Text testS = symbol' "test" -sbang :: Parser String+sbang :: Parser Text sbang = symbol "#!"  sbangOrEof :: Parser ()@@ -170,7 +173,7 @@ data ParserException     = ParserException         { _peFile  :: (Path Abs File)-        , _peError :: ParseError Char Dec+        , _peError :: ParseError Char Void         }     deriving (Show) @@ -180,6 +183,5 @@          $tab$Line: $:sourceLine (NonEmpty.head (errorPos (_peError e)))$         $tab$Column: $:sourceColumn (NonEmpty.head (errorPos (_peError e)))$-        $tab$Expected: $:errorExpected (_peError e)$-        $tab$Occurred: $:errorUnexpected (_peError e)$+        $tab$Item: $:_peError e$     |]
mallard.cabal view
@@ -1,5 +1,5 @@ name:               mallard-version:            0.6.0.4+version:            0.6.1.0 synopsis:           Database migration and testing as a library. description:        Please see README.md homepage:           https://github.com/AndrewRademacher/mallard@@ -44,7 +44,7 @@                      , hasql-transaction                      , Interpolation                      , lens-                     , megaparsec   <6+                     , megaparsec   >= 6 && < 7                      , mtl                      , path                      , path-io