store

package module
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2025 License: MIT Imports: 7 Imported by: 0

README

comby-store-postgres

Implementation of the EventStore and CommandStore interfaces defined in comby with Postgres. comby is a powerful application framework designed with Event Sourcing and Command Query Responsibility Segregation (CQRS) principles, written in Go.

License

Prerequisites

# run postgres locally for testings
docker run --name some-postgres -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres

Installation

comby-store-postgres supports the latest version of comby (v2), requires Go version 1.22+ and is based on Postgres driver lib/pq.

go get github.com/gradientzero/comby-store-postgres

Quickstart

import (
	"github.com/gradientzero/comby-store-postgres"
	"github.com/gradientzero/comby/v2"
)

// create postgres CommandStore
commandStore := store.NewCommandStorePostgres("localhost", 5432, "postgres", "mysecretpassword", "postgres")
if err = commandStore.Init(ctx,
    comby.CommandStoreOptionWithAttribute("anyKey", "anyValue"),
); err != nil {
    panic(err)
}
// create postgres EventStore
eventStore := store.NewEventStorePostgres("localhost", 5432, "postgres", "mysecretpassword", "postgres")
if err = eventStore.Init(ctx,
    comby.EventStoreOptionWithAttribute("anyKey", "anyValue"),
); err != nil {
    panic(err)
}

// create Facade
fc, _ := comby.NewFacade(
  comby.FacadeWithCommandStore(commandStore),
  comby.FacadeWithEventStore(eventStore),
)

Tests

go test -v ./...

Contributing

Please follow the guidelines in CONTRIBUTING.md.

License

This project is licensed under the MIT License.

Contact

https://www.gradient0.com

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCommandStorePostgres

func NewCommandStorePostgres(host string, port int, user, password, dbName string, opts ...comby.CommandStoreOption) comby.CommandStore

func NewEventStorePostgres

func NewEventStorePostgres(host string, port int, user, password, dbName string, opts ...comby.EventStoreOption) comby.EventStore

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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