Skip to content

Instantly share code, notes, and snippets.

@j1n3l0
Last active January 4, 2016 01:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save j1n3l0/8551916 to your computer and use it in GitHub Desktop.
Save j1n3l0/8551916 to your computer and use it in GitHub Desktop.
(require '[clojure.string :as s])
((fn [{:keys [sql replacements]}]
(reduce (fn [acc [k v]] (s/replace acc k v)) sql replacements))
{:sql "select * from schema_name.table_name where table_name.field_name='field_value'"
:replacements {"schema_name" "production"
"table_name" "employees"
"field_name" "name"
"field_value" "nelo"}})
; => "select * from production.employees where employees.name='nelo'"
(require '[clojure.string :as s])
(def sql-replace
(fn [{:keys [sql replacements]}]
(reduce (fn [acc [k v]] (s/replace acc k v)) sql replacements)))
(def sql-replace-from-file
(fn [file replacements]
(sql-replace (conj replacements [:sql (slurp file)]))))
(sql-replace-from-file
"/tmp/example.sql"
{:replacements {"schema_name" "production"
"table_name" "employees"
"field_name" "name"
"field_value" "nelo"}})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment