[Add misc scripts (elephant 0.9->1.0 upgrade stuff)
clinton@unknownlamer.org**20090211203957] adddir ./misc
addfile ./misc/upgrade-1.lisp
hunk ./misc/upgrade-1.lisp 1
-
+;;; Run this *before* upgrading to elephant 1.0!
+
+(clc:clc-require :elephant)
+(clc:clc-require :beesknees)
+(clc:clc-require :gp-export)
+(clc:clc-require :gp-export-elephant)
+
+(defparameter *var-root* (make-pathname :directory '(:absolute "home" "clinton"
+						     "local" "var" "beesknees")))
+(defparameter *old-database* (make-pathname :directory '(:relative "ele-0.9")))
+(defparameter *dump-file* (make-pathname :name "ele-0.9-export" :type "sexp"))
+
+
+(defun dump-old-database ()
+  (let ((elephant:*store-controller*
+	 (elephant:open-store
+	  `(:bdb ,(princ-to-string (merge-pathnames *old-database* *var-root*)))))
+	(gp-export::*default-export-import-pathname*
+	 (merge-pathnames *dump-file* *var-root*)))
+    (declare (special elephant:*store-controller*
+		      gp-export::*default-export-import-pathname*))
+    (gp-export-elephant:export-current-elephant-database)
+    (elephant:close-store elephant:*store-controller*)))
+
+;;; (dump-old-database) ; run at repl manually
addfile ./misc/upgrade-2.lisp
hunk ./misc/upgrade-2.lisp 1
+;;; Run this *after* upgrading to elephant 1.0
+
+(clc:clc-require :elephant)
+(clc:clc-require :beesknees)
+(clc:clc-require :gp-export)
+(clc:clc-require :gp-export-elephant)
+
+(defparameter *var-root* (make-pathname :directory '(:absolute "home" "clinton"
+						     "local" "var" "beesknees")))
+(defparameter *new-database* (make-pathname :directory '(:relative "ele-1.0")))
+(defparameter *dump-file* (make-pathname :name "ele-0.9-export" :type "sexp"))
+
+(defun import-old-database ()
+  (ensure-directories-exist (merge-pathnames *new-database* *var-root*))
+  (let ((elephant:*store-controller*
+	 (elephant:open-store
+	  `(:bdb ,(princ-to-string (merge-pathnames *new-database* *var-root*))))))
+    (declare (special elephant:*store-controller*))
+    (gp-export:import-dump-file (merge-pathnames *dump-file* *var-root*))
+    (elephant:close-store elephant:*store-controller*)))