fix extends tag
This commit is contained in:
parent
1d5bc623f3
commit
2b06f05d40
7
tag.go
7
tag.go
|
@ -286,11 +286,12 @@ func ExtendsTagHandler(ctx *tagContext) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, col := range parentTable.Columns() {
|
for _, oriCol := range parentTable.Columns() {
|
||||||
|
col := *oriCol
|
||||||
col.FieldName = fmt.Sprintf("%v.%v", ctx.col.FieldName, col.FieldName)
|
col.FieldName = fmt.Sprintf("%v.%v", ctx.col.FieldName, col.FieldName)
|
||||||
ctx.table.AddColumn(col)
|
ctx.table.AddColumn(&col)
|
||||||
for indexName, indexType := range col.Indexes {
|
for indexName, indexType := range col.Indexes {
|
||||||
addIndex(indexName, ctx.table, col, indexType)
|
addIndex(indexName, ctx.table, &col, indexType)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -169,7 +169,7 @@ func TestExtends(t *testing.T) {
|
||||||
|
|
||||||
tu6 := &tempUser3{&tempUser{0, "extends update"}, ""}
|
tu6 := &tempUser3{&tempUser{0, "extends update"}, ""}
|
||||||
_, err = testEngine.ID(tu5.Temp.Id).Update(tu6)
|
_, err = testEngine.ID(tu5.Temp.Id).Update(tu6)
|
||||||
assert.Error(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
users := make([]tempUser3, 0)
|
users := make([]tempUser3, 0)
|
||||||
err = testEngine.Find(&users)
|
err = testEngine.Find(&users)
|
||||||
|
@ -203,8 +203,6 @@ func TestExtends(t *testing.T) {
|
||||||
assert.True(t, b)
|
assert.True(t, b)
|
||||||
assert.False(t, info.Userinfo.Uid == 0 || info.Userdetail.Id == 0)
|
assert.False(t, info.Userinfo.Uid == 0 || info.Userdetail.Id == 0)
|
||||||
|
|
||||||
panic("")
|
|
||||||
|
|
||||||
fmt.Println("----join--info2")
|
fmt.Println("----join--info2")
|
||||||
var info2 UserAndDetail
|
var info2 UserAndDetail
|
||||||
b, err = testEngine.Table(&Userinfo{}).
|
b, err = testEngine.Table(&Userinfo{}).
|
||||||
|
@ -516,3 +514,55 @@ func TestExtends4(t *testing.T) {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestExtendsTag(t *testing.T) {
|
||||||
|
assert.NoError(t, prepareEngine())
|
||||||
|
|
||||||
|
table := testEngine.TableInfo(new(Userdetail))
|
||||||
|
assert.NotNil(t, table)
|
||||||
|
assert.EqualValues(t, 3, len(table.ColumnsSeq()))
|
||||||
|
assert.EqualValues(t, "id", table.ColumnsSeq()[0])
|
||||||
|
assert.EqualValues(t, "intro", table.ColumnsSeq()[1])
|
||||||
|
assert.EqualValues(t, "profile", table.ColumnsSeq()[2])
|
||||||
|
|
||||||
|
table = testEngine.TableInfo(new(Userinfo))
|
||||||
|
assert.NotNil(t, table)
|
||||||
|
assert.EqualValues(t, 8, len(table.ColumnsSeq()))
|
||||||
|
assert.EqualValues(t, "id", table.ColumnsSeq()[0])
|
||||||
|
assert.EqualValues(t, "username", table.ColumnsSeq()[1])
|
||||||
|
assert.EqualValues(t, "departname", table.ColumnsSeq()[2])
|
||||||
|
assert.EqualValues(t, "created", table.ColumnsSeq()[3])
|
||||||
|
assert.EqualValues(t, "detail_id", table.ColumnsSeq()[4])
|
||||||
|
assert.EqualValues(t, "height", table.ColumnsSeq()[5])
|
||||||
|
assert.EqualValues(t, "avatar", table.ColumnsSeq()[6])
|
||||||
|
assert.EqualValues(t, "is_man", table.ColumnsSeq()[7])
|
||||||
|
|
||||||
|
table = testEngine.TableInfo(new(UserAndDetail))
|
||||||
|
assert.NotNil(t, table)
|
||||||
|
assert.EqualValues(t, 11, len(table.ColumnsSeq()))
|
||||||
|
assert.EqualValues(t, "id", table.ColumnsSeq()[0])
|
||||||
|
assert.EqualValues(t, "username", table.ColumnsSeq()[1])
|
||||||
|
assert.EqualValues(t, "departname", table.ColumnsSeq()[2])
|
||||||
|
assert.EqualValues(t, "created", table.ColumnsSeq()[3])
|
||||||
|
assert.EqualValues(t, "detail_id", table.ColumnsSeq()[4])
|
||||||
|
assert.EqualValues(t, "height", table.ColumnsSeq()[5])
|
||||||
|
assert.EqualValues(t, "avatar", table.ColumnsSeq()[6])
|
||||||
|
assert.EqualValues(t, "is_man", table.ColumnsSeq()[7])
|
||||||
|
assert.EqualValues(t, "id", table.ColumnsSeq()[8])
|
||||||
|
assert.EqualValues(t, "intro", table.ColumnsSeq()[9])
|
||||||
|
assert.EqualValues(t, "profile", table.ColumnsSeq()[10])
|
||||||
|
|
||||||
|
cols := table.Columns()
|
||||||
|
assert.EqualValues(t, 11, len(cols))
|
||||||
|
assert.EqualValues(t, "Userinfo.Uid", cols[0].FieldName)
|
||||||
|
assert.EqualValues(t, "Userinfo.Username", cols[1].FieldName)
|
||||||
|
assert.EqualValues(t, "Userinfo.Departname", cols[2].FieldName)
|
||||||
|
assert.EqualValues(t, "Userinfo.Created", cols[3].FieldName)
|
||||||
|
assert.EqualValues(t, "Userinfo.Detail", cols[4].FieldName)
|
||||||
|
assert.EqualValues(t, "Userinfo.Height", cols[5].FieldName)
|
||||||
|
assert.EqualValues(t, "Userinfo.Avatar", cols[6].FieldName)
|
||||||
|
assert.EqualValues(t, "Userinfo.IsMan", cols[7].FieldName)
|
||||||
|
assert.EqualValues(t, "Userdetail.Id", cols[8].FieldName)
|
||||||
|
assert.EqualValues(t, "Userdetail.Intro", cols[9].FieldName)
|
||||||
|
assert.EqualValues(t, "Userdetail.Profile", cols[10].FieldName)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue