Open a file
On the new-connection page, any of these works:- Paste its path, for example
/Users/me/app.dbor~/app.db. A bare path counts when it ends in.db,.db3,.sqliteor.sqlite3. Asqlite://,file:orjdbc:sqlite:URL, or asqlite3 <file>command, works with any extension; options after?in a URL (?mode=ro) are dropped. - Drop the file onto the window (desktop app).
- Pick SQLite as the engine and type the path in File, or click the folder button beside it to choose the file (desktop app).
~/ opens from the home folder of whichever computer runs the query, so a synced connection finds the same file on each of your machines.
Tamery opens a file that already exists and never creates one, so a mistyped path fails the test instead of leaving an empty database behind.
The connection string is the file’s absolute path:
Turso
Turso gives each database a URL and a token. On the database’s page in the Turso dashboard, copy the Database URL and click Create Token, or runturso db show <name> --url and turso db tokens create <name>. Then paste either of these anywhere on the new-connection page:
tls=0 to the URL if it speaks plain HTTP.
Cloudflare D1
D1 is reached through Cloudflare’s API with three things: the account ID, the database ID and an API token.- The IDs: open the database in the Cloudflare dashboard and paste its address (
https://dash.cloudflare.com/<account-id>/workers/d1/databases/<database-id>). Awrangler.tomlorwrangler.jsoncwithdatabase_id, orCLOUDFLARE_ACCOUNT_IDandCLOUDFLARE_DATABASE_ID, works as well. - The token: in the Cloudflare dashboard, open My Profile → API Tokens → Create Token → Create Custom Token. Add the permission Account · D1 · Edit (or Read for a read-only connection), choose your account under Account Resources, then create the token and paste it into API token.
BEGIN … COMMIT block run with Run all) as one batch when it commits, and D1 runs them all or none. Statements inside such a block return no rows. Running BEGIN on its own to keep a transaction open is not available on D1 or Turso; run the whole block with Run all instead. Cloudflare’s own _cf_ tables are hidden. D1’s API sends numbers as JSON, so an integer beyond 2^53 comes back rounded, and D1 refuses sqlite_version(), so its connection shows no version.
From the web app
The web app cannot read files on your computer. Runtamery proxy on the computer that holds the file, and Tamery opens the file there. The cloud proxy never opens SQLite files. Turso and D1 databases work from the web like any other cloud database.
What works
SQLite changes a table mostly by rebuilding it, so Tamery offers only what it can run directly:- Columns: add, rename and drop. A stored column’s type and Allow NULL stay fixed, and SQLite has no column comments.
- Indexes and triggers: create, edit and drop. An edit drops and creates the object inside one transaction, so a failure leaves the old one in place.
- Constraints are listed: primary keys, unique keys and foreign keys. SQLite only defines them when a table is created, so they are read-only. Check constraints are not listed.
- Schemas, functions, enums and policies don’t exist in SQLite, so those lists are hidden.