Ver código fonte

bug fixed for sync2

xormplus 10 anos atrás
pai
commit
7da3ad70b2
2 arquivos alterados com 6 adições e 6 exclusões
  1. 5 5
      dialect.go
  2. 1 1
      type.go

+ 5 - 5
dialect.go

@@ -267,16 +267,16 @@ func (b *Base) CreateTableSql(table *Table, tableName, storeEngine, charset stri
 }
 
 var (
-	dialects = map[DbType]Dialect{}
+	dialects = map[DbType]func() Dialect{}
 )
 
-func RegisterDialect(dbName DbType, dialect Dialect) {
-	if dialect == nil {
+func RegisterDialect(dbName DbType, dialectFunc func() Dialect) {
+	if dialectFunc == nil {
 		panic("core: Register dialect is nil")
 	}
-	dialects[dbName] = dialect // !nashtsai! allow override dialect
+	dialects[dbName] = dialectFunc // !nashtsai! allow override dialect
 }
 
 func QueryDialect(dbName DbType) Dialect {
-	return dialects[dbName]
+	return dialects[dbName]()
 }

+ 1 - 1
type.go

@@ -254,7 +254,7 @@ func Type2SQLType(t reflect.Type) (st SQLType) {
 	case reflect.String:
 		st = SQLType{Varchar, 255, 0}
 	case reflect.Struct:
-		if t.ConvertibleTo(reflect.TypeOf(c_TIME_DEFAULT)) {
+		if t.ConvertibleTo(TimeType) {
 			st = SQLType{DateTime, 0, 0}
 		} else {
 			// TODO need to handle association struct