This commit is contained in:
Lunny Xiao 2020-06-24 21:00:48 +08:00
parent 4bfe6853f5
commit 7aff5dd693
2 changed files with 56 additions and 0 deletions

View File

@ -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 {

View File

@ -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)
}
}