Skip to content

Instantly share code, notes, and snippets.

@apeckham
Created September 5, 2020 05:43
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 apeckham/abd55a6847e10d945d30039ed6ee5f9c to your computer and use it in GitHub Desktop.
Save apeckham/abd55a6847e10d945d30039ed6ee5f9c to your computer and use it in GitHub Desktop.
Fake now() in Postgres for testing, in clojure.java.jdbc
(ns sql.fake-now
"https://www.slideshare.net/justatheory/test-drivern-database-development slide 498"
(:require
[clojure.java.jdbc :as jdbc])
(:import
(org.joda.time DateTime)))
(defn set-now
[db ^DateTime date]
(jdbc/execute!
db
(format
"create or replace function mock.now() returns timestamp with time zone as $$ select '%s'::timestamptz $$ language sql"
date)))
(defn setup
[db]
(jdbc/execute! db "create schema if not exists mock")
(jdbc/execute! db "set search_path to mock, public, pg_catalog"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment