fix sync2 with custom table name
This commit is contained in:
parent
da95db5ddc
commit
d859c0f80c
|
@ -245,7 +245,12 @@ func (session *Session) Sync2(beans ...interface{}) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
tbName := engine.TableName(bean)
|
var tbName string
|
||||||
|
if len(session.statement.AltTableName) > 0 {
|
||||||
|
tbName = session.statement.AltTableName
|
||||||
|
} else {
|
||||||
|
tbName = engine.TableName(bean)
|
||||||
|
}
|
||||||
tbNameWithSchema := engine.TableName(tbName, true)
|
tbNameWithSchema := engine.TableName(tbName, true)
|
||||||
|
|
||||||
var oriTable *core.Table
|
var oriTable *core.Table
|
||||||
|
|
|
@ -119,6 +119,31 @@ func TestSyncTable(t *testing.T) {
|
||||||
assert.EqualValues(t, "sync_table1", tables[0].Name)
|
assert.EqualValues(t, "sync_table1", tables[0].Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSyncTable2(t *testing.T) {
|
||||||
|
assert.NoError(t, prepareEngine())
|
||||||
|
|
||||||
|
assert.NoError(t, testEngine.Table("sync_tablex").Sync2(new(SyncTable1)))
|
||||||
|
|
||||||
|
tables, err := testEngine.DBMetas()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, 1, len(tables))
|
||||||
|
assert.EqualValues(t, "sync_tablex", tables[0].Name)
|
||||||
|
assert.EqualValues(t, 3, len(tables[0].Columns()))
|
||||||
|
|
||||||
|
type SyncTable4 struct {
|
||||||
|
SyncTable1 `xorm:"extends"`
|
||||||
|
NewCol string
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, testEngine.Table("sync_tablex").Sync2(new(SyncTable4)))
|
||||||
|
tables, err = testEngine.DBMetas()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, 1, len(tables))
|
||||||
|
assert.EqualValues(t, "sync_tablex", tables[0].Name)
|
||||||
|
assert.EqualValues(t, 4, len(tables[0].Columns()))
|
||||||
|
assert.EqualValues(t, colMapper.Obj2Table("NewCol"), tables[0].Columns()[3].Name)
|
||||||
|
}
|
||||||
|
|
||||||
func TestIsTableExist(t *testing.T) {
|
func TestIsTableExist(t *testing.T) {
|
||||||
assert.NoError(t, prepareEngine())
|
assert.NoError(t, prepareEngine())
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue