I'm trying to use Persist.sqlite to query my DB,..but in all the tutorials I have found so far is that first I have to migrate and insert data. Only after that came the select.
But what if I want to do only select over existing data? No migration and inserts before?
For example in the code below. What if I want to skip buildDb (currently that will not work)?
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE QuasiQuotes, TemplateHaskell, TypeFamilies #-}
{-# LANGUAGE OverloadedStrings, GADTs, FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module DBio where
import Data.Text (Text)
import Database.Persist
import Database.Persist.Sqlite (runSqlite, runMigrationSilent)
import Database.Persist.TH (mkPersist, mkMigrate, persistLowerCase,
share, sqlSettings)
import Database.Persist.Sql (insert)
import Data.Conduit (($$))
import Data.Conduit.List as CL
import Control.Monad.IO.Class (liftIO)
share [mkPersist sqlSettings, mkMigrate "migrateTables"] [persistLowerCase|
Tutorial
value Double
url Text
school Bool
deriving Show
|]
run :: IO ()
run = runSqlite "../DB/mind.sqlite" $ do
buildDb
basic <- selectList [TutorialValue >. 0.0] []
liftIO $ print basic
buildDb = do
--runMigrationSilent migrateTables
insert $ Tutorial 2.22 "http://ift.tt/1YfRn2i" True
Aucun commentaire:
Enregistrer un commentaire