You don't need to use `merge!`, you can just set the value directly in both cases:

```ruby
options[:primary_key] = primary_key(from) if primary_key(from) != 'id'
unless options[:primary_key]
  options[:id] = !columns(from).detect{|c| c.name == 'id'}.nil? && 'id' == primary_key(from).to_s)
end
```
Or something like that.