-
Start the seata-server service with the docker file under the /dockercomposer folder
git clone https://seata.apache.org/seata-go-samples.git
cd dockercompose
docker-compose -f docker-compose.yml up -d seata-server
-
Start and run a sample, for example let's run a basic distributed transaction sample of AT
cd at/basic
go run .
The default mysql connection configuration is suitable with dockercompose/docker-compose.yml.
You can also customize it by system environment.
System Env Supported:
- MYSQL_HOST
- MYSQL_PORT
- MYSQL_USERNAME
- MYSQL_PASSWORD
- MYSQL_DB
-
Modify the seata-go dependency version to v0.0.0-incompatible, and remove the version number if it exists in the original dependency path.
//seata.apache.org/seata-go v1.2.0 seata.apache.org/seata-go v0.0.0-incompatibl
-
Find the absolute or relative path to your local code.
/Users/mac/Desktop/GO/seata-go ../seata-go
-
Add the replace module to the go.mod file and change it to the local code path.
seata.apache.org/seata-go => ../seata-go
-
Synchronization dependencies.
go mod tidy
-
Run the sample test code.
You can use your local project forked to test new pr that haven't merged into seata.apache.org/seata-go.
-
Make sure your go version is 1.18 or later.
-
Fork and download two projects (seata-go and seata-go-samples), and put them into a same local directory.
For examples:
/Users/xxx/code/github.com/yourid/seata-go
/Users/xxx/code/github.com/yourid/seata-go-samples
- Execute go work init command in projects root directory.
cd /Users/xxx/code/github.com/yourid
go work init
You will find a go.work file in /Users/xxx/code/github.com/yourid.
- Add seata-go and seata-go-samples into the same go workspace.
go work use ./seata-go
go work use ./seata-go-samples
Now, the content of go.work file is as follows.
go 1.19
use (
./seata-go
./seata-go-samples
)
- Run the sample test code in seata-go-samples.