From 1d1984e85f29e5af686241208a458b5531750169 Mon Sep 17 00:00:00 2001 From: Aspen Smith Date: Sun, 31 Mar 2024 16:06:50 -0400 Subject: fix(web/panettone): Hotfixes for full text search change - Actually define *static-dir* at build time, to get the search.png in the search box - Better logging for migration running at startup time - Fix and-where to properly exclude nil clauses - fix looking up build-time vars in the :build package Change-Id: Ia2ef3b2715d4c2efb62bbb2c72084f0f0ad09562 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11325 Autosubmit: aspen Reviewed-by: sterni Tested-by: BuildkiteCI --- web/panettone/default.nix | 3 ++- web/panettone/src/model.lisp | 3 ++- web/panettone/src/util.lisp | 7 ++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/web/panettone/default.nix b/web/panettone/default.nix index 91ac34ea54..60fca99e75 100644 --- a/web/panettone/default.nix +++ b/web/panettone/default.nix @@ -27,10 +27,11 @@ depot.nix.buildLisp.program { (pkgs.writeText "build.lisp" '' (defpackage build (:use :cl :alexandria) - (:export :*migrations-dir*)) + (:export :*migrations-dir* :*static-dir*)) (in-package :build) (declaim (optimize (safety 3))) (defvar *migrations-dir* "${./src/migrations}") + (defvar *static-dir* "${./src/static}") '') ./src/util.lisp ./src/css.lisp diff --git a/web/panettone/src/model.lisp b/web/panettone/src/model.lisp index 5dff14818e..15fe4815be 100644 --- a/web/panettone/src/model.lisp +++ b/web/panettone/src/model.lisp @@ -324,6 +324,7 @@ in the context of a database transaction and should perform the migration." (defun migrate () "Migrate the database, running all migrations that have not yet been run" (ensure-migrations-table) + (format t "Running migrations from ~A...~%" *migrations-dir*) (let* ((all-migrations (load-migrations)) (already-run (migrations-already-run)) (num-migrations-run 0)) @@ -350,7 +351,7 @@ in the context of a database transaction and should perform the migration." ;; otherwise, run the migration (run-migration migration)) (incf num-migrations-run)) - (format nil "Ran ~A migration~:P" num-migrations-run))) + (format t "Ran ~A migration~:P~%" num-migrations-run))) ;;; ;;; Querying diff --git a/web/panettone/src/util.lisp b/web/panettone/src/util.lisp index c9d86cbfb3..4c3c4f1aa6 100644 --- a/web/panettone/src/util.lisp +++ b/web/panettone/src/util.lisp @@ -16,8 +16,9 @@ that it can be successfully decoded by the `BASE64' package" (defun and-where (clauses) "Combine all non-nil clauses in CLAUSES into a single S-SQL WHERE form" - (if (null clauses) t - (reduce (lambda (x y) `(:and ,x ,y)) clauses))) + (let ((clauses (remove nil clauses))) + (if (null clauses) t + (reduce (lambda (x y) `(:and ,x ,y)) clauses)))) (defun and-where* (&rest clauses) "Combine all non-nil clauses in CLAUSES into a single S-SQL WHERE form" @@ -27,7 +28,7 @@ that it can be successfully decoded by the `BASE64' package" (name value-if-not-in-build &optional (doc nil)) `(defvar ,name (or (when-let ((package (find-package :build))) - (let ((sym (find-symbol ,(symbol-name name)))) + (let ((sym (find-symbol ,(symbol-name name) package))) (when (boundp sym) (symbol-value sym)))) ,value-if-not-in-build) ,doc)) -- cgit 1.4.1