Documentation
¶
Overview ¶
Package database is an abstraction layer for database systems
Index ¶
- Constants
- type Adapter
- type Collection
- type Database
- func (db *Database) Close() error
- func (db *Database) Collection(model interface{}) *Collection
- func (db *Database) DataFromDatabaseUsingResolveParams(objArr interface{}, modelType reflect.Type, p graphql.ResolveParams) error
- func (db *Database) Delete(obj interface{}) error
- func (db *Database) Insert(obj interface{}) error
- func (db *Database) Prepare() error
- func (db *Database) RunInTransaction(fn TransactionFunc) error
- func (db *Database) Update(obj interface{}) error
- type InnerTransactionFunc
- type MutationAdapter
- type MutationAdapterOverlay
- func (overlay MutationAdapterOverlay) Close() error
- func (overlay MutationAdapterOverlay) DataFromDatabaseUsingResolveParams(objArr interface{}, modelType reflect.Type, p graphql.ResolveParams) error
- func (overlay MutationAdapterOverlay) Delete(obj interface{}) error
- func (overlay MutationAdapterOverlay) Insert(obj interface{}) error
- func (overlay MutationAdapterOverlay) RunInTransaction(fn InnerTransactionFunc) error
- func (overlay MutationAdapterOverlay) Select(collectionName string, args interface{}) (interface{}, error)
- func (overlay MutationAdapterOverlay) SyncSchema(options SchemaSyncOptions, models ...interface{}) error
- func (overlay MutationAdapterOverlay) Update(obj interface{}) error
- type Relation
- type SchemaSyncOptions
- type StructFieldName
- type StructFieldRelationMap
- type TransactionFunc
- type TypeName
- type TypeRelationsMap
Constants ¶
View Source
const ( TagPrefix = "goqlorm.relation." TagRelationType = TagPrefix + "type" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter interface { SyncSchema(options SchemaSyncOptions, models ...interface{}) error Close() error Select(collectionName string, args interface{}) (interface{}, error) MutationAdapter DataFromDatabaseUsingResolveParams(objArr interface{}, modelType reflect.Type, p graphql.ResolveParams) error RunInTransaction(InnerTransactionFunc) error }
Use this interface to implement a database interface This will be used by the abstraction layer
type Collection ¶ added in v0.4.0
type Collection struct { Name string // contains filtered or unexported fields }
func (*Collection) Select ¶ added in v0.4.0
func (c *Collection) Select(arguments interface{}) (interface{}, error)
type Database ¶ added in v0.3.1
type Database struct {
// contains filtered or unexported fields
}
func Get ¶ added in v0.3.1
func Get(adapter Adapter, schemaSyncOptions SchemaSyncOptions, models ...interface{}) *Database
func (*Database) Collection ¶ added in v0.4.0
func (db *Database) Collection(model interface{}) *Collection
func (*Database) DataFromDatabaseUsingResolveParams ¶ added in v0.3.1
func (*Database) RunInTransaction ¶ added in v0.4.2
func (db *Database) RunInTransaction(fn TransactionFunc) error
type InnerTransactionFunc ¶ added in v0.4.2
type InnerTransactionFunc func(MutationAdapter) error
type MutationAdapter ¶ added in v0.4.2
type MutationAdapterOverlay ¶ added in v0.4.2
type MutationAdapterOverlay struct {
// contains filtered or unexported fields
}
MutationAdapterOverlay overlays the methods of the mutation adapter on top of the Adapter ones. This is mainly used to provide the abstracted RunInTransaction functionality while keeping the database API the same
func (MutationAdapterOverlay) Close ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) Close() error
func (MutationAdapterOverlay) DataFromDatabaseUsingResolveParams ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) DataFromDatabaseUsingResolveParams(objArr interface{}, modelType reflect.Type, p graphql.ResolveParams) error
func (MutationAdapterOverlay) Delete ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) Delete(obj interface{}) error
func (MutationAdapterOverlay) Insert ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) Insert(obj interface{}) error
func (MutationAdapterOverlay) RunInTransaction ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) RunInTransaction(fn InnerTransactionFunc) error
func (MutationAdapterOverlay) Select ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) Select(collectionName string, args interface{}) (interface{}, error)
func (MutationAdapterOverlay) SyncSchema ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) SyncSchema(options SchemaSyncOptions, models ...interface{}) error
func (MutationAdapterOverlay) Update ¶ added in v0.4.2
func (overlay MutationAdapterOverlay) Update(obj interface{}) error
type Relation ¶ added in v0.4.0
type Relation struct { ModelType reflect.Type Field reflect.StructField LinkedType reflect.Type LinkedTo reflect.StructField LinkedFrom reflect.StructField Type relationtype.RelationType }
type SchemaSyncOptions ¶
type SchemaSyncOptions struct { // Whether to remove columns from the database // that can't be found in models. // // *This is a potentially destructive option, only // enable if you're absolutely sure you want to remove // old columns* // // Note that this may not have an effect on document // or graph databases. RemoveOrphanedColumns bool }
type StructFieldName ¶ added in v0.4.0
type StructFieldName = string
type StructFieldRelationMap ¶ added in v0.4.0
type StructFieldRelationMap map[StructFieldName]*Relation
type TransactionFunc ¶ added in v0.4.2
type TypeRelationsMap ¶ added in v0.4.0
type TypeRelationsMap map[TypeName]StructFieldRelationMap
Click to show internal directories.
Click to hide internal directories.