Workers Database Management System for Durable Objects
MIT License
Workers Database Management System for Durable Objects
This project aims to provide a standard interface for "traditional" frameworks that are currently not supported by cloudflare workers to be able to use Durable Objects with SQLite as the backend database!
The main differences from Cloudflare D1 are:
npm install --save workers-dbms
npm install --save wrangler
Create a index.ts
file with this:
import { generateApp } from "workers-dbms";
export { DBMSDO } from "workers-dbms";
export default generateApp()
Create a wrangler.toml
file with this:
#:schema node_modules/wrangler/config-schema.json
name = "workers-dbms"
main = "index.ts"
compatibility_date = "2024-09-28"
# workers_dev = false # uncomment this for enhanced security !
[[durable_objects.bindings]]
name = "DBSM_DO"
class_name = "DBMSDO"
[[migrations]]
tag = "v1"
new_sqlite_classes = ["DBMSDO"]
Deploy your dbms with wrangler:
wrangler deploy
You can now access your dbms on the worker deployed url
There is also a swagger interface with all the endpoints documented at /api
path.
Home page
Database details
API Documentation with swagger
When using a custom domain for your worker, make sure to enable WebSockets on the domain Network configuration, otherwise you will not be able to use the websocket endpoint!