This is nitpicky... but... this variable doesn't actually represent a db field name anymore, so the var name seems kind of weird.  I actually think I might just overwrite the value of `path` and do both operations at the same time... so, e.g.:

    (let [path (->> path
                      #(if (coll? %) % [%])
                      (mapv dashes->underscores))]
      ...

Unless you need the original value of path for something.