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

  

 

posted @   小酥肉是我  阅读(8075)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示