You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LiteFS is a FUSE-based file system for replicating SQLite databases across a
cluster of machines. It works as a passthrough file system that intercepts
writes to SQLite databases in order to detect transaction boundaries and record
changes on a per-transaction level in LTX files.
This project is actively maintained but is currently in a beta state. Please
report any bugs as an issue on the GitHub repository.
It's a goal of LiteFS to pass the SQLite TCL test suite, however, this is
currently a work in progress. LiteFS doesn't have database deletion implemented
yet so that causes many tests to fail during teardown.
To run a test from the suite against LiteFS, you can use the Dockerfile.test
to run it in isolation. First build the Dockerfile:
docker build -t litefs-test -f Dockerfile.test .
Then run it with the filename of the test you want to run. In this case, we
are running select1.test:
docker run --device /dev/fuse --cap-add SYS_ADMIN -it litefs-test select1.test
Contributing
LiteFS contributions work a little different than most GitHub projects. If you
have a small bug fix or typo fix, please PR directly to this repository.
If you would like to contribute a feature, please follow these steps:
Discuss the feature in an issue on this GitHub repository.
Create a pull request to your fork of the repository.
Post a link to your pull request in the issue for consideration.
This project has a roadmap and features are added and tested in a certain order.
Additionally, it's likely that code style, implementation details, and test
coverage will need to be tweaked so it's easier to for me to grab your
implementation as a starting point when implementing a feature.
About
FUSE-based file system for replicating SQLite databases across a cluster of machines