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

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM