4 ms·
This is great... just got it working using bun:sqlite! Just need to have "LITESTREAM_REPLICA_URL" and the key id and secret env vars set when running the script
by zackify 10mo ago
This is great... just got it working using bun:sqlite! Just need to have "LITESTREAM_REPLICA_URL" and the key id and secret env vars set when running the script.
import { Database } from "bun:sqlite";
Database.setCustomSQLite("/opt/homebrew/opt/sqlite/lib/libsqlite3.dylib");
// Load extension first with a temp db
const temp = new Database(":memory:");
temp.loadExtension("/path/to/litestream.dylib", "sqlite3_litestreamvfs_init");
// Now open with litestream VFS
const db = new Database("file:my.db?vfs=litestream");
const fruits = db.query("SELECT * FROM fruits;").all();
console.log(fruits);
- seigel 10mo agoCool that you got this to work! How did you get the "dylib" location or file.
- ricardobeat 10mo agobrew list sqlite gives you the installed path, works for any formula.
- seigel 10mo agoNeat. What I wasn't able to find was the dynamic library, just the `litestream` executable. Was there some secret you used for the litestream dylib? Thanks in advance!
- deleted 10mo ago[deleted]
- ricardobeat 10mo agoLooks like you need to build it yourself: https://litestream.io/guides/vfs/ https://litestream.io/guides/vfs/
- seigel 10mo agoGot it....you beat me to it. I had just figured that part out!! I didn't understand that part. ALSO, and this might be helpful for others, in the releases section, if you expand the little blue link at the bottom that says something like "see the other 35 assets", then the VFS extension will be downloadable from there! Thanks for humouring me! :D
- zackify 10mo agoThe litestream one, from the litestream github releases page!
- koeng 10mo agoNeat! Would this mainly be used for JavaScript servers running bun (ie, not end users)?
- zackify 10mo agoCorrect in this case if you wanted many small edge nodes on fly.io or elsewhere to do read queries
- seigel 10mo agoFor anyone following this example, one thing to note that I figured out the hard way is that this line from @zackify SHOULD BE HIGHTLIGHTED... * "Just need to have "LITESTREAM_REPLICA_URL" and the key id and secret env vars set when running the script" ... and that attempting to load the variables using `dotenv` will not work!!