1{-# language DeriveFunctor #-}
2{-# language DerivingStrategies #-}
4module Rel8.Schema.Table
13-- | The schema for a table. This is used to specify the name and schema that a
14-- table belongs to (the @FROM@ part of a SQL query), along with the schema of
15-- the columns within this table.
17-- For each selectable table in your database, you should provide a
18-- @TableSchema@ in order to interact with the table via Rel8. For a table
19-- storing a list of projects (as defined in the introduction):
22-- projectSchema :: TableSchema (Project ColumnSchema)
23-- projectSchema = TableSchema
24-- { tableName = "project"
25-- , tableSchema = Nothing -- Assumes that the 'project' table is reachable from your connection's search_path
26-- , tableColumns = Project
27-- { projectAuthorId = "author_id"
28-- , projectName = "name"
32data TableSchema names = TableSchema
34 -- ^ The name of the table.
35 , schema :: Maybe String
36 -- ^ The schema that this table belongs to. If 'Nothing', whatever is on
37 -- the connection's @search_path@ will be used.
39 -- ^ The columns of the table. Typically you would use a a higher-kinded
40 -- data type here, parameterized by the 'Rel8.ColumnSchema.ColumnSchema' functor.
42 deriving stock Functor
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list