174 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			174 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // 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)
 |