{-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} module Model where import GHC.Generics import Database.Persist import Database.Persist.Sql import Database.Persist.TH import qualified Data.Text as T import Data.Text (Text(..)) import PasteType share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| User json username Text password Text Username username deriving Show Generic Paste json poster UserId name Text content Text type PasteType PasteNamePoster name poster deriving Show Generic |] doMigrations :: SqlPersistT IO () doMigrations = runMigration migrateAll