SQLite, Turso, and D1
Open a SQLite file or connect to Turso and Cloudflare D1.
SQLite files
On desktop, drop the database file onto Tamery. Or choose SQLite under Engine and pick the file with the folder button.
Pasting a path works too, as long as the file ends in .db, .db3, .sqlite, or .sqlite3. For any other name, paste sqlite3 /path/to/file or a URL:
sqlite:///Users/me/app.db
The file must already exist. A ~/ path points to the home folder of whichever computer opens it, so the same connection can work on your laptop and your desktop. Syncing the connection does not copy the file.
In the web app, run tamery proxy on the computer that holds the file.
Turso
Choose Turso and enter your database URL and auth token, or paste:
TURSO_DATABASE_URL=libsql://your-database.turso.io
TURSO_AUTH_TOKEN=your-token
Self-hosted libSQL servers work too. If yours has no TLS, add ?tls=0 to the URL.
Cloudflare D1
Choose Cloudflare D1 and enter your account ID, database ID, and API token. Pasting the database's URL from the Cloudflare dashboard fills in both IDs. A wrangler config works as well.
Create the token under My Profile → API Tokens with the Account → D1 → Edit permission.
Turso and D1 work in both the desktop and web apps. Their tokens follow the same sync rules as passwords.
What works
Browse and edit rows, run SQL, explore relationships, and manage indexes and triggers.
- You can add, rename, and drop columns. Changing an existing column's type or nullability is not supported, since SQLite would need the whole table rebuilt.
- Existing constraints are read-only.
- Turso and D1 can't keep a transaction open between runs. Run the whole
BEGIN … COMMITblock with Run all. D1 returns no rows from statements inside that block. - Stop can't interrupt a query that is already running on a SQLite file, Turso, or D1.
- D1 may round integers larger than JavaScript's safe range (
2^53 − 1).