unsigned
This commit is contained in:
parent
4bfe6853f5
commit
7aff5dd693
|
@ -149,6 +149,40 @@ var (
|
||||||
Suffix: '`',
|
Suffix: '`',
|
||||||
IsReserved: schemas.AlwaysReserve,
|
IsReserved: schemas.AlwaysReserve,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sqlite3Types = map[string]int{
|
||||||
|
"INT": schemas.NUMERIC_TYPE,
|
||||||
|
"INTEGER": schemas.NUMERIC_TYPE,
|
||||||
|
"TINYINT": schemas.NUMERIC_TYPE,
|
||||||
|
"SMALLINT": schemas.NUMERIC_TYPE,
|
||||||
|
"MEDIUMINT": schemas.NUMERIC_TYPE,
|
||||||
|
"BIGINT": schemas.NUMERIC_TYPE,
|
||||||
|
"UNSIGNED BIG INT": schemas.NUMERIC_TYPE,
|
||||||
|
"INT2": schemas.NUMERIC_TYPE,
|
||||||
|
"INT8": schemas.NUMERIC_TYPE,
|
||||||
|
|
||||||
|
"REAL": schemas.NUMERIC_TYPE,
|
||||||
|
"DOUBLE": schemas.NUMERIC_TYPE,
|
||||||
|
"DOUBLE PRECISION": schemas.NUMERIC_TYPE,
|
||||||
|
"FLOAT": schemas.NUMERIC_TYPE,
|
||||||
|
"NUMERIC": schemas.NUMERIC_TYPE,
|
||||||
|
"DECIMAL": schemas.NUMERIC_TYPE,
|
||||||
|
"BOOLEAN": schemas.NUMERIC_TYPE,
|
||||||
|
|
||||||
|
"CHARACTER": schemas.TEXT_TYPE,
|
||||||
|
"VARCHAR": schemas.TEXT_TYPE,
|
||||||
|
"VARYING CHARACTER": schemas.TEXT_TYPE,
|
||||||
|
"NCHAR": schemas.TEXT_TYPE,
|
||||||
|
"NATIVE CHARACTER": schemas.TEXT_TYPE,
|
||||||
|
"NVARCHAR": schemas.TEXT_TYPE,
|
||||||
|
"TEXT": schemas.TEXT_TYPE,
|
||||||
|
"CLOB": schemas.TEXT_TYPE,
|
||||||
|
|
||||||
|
"BLOB": schemas.BLOB_TYPE,
|
||||||
|
|
||||||
|
"DATE": schemas.TIME_TYPE,
|
||||||
|
"DATETIME": schemas.TIME_TYPE,
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
type sqlite3 struct {
|
type sqlite3 struct {
|
||||||
|
|
|
@ -375,3 +375,25 @@ func TestCustomType2(t *testing.T) {
|
||||||
|
|
||||||
fmt.Println(users)
|
fmt.Println(users)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUnsigned(t *testing.T) {
|
||||||
|
type MyUnsignedStruct struct {
|
||||||
|
Id uint64
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, PrepareEngine())
|
||||||
|
assertSync(t, new(MyUnsignedStruct))
|
||||||
|
|
||||||
|
tables, err := testEngine.DBMetas()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, 1, len(tables))
|
||||||
|
assert.EqualValues(t, 1, len(tables[0].Columns()))
|
||||||
|
|
||||||
|
switch testEngine.Dialect().URI().DBType {
|
||||||
|
case schemas.SQLITE:
|
||||||
|
assert.EqualValues(t, "INTEGER", tables[0].Columns()[0].SQLType.Name)
|
||||||
|
case schemas.MYSQL:
|
||||||
|
assert.EqualValues(t, "unsigned int", tables[0].Columns()[0].SQLType.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue