diff of 14e8e2cdcc1ef50dc58e55ab3ef7aff94aed6c10
14e8e2cdcc1ef50dc58e55ab3ef7aff94aed6c10
diff --git a/src/model/settings.lisp b/src/model/settings.lisp
index b925d88..824d7e8 100644
--- a/src/model/settings.lisp
+++ b/src/model/settings.lisp
@@ -73,8 +73,14 @@
)))
*setting-fields*)))
- (murja.middleware.db:with-db
- (defparameter *settings* (make-instance 'Settings)))
+ (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)))))
,@(map 'list
(lambda (setting)
@@ -105,13 +111,13 @@
(let ((*inside-defsetting?* t))
`(let ((*inside-defsetting?* t))
- ,@(map 'list
- (lambda (config)
- (destructuring-bind (name value . _) config
- (declare (ignore _))
- `(defsetting ,name ,value)))
- body)
- (create-settings))))
+ ,@(map 'list
+ (lambda (config)
+ (destructuring-bind (name value . _) config
+ (declare (ignore _))
+ `(defsetting ,name ,value)))
+ body)
+ (create-settings))))
;; (defsetting random-size 45)