/
models_fields.go
173 lines (139 loc) · 6.14 KB
/
models_fields.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
// Copyright 2014 beego Author. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package orm
import (
"github.com/beego/beego/v2/client/orm/internal/models"
)
// Define the Type enum
const (
TypeBooleanField = models.TypeBooleanField
TypeVarCharField = models.TypeVarCharField
TypeCharField = models.TypeCharField
TypeTextField = models.TypeTextField
TypeTimeField = models.TypeTimeField
TypeDateField = models.TypeDateField
TypeDateTimeField = models.TypeDateTimeField
TypeBitField = models.TypeBitField
TypeSmallIntegerField = models.TypeSmallIntegerField
TypeIntegerField = models.TypeIntegerField
TypeBigIntegerField = models.TypeBigIntegerField
TypePositiveBitField = models.TypePositiveBitField
TypePositiveSmallIntegerField = models.TypePositiveSmallIntegerField
TypePositiveIntegerField = models.TypePositiveIntegerField
TypePositiveBigIntegerField = models.TypePositiveBigIntegerField
TypeFloatField = models.TypeFloatField
TypeDecimalField = models.TypeDecimalField
TypeJSONField = models.TypeJSONField
TypeJsonbField = models.TypeJsonbField
RelForeignKey = models.RelForeignKey
RelOneToOne = models.RelOneToOne
RelManyToMany = models.RelManyToMany
RelReverseOne = models.RelReverseOne
RelReverseMany = models.RelReverseMany
)
// Define some logic enum
const (
IsIntegerField = models.IsIntegerField
IsPositiveIntegerField = models.IsPositiveIntegerField
IsRelField = models.IsRelField
IsFieldType = models.IsFieldType
)
// BooleanField A true/false field.
type BooleanField = models.BooleanField
// verify the BooleanField implement the Fielder interface
var _ Fielder = new(BooleanField)
// CharField A string field
// required values tag: size
// The size is enforced at the database level and in models’s validation.
// eg: `orm:"size(120)"`
type CharField = models.CharField
// verify CharField implement Fielder
var _ Fielder = new(CharField)
// TimeField A time, represented in go by a time.Time instance.
// only time values like 10:00:00
// Has a few extra, optional attr tag:
//
// auto_now:
// Automatically Set the field to now every time the object is saved. Useful for “last-modified” timestamps.
// Note that the current date is always used; it’s not just a default value that you can override.
//
// auto_now_add:
// Automatically Set the field to now when the object is first created. Useful for creation of timestamps.
// Note that the current date is always used; it’s not just a default value that you can override.
//
// eg: `orm:"auto_now"` or `orm:"auto_now_add"`
type TimeField = models.TimeField
var _ Fielder = new(TimeField)
// DateField A date, represented in go by a time.Time instance.
// only date values like 2006-01-02
// Has a few extra, optional attr tag:
//
// auto_now:
// Automatically Set the field to now every time the object is saved. Useful for “last-modified” timestamps.
// Note that the current date is always used; it’s not just a default value that you can override.
//
// auto_now_add:
// Automatically Set the field to now when the object is first created. Useful for creation of timestamps.
// Note that the current date is always used; it’s not just a default value that you can override.
//
// eg: `orm:"auto_now"` or `orm:"auto_now_add"`
type DateField = models.DateField
// verify DateField implement fielder interface
var _ Fielder = new(DateField)
// DateTimeField A date, represented in go by a time.Time instance.
// datetime values like 2006-01-02 15:04:05
// Takes the same extra arguments as DateField.
type DateTimeField = models.DateTimeField
// verify datetime implement fielder
var _ models.Fielder = new(DateTimeField)
// FloatField A floating-point number represented in go by a float32 value.
type FloatField = models.FloatField
// verify FloatField implement Fielder
var _ Fielder = new(FloatField)
// SmallIntegerField -32768 to 32767
type SmallIntegerField = models.SmallIntegerField
// verify SmallIntegerField implement Fielder
var _ Fielder = new(SmallIntegerField)
// IntegerField -2147483648 to 2147483647
type IntegerField = models.IntegerField
// verify IntegerField implement Fielder
var _ Fielder = new(IntegerField)
// BigIntegerField -9223372036854775808 to 9223372036854775807.
type BigIntegerField = models.BigIntegerField
// verify BigIntegerField implement Fielder
var _ Fielder = new(BigIntegerField)
// PositiveSmallIntegerField 0 to 65535
type PositiveSmallIntegerField = models.PositiveSmallIntegerField
// verify PositiveSmallIntegerField implement Fielder
var _ Fielder = new(PositiveSmallIntegerField)
// PositiveIntegerField 0 to 4294967295
type PositiveIntegerField = models.PositiveIntegerField
// verify PositiveIntegerField implement Fielder
var _ Fielder = new(PositiveIntegerField)
// PositiveBigIntegerField 0 to 18446744073709551615
type PositiveBigIntegerField = models.PositiveBigIntegerField
// verify PositiveBigIntegerField implement Fielder
var _ Fielder = new(PositiveBigIntegerField)
// TextField A large text field.
type TextField = models.TextField
// verify TextField implement Fielder
var _ Fielder = new(TextField)
// JSONField postgres json field.
type JSONField = models.JSONField
// verify JSONField implement Fielder
var _ models.Fielder = new(JSONField)
// JsonbField postgres json field.
type JsonbField = models.JsonbField
// verify JsonbField implement Fielder
var _ models.Fielder = new(JsonbField)