forked from omixen/gorm-snowflake
-
Notifications
You must be signed in to change notification settings - Fork 0
/
naming_strategy.go
54 lines (43 loc) · 1.37 KB
/
naming_strategy.go
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package snowflake
import (
"strings"
"gorm.io/gorm/schema"
)
// NamingStrategy for snowflake (always uppercase)
type NamingStrategy struct {
defaultNS schema.Namer
}
// NewNamingStrategy create new instance of snowflake naming strat
func NewNamingStrategy() schema.Namer {
return &NamingStrategy{
defaultNS: schema.NamingStrategy{},
}
}
// ColumnName snowflake edition
func (sns NamingStrategy) ColumnName(table, column string) string {
return strings.ToUpper(sns.defaultNS.ColumnName(table, column))
}
// TableName snowflake edition
func (sns NamingStrategy) TableName(table string) string {
return sns.defaultNS.TableName(table)
}
// SchemaName snowflake edition
func (sns NamingStrategy) SchemaName(table string) string {
return sns.defaultNS.SchemaName(table)
}
// JoinTableName snowflake edition
func (sns NamingStrategy) JoinTableName(joinTable string) string {
return sns.defaultNS.JoinTableName(joinTable)
}
// RelationshipFKName snowflake edition
func (sns NamingStrategy) RelationshipFKName(rel schema.Relationship) string {
return sns.defaultNS.RelationshipFKName(rel)
}
// CheckerName snowflake edition
func (sns NamingStrategy) CheckerName(table, column string) string {
return sns.defaultNS.CheckerName(table, column)
}
// IndexName snowflake edition
func (sns NamingStrategy) IndexName(table, column string) string {
return sns.defaultNS.IndexName(table, column)
}