summaryrefslogtreecommitdiff
path: root/src/weepinbell/migration.clj
blob: 0667bc3f319fc40ac5a3a2dc5bb91eb62658a4a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(ns weepinbell.migration
  (:require [weepinbell.storage.sqlite :as sqlite]
            [weepinbell.storage.edn-storage :as edns]))

(defn edn->sqlite [edn-file sqlite-db]
  {:pre [(some? edn-file) (some? sqlite-db)]}
  (let [ds (sqlite/make-datasource sqlite-db)]
    (sqlite/create-tables ds)
    (edns/with-webmentions edn-file
      (fn [wms]
        (doseq [wm wms]
          (let [id (get-in wm [:webmention :id])]
            (println "Appending webmention" id "to database")
            (sqlite/insert-webmention ds wm)))))
    (println "Done")))