package base import ( "context" "entgo.io/ent/dialect/sql/schema" "github.com/suyuan32/simple-admin-common/msg/errormsg" "github.com/suyuan32/simple-admin-common/msg/logmsg" "github.com/zeromicro/go-zero/core/errorx" "wechat-api/internal/svc" "wechat-api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type InitDatabaseLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewInitDatabaseLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InitDatabaseLogic { return &InitDatabaseLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx} } func (l *InitDatabaseLogic) InitDatabase() (resp *types.BaseMsgResp, err error) { if err := l.svcCtx.DB.Schema.Create(l.ctx, schema.WithForeignKeys(false)); err != nil { logx.Errorw(logmsg.DatabaseError, logx.Field("detail", err.Error())) return nil, errorx.NewInternalError(err.Error()) } return &types.BaseMsgResp{Msg: errormsg.Success}, nil }