gorm:Migrate生成表,并创建联合唯一索引
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("表已存在")
}
}


浙公网安备 33010602011771号