feat: add ColumnType struct and associated methods for database column metadata
This commit is contained in:
40
cmd/go_migrate/colum-type.go
Normal file
40
cmd/go_migrate/colum-type.go
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
type ColumnType struct {
|
||||||
|
name string
|
||||||
|
|
||||||
|
hasNullable bool
|
||||||
|
hasMaxLength bool
|
||||||
|
hasPrecisionScale bool
|
||||||
|
|
||||||
|
userType string
|
||||||
|
systemType string
|
||||||
|
nullable bool
|
||||||
|
maxLength int64
|
||||||
|
precision int64
|
||||||
|
scale int64
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ColumnType) Name() string {
|
||||||
|
return c.name
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ColumnType) UserType() string {
|
||||||
|
return c.userType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ColumnType) SystemType() string {
|
||||||
|
return c.systemType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ColumnType) Length() (length int64, ok bool) {
|
||||||
|
return c.maxLength, c.hasMaxLength
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ColumnType) DecimalSize() (precision, scale int64, ok bool) {
|
||||||
|
return c.precision, c.scale, c.hasPrecisionScale
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ColumnType) Nullable() (nullable, ok bool) {
|
||||||
|
return c.nullable, c.hasNullable
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user