Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
二次元的罪恶王冠
beego
提交
b83094ac
B
beego
项目概览
二次元的罪恶王冠
/
beego
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
beego
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b83094ac
编写于
8月 26, 2020
作者:
A
AllenX2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
supplement datetime precision UT
上级
cceecad8
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
39 addition
and
2 deletion
+39
-2
pkg/client/orm/cmd_utils.go
pkg/client/orm/cmd_utils.go
+4
-2
pkg/client/orm/models_test.go
pkg/client/orm/models_test.go
+15
-0
pkg/client/orm/orm_test.go
pkg/client/orm/orm_test.go
+20
-0
未找到文件。
pkg/client/orm/cmd_utils.go
浏览文件 @
b83094ac
...
...
@@ -66,12 +66,14 @@ checkColumn:
case
TypeDateField
:
col
=
T
[
"time.Time-date"
]
case
TypeDateTimeField
:
if
fi
.
timePrecision
==
nil
{
// the precision of sqlite is not implemented
if
al
.
Driver
==
2
||
fi
.
timePrecision
==
nil
{
col
=
T
[
"time.Time"
]
}
else
{
}
else
{
s
:=
T
[
"time.Time-precision"
]
col
=
fmt
.
Sprintf
(
s
,
*
fi
.
timePrecision
)
}
case
TypeBitField
:
col
=
T
[
"int8"
]
case
TypeSmallIntegerField
:
...
...
pkg/client/orm/models_test.go
浏览文件 @
b83094ac
...
...
@@ -241,6 +241,21 @@ type UserBig struct {
Name
string
}
type
TM
struct
{
ID
int
`orm:"column(id)"`
TMPrecision1
time
.
Time
`orm:"type(datetime);precision(3)"`
TMPrecision2
time
.
Time
`orm:"auto_now_add;type(datetime);precision(4)"`
}
func
(
t
*
TM
)
TableName
()
string
{
return
"tm"
}
func
NewTM
()
*
TM
{
obj
:=
new
(
TM
)
return
obj
}
type
User
struct
{
ID
int
`orm:"column(id)"`
UserName
string
`orm:"size(30);unique"`
...
...
pkg/client/orm/orm_test.go
浏览文件 @
b83094ac
...
...
@@ -204,6 +204,7 @@ func TestSyncDb(t *testing.T) {
RegisterModel
(
new
(
PtrPk
))
RegisterModel
(
new
(
Index
))
RegisterModel
(
new
(
StrPk
))
RegisterModel
(
new
(
TM
))
err
:=
RunSyncdb
(
"default"
,
true
,
Debug
)
throwFail
(
t
,
err
)
...
...
@@ -230,6 +231,7 @@ func TestRegisterModels(t *testing.T) {
RegisterModel
(
new
(
PtrPk
))
RegisterModel
(
new
(
Index
))
RegisterModel
(
new
(
StrPk
))
RegisterModel
(
new
(
TM
))
BootStrap
()
...
...
@@ -313,6 +315,24 @@ func TestDataTypes(t *testing.T) {
}
}
func
TestTM
(
t
*
testing
.
T
)
{
// The precision of sqlite is not implemented
if
dORM
.
Driver
()
.
Type
()
==
2
{
return
}
var
recTM
TM
tm
:=
NewTM
()
tm
.
TMPrecision1
=
time
.
Unix
(
1596766024
,
123456789
)
tm
.
TMPrecision2
=
time
.
Unix
(
1596766024
,
123456789
)
_
,
err
:=
dORM
.
Insert
(
tm
)
throwFail
(
t
,
err
)
err
=
dORM
.
QueryTable
(
"tm"
)
.
One
(
&
recTM
)
throwFail
(
t
,
err
)
throwFail
(
t
,
AssertIs
(
recTM
.
TMPrecision1
.
String
(),
"2020-08-07 02:07:04.123 +0000 UTC"
))
throwFail
(
t
,
AssertIs
(
recTM
.
TMPrecision2
.
String
(),
"2020-08-07 02:07:04.1235 +0000 UTC"
))
}
func
TestNullDataTypes
(
t
*
testing
.
T
)
{
d
:=
DataNull
{}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录