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.
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"
)
commandStore := store.NewCommandStorePostgres("localhost", 5432, "postgres", "mysecretpassword", "postgres")
if err = commandStore.Init(ctx,
comby.CommandStoreOptionWithAttribute("anyKey", "anyValue"),
); err != nil {
panic(err)
}
eventStore := store.NewEventStorePostgres("localhost", 5432, "postgres", "mysecretpassword", "postgres")
if err = eventStore.Init(ctx,
comby.EventStoreOptionWithAttribute("anyKey", "anyValue"),
); err != nil {
panic(err)
}
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