What we were trying to do
Move the contents of one Turso Cloud database into a newly created one, using a SQL dump as the transport. We need this because we are migrating databases between engines (SQLite → TursoDB), and a logical SQL dump is the only representation that both engines can read.
What we expected
turso db create <name> --from-dump <file.sql> creates the database and applies the dump, leaving a database containing the dumped schema and rows — consistent with the flag's help text, "create the database from a local SQLite dump".
What we tested
# 1. Build a small SQLite database and dump it with sqlite3
sqlite3 src.db "CREATE TABLE t(id INTEGER PRIMARY KEY, v TEXT); \
INSERT INTO t(v) VALUES ('alpha'),('beta');"
sqlite3 src.db .dump > src.sql
cat src.sql
# PRAGMA foreign_keys=OFF;
# BEGIN TRANSACTION;
# CREATE TABLE t(id INTEGER PRIMARY KEY, v TEXT);
# INSERT INTO t VALUES(1,'alpha');
# INSERT INTO t VALUES(2,'beta');
# COMMIT;
# 2. Create a database from that dump
turso db create demo-from-dump --group <group> --from-dump src.sql -w
# 3. Query it
turso db shell demo-from-dump "SELECT count(*) FROM t"
What we saw
Step 2 succeeds. It prints the normal creation banner and exits 0:
Created database demo-from-dump at group <group> in 654ms.
Step 3 shows the dump was never applied:
Error: failed to execute SQL:
SQLite error: no such table: t
The database exists and is empty. There is no warning, no non-zero exit, and nothing in the output suggesting the dump was skipped.
We confirmed this is not specific to the dump file or the data:
- The same dump replayed with
turso db shell <name> < src.sql into an empty database works correctly — schema and rows both land.
- The same source database imported with
--from-file (instead of --from-dump) works correctly, data intact.
- It reproduces both with and without
--tursodb, so it is not related to the new engine. On a TursoDB the error is Tursodb error: Parse error: no such table: t.
How we think it should work
--from-dump should either apply the dump or fail. Specifically:
- If the dump cannot be applied,
db create should exit non-zero with a message saying so, and ideally not leave an empty database behind.
- If the dump is applied partially, that should be reported rather than presented as success.
The reason we are filing this with some urgency is the failure mode rather than the feature: --from-dump is the obvious path for anyone migrating data into Turso, and it currently reports success while silently producing an empty database. Someone using it as a migration step — as we initially tried to — would destroy their source believing the data had been copied. A loud failure would be strictly better than the current behaviour.
Environment
- Turso CLI
v1.0.30
- Group version
2026.7.7, primary aws-us-west-2
- Reproduced on both SQLite-engine and TursoDB (MVCC) databases
Possibly adjacent: #735 concerns memory use in the same --from-dump path.
What we were trying to do
Move the contents of one Turso Cloud database into a newly created one, using a SQL dump as the transport. We need this because we are migrating databases between engines (SQLite → TursoDB), and a logical SQL dump is the only representation that both engines can read.
What we expected
turso db create <name> --from-dump <file.sql>creates the database and applies the dump, leaving a database containing the dumped schema and rows — consistent with the flag's help text, "create the database from a local SQLite dump".What we tested
What we saw
Step 2 succeeds. It prints the normal creation banner and exits 0:
Step 3 shows the dump was never applied:
The database exists and is empty. There is no warning, no non-zero exit, and nothing in the output suggesting the dump was skipped.
We confirmed this is not specific to the dump file or the data:
turso db shell <name> < src.sqlinto an empty database works correctly — schema and rows both land.--from-file(instead of--from-dump) works correctly, data intact.--tursodb, so it is not related to the new engine. On a TursoDB the error isTursodb error: Parse error: no such table: t.How we think it should work
--from-dumpshould either apply the dump or fail. Specifically:db createshould exit non-zero with a message saying so, and ideally not leave an empty database behind.The reason we are filing this with some urgency is the failure mode rather than the feature:
--from-dumpis the obvious path for anyone migrating data into Turso, and it currently reports success while silently producing an empty database. Someone using it as a migration step — as we initially tried to — would destroy their source believing the data had been copied. A loud failure would be strictly better than the current behaviour.Environment
v1.0.302026.7.7, primaryaws-us-west-2Possibly adjacent: #735 concerns memory use in the same
--from-dumppath.