Files
mayfly-go/docs/server/domain.md
2026-05-08 20:45:13 +08:00

989 B

trigger
trigger
always_on

Domain 层规范

实体定义

package entity

import "mayfly-go/pkg/model"

type Db struct {
    model.Model      // 必须嵌入基础模型
    model.ExtraData  // 辅助字段(展示用、非查询条件)

    Code       string `json:"code" gorm:"size:32;not null;index:idx_db_code"`
    Name       string `json:"name" gorm:"size:255;not null;"`
    InstanceId uint64 `json:"instanceId" gorm:"not null;"`
}

type Status int8
const (
    StatusActive   Status = 1
    StatusInactive Status = 0
)

ExtraData 使用原则

  • 使用 ExtraData: 前端展示字段、关联名称、状态文本、可选扩展信息
  • 🚫 必须独立字段: 查询条件、排序字段、分组统计、索引字段、核心业务字段

Repository 接口

package repository

type Db interface {
    base.Repo[*entity.Db]
    GetDbList(condition *entity.DbQuery, orderBy ...string) (*model.PageResult[*entity.DbListPO], error)
}