/
lobos.clj
32 lines (29 loc) · 1.24 KB
/
lobos.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
;;;; Copyright © 2011 José Pablo Fernández Silva
(ns leiningen.lobos
(:use [leiningen.help :only (help-for)]
[leiningen.core.eval :only [eval-in-project]]))
(defn migrate [project]
(eval-in-project project
`(do
(lobos.connectivity/open-global (assoc lobos.config/db :unsafe true)) ; Establish a connection only when none exists (unsafe true)
(binding [lobos.migration/*reload-migrations* false]
(lobos.core/migrate)))
'(require 'lobos.config 'lobos.core 'lobos.connectivity 'lobos.migration)))
(defn rollback [project]
(eval-in-project project
`(do
(lobos.connectivity/open-global (assoc lobos.config/db :unsafe true)) ; Establish a connection only when none exists (unsafe true)
(binding [lobos.migration/*reload-migrations* false]
(lobos.core/rollback)))
'(require 'lobos.config 'lobos.core 'lobos.connectivity)))
(defn lobos
"Run Lobos commands."
{:help-arglists '([migrate rollback])
:subtasks [#'migrate #'rollback]}
([] (println (help-for "lobos")))
([project] (println (help-for "lobos")))
([project subtask]
(case subtask
"migrate" (leiningen.lobos/migrate project)
"rollback" (leiningen.lobos/rollback project)
(println (help-for "lobos")))))