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("表已存在")
	}
}

  

 

posted @ 2020-04-24 16:51  小酥肉是我  阅读(7109)  评论(0编辑  收藏  举报