Merge 1acdf8b3ea53603a07a47609a4dad9b2ec30e117 into 409121d9e394922787885b001d148a05e3a42b6c

This commit is contained in:
Jonathan Friedman 2018-07-27 04:16:51 +00:00 committed by GitHub
commit 2efa80e036
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,6 +17,8 @@ var DefaultTableNameHandler = func(db *DB, defaultTableName string) string {
return defaultTableName return defaultTableName
} }
var mutex sync.Mutex
type safeModelStructsMap struct { type safeModelStructsMap struct {
m map[reflect.Type]*ModelStruct m map[reflect.Type]*ModelStruct
l *sync.RWMutex l *sync.RWMutex
@ -50,6 +52,9 @@ type ModelStruct struct {
// TableName get model's table name // TableName get model's table name
func (s *ModelStruct) TableName(db *DB) string { func (s *ModelStruct) TableName(db *DB) string {
mutex.Lock()
defer mutex.Unlock()
if s.defaultTableName == "" && db != nil && s.ModelType != nil { if s.defaultTableName == "" && db != nil && s.ModelType != nil {
// Set default table name // Set default table name
if tabler, ok := reflect.New(s.ModelType).Interface().(tabler); ok { if tabler, ok := reflect.New(s.ModelType).Interface().(tabler); ok {