add more tests for Sync2 (#925)
This commit is contained in:
parent
ae0364a057
commit
12e0367559
|
@ -1188,7 +1188,7 @@ func (engine *Engine) Sync(beans ...interface{}) error {
|
||||||
|
|
||||||
for _, bean := range beans {
|
for _, bean := range beans {
|
||||||
v := rValue(bean)
|
v := rValue(bean)
|
||||||
tableNameNoSchema := engine.tbNameNoSchema(v.Interface())
|
tableNameNoSchema := engine.TableName(bean)
|
||||||
table, err := engine.autoMapType(v)
|
table, err := engine.autoMapType(v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -122,7 +122,7 @@ func (session *Session) DropTable(beanOrTableName interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (session *Session) dropTable(beanOrTableName interface{}) error {
|
func (session *Session) dropTable(beanOrTableName interface{}) error {
|
||||||
tableName := session.engine.tbNameNoSchema(beanOrTableName)
|
tableName := session.engine.TableName(beanOrTableName)
|
||||||
var needDrop = true
|
var needDrop = true
|
||||||
if !session.engine.dialect.SupportDropIfExists() {
|
if !session.engine.dialect.SupportDropIfExists() {
|
||||||
sqlStr, args := session.engine.dialect.TableCheckSql(tableName)
|
sqlStr, args := session.engine.dialect.TableCheckSql(tableName)
|
||||||
|
@ -147,7 +147,7 @@ func (session *Session) IsTableExist(beanOrTableName interface{}) (bool, error)
|
||||||
defer session.Close()
|
defer session.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
tableName := session.engine.tbNameNoSchema(beanOrTableName)
|
tableName := session.engine.TableName(beanOrTableName)
|
||||||
|
|
||||||
return session.isTableExist(tableName)
|
return session.isTableExist(tableName)
|
||||||
}
|
}
|
||||||
|
@ -163,7 +163,7 @@ func (session *Session) IsTableEmpty(bean interface{}) (bool, error) {
|
||||||
if session.isAutoClose {
|
if session.isAutoClose {
|
||||||
defer session.Close()
|
defer session.Close()
|
||||||
}
|
}
|
||||||
return session.isTableEmpty(session.engine.tbNameNoSchema(bean))
|
return session.isTableEmpty(session.engine.TableName(bean))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (session *Session) isTableEmpty(tableName string) (bool, error) {
|
func (session *Session) isTableEmpty(tableName string) (bool, error) {
|
||||||
|
|
|
@ -289,8 +289,21 @@ func TestSync2_2(t *testing.T) {
|
||||||
|
|
||||||
assert.NoError(t, prepareEngine())
|
assert.NoError(t, prepareEngine())
|
||||||
|
|
||||||
|
var tableNames = make(map[string]bool)
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < 10; i++ {
|
||||||
tableName := fmt.Sprintf("test_sync2_index_%d", i)
|
tableName := fmt.Sprintf("test_sync2_index_%d", i)
|
||||||
|
tableNames[tableName] = true
|
||||||
assert.NoError(t, testEngine.Table(tableName).Sync2(new(TestSync2Index)))
|
assert.NoError(t, testEngine.Table(tableName).Sync2(new(TestSync2Index)))
|
||||||
|
|
||||||
|
exist, err := testEngine.IsTableExist(tableName)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, exist)
|
||||||
|
}
|
||||||
|
|
||||||
|
tables, err := testEngine.DBMetas()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
for _, table := range tables {
|
||||||
|
assert.True(t, tableNames[table.Name])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue