Allow create table for other database/schema #3640
This commit is contained in:
		
							parent
							
								
									db2630cb3a
								
							
						
					
					
						commit
						dd92f8bdc0
					
				| @ -32,6 +32,7 @@ func (m Migrator) RunWithValue(value interface{}, fc func(*gorm.Statement) error | |||||||
| 	stmt := &gorm.Statement{DB: m.DB} | 	stmt := &gorm.Statement{DB: m.DB} | ||||||
| 	if m.DB.Statement != nil { | 	if m.DB.Statement != nil { | ||||||
| 		stmt.Table = m.DB.Statement.Table | 		stmt.Table = m.DB.Statement.Table | ||||||
|  | 		stmt.TableExpr = m.DB.Statement.TableExpr | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if table, ok := value.(string); ok { | 	if table, ok := value.(string); ok { | ||||||
| @ -161,6 +162,10 @@ func (m Migrator) CreateTable(values ...interface{}) error { | |||||||
| 				hasPrimaryKeyInDataType bool | 				hasPrimaryKeyInDataType bool | ||||||
| 			) | 			) | ||||||
| 
 | 
 | ||||||
|  | 			if stmt.TableExpr != nil { | ||||||
|  | 				values[0] = *stmt.TableExpr | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
| 			for _, dbName := range stmt.Schema.DBNames { | 			for _, dbName := range stmt.Schema.DBNames { | ||||||
| 				field := stmt.Schema.FieldsByDBName[dbName] | 				field := stmt.Schema.FieldsByDBName[dbName] | ||||||
| 				createTableSQL += "? ?" | 				createTableSQL += "? ?" | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jinzhu
						Jinzhu