Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
beego
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
beego
Commits
eaf38bb0
Commit
eaf38bb0
authored
Mar 23, 2016
by
miraclesu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
orm: add test case for uint pk read or create
parent
3be6688c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
1 deletion
+31
-1
models_test.go
orm/models_test.go
+5
-0
orm.go
orm/orm.go
+1
-1
orm_test.go
orm/orm_test.go
+25
-0
No files found.
orm/models_test.go
View file @
eaf38bb0
...
...
@@ -392,6 +392,11 @@ type IntegerPk struct {
Value
string
}
type
UintPk
struct
{
Id
uint32
`orm:"pk"`
Name
string
}
var
DBARGS
=
struct
{
Driver
string
Source
string
...
...
orm/orm.go
View file @
eaf38bb0
...
...
@@ -141,7 +141,7 @@ func (o *orm) ReadOrCreate(md interface{}, col1 string, cols ...string) (bool, i
}
id
,
vid
:=
int64
(
0
),
ind
.
FieldByIndex
(
mi
.
fields
.
pk
.
fieldIndex
)
if
mi
.
fields
.
pk
.
fieldType
&
IsPostiveIntegerField
>
0
{
if
mi
.
fields
.
pk
.
fieldType
&
IsPos
i
tiveIntegerField
>
0
{
id
=
int64
(
vid
.
Uint
())
}
else
{
id
=
vid
.
Int
()
...
...
orm/orm_test.go
View file @
eaf38bb0
...
...
@@ -191,6 +191,7 @@ func TestSyncDb(t *testing.T) {
RegisterModel
(
new
(
InLine
))
RegisterModel
(
new
(
InLineOneToOne
))
RegisterModel
(
new
(
IntegerPk
))
RegisterModel
(
new
(
UintPk
))
err
:=
RunSyncdb
(
"default"
,
true
,
Debug
)
throwFail
(
t
,
err
)
...
...
@@ -213,6 +214,7 @@ func TestRegisterModels(t *testing.T) {
RegisterModel
(
new
(
InLine
))
RegisterModel
(
new
(
InLineOneToOne
))
RegisterModel
(
new
(
IntegerPk
))
RegisterModel
(
new
(
UintPk
))
BootStrap
()
...
...
@@ -2013,3 +2015,26 @@ func TestIntegerPk(t *testing.T) {
throwFail
(
t
,
AssertIs
(
out
.
Value
,
intPk
.
Value
))
}
}
func
TestUintPk
(
t
*
testing
.
T
)
{
name
:=
"go"
u
:=
&
UintPk
{
Id
:
8
,
Name
:
name
,
}
created
,
pk
,
err
:=
dORM
.
ReadOrCreate
(
u
,
"Id"
)
throwFail
(
t
,
err
)
throwFail
(
t
,
AssertIs
(
created
,
true
))
throwFail
(
t
,
AssertIs
(
u
.
Name
,
name
))
nu
:=
&
UintPk
{
Id
:
8
}
created
,
pk
,
err
=
dORM
.
ReadOrCreate
(
nu
,
"Id"
)
throwFail
(
t
,
err
)
throwFail
(
t
,
AssertIs
(
created
,
false
))
throwFail
(
t
,
AssertIs
(
nu
.
Id
,
u
.
Id
))
throwFail
(
t
,
AssertIs
(
pk
,
u
.
Id
))
throwFail
(
t
,
AssertIs
(
nu
.
Name
,
name
))
dORM
.
Delete
(
u
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment