| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package tables
-
- import (
- "fmt"
- "time"
-
- "git.x2erp.com/qdy/go-db/sqldef"
- )
-
- func init() {
-
- sqldef.AddRegistration(func(r *sqldef.Registry) {
- // 环境表
- tb := sqldef.NewTable("config_environment", "环境表").
- ID("config_environment_id", 8).NotNull().Comment("环境编码,主键").End().
- String("env_name", 64).NotNull().Comment("环境名称").End().
- String("description", 64).Comment("环境描述").End().
- String("creator", 32).NotNull().Comment("创建人").End().
- DateTime("created_at").NotNull().Default("CURRENT_TIMESTAMP").Comment("创建时间").End().
- DateTime("updated_at").Default("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP").Comment("更新时间").End()
-
- // 注册表
- r.RegisterTable(tb.Build())
- })
- }
-
- // ConfigEnvironment 环境表结构体
- type ConfigEnvironment struct {
- // 环境编码,主键
- ConfigEnvironmentID string `gorm:"column:config_environment_id;type:varchar(8);primaryKey;not null;comment:环境编码,主键"`
- // 环境名称
- EnvName string `gorm:"column:env_name;type:varchar(64);not null;comment:环境名称"`
- // 环境描述
- Description *string `gorm:"column:description;type:varchar(64);comment:环境描述"`
- // 创建人
- Creator string `gorm:"column:creator;type:varchar(32);not null;comment:创建人"`
- // 创建时间
- CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间"`
- // 更新时间
- UpdatedAt *time.Time `gorm:"column:updated_at;default:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;comment:更新时间"`
- }
-
- // TableName 指定表名
- func (ConfigEnvironment) TableName() string {
- return "config_environment"
- }
-
- // GetDefaultDataSQL 获取环境表默认数据的SQL语句(PostgreSQL版本)
- func GetDefaultDataSQL() []string {
- now := time.Now().Format("2006-01-02 15:04:05")
-
- return []string{
- // 清空表数据(可选,根据需要决定是否包含)
- // "TRUNCATE TABLE config_environment RESTART IDENTITY;",
-
- // 单条SQL插入所有数据(PostgreSQL多行插入)
- fmt.Sprintf(`INSERT INTO config_environment
- (config_environment_id, env_name, description, creator, created_at, updated_at)
- VALUES
- ('dev', '开发环境', '用于开发人员本地开发和调试的环境', 'system', '%s', '%s'),
- ('test', '测试环境', '用于功能测试、集成测试的环境', 'system', '%s', '%s'),
- ('pre', '预发布环境', '用于生产前最后验证的环境,与生产环境配置一致', 'system', '%s', '%s'),
- ('prod', '生产环境', '正式对外提供服务的生产环境', 'system', '%s', '%s'),
- ('demo', '演示环境', '用于产品演示和客户体验的环境', 'system', '%s', '%s')
- ON CONFLICT (config_environment_id) DO UPDATE SET
- env_name = EXCLUDED.env_name,
- description = EXCLUDED.description,
- creator = EXCLUDED.creator,
- updated_at = EXCLUDED.updated_at;`,
- now, now, // dev
- now, now, // test
- now, now, // pre
- now, now, // prod
- now, now, // demo
- ),
- }
- }
|