{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE DataKinds #-}
module Persistence.Schema where
import Database.Persist.Sql
import Database.Persist.TH
import Data.Text (Text)
import qualified Persistence.Schema.Enums as Enums
import Persistence.Schema.ConsistencyStatusType (ConsistencyStatusType)
import Persistence.Schema.EvaluationStateType (EvaluationStateType)
import Persistence.Schema.MappingOrigin (MappingOrigin)
import Persistence.Schema.MappingType (MappingType)
import Persistence.Schema.OMSOrigin (OMSOrigin)
indexes :: [(String, [String])]
indexes :: [(String, [String])]
indexes =
[ ("languages", ["slug"])
, ("logics", ["slug"])
, ("language_mappings", ["source_id", "target_id"])
, ("logic_mappings", ["language_mapping_id", "slug"])
, ("signature_morphisms", ["logic_mapping_id", "source_id", "target_id"])
, ("symbol_mappings", ["signature_morphism_id", "source_id", "target_id"])
]