ink.go

module
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2024 License: MIT

README

ink.go

Usage

$ ./bin/ink run

具体可以查看 help 信息

$ ./bin/ink -h
Usage:
  ink [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  gen         Generate DB Models
  help        Help about any command
  migrate     Migrate schema up or down
  run         Run server
  seed        Seed the database
  swag        Generate swagger docs

Flags:
  -h, --help   help for ink

Use "ink [command] --help" for more information about a command.
$ ./bin/ink help run
Run ink server

Usage:
  ink run [flags]

Flags:
  -h, --help          help for run
  -l, --live-reload   Enable live reload

前置条件

  • 在工作目录克隆项目代码
$ cd {work dir}
$ git clone git@github.com:authink/ink.go.git
$ git clone git@github.com:authink/ink.schema.git
  • 项目根目录中新建 .env.local
# .env.local
DB_USER={your_db_username}
DB_PASSWORD={your_db_password}
  • 创建名为 ink 的数据库
CREATE DATABASE `ink` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
  • make,方便执行 gen/swag/test/build/run 等任务

如果未安装 make,可参考 Makefile 中的任务命令,手动执行

Schema

# up
$ APP_ENV=dev ./bin/ink migrate -d up

# down
$ APP_ENV=dev ./bin/ink migrate -d down

Seed

$ APP_ENV=dev ./bin/ink seed

Generate DB Models

$ make gen

生成 API swagger 文档

$ make swag
// MainAPI 文件增加 import
_ "github.com/authink/ink.go/src/docs"

启动 Ink server

然后打开 Swagger API 文档

Quick Run

$ make run

Live reload

此功能只能在 APP_ENV=dev 环境中开启

$ make run ARGS="-l"

单元测试/go test/CI

$ make test

部署/go build/CD

$ make build

搭建 Markdown Docs

I18n

todo: ink translate 自动扫描所有未翻译字段,写入 locales 文件中

Env

根据 APP_ENV 读取不同的 env,其中 .local 文件是在本地开发时用来覆盖默认配置,不会提交到 git 仓库

  1. APP_ENV=dev

.env.dev.local > .env.local > .env.dev > .env

  1. APP_ENV=test

.env.test.local > .env.local > .env.test > .env

  1. APP_ENV=prod

.env.prod.local > .env.local > .env.prod > .env

提供 API 可以获取所有变量值

Directories

Path Synopsis
src
docs
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.
orm
orm/db
Auto generated by authink/orm, please do not change anything in this file
Auto generated by authink/orm, please do not change anything in this file

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL