file
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package model
|
||||
|
||||
import "portal-mini-go/internal/pkg/types"
|
||||
|
||||
// File 记录一次上传文件的元数据;实际内容由 StorageKey 指向具体存储实现(本地/对象存储)。
|
||||
type File struct {
|
||||
ID uint64 `gorm:"primaryKey;autoIncrement" json:"id"`
|
||||
StorageKey string `gorm:"type:varchar(255);index" json:"storage_key"` // 如 2006/01/02/<rand>.ext
|
||||
Filename string `gorm:"type:varchar(255)" json:"filename"` // 落盘文件名(含扩展名)
|
||||
OriginName string `gorm:"type:varchar(255)" json:"origin_name"` // 用户上传时的原始文件名
|
||||
MimeType string `gorm:"type:varchar(128)" json:"mime_type"`
|
||||
Ext string `gorm:"type:varchar(32)" json:"ext"` // 小写扩展名,不含点
|
||||
Size int64 `gorm:"type:bigint" json:"size"`
|
||||
UploaderType string `gorm:"type:varchar(16)" json:"uploader_type"` // admin | ma
|
||||
UploaderID uint64 `gorm:"type:bigint;index" json:"uploader_id"`
|
||||
URL string `gorm:"type:varchar(512)" json:"url"`
|
||||
CreatedAt types.Time `json:"created_at"`
|
||||
}
|
||||
|
||||
func (File) TableName() string { return "files" }
|
||||
Reference in New Issue
Block a user