diff of 13a9e1dcbcf6facd107c6ec840e84c0a33343763

13a9e1dcbcf6facd107c6ec840e84c0a33343763
diff --git a/src/main.lisp b/src/main.lisp
index 7e1af8a..f00a89b 100644
--- a/src/main.lisp
+++ b/src/main.lisp
@@ -9,6 +9,8 @@
   (log:info "Starting murja server~%")
   (with-db
       (migrate))
+  (with-db
+      (murja.model.settings:setup-settings))
   (let ((server (make-instance 'easy-routes:easy-routes-acceptor :port port)))    
     (when (equalp 3010 port)
       (setf *server* server))
diff --git a/src/model/settings.lisp b/src/model/settings.lisp
index 824d7e8..ece53ea 100644
--- a/src/model/settings.lisp
+++ b/src/model/settings.lisp
@@ -60,6 +60,11 @@
      (assert *inside-defsetting?* nil "Please wrap `(defsetting ~a ~a)` inside a define-settings macro" ,(prin1-to-string name) ,(prin1-to-string default-value))
      (quote ,name)))
 
+(defun setup-settings ()
+  (setf *settings*
+	(murja.middleware.db:with-db
+	    (make-instance 'Settings))))
+
 (defmacro create-settings ()
   `(progn
      (defclass Settings ()
@@ -73,14 +78,7 @@
 				   )))
 	       *setting-fields*)))
 
-     (defparameter *settings*
-       (block settings-loader 
-	 (handler-bind ((cl-postgres:database-socket-error
-			  (lambda (c)
-			    (declare (ignore c))
-			    (return-from settings-loader nil))))
-	   (murja.middleware.db:with-db
-	       (make-instance 'Settings)))))
+     (defparameter *settings* nil)
 
      ,@(map 'list
 	    (lambda (setting)
diff --git a/src/packages/settings.lisp b/src/packages/settings.lisp
index a230d02..8624129 100644
--- a/src/packages/settings.lisp
+++ b/src/packages/settings.lisp
@@ -1,6 +1,6 @@
 (defpackage :murja.model.settings
   (:use :cl)
-  (:export :setting-getter :all-setting-names :update-setting :defsetting :define-settings :create-settings)
+  (:export :setup-settings :setting-getter :all-setting-names :update-setting :defsetting :define-settings :create-settings)
   (:import-from :com.inuoe.jzon :stringify :parse)
   (:documentation "This package specifies macros define-settings and defsetting, which are used thus: