mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-24 02:59:59 +00:00
The hazard had no signal at its point of contact. Someone adding a business module is told to copy 1786700001000_demo_menu.go, which imports the frozen seed models - correct for that file, wrong for anything ordered after the soft-delete conversion. The frozen ModelTime carried no comment at all, so opening it taught the reader nothing. Documents the boundary in three places the author actually passes through: the frozen type itself, the contributor guide, and the module-scaffolding skill, which previously said to copy the reference file verbatim and now says to copy its structure but not its imports. Claude-Session: https://claude.ai/code/session_01DJhM6LvhkNPej35wy9F7Aq
31 lines
1.0 KiB
Go
31 lines
1.0 KiB
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type ControlBy struct {
|
|
CreateBy int `json:"createBy" gorm:"index;comment:创建者"`
|
|
UpdateBy int `json:"updateBy" gorm:"index;comment:更新者"`
|
|
}
|
|
|
|
type Model struct {
|
|
Id int `json:"id" gorm:"primaryKey;autoIncrement;comment:主键编码"`
|
|
}
|
|
|
|
// ModelTime is frozen at the schema shape these tables had before
|
|
// 1786700003000 converted deleted_at to a NOT NULL millisecond marker. That is
|
|
// correct for the migrations ordered before the conversion, and wrong for any
|
|
// added after it: writes put NULL into a NOT NULL column, and reads are scoped
|
|
// "WHERE deleted_at IS NULL" and match nothing.
|
|
//
|
|
// Migrations after that version seed through the runtime models in app/.
|
|
// TestPostConversionMigrationsAvoidFrozenSeedModels enforces this.
|
|
type ModelTime struct {
|
|
CreatedAt time.Time `json:"createdAt" gorm:"comment:创建时间"`
|
|
UpdatedAt time.Time `json:"updatedAt" gorm:"comment:最后更新时间"`
|
|
DeletedAt gorm.DeletedAt `json:"-" gorm:"index;comment:删除时间"`
|
|
}
|