Very recent (about 5 hours ago as I write this) commit
32bf910 introduces a new default location for your
Move the default location of
org-roam.db to the user’s Emacs
directory. This is a more sensible default: those who sync their
Org files would not have the database synced over as well.
Good change if you sync your notes via Cloud sync services (you would not need to explicitly exclude the
.db file from sync).
This change might surprise you if you have used Org-roam since before this change, as Org-roam would try to build another database file from scratch. Depending on the size of your notes repository, it might take noticeable time.
There is no harm using a new file in the new default location.
But for whatever reason, if you prefer to keep using the DB file you have already built, you can tell Org-roam to do so by using this customizing variable.
It exists before the change, so you can set it up before you update your Org-roam package.
(setq org-roam-db-location "c:/Users/nobiot/org-roam/org-roam.db")
or via customizing like this:
Or, if you don’t wish to rebuild the database from scratch, it is possible (I think) to simply move the db file over without any issues
I have a feeling you might also need to move/copy the org-id file (?) I don’t use IDs, so can’t be sure
BTW, in my workflow I’m using multiple different database files. This works a treat:
(defvar org-roam-library `(,(concat "/home/" (getenv "USER") "/arxana/org-roam/")
,(concat "/home/" (getenv "USER") "/org-roam/")
,(concat "/home/" (getenv "USER") "/eightfold-path/")
,(concat "/home/" (getenv "USER") "/PeeragogyORG/")))
(defun org-roam-checkout ()
(let ((ctx org-roam-directory))
(if (eq (length org-roam-library) 1)
;; Still go ahead and set the variable in this case!
(progn (setq org-roam-directory (car org-roam-library))
(message "You only have one choice for org-roam-directory defined."))
(let ((lib (completing-read "Choose a volume: " org-roam-library)))
(setq org-roam-directory lib))))
;; assuming the user changes context, let’s also prompt them
;; to choose a new file in that context
(when (not (eq ctx org-roam-directory))
It looks like in light of the change, the
org-roam-checkout function should be adjusted to set the
org-roam-db-location as well as the
org-roam-directory. Will sort it out shortly…
Nope, Org-roam caches the IDs and uses it to navigate, rather than rely on Org’s file cache mechanism
That looks like a very sophisticated setup!
I switch between my notes directory and test directory manually evaluating
(setq org-roam-directory ...) etc.
Maybe time for adding a toggle function at least…