dorm

package module
v0.0.0-...-bdfbcec Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2020 License: MIT Imports: 6 Imported by: 0

README

DORM (Work in Progress)

Dorm is a developer friendly DynamoDB object modeling framework.

Wishlist of features

  • Model Management using Go tags
  • Preload validation of models
  • Scan/Query/Get support*
    • Query builder
    • Expression like filter builder
  • Put/Upsert/Update/Save support*
  • Delete support
  • Reload model support**
  • Conditional Expressions support
  • Mapping models to GSIs/LSIs
  • Single model support for multiple GSIs/LSIs***

* With zero marshal/unsmarshal steps required ** Reloading is similar to get but allows you to update a local record from a remote table *** On the fence about this one... (might be an anti-pattern)

Inspiration

Here are some projects that I used to draw inspiration from for building this package:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

type DB struct {
	// contains filtered or unexported fields
}

DB contains current information about the AWS connection

func Open

func Open(cfg *aws.Config) *DB

func (*DB) LoadTable

func (db *DB) LoadTable(tableName string, model interface{}, opts *TableOptions) *Table

type Table

type Table struct {
	// contains filtered or unexported fields
}

type TableLoadOptions

type TableLoadOptions struct {
	TableName string
	Type      interface{}
	Options   *TableOptions
}

type TableOptions

type TableOptions struct {
	ForceCreate bool
	ReadUnits   *int64 // if both ReadUnits & WriteUnits is nil, ON_DEMAND billing is used
	WriteUnits  *int64
}

Directories

Path Synopsis
cmd
app

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL