Add primary key check before delete
This commit is contained in:
		
							parent
							
								
									dda88dd08c
								
							
						
					
					
						commit
						546069e74c
					
				@ -20,6 +20,10 @@ func beforeDeleteCallback(scope *Scope) {
 | 
			
		||||
 | 
			
		||||
// deleteCallback used to delete data from database or set deleted_at to current time (when using with soft delete)
 | 
			
		||||
func deleteCallback(scope *Scope) {
 | 
			
		||||
	if scope.PrimaryKeyZero() {
 | 
			
		||||
		scope.db.AddError(ErrNonSpecificDelete)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !scope.HasError() {
 | 
			
		||||
		var extraOption string
 | 
			
		||||
		if str, ok := scope.Get("gorm:delete_option"); ok {
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,8 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	// ErrNonSpecificDelete no primary key specified for delete, happens when you try to `Delete` a record without a primary key set
 | 
			
		||||
	ErrNonSpecificDelete = errors.New("no primary key specified for delete")
 | 
			
		||||
	// ErrRecordNotFound record not found error, happens when haven't find any matched data when looking up with a struct
 | 
			
		||||
	ErrRecordNotFound = errors.New("record not found")
 | 
			
		||||
	// ErrInvalidSQL invalid SQL error, happens when you passed invalid SQL
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user