go/README.md
brew install postgresql@14brew services start postgresqlbrew services stop postgresqlpsql postgrescreate role chroma with login password 'chroma';alter role chroma with superuser;create database chroma;export POSTGRES_HOST=localhostexport POSTGRES_PORT=5432atlas migrate diff --env devatlas --env dev migrate apply --url "postgres://chroma:chroma@localhost:5432/chroma?sslmode=disable"The biggest challenge to getting the project to build correctly is ensuring you have the correct versions for Protobuf. Refer to the "source of truth" for the version in Dockerfile. Note, you need all three of these:
protocprotoc-gen-goprotoc-gen-go-grpcYou can start by downloading the version of protoc from the release page. Ensure that you copy the protoc binary to /usr/local/bin or add it to your GOPATH/bin.
ALSO, ensure you have copied the /include directory of the release to ../include relative to wherever you installed the binary.
Then, to install the plugins, run the go install commands from the Dockerfile. The exact commands are not here because we would be duplicating where versions live if we did. The Dockerfile is the source of truth for the versions.
Once those are all installed, you can run make build to build the project and most importantly, the generated protobuf files which your IDE will complain about until they are generated.
From the directory with the migrations/ and schema/ directories, you can generate a new schema by changing the files in schema directly and running this command:
atlas migrate diff --dir file://migrations --to file://schema --dev-url 'docker://postgres/15/dev?search_path=public'