Drop sync function and rename sync2 to sync #2018

Merged
lunny merged 1 commits from lunny/drop_sync into master 2021-08-24 09:13:18 +00:00
28 changed files with 116 additions and 202 deletions

View File

@ -87,7 +87,7 @@ type User struct {
Updated time.Time `xorm:"updated"`
}
err := engine.Sync2(new(User))
err := engine.Sync(new(User))
```
* Create Engine Group

View File

@ -84,7 +84,7 @@ type User struct {
Updated time.Time `xorm:"updated"`
}
err := engine.Sync2(new(User))
err := engine.Sync(new(User))
```
* 创建Engine组

View File

@ -7,7 +7,6 @@ package xorm
import (
"context"
"database/sql"
"errors"
"fmt"
"io"
"os"
@ -925,104 +924,13 @@ func (engine *Engine) UnMapType(t reflect.Type) {
func (engine *Engine) Sync(beans ...interface{}) error {
session := engine.NewSession()
defer session.Close()
for _, bean := range beans {
v := utils.ReflectValue(bean)
tableNameNoSchema := dialects.FullTableName(engine.dialect, engine.GetTableMapper(), bean)
table, err := engine.tagParser.ParseWithCache(v)
if err != nil {
return err
}
isExist, err := session.Table(bean).isTableExist(tableNameNoSchema)
if err != nil {
return err
}
if !isExist {
err = session.createTable(bean)
if err != nil {
return err
}
}
/*isEmpty, err := engine.IsEmptyTable(bean)
if err != nil {
return err
}*/
var isEmpty bool
if isEmpty {
err = session.dropTable(bean)
if err != nil {
return err
}
err = session.createTable(bean)
if err != nil {
return err
}
} else {
for _, col := range table.Columns() {
isExist, err := engine.dialect.IsColumnExist(engine.db, session.ctx, tableNameNoSchema, col.Name)
if err != nil {
return err
}
if !isExist {
if err := session.statement.SetRefBean(bean); err != nil {
return err
}
err = session.addColumn(col.Name)
if err != nil {
return err
}
}
}
for name, index := range table.Indexes {
if err := session.statement.SetRefBean(bean); err != nil {
return err
}
if index.Type == schemas.UniqueType {
isExist, err := session.isIndexExist2(tableNameNoSchema, index.Cols, true)
if err != nil {
return err
}
if !isExist {
if err := session.statement.SetRefBean(bean); err != nil {
return err
}
err = session.addUnique(tableNameNoSchema, name)
if err != nil {
return err
}
}
} else if index.Type == schemas.IndexType {
isExist, err := session.isIndexExist2(tableNameNoSchema, index.Cols, false)
if err != nil {
return err
}
if !isExist {
if err := session.statement.SetRefBean(bean); err != nil {
return err
}
err = session.addIndex(tableNameNoSchema, name)
if err != nil {
return err
}
}
} else {
return errors.New("unknow index type")
}
}
}
}
return nil
return session.Sync(beans...)
}
// Sync2 synchronize structs to database tables
// Depricated
func (engine *Engine) Sync2(beans ...interface{}) error {
s := engine.NewSession()
defer s.Close()
return s.Sync2(beans...)
return engine.Sync(beans...)
}
// CreateTables create tabls according bean

View File

@ -26,7 +26,7 @@ func TestCacheFind(t *testing.T) {
cacher := caches.NewLRUCacher2(caches.NewMemoryStore(), time.Hour, 10000)
testEngine.SetDefaultCacher(cacher)
assert.NoError(t, testEngine.Sync2(new(MailBox)))
assert.NoError(t, testEngine.Sync(new(MailBox)))
var inserts = []*MailBox{
{
@ -103,7 +103,7 @@ func TestCacheFind2(t *testing.T) {
cacher := caches.NewLRUCacher2(caches.NewMemoryStore(), time.Hour, 10000)
testEngine.SetDefaultCacher(cacher)
assert.NoError(t, testEngine.Sync2(new(MailBox2)))
assert.NoError(t, testEngine.Sync(new(MailBox2)))
var inserts = []*MailBox2{
{
@ -154,7 +154,7 @@ func TestCacheGet(t *testing.T) {
cacher := caches.NewLRUCacher2(caches.NewMemoryStore(), time.Hour, 10000)
testEngine.SetDefaultCacher(cacher)
assert.NoError(t, testEngine.Sync2(new(MailBox3)))
assert.NoError(t, testEngine.Sync(new(MailBox3)))
var inserts = []*MailBox3{
{

View File

@ -53,7 +53,7 @@ func TestAutoTransaction(t *testing.T) {
Created time.Time `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(TestTx)))
assert.NoError(t, testEngine.Sync(new(TestTx)))
engine := testEngine.(*xorm.Engine)
@ -87,7 +87,7 @@ func assertSync(t *testing.T, beans ...interface{}) {
for _, bean := range beans {
t.Run(testEngine.TableName(bean, true), func(t *testing.T) {
assert.NoError(t, testEngine.DropTables(bean))
assert.NoError(t, testEngine.Sync2(bean))
assert.NoError(t, testEngine.Sync(bean))
})
}
}

View File

@ -21,7 +21,7 @@ func BenchmarkGetVars(b *testing.B) {
Name string
}
assert.NoError(b, testEngine.Sync2(new(BenchmarkGetVars)))
assert.NoError(b, testEngine.Sync(new(BenchmarkGetVars)))
var v = BenchmarkGetVars{
Name: "myname",
@ -52,7 +52,7 @@ func BenchmarkGetStruct(b *testing.B) {
Name string
}
assert.NoError(b, testEngine.Sync2(new(BenchmarkGetStruct)))
assert.NoError(b, testEngine.Sync(new(BenchmarkGetStruct)))
var v = BenchmarkGetStruct{
Name: "myname",
@ -84,7 +84,7 @@ func BenchmarkFindStruct(b *testing.B) {
Name string
}
assert.NoError(b, testEngine.Sync2(new(BenchmarkFindStruct)))
assert.NoError(b, testEngine.Sync(new(BenchmarkFindStruct)))
var v = BenchmarkFindStruct{
Name: "myname",

View File

@ -23,7 +23,7 @@ func TestBefore_Get(t *testing.T) {
Val string `xorm:"-"`
}
assert.NoError(t, testEngine.Sync2(new(BeforeTable)))
assert.NoError(t, testEngine.Sync(new(BeforeTable)))
cnt, err := testEngine.Insert(&BeforeTable{
Name: "test",
@ -50,7 +50,7 @@ func TestBefore_Find(t *testing.T) {
Val string `xorm:"-"`
}
assert.NoError(t, testEngine.Sync2(new(BeforeTable2)))
assert.NoError(t, testEngine.Sync(new(BeforeTable2)))
cnt, err := testEngine.Insert([]BeforeTable2{
{Name: "test1"},

View File

@ -18,7 +18,7 @@ func TestRows(t *testing.T) {
IsMan bool
}
assert.NoError(t, testEngine.Sync2(new(UserRows)))
assert.NoError(t, testEngine.Sync(new(UserRows)))
cnt, err := testEngine.Insert(&UserRows{
IsMan: true,
@ -94,7 +94,7 @@ func TestRowsMyTableName(t *testing.T) {
var tableName = "user_rows_my_table_name"
assert.NoError(t, testEngine.Table(tableName).Sync2(new(UserRowsMyTable)))
assert.NoError(t, testEngine.Table(tableName).Sync(new(UserRowsMyTable)))
cnt, err := testEngine.Table(tableName).Insert(&UserRowsMyTable{
IsMan: true,
@ -141,7 +141,7 @@ func (UserRowsSpecTable) TableName() string {
func TestRowsSpecTableName(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(UserRowsSpecTable)))
assert.NoError(t, testEngine.Sync(new(UserRowsSpecTable)))
cnt, err := testEngine.Insert(&UserRowsSpecTable{
IsMan: true,

View File

@ -20,7 +20,7 @@ func TestSetExpr(t *testing.T) {
Title string
}
assert.NoError(t, testEngine.Sync2(new(UserExprIssue)))
assert.NoError(t, testEngine.Sync(new(UserExprIssue)))
var issue = UserExprIssue{
Title: "my issue",
@ -36,7 +36,7 @@ func TestSetExpr(t *testing.T) {
Show bool
}
assert.NoError(t, testEngine.Sync2(new(UserExpr)))
assert.NoError(t, testEngine.Sync(new(UserExpr)))
cnt, err = testEngine.Insert(&UserExpr{
Show: true,

View File

@ -104,7 +104,7 @@ func TestBuilder(t *testing.T) {
func TestIn(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(Userinfo)))
assert.NoError(t, testEngine.Sync(new(Userinfo)))
cnt, err := testEngine.Insert([]Userinfo{
{
@ -203,7 +203,7 @@ func TestFindAndCount(t *testing.T) {
Name string
}
assert.NoError(t, testEngine.Sync2(new(FindAndCount)))
assert.NoError(t, testEngine.Sync(new(FindAndCount)))
_, err := testEngine.Insert([]FindAndCount{
{

View File

@ -17,7 +17,7 @@ func TestCount(t *testing.T) {
type UserinfoCount struct {
Departname string
}
assert.NoError(t, testEngine.Sync2(new(UserinfoCount)))
assert.NoError(t, testEngine.Sync(new(UserinfoCount)))
colName := testEngine.GetColumnMapper().Obj2Table("Departname")
var cond builder.Cond = builder.Eq{

View File

@ -22,7 +22,7 @@ func TestDelete(t *testing.T) {
IsMan bool
}
assert.NoError(t, testEngine.Sync2(new(UserinfoDelete)))
assert.NoError(t, testEngine.Sync(new(UserinfoDelete)))
session := testEngine.NewSession()
defer session.Close()
@ -250,7 +250,7 @@ func TestDelete2(t *testing.T) {
IsMan bool
}
assert.NoError(t, testEngine.Sync2(new(UserinfoDelete2)))
assert.NoError(t, testEngine.Sync(new(UserinfoDelete2)))
user := UserinfoDelete2{}
cnt, err := testEngine.Insert(&user)

View File

@ -99,7 +99,7 @@ func TestExistStructForJoin(t *testing.T) {
Name string
}
assert.NoError(t, testEngine.Sync2(new(Number), new(OrderList), new(Player)))
assert.NoError(t, testEngine.Sync(new(Number), new(OrderList), new(Player)))
var ply Player
cnt, err := testEngine.Insert(&ply)

View File

@ -33,7 +33,7 @@ func TestJoinLimit(t *testing.T) {
Name string
}
assert.NoError(t, testEngine.Sync2(new(Salary), new(CheckList), new(Empsetting)))
assert.NoError(t, testEngine.Sync(new(Salary), new(CheckList), new(Empsetting)))
var emp Empsetting
cnt, err := testEngine.Insert(&emp)
@ -121,7 +121,7 @@ func (TeamUser) TableName() string {
func TestFind3(t *testing.T) {
var teamUser = new(TeamUser)
assert.NoError(t, PrepareEngine())
err := testEngine.Sync2(new(Team), teamUser)
err := testEngine.Sync(new(Team), teamUser)
assert.NoError(t, err)
var teams []Team
@ -690,7 +690,7 @@ func TestFindAndCountWithGroupBy(t *testing.T) {
Name string
}
assert.NoError(t, testEngine.Sync2(new(FindAndCountWithGroupBy)))
assert.NoError(t, testEngine.Sync(new(FindAndCountWithGroupBy)))
_, err := testEngine.Insert([]FindAndCountWithGroupBy{
{

View File

@ -33,7 +33,7 @@ func TestGetVar(t *testing.T) {
Created time.Time `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(GetVar)))
assert.NoError(t, testEngine.Sync(new(GetVar)))
var data = GetVar{
Msg: "hi",
@ -235,7 +235,7 @@ func TestGetStruct(t *testing.T) {
IsMan bool
}
assert.NoError(t, testEngine.Sync2(new(UserinfoGet)))
assert.NoError(t, testEngine.Sync(new(UserinfoGet)))
session := testEngine.NewSession()
defer session.Close()
@ -266,7 +266,7 @@ func TestGetStruct(t *testing.T) {
Total int64
}
assert.NoError(t, testEngine.Sync2(&NoIdUser{}))
assert.NoError(t, testEngine.Sync(&NoIdUser{}))
userCol := testEngine.GetColumnMapper().Obj2Table("User")
_, err = testEngine.Where("`"+userCol+"` = ?", "xlw").Delete(&NoIdUser{})
@ -576,7 +576,7 @@ func (MyGetCustomTableImpletation) TableName() string {
func TestGetCustomTableInterface(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Table(getCustomTableName).Sync2(new(MyGetCustomTableImpletation)))
assert.NoError(t, testEngine.Table(getCustomTableName).Sync(new(MyGetCustomTableImpletation)))
exist, err := testEngine.IsTableExist(getCustomTableName)
assert.NoError(t, err)

View File

@ -25,7 +25,7 @@ func TestInsertOne(t *testing.T) {
Created time.Time `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(Test)))
assert.NoError(t, testEngine.Sync(new(Test)))
data := Test{Msg: "hi"}
_, err := testEngine.InsertOne(data)
@ -39,7 +39,7 @@ func TestInsertMulti(t *testing.T) {
Name string `xorm:"varchar(255)"`
}
assert.NoError(t, testEngine.Sync2(new(TestMulti)))
assert.NoError(t, testEngine.Sync(new(TestMulti)))
num, err := insertMultiDatas(1,
append([]TestMulti{}, TestMulti{1, "test1"}, TestMulti{2, "test2"}, TestMulti{3, "test3"}))
@ -115,7 +115,7 @@ func TestInsertOneIfPkIsPoint(t *testing.T) {
Created *time.Time `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(TestPoint)))
assert.NoError(t, testEngine.Sync(new(TestPoint)))
msg := "hi"
data := TestPoint{Msg: &msg}
_, err := testEngine.InsertOne(&data)
@ -131,7 +131,7 @@ func TestInsertOneIfPkIsPointRename(t *testing.T) {
Created *time.Time `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(TestPoint2)))
assert.NoError(t, testEngine.Sync(new(TestPoint2)))
msg := "hi"
data := TestPoint2{Msg: &msg}
_, err := testEngine.InsertOne(&data)
@ -181,7 +181,7 @@ func TestInsertDefault(t *testing.T) {
}
di := new(DefaultInsert)
err := testEngine.Sync2(di)
err := testEngine.Sync(di)
assert.NoError(t, err)
var di2 = DefaultInsert{Name: "test"}
@ -207,7 +207,7 @@ func TestInsertDefault2(t *testing.T) {
}
di := new(DefaultInsert2)
err := testEngine.Sync2(di)
err := testEngine.Sync(di)
assert.NoError(t, err)
var di2 = DefaultInsert2{Name: "test"}
@ -258,7 +258,7 @@ func TestInsertCreated(t *testing.T) {
assert.NoError(t, PrepareEngine())
di := new(CreatedInsert)
err := testEngine.Sync2(di)
err := testEngine.Sync(di)
assert.NoError(t, err)
ci := &CreatedInsert{}
@ -271,7 +271,7 @@ func TestInsertCreated(t *testing.T) {
assert.EqualValues(t, ci.Created.Unix(), di.Created.Unix())
di2 := new(CreatedInsert2)
err = testEngine.Sync2(di2)
err = testEngine.Sync(di2)
assert.NoError(t, err)
ci2 := &CreatedInsert2{}
@ -284,7 +284,7 @@ func TestInsertCreated(t *testing.T) {
assert.EqualValues(t, ci2.Created, di2.Created)
di3 := new(CreatedInsert3)
err = testEngine.Sync2(di3)
err = testEngine.Sync(di3)
assert.NoError(t, err)
ci3 := &CreatedInsert3{}
@ -297,7 +297,7 @@ func TestInsertCreated(t *testing.T) {
assert.EqualValues(t, ci3.Created, di3.Created)
di4 := new(CreatedInsert4)
err = testEngine.Sync2(di4)
err = testEngine.Sync(di4)
assert.NoError(t, err)
ci4 := &CreatedInsert4{}
@ -310,7 +310,7 @@ func TestInsertCreated(t *testing.T) {
assert.EqualValues(t, ci4.Created, di4.Created)
di5 := new(CreatedInsert5)
err = testEngine.Sync2(di5)
err = testEngine.Sync(di5)
assert.NoError(t, err)
ci5 := &CreatedInsert5{}
@ -323,7 +323,7 @@ func TestInsertCreated(t *testing.T) {
assert.EqualValues(t, ci5.Created.Unix(), di5.Created.Unix())
di6 := new(CreatedInsert6)
err = testEngine.Sync2(di6)
err = testEngine.Sync(di6)
assert.NoError(t, err)
oldTime := time.Now().Add(-time.Hour)
@ -390,7 +390,7 @@ func TestCreatedJsonTime(t *testing.T) {
assert.NoError(t, PrepareEngine())
di5 := new(MyJSONTime)
err := testEngine.Sync2(di5)
err := testEngine.Sync(di5)
assert.NoError(t, err)
ci5 := &MyJSONTime{}
@ -489,7 +489,7 @@ func TestInsertCreatedInt64(t *testing.T) {
Created int64 `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(TestCreatedInt64)))
assert.NoError(t, testEngine.Sync(new(TestCreatedInt64)))
data := TestCreatedInt64{Msg: "hi"}
now := time.Now()
@ -896,7 +896,7 @@ func TestMultipleInsertTableName(t *testing.T) {
assert.NoError(t, PrepareEngine())
tableName := `prd_nightly_rate_16`
assert.NoError(t, testEngine.Table(tableName).Sync2(new(NightlyRate)))
assert.NoError(t, testEngine.Table(tableName).Sync(new(NightlyRate)))
trans := testEngine.NewSession()
defer trans.Close()
@ -932,7 +932,7 @@ func TestInsertMultiWithOmit(t *testing.T) {
Omitted string `xorm:"varchar(255) 'omitted'"`
}
assert.NoError(t, testEngine.Sync2(new(TestMultiOmit)))
assert.NoError(t, testEngine.Sync(new(TestMultiOmit)))
l := []interface{}{
TestMultiOmit{Id: 1, Name: "1", Omitted: "1"},
@ -977,7 +977,7 @@ func TestInsertTwice(t *testing.T) {
FieldB int
}
assert.NoError(t, testEngine.Sync2(new(InsertStructA), new(InsertStructB)))
assert.NoError(t, testEngine.Sync(new(InsertStructA), new(InsertStructB)))
var sliceA []InsertStructA // sliceA is empty
sliceB := []InsertStructB{
@ -1008,7 +1008,7 @@ func TestInsertIntSlice(t *testing.T) {
NameIDs []int `xorm:"json notnull"`
}
assert.NoError(t, testEngine.Sync2(new(InsertIntSlice)))
assert.NoError(t, testEngine.Sync(new(InsertIntSlice)))
var v = InsertIntSlice{
NameIDs: []int{1, 2},
@ -1049,7 +1049,7 @@ func TestInsertDeleted(t *testing.T) {
DeletedAt time.Time `xorm:"'DELETED_AT' deleted notnull"`
}
// notnull tag will be ignored
err := testEngine.Sync2(new(InsertDeletedStructNotRight))
err := testEngine.Sync(new(InsertDeletedStructNotRight))
assert.NoError(t, err)
type InsertDeletedStruct struct {
@ -1057,7 +1057,7 @@ func TestInsertDeleted(t *testing.T) {
DeletedAt time.Time `xorm:"'DELETED_AT' deleted"`
}
assert.NoError(t, testEngine.Sync2(new(InsertDeletedStruct)))
assert.NoError(t, testEngine.Sync(new(InsertDeletedStruct)))
var v InsertDeletedStruct
_, err = testEngine.Insert(&v)

View File

@ -18,7 +18,7 @@ func TestIterate(t *testing.T) {
IsMan bool
}
assert.NoError(t, testEngine.Sync2(new(UserIterate)))
assert.NoError(t, testEngine.Sync(new(UserIterate)))
cnt, err := testEngine.Insert(&UserIterate{
IsMan: true,
@ -46,7 +46,7 @@ func TestBufferIterate(t *testing.T) {
IsMan bool
}
assert.NoError(t, testEngine.Sync2(new(UserBufferIterate)))
assert.NoError(t, testEngine.Sync(new(UserBufferIterate)))
var size = 20
for i := 0; i < size; i++ {

View File

@ -607,7 +607,7 @@ func TestCompositePK(t *testing.T) {
assert.NoError(t, err)
assertSync(t, new(TaskSolution))
assert.NoError(t, testEngine.Sync2(new(TaskSolution)))
assert.NoError(t, testEngine.Sync(new(TaskSolution)))
tables2, err := testEngine.DBMetas()
assert.NoError(t, err)

View File

@ -26,7 +26,7 @@ func TestQueryString(t *testing.T) {
Created time.Time `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(GetVar2)))
assert.NoError(t, testEngine.Sync(new(GetVar2)))
var data = GetVar2{
Msg: "hi",
@ -54,7 +54,7 @@ func TestQueryString2(t *testing.T) {
Msg bool
}
assert.NoError(t, testEngine.Sync2(new(GetVar3)))
assert.NoError(t, testEngine.Sync(new(GetVar3)))
var data = GetVar3{
Msg: false,
@ -91,7 +91,7 @@ func TestQueryInterface(t *testing.T) {
Created time.Time `xorm:"created"`
}
assert.NoError(t, testEngine.Sync2(new(GetVarInterface)))
assert.NoError(t, testEngine.Sync(new(GetVarInterface)))
var data = GetVarInterface{
Msg: "hi",
@ -124,7 +124,7 @@ func TestQueryNoParams(t *testing.T) {
testEngine.ShowSQL(true)
assert.NoError(t, testEngine.Sync2(new(QueryNoParams)))
assert.NoError(t, testEngine.Sync(new(QueryNoParams)))
var q = QueryNoParams{
Msg: "message",
@ -168,7 +168,7 @@ func TestQueryStringNoParam(t *testing.T) {
Msg bool
}
assert.NoError(t, testEngine.Sync2(new(GetVar4)))
assert.NoError(t, testEngine.Sync(new(GetVar4)))
var data = GetVar4{
Msg: false,
@ -205,7 +205,7 @@ func TestQuerySliceStringNoParam(t *testing.T) {
Msg bool
}
assert.NoError(t, testEngine.Sync2(new(GetVar6)))
assert.NoError(t, testEngine.Sync(new(GetVar6)))
var data = GetVar6{
Msg: false,
@ -242,7 +242,7 @@ func TestQueryInterfaceNoParam(t *testing.T) {
Msg bool
}
assert.NoError(t, testEngine.Sync2(new(GetVar5)))
assert.NoError(t, testEngine.Sync(new(GetVar5)))
var data = GetVar5{
Msg: false,
@ -276,7 +276,7 @@ func TestQueryWithBuilder(t *testing.T) {
testEngine.ShowSQL(true)
assert.NoError(t, testEngine.Sync2(new(QueryWithBuilder)))
assert.NoError(t, testEngine.Sync(new(QueryWithBuilder)))
var q = QueryWithBuilder{
Msg: "message",
@ -325,7 +325,7 @@ func TestJoinWithSubQuery(t *testing.T) {
testEngine.ShowSQL(true)
assert.NoError(t, testEngine.Sync2(new(JoinWithSubQuery1), new(JoinWithSubQueryDepart)))
assert.NoError(t, testEngine.Sync(new(JoinWithSubQuery1), new(JoinWithSubQueryDepart)))
var depart = JoinWithSubQueryDepart{
Name: "depart1",
@ -375,7 +375,7 @@ func TestQueryStringWithLimit(t *testing.T) {
Money float32
}
assert.NoError(t, testEngine.Sync2(new(QueryWithLimit)))
assert.NoError(t, testEngine.Sync(new(QueryWithLimit)))
data, err := testEngine.Table("query_with_limit").Limit(20, 20).QueryString()
assert.NoError(t, err)

View File

@ -20,7 +20,7 @@ func TestExecAndQuery(t *testing.T) {
Name string
}
assert.NoError(t, testEngine.Sync2(new(UserinfoQuery)))
assert.NoError(t, testEngine.Sync(new(UserinfoQuery)))
res, err := testEngine.Exec("INSERT INTO "+testEngine.TableName("`userinfo_query`", true)+" (`uid`, `name`) VALUES (?, ?)", 1, "user")
assert.NoError(t, err)
@ -46,7 +46,7 @@ func TestExecTime(t *testing.T) {
Created time.Time
}
assert.NoError(t, testEngine.Sync2(new(UserinfoExecTime)))
assert.NoError(t, testEngine.Sync(new(UserinfoExecTime)))
now := time.Now()
res, err := testEngine.Exec("INSERT INTO "+testEngine.TableName("`userinfo_exec_time`", true)+" (`uid`, `name`, `created`) VALUES (?, ?, ?)", 1, "user", now)
assert.NoError(t, err)

View File

@ -173,7 +173,7 @@ func (s *SyncTable3) TableName() string {
func TestSyncTable(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(SyncTable1)))
assert.NoError(t, testEngine.Sync(new(SyncTable1)))
tables, err := testEngine.DBMetas()
assert.NoError(t, err)
@ -183,7 +183,7 @@ func TestSyncTable(t *testing.T) {
assert.NoError(t, err)
assert.EqualValues(t, testEngine.Dialect().SQLType(tables[0].GetColumn("name")), testEngine.Dialect().SQLType(tableInfo.GetColumn("name")))
assert.NoError(t, testEngine.Sync2(new(SyncTable2)))
assert.NoError(t, testEngine.Sync(new(SyncTable2)))
tables, err = testEngine.DBMetas()
assert.NoError(t, err)
@ -193,7 +193,7 @@ func TestSyncTable(t *testing.T) {
assert.NoError(t, err)
assert.EqualValues(t, testEngine.Dialect().SQLType(tables[0].GetColumn("name")), testEngine.Dialect().SQLType(tableInfo.GetColumn("name")))
assert.NoError(t, testEngine.Sync2(new(SyncTable3)))
assert.NoError(t, testEngine.Sync(new(SyncTable3)))
tables, err = testEngine.DBMetas()
assert.NoError(t, err)
@ -207,7 +207,7 @@ func TestSyncTable(t *testing.T) {
func TestSyncTable2(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Table("sync_tablex").Sync2(new(SyncTable1)))
assert.NoError(t, testEngine.Table("sync_tablex").Sync(new(SyncTable1)))
tables, err := testEngine.DBMetas()
assert.NoError(t, err)
@ -220,7 +220,7 @@ func TestSyncTable2(t *testing.T) {
NewCol string
}
assert.NoError(t, testEngine.Table("sync_tablex").Sync2(new(SyncTable4)))
assert.NoError(t, testEngine.Table("sync_tablex").Sync(new(SyncTable4)))
tables, err = testEngine.DBMetas()
assert.NoError(t, err)
assert.EqualValues(t, 1, len(tables))
@ -241,7 +241,7 @@ func TestSyncTable3(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(SyncTable5)))
assert.NoError(t, testEngine.Sync(new(SyncTable5)))
tables, err := testEngine.DBMetas()
assert.NoError(t, err)
@ -272,7 +272,7 @@ func TestSyncTable3(t *testing.T) {
}()
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(SyncTable5)))
assert.NoError(t, testEngine.Sync(new(SyncTable5)))
tables, err := testEngine.DBMetas()
assert.NoError(t, err)
@ -294,9 +294,9 @@ func TestSyncTable4(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(SyncTable6)))
assert.NoError(t, testEngine.Sync(new(SyncTable6)))
assert.NoError(t, testEngine.Sync2(new(SyncTable6)))
assert.NoError(t, testEngine.Sync(new(SyncTable6)))
}
func TestIsTableExist(t *testing.T) {
@ -335,7 +335,7 @@ func TestIsTableEmpty(t *testing.T) {
assert.NoError(t, testEngine.DropTables(&PictureEmpty{}, &NumericEmpty{}))
assert.NoError(t, testEngine.Sync2(new(PictureEmpty), new(NumericEmpty)))
assert.NoError(t, testEngine.Sync(new(PictureEmpty), new(NumericEmpty)))
isEmpty, err := testEngine.IsTableEmpty(&PictureEmpty{})
assert.NoError(t, err)
@ -393,7 +393,7 @@ func TestIndexAndUnique(t *testing.T) {
func TestMetaInfo(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(CustomTableName), new(IndexOrUnique)))
assert.NoError(t, testEngine.Sync(new(CustomTableName), new(IndexOrUnique)))
tables, err := testEngine.DBMetas()
assert.NoError(t, err)
@ -423,8 +423,8 @@ func TestSync2_1(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.DropTables("wx_test"))
assert.NoError(t, testEngine.Sync2(new(WxTest)))
assert.NoError(t, testEngine.Sync2(new(WxTest)))
assert.NoError(t, testEngine.Sync(new(WxTest)))
assert.NoError(t, testEngine.Sync(new(WxTest)))
}
func TestUnique_1(t *testing.T) {
@ -440,7 +440,7 @@ func TestUnique_1(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.DropTables("user_unique"))
assert.NoError(t, testEngine.Sync2(new(UserUnique)))
assert.NoError(t, testEngine.Sync(new(UserUnique)))
assert.NoError(t, testEngine.DropTables("user_unique"))
assert.NoError(t, testEngine.CreateTables(new(UserUnique)))
@ -459,7 +459,7 @@ func TestSync2_2(t *testing.T) {
for i := 0; i < 10; 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).Sync(new(TestSync2Index)))
exist, err := testEngine.IsTableExist(tableName)
assert.NoError(t, err)
@ -484,7 +484,7 @@ func TestSync2_Default(t *testing.T) {
assert.NoError(t, PrepareEngine())
assertSync(t, new(TestSync2Default))
assert.NoError(t, testEngine.Sync2(new(TestSync2Default)))
assert.NoError(t, testEngine.Sync(new(TestSync2Default)))
}
func TestSync2_Default2(t *testing.T) {
@ -497,9 +497,9 @@ func TestSync2_Default2(t *testing.T) {
assert.NoError(t, PrepareEngine())
assertSync(t, new(TestSync2Default2))
assert.NoError(t, testEngine.Sync2(new(TestSync2Default2)))
assert.NoError(t, testEngine.Sync2(new(TestSync2Default2)))
assert.NoError(t, testEngine.Sync2(new(TestSync2Default2)))
assert.NoError(t, testEngine.Sync(new(TestSync2Default2)))
assert.NoError(t, testEngine.Sync(new(TestSync2Default2)))
assert.NoError(t, testEngine.Sync(new(TestSync2Default2)))
assert.NoError(t, testEngine.Sync(new(TestSync2Default2)))
assert.NoError(t, testEngine.Sync(new(TestSync2Default2)))

View File

@ -23,7 +23,7 @@ func TestSum(t *testing.T) {
}
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(SumStruct)))
assert.NoError(t, testEngine.Sync(new(SumStruct)))
var (
cases = []SumStruct{
@ -82,7 +82,7 @@ func (s SumStructWithTableName) TableName() string {
func TestSumWithTableName(t *testing.T) {
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(SumStructWithTableName)))
assert.NoError(t, testEngine.Sync(new(SumStructWithTableName)))
var (
cases = []SumStructWithTableName{
@ -146,7 +146,7 @@ func TestSumCustomColumn(t *testing.T) {
}
)
assert.NoError(t, testEngine.Sync2(new(SumStruct2)))
assert.NoError(t, testEngine.Sync(new(SumStruct2)))
cnt, err := testEngine.Insert(cases)
assert.NoError(t, err)

View File

@ -32,7 +32,7 @@ func TestNullFloatStruct(t *testing.T) {
}
assert.NoError(t, PrepareEngine())
assert.NoError(t, testEngine.Sync2(new(MyNullFloatStruct)))
assert.NoError(t, testEngine.Sync(new(MyNullFloatStruct)))
_, err := testEngine.Insert(&MyNullFloatStruct{
Uuid: "111111",

View File

@ -27,7 +27,7 @@ func TestUpdateMap(t *testing.T) {
Age int
}
assert.NoError(t, testEngine.Sync2(new(UpdateTable)))
assert.NoError(t, testEngine.Sync(new(UpdateTable)))
var tb = UpdateTable{
Name: "test",
Age: 35,
@ -78,7 +78,7 @@ func TestUpdateLimit(t *testing.T) {
Age int
}
assert.NoError(t, testEngine.Sync2(new(UpdateTable2)))
assert.NoError(t, testEngine.Sync(new(UpdateTable2)))
var tb = UpdateTable2{
Name: "test1",
Age: 35,
@ -382,7 +382,7 @@ func TestUpdate1(t *testing.T) {
assert.EqualValues(t, 1, cnt, "delete not returned 1")
}
err = testEngine.StoreEngine("Innodb").Sync2(&Article{})
err = testEngine.StoreEngine("Innodb").Sync(&Article{})
assert.NoError(t, err)
defer func() {
@ -513,7 +513,7 @@ func TestUpdateUpdated(t *testing.T) {
assert.NoError(t, PrepareEngine())
di := new(UpdatedUpdate)
err := testEngine.Sync2(di)
err := testEngine.Sync(di)
assert.NoError(t, err)
_, err = testEngine.Insert(&UpdatedUpdate{})
@ -529,7 +529,7 @@ func TestUpdateUpdated(t *testing.T) {
assert.EqualValues(t, ci.Updated.Unix(), di.Updated.Unix())
di2 := new(UpdatedUpdate2)
err = testEngine.Sync2(di2)
err = testEngine.Sync(di2)
assert.NoError(t, err)
now := time.Now()
@ -556,7 +556,7 @@ func TestUpdateUpdated(t *testing.T) {
assert.True(t, ci2.Updated >= di21.Updated)
di3 := new(UpdatedUpdate3)
err = testEngine.Sync2(di3)
err = testEngine.Sync(di3)
assert.NoError(t, err)
_, err = testEngine.Insert(&UpdatedUpdate3{})
@ -572,7 +572,7 @@ func TestUpdateUpdated(t *testing.T) {
assert.EqualValues(t, ci3.Updated, di3.Updated)
di4 := new(UpdatedUpdate4)
err = testEngine.Sync2(di4)
err = testEngine.Sync(di4)
assert.NoError(t, err)
_, err = testEngine.Insert(&UpdatedUpdate4{})
@ -588,7 +588,7 @@ func TestUpdateUpdated(t *testing.T) {
assert.EqualValues(t, ci4.Updated, di4.Updated)
di5 := new(UpdatedUpdate5)
err = testEngine.Sync2(di5)
err = testEngine.Sync(di5)
assert.NoError(t, err)
_, err = testEngine.Insert(&UpdatedUpdate5{})

View File

@ -673,7 +673,7 @@ func TestCreatedUpdated(t *testing.T) {
Updated time.Time `xorm:"updated"`
}
err := testEngine.Sync2(&CreatedUpdated{})
err := testEngine.Sync(&CreatedUpdated{})
assert.NoError(t, err)
c := &CreatedUpdated{Name: "test"}
@ -728,7 +728,7 @@ type Lowercase struct {
func TestLowerCase(t *testing.T) {
assert.NoError(t, PrepareEngine())
err := testEngine.Sync2(&Lowercase{})
err := testEngine.Sync(&Lowercase{})
assert.NoError(t, err)
_, err = testEngine.Where("`id` > 0").Delete(&Lowercase{})
assert.NoError(t, err)
@ -827,7 +827,7 @@ func TestTagComment(t *testing.T) {
assert.True(t, cols[0].DefaultIsEmpty)
assert.EqualValues(t, "", cols[0].Default)
assert.NoError(t, testEngine.Sync2(new(TestComment1)))
assert.NoError(t, testEngine.Sync(new(TestComment1)))
tables, err := testEngine.DBMetas()
assert.NoError(t, err)
@ -851,7 +851,7 @@ func TestTagComment(t *testing.T) {
assert.True(t, cols[0].DefaultIsEmpty)
assert.EqualValues(t, "", cols[0].Default)
assert.NoError(t, testEngine.Sync2(new(TestComment2)))
assert.NoError(t, testEngine.Sync(new(TestComment2)))
tables, err = testEngine.DBMetas()
assert.NoError(t, err)

View File

@ -28,7 +28,7 @@ func TestArrayField(t *testing.T) {
Name [20]byte `xorm:"char(80)"`
}
assert.NoError(t, testEngine.Sync2(new(ArrayStruct)))
assert.NoError(t, testEngine.Sync(new(ArrayStruct)))
var as = ArrayStruct{
Name: [20]byte{
@ -90,7 +90,7 @@ func TestGetBytes(t *testing.T) {
Data []byte `xorm:"VARBINARY(250)"`
}
err := testEngine.Sync2(new(Varbinary))
err := testEngine.Sync(new(Varbinary))
assert.NoError(t, err)
cnt, err := testEngine.Insert(&Varbinary{
@ -193,7 +193,7 @@ func TestConversion(t *testing.T) {
c := new(ConvStruct)
assert.NoError(t, testEngine.DropTables(c))
assert.NoError(t, testEngine.Sync2(c))
assert.NoError(t, testEngine.Sync(c))
var s ConvString = "sssss"
c.Conv = "tttt"

View File

@ -31,7 +31,7 @@ var (
{
ID: "201608301400",
Migrate: func(tx *xorm.Engine) error {
return tx.Sync2(&Person{})
return tx.Sync(&Person{})
},
Rollback: func(tx *xorm.Engine) error {
return tx.DropTables(&Person{})
@ -40,7 +40,7 @@ var (
{
ID: "201608301430",
Migrate: func(tx *xorm.Engine) error {
return tx.Sync2(&Pet{})
return tx.Sync(&Pet{})
},
Rollback: func(tx *xorm.Engine) error {
return tx.DropTables(&Pet{})
@ -103,10 +103,10 @@ func TestInitSchema(t *testing.T) {
m := New(db, DefaultOptions, migrations)
m.InitSchema(func(tx *xorm.Engine) error {
if err := tx.Sync2(&Person{}); err != nil {
if err := tx.Sync(&Person{}); err != nil {
return err
}
return tx.Sync2(&Pet{})
return tx.Sync(&Pet{})
})
err = m.Migrate()

View File

@ -263,7 +263,13 @@ func (session *Session) addUnique(tableName, uqeName string) error {
}
// Sync2 synchronize structs to database tables
// Depricated
func (session *Session) Sync2(beans ...interface{}) error {
return session.Sync(beans...)
}
// Sync synchronize structs to database tables
func (session *Session) Sync(beans ...interface{}) error {
engine := session.engine
if session.isAutoClose {