lib/spiderfw/model/mappers/db_mapper.rb in spiderfw-0.6.27 vs lib/spiderfw/model/mappers/db_mapper.rb in spiderfw-0.6.28
- old
+ new
@@ -1013,11 +1013,12 @@
set = el_val
if element.junction? && !element.attributes[:keep_junction]
set = obj.send("#{element.name}_junction")
end
delete_ass = nil
- if set.modified # queryset modified
+ #if set.modified # queryset modified
+ if set.modified && obj.primary_keys_set? # queryset modified
delete_ass = MapperTask.new(obj, :delete_associations, :element => element.name)
deps << [task, delete_ass]
end
prev_task = nil
set.each do |set_obj|
@@ -1045,10 +1046,11 @@
end
prev_task = sub_task
end
else
el_val.set_modified(element.reverse)
- deps << [task, MapperTask.new(el_val, :save)]
+ #deps << [task, MapperTask.new(el_val, :save)]
+ deps << [MapperTask.new(el_val, :save), task]
end
end
end
end
end