$ brew install duckdb # Installs duckdb (mac)
$ npx convex export --prod --path ./snapshot.zip
$ unzip ./snapshot.zip
$ duckdb
D install 'json';
D load 'json';
D SELECT * from 'snapshot/myTable/documents.jsonl' LIMIT 1;
┌────────────────────┬─────────────┬───────────┬─────────────────────────────────┐
│ _creationTime │ _id │ someField │ otherTableId │
│ double │ varchar │ varchar │ varchar │
├────────────────────┼─────────────┼───────────┼─────────────────────────────────┤
│ 1705522240446.3655 │ js700yfk... │ foo │ 3cqbsxb8cexh8stz73be6f9w9hjqa28 │
└────────────────────┴─────────────┴───────────┴─────────────────────────────────┘
D SELECT someField, otherField from 'snapshot/myTable/documents.jsonl' as myTable
JOIN 'snapshot/otherTable/documents.jsonl' as otherTable
ON myTable.otherTableId = otherTable._id LIMIT 1;
┌───────────┬────────────┐
│ someField │ otherField │
│ varchar │ boolean │
├───────────┼────────────┤
│ foo │ true │
└───────────┴────────────┘
$ brew install duckdb # Installs duckdb (mac)
$ npx convex export --prod --path ./snapshot.zip
$ unzip ./snapshot.zip
$ duckdb
D install 'json';
D load 'json';
D SELECT * from 'snapshot/myTable/documents.jsonl' LIMIT 1;
┌────────────────────┬─────────────┬───────────┬─────────────────────────────────┐
│ _creationTime │ _id │ someField │ otherTableId │
│ double │ varchar │ varchar │ varchar │
├────────────────────┼─────────────┼───────────┼─────────────────────────────────┤
│ 1705522240446.3655 │ js700yfk... │ foo │ 3cqbsxb8cexh8stz73be6f9w9hjqa28 │
└────────────────────┴─────────────┴───────────┴─────────────────────────────────┘
D SELECT someField, otherField from 'snapshot/myTable/documents.jsonl' as myTable
JOIN 'snapshot/otherTable/documents.jsonl' as otherTable
ON myTable.otherTableId = otherTable._id LIMIT 1;
┌───────────┬────────────┐
│ someField │ otherField │
│ varchar │ boolean │
├───────────┼────────────┤
│ foo │ true │
└───────────┴────────────┘