mirror of
https://github.com/astaxie/beego.git
synced 2024-12-22 17:40:48 +00:00
add UT for specifying indexes
This commit is contained in:
parent
5a1fa4e1ec
commit
882f1273c8
@ -382,6 +382,15 @@ type InLine struct {
|
||||
Email string
|
||||
}
|
||||
|
||||
type Index struct {
|
||||
// Common Fields
|
||||
Id int `orm:"column(id)"`
|
||||
|
||||
// Other Fields
|
||||
F1 int `orm:"column(f1);unique"`
|
||||
F2 int `orm:"column(f2);unique"`
|
||||
}
|
||||
|
||||
func NewInLine() *InLine {
|
||||
return new(InLine)
|
||||
}
|
||||
|
@ -201,6 +201,7 @@ func TestSyncDb(t *testing.T) {
|
||||
RegisterModel(new(IntegerPk))
|
||||
RegisterModel(new(UintPk))
|
||||
RegisterModel(new(PtrPk))
|
||||
RegisterModel(new(Index))
|
||||
|
||||
err := RunSyncdb("default", true, Debug)
|
||||
throwFail(t, err)
|
||||
@ -225,6 +226,7 @@ func TestRegisterModels(t *testing.T) {
|
||||
RegisterModel(new(IntegerPk))
|
||||
RegisterModel(new(UintPk))
|
||||
RegisterModel(new(PtrPk))
|
||||
RegisterModel(new(Index))
|
||||
|
||||
BootStrap()
|
||||
|
||||
@ -794,6 +796,32 @@ func TestExpr(t *testing.T) {
|
||||
// throwFail(t, AssertIs(num, 3))
|
||||
}
|
||||
|
||||
func TestSpecifyIndex(t *testing.T) {
|
||||
var index *Index
|
||||
index = &Index{
|
||||
F1: 1,
|
||||
F2: 2,
|
||||
}
|
||||
_, _ = dORM.Insert(index)
|
||||
throwFailNow(t, AssertIs(index.Id, 1))
|
||||
|
||||
index = &Index{
|
||||
F1: 3,
|
||||
F2: 4,
|
||||
}
|
||||
_, _ = dORM.Insert(index)
|
||||
throwFailNow(t, AssertIs(index.Id, 2))
|
||||
|
||||
_ = dORM.QueryTable(&Index{}).Filter(`f1`, `1`).ForceIndex(`f1`).One(index)
|
||||
throwFailNow(t, AssertIs(index.F2, 2))
|
||||
|
||||
_ = dORM.QueryTable(&Index{}).Filter(`f1`, `3`).UseIndex(`f1`, `f2`).One(index)
|
||||
throwFailNow(t, AssertIs(index.F2, 4))
|
||||
|
||||
_ = dORM.QueryTable(&Index{}).Filter(`f1`, `1`).IgnoreIndex(`f1`, `f2`).One(index)
|
||||
throwFailNow(t, AssertIs(index.F2, 2))
|
||||
}
|
||||
|
||||
func TestOperators(t *testing.T) {
|
||||
qs := dORM.QueryTable("user")
|
||||
num, err := qs.Filter("user_name", "slene").Count()
|
||||
|
Loading…
Reference in New Issue
Block a user