diff --git a/session_get_test.go b/session_get_test.go index 61398d1f..e27e6de9 100644 --- a/session_get_test.go +++ b/session_get_test.go @@ -255,3 +255,27 @@ func TestJSONString(t *testing.T) { assert.EqualValues(t, 1, len(jss)) assert.EqualValues(t, `["1","2"]`, jss[0].Content) } + +func TestGetActionMapping(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type ActionMapping struct { + ActionId string `xorm:"pk"` + ActionName string `xorm:"index"` + ScriptId string `xorm:"unique"` + RollbackId string `xorm:"unique"` + Env string + Tags string + Description string + UpdateTime time.Time `xorm:"updated"` + DeleteTime time.Time `xorm:"deleted"` + } + + assertSync(t, new(ActionMapping)) + + var valuesSlice = make([]string, 2) + _, err := testEngine.Table(new(ActionMapping)). + Cols("script_id", "rollback_id"). + ID(1).Get(&valuesSlice) + assert.NoError(t, err) +} diff --git a/statement.go b/statement.go index 35c4a472..ef2011fa 100644 --- a/statement.go +++ b/statement.go @@ -780,6 +780,8 @@ func (statement *Statement) Join(joinOP string, tablename interface{}, condition } else if l == 1 { fmt.Fprintf(&buf, statement.Engine.Quote(table)) } + case TableName: + fmt.Fprintf(&buf, tablename.(TableName).TableName()) default: fmt.Fprintf(&buf, statement.Engine.Quote(fmt.Sprintf("%v", tablename))) }