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.
# run postgres locally for testings
docker run --name some-postgres -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgrescomby-store-postgres supports the latest version of comby (v3), requires Go version 1.22+ and is based on Postgres driver lib/pq.
go get github.com/gradientzero/comby-store-postgresimport (
"github.com/gradientzero/comby-store-postgres"
"github.com/gradientzero/comby/v3"
)
// 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),
)go fmt ./...
go clean -testcache
go test -v ./... -covermode=count
go test -v ./... -race
go vet ./...
# go install honnef.co/go/tools/cmd/staticcheck@latest
staticcheck ./...Please follow the guidelines in CONTRIBUTING.md.
This project is licensed under the MIT License.