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 postgres
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
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),
)
go test -v ./...
Please follow the guidelines in CONTRIBUTING.md.
This project is licensed under the MIT License.