some bug fixed and some function deprecated
This commit is contained in:
parent
0d7fdfb5bf
commit
e68c855ee3
|
@ -0,0 +1,19 @@
|
||||||
|
package xorm
|
||||||
|
|
||||||
|
// all content in this file will be removed from xorm some times after
|
||||||
|
|
||||||
|
// @deprecation : please use NewSession instead
|
||||||
|
func (engine *Engine) MakeSession() (Session, error) {
|
||||||
|
s, err := engine.NewSession()
|
||||||
|
if err == nil {
|
||||||
|
return *s, err
|
||||||
|
} else {
|
||||||
|
return Session{}, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// @deprecation : please use NewEngine instead
|
||||||
|
func Create(driverName string, dataSourceName string) Engine {
|
||||||
|
engine := NewEngine(driverName, dataSourceName)
|
||||||
|
return *engine
|
||||||
|
}
|
24
engine.go
24
engine.go
|
@ -50,17 +50,25 @@ func (e *Engine) OpenDB() (*sql.DB, error) {
|
||||||
return sql.Open(e.DriverName, e.DataSourceName)
|
return sql.Open(e.DriverName, e.DataSourceName)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (engine *Engine) MakeSession() (session Session, err error) {
|
func (engine *Engine) NewSession() (session *Session, err error) {
|
||||||
db, err := engine.OpenDB()
|
db, err := engine.OpenDB()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return Session{}, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
session = Session{Engine: engine, Db: db}
|
session = &Session{Engine: engine, Db: db}
|
||||||
session.Init()
|
session.Init()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (engine *Engine) Test() error {
|
||||||
|
session, err := engine.NewSession()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return session.Db.Ping()
|
||||||
|
}
|
||||||
|
|
||||||
func (engine *Engine) Where(querystring string, args ...interface{}) *Engine {
|
func (engine *Engine) Where(querystring string, args ...interface{}) *Engine {
|
||||||
engine.Statement.Where(querystring, args...)
|
engine.Statement.Where(querystring, args...)
|
||||||
return engine
|
return engine
|
||||||
|
@ -260,9 +268,15 @@ func (e *Engine) DropAll() error {
|
||||||
|
|
||||||
func (e *Engine) CreateTables(beans ...interface{}) error {
|
func (e *Engine) CreateTables(beans ...interface{}) error {
|
||||||
session, err := e.MakeSession()
|
session, err := e.MakeSession()
|
||||||
session.Begin()
|
if err != nil {
|
||||||
session.Statement = e.Statement
|
return err
|
||||||
|
}
|
||||||
defer session.Close()
|
defer session.Close()
|
||||||
|
err = session.Begin()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
session.Statement = e.Statement
|
||||||
defer e.Statement.Init()
|
defer e.Statement.Init()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -88,14 +88,16 @@ func (session *Session) Having(conditions string) *Session {
|
||||||
|
|
||||||
func (session *Session) Begin() error {
|
func (session *Session) Begin() error {
|
||||||
if session.IsAutoCommit {
|
if session.IsAutoCommit {
|
||||||
|
tx, err := session.Db.Begin()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
session.IsAutoCommit = false
|
session.IsAutoCommit = false
|
||||||
session.IsCommitedOrRollbacked = false
|
session.IsCommitedOrRollbacked = false
|
||||||
tx, err := session.Db.Begin()
|
|
||||||
session.Tx = tx
|
session.Tx = tx
|
||||||
if session.Engine.ShowSQL {
|
if session.Engine.ShowSQL {
|
||||||
fmt.Println("BEGIN TRANSACTION")
|
fmt.Println("BEGIN TRANSACTION")
|
||||||
}
|
}
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
6
xorm.go
6
xorm.go
|
@ -4,12 +4,12 @@ import (
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Create(driverName string, dataSourceName string) Engine {
|
func NewEngine(driverName string, dataSourceName string) *Engine {
|
||||||
engine := Engine{ShowSQL: false, DriverName: driverName, Mapper: SnakeMapper{},
|
engine := &Engine{ShowSQL: false, DriverName: driverName, Mapper: SnakeMapper{},
|
||||||
DataSourceName: dataSourceName}
|
DataSourceName: dataSourceName}
|
||||||
|
|
||||||
engine.Tables = make(map[reflect.Type]Table)
|
engine.Tables = make(map[reflect.Type]Table)
|
||||||
engine.Statement.Engine = &engine
|
engine.Statement.Engine = engine
|
||||||
engine.InsertMany = true
|
engine.InsertMany = true
|
||||||
engine.TagIdentifier = "xorm"
|
engine.TagIdentifier = "xorm"
|
||||||
if driverName == SQLITE {
|
if driverName == SQLITE {
|
||||||
|
|
Loading…
Reference in New Issue