gorm:Migrate生成表,并创建联合唯一索引
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package ipo import ( "database/sql" "fmt" "ipoCompany/tool" ) type IpoBalance struct { ID int `gorm: "column:id;primary_key;auto_increment;not null" ` S_INFO_WINDCODE string `gorm: "column:S_INFO_WINDCODE;unique_index:S_R" ` //Wind代码 ANN_DT string `gorm: "column:ANN_DT" ` //公告日期 ACTUAL_ANN_DT string `gorm: "column:ACTUAL_ANN_DT" ` //实际公告日期 REPORT_PERIOD string `gorm: "column:REPORT_PERIOD;unique_index:S_R" ` //报告期 STATEMENT_TYPE string `gorm: "column:STATEMENT_TYPE" ` //报表类型 MONETARY_CAP sql.NullFloat64 `gorm: "column:MONETARY_CAP;type:decimal(20,4);" ` // 货币资金 MONETARY_CAP_YOY sql.NullFloat64 `gorm: "column:MONETARY_CAP_YOY;type:decimal(20,4);" ` // 货币资金 OPDATE int `gorm: "column:OPDATE;type:int(10);" ` } // TableName 获取表名 func (IpoBalance) TableName() string { return "balance" } // CreateNumberTable 创建表 func CreateBalanceTable() { if !tool.IPO.HasTable(&IpoBalance{}) { tool.IPO.AutoMigrate(&IpoBalance{}) if tool.IPO.HasTable(&IpoBalance{}) { fmt.Println( "balance表创建成功" ) } else { fmt.Println( "balance表创建失败" ) } } else { fmt.Println( "表已存在" ) } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步