Commit graph

459 commits

Author SHA1 Message Date
Simon Willison
20e543e9a4 Output binary columns as base64 in JSON, closes #125 2020-07-26 17:48:36 -07:00
Simon Willison
bc8409941f --raw option, refs #123 2020-07-26 09:43:45 -07:00
Simon Willison
a236a6bc77 Release notes for 2.11 2.11
Refs #118, #120
2020-07-08 10:36:07 -07:00
Simon Willison
0f8b042b47
Release 2.11
Refs #118, #120
2020-07-08 10:28:29 -07:00
Thomas Sibley
ae4593316c Add insert --truncate option
Deletes all rows in the table (if it exists) before inserting new rows.
SQLite doesn't implement a TRUNCATE TABLE statement but does optimize an
unqualified DELETE FROM.

This can be handy if you want to refresh the entire contents of a table
but a) don't have a PK (so can't use --replace), b) don't want the table
to disappear (even briefly) for other connections, and c) have to handle
records that used to exist being deleted.

Ideally the replacement of rows would appear instantaneous to other
connections by putting the DELETE + INSERT in a transaction, but this is
very difficult without breaking other code as the current transaction
handling is inconsistent and non-systematic.  There exists the
possibility for the DELETE to succeed but the INSERT to fail, leaving an
empty table.  This is not much worse, however, than the current
possibility of one chunked INSERT succeeding and being committed while
the next chunked INSERT fails, leaving a partially complete operation.
2020-07-08 10:26:20 -07:00
Thomas Sibley
f8277d0fb9
sqlite-utils query can now run DML (#120)
* Failing test showing that DML in `sqlite-utils query` doesn't work
* Run `sqlite-utils query` in a transaction so that DML is committed

Thanks, @tsibley!
2020-07-07 22:14:04 -07:00
Simon Willison
d0cdaaaf00
Release notes for 2.10.1 2020-06-23 14:13:18 -07:00
Simon Willison
97246f9ef7
Release 2.10.1 2.10.1
Refs #116
2020-06-23 14:04:07 -07:00
Simon Willison
fbeb61e49c
Documentation for table.pks, closes #116 2020-06-23 14:03:13 -07:00
Simon Willison
4d9a320436 Release 2.10 2.10
Refs #115
2020-06-12 10:43:45 -07:00
Simon Willison
03ee97d225 CLI now supports upsert/insert - closes #115 2020-06-12 10:40:53 -07:00
Simon Willison
8eaac7c5f1 pip, not pip3 2020-05-11 12:23:11 -07:00
Simon Willison
3b5c931287 Release 2.9.1 2.9.1 2020-05-11 12:20:29 -07:00
Simon Willison
74b30af31b
Added project_urls 2020-05-11 12:16:22 -07:00
Simon Willison
3936512edd Release 2.9 2.9 2020-05-10 18:54:56 -07:00
Simon Willison
af3f81b540 Store decimal.Decimal in DB as FLOAT, closes #110 2020-05-10 18:50:03 -07:00
Simon Willison
e8c57e09b6 More things to .gitignore 2020-05-10 18:29:29 -07:00
Simon Willison
98019e92d0 Ran black, refs #111 2020-05-10 18:26:16 -07:00
Simon Willison
4e9cb739c7 drop-table and drop-view commands, closes #111 2020-05-10 17:44:21 -07:00
Simon Willison
396bee9236
Don't show documentation badge on docs index 2020-05-03 08:47:28 -07:00
Simon Willison
60e380e551
Add badges to documentation index 2020-05-03 08:44:41 -07:00
Simon Willison
30a390780a Release 2.8, refs #27 and #107 2.8 2020-05-03 08:39:56 -07:00
Simon Willison
d16097231c Added sqlite-utils create-view command, closes #107 2020-05-03 08:36:29 -07:00
Simon Willison
78264b738c Removed docs for feature I decided not to implement, refs #27 2020-05-03 08:25:21 -07:00
Simon Willison
9f6085b4e4 create-table --ignore and --replace, refs #27 2020-05-03 08:24:39 -07:00
Simon Willison
4d5916075d create-table --not-null, --default, --fk, refs #27 2020-05-03 08:09:00 -07:00
Simon Willison
99a7906fd9 sqlite-utils create-table docs, plus doc unit test
Refs #27. Closes #108
2020-05-02 21:13:49 -07:00
Simon Willison
36d256b047 Initial implementation of create-table command, refs #27 2020-05-02 20:55:40 -07:00
Simon Willison
79541d3a6d Release 2.7.2, refs #106 2.7.2 2020-05-02 09:05:27 -07:00
Simon Willison
5c1df4e306 replace=True and ignore=True parameters for create_view(), closes #106 2020-05-02 09:02:04 -07:00
Simon Willison
b4d953d3cc Release 2.7.1, refs #102 #104 #105 2.7.1 2020-05-01 15:08:37 -07:00
Simon Willison
d56029549a Serialize JSON with non-JSON values, closes #102 2020-05-01 13:45:39 -07:00
Simon Willison
344e9573ca Added sqlite-utils views command, closes #105 2020-05-01 13:38:28 -07:00
Simon Willison
147b52622d sqlite-utils tables ... --schema option, closes #104 2020-05-01 10:12:16 -07:00
Simon Willison
2b40710e9d
Changelog badge 2020-04-30 11:32:23 -07:00
Simon Willison
f58f746424 Release 2.7 - refs #100 2.7 2020-04-17 17:04:50 -07:00
Simon Willison
7ce07705ed
Improved README. Fixes #101 2020-04-17 16:59:47 -07:00
Simon Willison
2ab62bcd54 New columns= parameter for over-riding column types, closes #100 2020-04-17 16:53:25 -07:00
Simon Willison
cd146bbbfa Fixed RST underlines 2020-04-17 10:58:08 -07:00
Simon Willison
31d3df0f79
Typo fix 2020-04-16 15:21:40 -07:00
Simon Willison
13528faa81 Release 2.6 2.6 2020-04-15 20:13:13 -07:00
Simon Willison
125c625fbc .rows_where(..., order_by=) argument, closes #76 2020-04-15 20:12:55 -07:00
Simon Willison
fc38868bd4 Refactored tests into new test_rows.py, refs #76 2020-04-15 18:04:55 -07:00
Simon Willison
ad6ac19470 Release 2.5 2.5
Refs #96. Refs #98. Closes #97.
2020-04-12 20:52:19 -07:00
Simon Willison
729a3e7869 Tests for Database(..., recreate=True), refs #97 2020-04-12 20:47:36 -07:00
Simon Willison
7e4b9997c2 Database(..., recreate=True) option, refs #97 2020-04-12 20:46:51 -07:00
Simon Willison
635c91475a Only set last_pk on singular .insert()/.update(), refs #98 2020-04-12 20:22:49 -07:00
Simon Willison
6161ebf4de
Fixed incorrect usage example 2020-04-12 11:44:08 -07:00
bob
8ea626e5fc
Add type conversion for Panda's Timestamp (#96)
Thanks, @b0b5h4rp13!
2020-03-30 21:40:48 -07:00
Simon Willison
22250a9c73 Release 2.4.4 2.4.4 2020-03-23 13:32:09 -07:00