记录一下GODDD项目使用

1

项目地址

https://github.com/ixugo/goddd

1.在根目录创建tables文件夹,创建包subscription_options及结构体

type SubscriptionOptions struct {
	ID        int
	CreatedAt orm.Time
	UpdatedAt orm.Time

	DefaultUrl   string // 用于指定默认URL
	Target       string // 必填参数
	Url          string
}

2.在终端执行代码生成

https://github.com/ixugo/godddx

godddx -f ./tables/subscription_options/subscription_options.go

3.在provider添加set以及Usecase:

var (
	ProviderVersionSet     = wire.NewSet(versionapi.NewVersionCore)
	SubscriptionOptionsSet = wire.NewSet(NewSubscriptionOptionsCore)
	ProviderSet            = wire.NewSet(
		wire.Struct(new(Usecase), "*"),
		NewHTTPHandler,
		versionapi.New,
		NewSubscriptionOptionsAPI,
	)
)

type Usecase struct {
	Conf                *conf.Bootstrap
	DB                  *gorm.DB
	Version             versionapi.API
	SubscriptionOptions SubscriptionOptionsAPI
}

4.在web/api/api.go加入register

RegisterSubscriptionOptions(r, uc.SubscriptionOptions, auth)

5.在wire.go添加

api.SubscriptionOptionsSet

6.并且在终端执行

go generate ./internal/app

7.运行编辑器main.go,GoLand需要设置输出目录

8.程序运行成功,自动创建sqlite文件data.db在./configs文件夹下