Fix foreign db name in join table for multi primary keys relations
This commit is contained in:
		
							parent
							
								
									94a5ebe5b4
								
							
						
					
					
						commit
						4b98b145b1
					
				@ -37,9 +37,12 @@ func (s *JoinTableHandler) Setup(relationship *Relationship, tableName string, s
 | 
				
			|||||||
	s.Source = JoinTableSource{ModelType: source}
 | 
						s.Source = JoinTableSource{ModelType: source}
 | 
				
			||||||
	sourceScope := &Scope{Value: reflect.New(source).Interface()}
 | 
						sourceScope := &Scope{Value: reflect.New(source).Interface()}
 | 
				
			||||||
	for _, primaryField := range sourceScope.GetModelStruct().PrimaryFields {
 | 
						for _, primaryField := range sourceScope.GetModelStruct().PrimaryFields {
 | 
				
			||||||
		db := relationship.ForeignDBName
 | 
							if relationship.ForeignDBName == "" {
 | 
				
			||||||
 | 
								relationship.ForeignFieldName = source.Name() + primaryField.Name
 | 
				
			||||||
 | 
								relationship.ForeignDBName = ToDBName(relationship.ForeignFieldName)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		s.Source.ForeignKeys = append(s.Source.ForeignKeys, JoinTableForeignKey{
 | 
							s.Source.ForeignKeys = append(s.Source.ForeignKeys, JoinTableForeignKey{
 | 
				
			||||||
			DBName:            db,
 | 
								DBName:            relationship.ForeignDBName,
 | 
				
			||||||
			AssociationDBName: primaryField.DBName,
 | 
								AssociationDBName: primaryField.DBName,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -47,9 +50,12 @@ func (s *JoinTableHandler) Setup(relationship *Relationship, tableName string, s
 | 
				
			|||||||
	s.Destination = JoinTableSource{ModelType: destination}
 | 
						s.Destination = JoinTableSource{ModelType: destination}
 | 
				
			||||||
	destinationScope := &Scope{Value: reflect.New(destination).Interface()}
 | 
						destinationScope := &Scope{Value: reflect.New(destination).Interface()}
 | 
				
			||||||
	for _, primaryField := range destinationScope.GetModelStruct().PrimaryFields {
 | 
						for _, primaryField := range destinationScope.GetModelStruct().PrimaryFields {
 | 
				
			||||||
		db := relationship.AssociationForeignDBName
 | 
							if relationship.AssociationForeignDBName == "" {
 | 
				
			||||||
 | 
								relationship.AssociationForeignFieldName = destination.Name() + primaryField.Name
 | 
				
			||||||
 | 
								relationship.AssociationForeignDBName = ToDBName(relationship.AssociationForeignFieldName)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		s.Destination.ForeignKeys = append(s.Destination.ForeignKeys, JoinTableForeignKey{
 | 
							s.Destination.ForeignKeys = append(s.Destination.ForeignKeys, JoinTableForeignKey{
 | 
				
			||||||
			DBName:            db,
 | 
								DBName:            relationship.AssociationForeignDBName,
 | 
				
			||||||
			AssociationDBName: primaryField.DBName,
 | 
								AssociationDBName: primaryField.DBName,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user