Giter Site home page Giter Site logo

simple-accounts-go's Introduction

go

运行 docker 数据库

# postgres
docker run -d --name pg-go-simple-accounts -p 5432:5432 -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=123456 -e POSTGRES_DB=simple_accounts_dev -e PGDATA=/var/lib/postgresql/data/pgdata -v pg-go-simple-accounts-data:/var/lib/postgresql/data postgres:14
# mysql
docker run -d --name mysql-go-simple-accounts -p 3306:3306 - -e MYSQL_DATABASE=simple_accounts_dev -e MYSQL_USER=jay -e MYSQL_PASSWORD=123456 -e MYSQL_ROOT_PASSWORD=123456 -v mysql-go-simple-accounts-data:/var/lib/mysql mysql:8 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

--name 容器名称。可以作为 ip 使用,需加 --network -e env 环境变量 POSTGRES_USER 用户名 POSTGRES_PASSWORD 密码 POSTGRES_DB 数据库名 PGDATA=/var/lib/postgresql/data/pgdata 根据 pg docker 文档配置 -v 数据持久化映射

进入数据库

# pgsql
docker exec -it pg-go-simple-accounts bash # 进入 docker psql 数据库
psql -U <user name> -d <database name> # 连接数据库
\l # 查看全部数据库
\c <database name> # 连接数据库
\d # 查看全部表
\d <table name> # 查看表
\q # 退出数据库,或者 control + d
# mysql
docker exec -it mysql-go-simple-accounts bash # 进入 docker mysql 数据库
psql -u <user name> -p <database name> # 连接数据库
show databases; # 查看全部数据库
use <database name> # 连接数据库
show tables; # 查看全部表
describe <table name> # 查看表
exit # 退出数据库,或者 control + d
  • 安装

    # mac
    brew install sqlc

golang-migrate 数据迁移

  • 安装 golang-migrate

    brew install golang-migrate
    migrate --version # 4.x.x
  • 创建迁移文件

go build; ./simple-accounts db create:migrations <filename>
# or
migrate create -ext sql -dir config/migrations -seq create_users_table
  • 运行迁移文件
# 升级
go build; ./simple-accounts db migrate
# or
migrate -database "postgres://admin:123456@localhost:5432/simple_accounts_dev?sslmode=disable" -source "file://$(pwd)/config/migrations" up
# 降级
go build; ./simple-accounts db migrate:down
# or
migrate -database "postgres://admin:123456@localhost:5432/simple_accounts_dev?sslmode=disable" -source "file://$(pwd)/config/migrations" down 1

数据库测试

命令行执行

go test ./test/...
go test -benchmem -bench "Crud" ./test/database_test/...

生成 API 文档

安装 swag

go install github.com/swaggo/swag/cmd/swag@latest

生成文档

./script/run.sh # 需要执行权限,chmod +x ./script/run.sh
# or
swag init && go build main.go && ./simple-accounts server

邮件测试

# 安装 mailhog
go install github.com/mailhog/MailHog@latest
# 打开服务
MailHog

打开 http://localhost:8025/ 访问 UI

simple-accounts-go's People

Contributors

keangj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.