January 7th, 2022
Daily note
·
It’s a broken mess, and horribly slow.
·
Luckily, you can export your Roam database. I can automate exporting and uploading to a server, which then can directly read from the db. Not only is this way faster, I could potentially replicate the db across the world on multiple servers.
·
It also makes development way faster. In fact, that’s the primary reason I looked into this. When changing the queries, I’d have to restart the headless browser which takes 20-30 seconds. It’s a terrible development flow, but now I can snapshot the data and reload instantly.
·
Once you export your data as EDN, here’s how you load and query it:
·
let ds = require('datascript');
let x = "foo\n fdfs"
let edn = require('jsedn');
let d = require('fs').readFileSync('./personal.edn', 'utf8');
let data = edn.parse(d);
let conn = ds.conn_from_datoms(
edn.toJS(edn.atPath(data, ':datoms')),
edn.toJS(edn.atPath(data, ':schema'))
);
let query = '[:find (pull ?b [*]) :where [_ ":block/uid" "01-06-2022"]]';
let result = ds.q(query, ds.db(conn));
console.log(result);
// [[5389]]