Add "clear" argument to fill-db.hs

This commit is contained in:
Gregor Kleen 2018-07-06 21:34:57 +02:00
parent 5101cf9c1e
commit 7a74b86f6d
2 changed files with 19 additions and 3 deletions

View File

@ -4,14 +4,30 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PackageImports #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE MultiWayIf #-}
import "uniworx" Import
import "uniworx" Application (db)
import "uniworx" Application (db, getAppDevSettings)
import Database.Persist.Postgresql
import Database.Persist.Sql
import Control.Monad.Logger
import Data.Time
main :: IO ()
main = db $ do
main = do
args <- liftIO getArgs
forM_ args $ \arg -> if
| arg == "clear" -> runStderrLoggingT $ do -- We don't use `db` here, since we do /not/ want any migrations to run, yet
settings <- liftIO getAppDevSettings
withPostgresqlConn (pgConnStr $ appDatabaseConf settings) . runSqlConn $ do
rawExecute "drop owned by current_user;" []
| otherwise -> error $ "unknown argument: " <> unpack arg
fillDb
fillDb :: IO ()
fillDb = db $ do
defaultFavourites <- getsYesod $ appDefaultFavourites . appSettings
now <- liftIO getCurrentTime
let

View File

@ -7,7 +7,7 @@
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Application
( getApplicationDev
( getApplicationDev, getAppDevSettings
, appMain
, develMain
, makeFoundation