Simon Willison
f99a236529
Progress bar for sqlite-utils insert command, closes #173
2020-10-27 11:16:02 -07:00
Simon Willison
21ff60e3b1
--load-extension= for many more commands, closes #137
...
Also added --load-extension=spatialite shortcut, closes #136
2020-10-16 12:14:22 -07:00
Simon Willison
2c541fac35
--encoding option for non-utf8 CSV/TSV, closes #182
2020-10-16 10:18:46 -07:00
Simon Willison
cda559f835
Include --column-order in combined example, refs #176
2020-09-24 13:33:19 -07:00
Simon Willison
5a63b9e88c
Simplify drop-foreign-key, and drop_foreign_keys, closes #177
2020-09-24 09:19:07 -07:00
Simon Willison
d13c123100
sqlite-utils transform --column-order option, closes #176
2020-09-24 09:11:53 -07:00
Simon Willison
5c4d58d152
Progress bar for "sqlite-utils extract", closes #169
2020-09-22 17:02:29 -07:00
Simon Willison
55cf928f73
sqlite-utils extract, closes #42
2020-09-22 16:37:39 -07:00
Simon Willison
752d261229
Implemented sqlite-utils transform command, closes #164
2020-09-22 00:47:58 -07:00
Simon Willison
e23eedb4ce
ignore=True argument for add_foreign_key, closes #112
...
Also --ignore for add-foreign-key command
Plus table.add_foreign_key(...) now returns self, allowing more chaining
2020-09-20 15:17:25 -07:00
Simon Willison
3cc1944e53
sqlite-utils add-foreign-keys command, closes #157
2020-09-20 13:14:25 -07:00
Simon Willison
176f4e0ef4
sqlite-utils rebuild-fts command, closes #155
2020-09-08 16:16:03 -07:00
Simon Willison
76548596a6
optimize command now accepts optional tables, refs #155
2020-09-08 15:34:55 -07:00
Simon Willison
7e9aad7e1c
--load-extension option for sqlite-utils query, closes #134
2020-08-21 13:54:11 -07:00
Simon Willison
2d2d724e32
Tools for enabling and disabling WAL, closes #132
2020-08-10 11:59:21 -07:00
Simon Willison
57e4eb8e55
sqlite-utils populate-fts --tokenize= option, closes #130
2020-08-01 13:51:05 -07:00
Simon Willison
8fe1e6d1be
insert-files can now read from stdin, closes #127
2020-07-29 20:08:12 -07:00
Simon Willison
3214af4a20
Fixed bug in one of the insert-files examples
2020-07-27 18:53:57 -07:00
Simon Willison
ebc802f7ff
sqlite-utils insert-files command, closes #122
2020-07-27 00:08:57 -07:00
Simon Willison
1a61a6d3d6
Ability to insert base64 binary data as JSON, closes #126
2020-07-26 20:59:34 -07:00
Simon Willison
814d4a7f90
-p for passing named params to query, closes #124
2020-07-26 20:53:51 -07:00
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
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
Simon Willison
4d9a320436
Release 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
4e9cb739c7
drop-table and drop-view commands, closes #111
2020-05-10 17:44:21 -07:00
Simon Willison
d16097231c
Added sqlite-utils create-view command, closes #107
2020-05-03 08:36:29 -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
b4d953d3cc
Release 2.7.1, refs #102 #104 #105
2020-05-01 15:08:37 -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
6161ebf4de
Fixed incorrect usage example
2020-04-12 11:44:08 -07:00
Simon Willison
f9473ace14
disable-fts and .disable_fts(), closes #88
2020-02-26 20:40:35 -08:00
Simon Willison
1f3f902ea4
Typo
2019-12-30 05:01:36 -08:00
Simon Willison
9f47e8b9a4
Documentation for new upsert v.s insert-replace
...
Refs #66
2019-12-30 05:29:23 +00:00
Simon Willison
607a2a9ff6
insert --replace and insert(..., replace=True)
...
Refs #66
2019-12-30 05:29:23 +00:00
Simon Willison
eb39c84a8f
Test and docs for using :memory: as a filename
2019-10-04 09:17:27 -07:00
Simon Willison
3a4dddaca2
Documentation for create-triggers, refs #57
2019-09-02 17:10:26 -07:00
Simon Willison
09316835e6
Implemented --tsv option, closes #41
2019-07-18 21:50:38 -07:00
Simon Willison
c65b67ca46
.get() method plus support for compound primary keys ( #40 )
...
* create_table now handles compound primary keys
* CLI now accepts multiple --pk for compound primary keys
* Docs for compound primary keys with CLI and Python library
* New .get() method plus documentation
Closes #36 , closes #39
2019-07-14 21:28:51 -07:00
Simon Willison
e8f887ef4a
sqlite-utils index-foreign-keys / db.index_foreign_keys()
...
Closes #33
2019-06-30 16:50:54 -07:00
Simon Willison
208f56fbaf
--not-null and --default options to insert/update, closes #24
2019-06-12 23:30:16 -07:00
Simon Willison
d645032cfa
add_foreign_key can now detect table and pk, refs #25
2019-06-12 21:51:09 -07:00
Simon Willison
2fed87da6e
--not-null-default and not_null_default=, refs #24
2019-06-12 18:35:02 -07:00
Simon Willison
26b2cf3418
Changelog for 1.1 + docs for --ignore/ignore=True
2019-05-28 22:06:22 -07:00
Simon Willison
50e2f94b58
Ability to add a column that is a foreign key reference
...
Python API:
db["dogs"].add_column("species_id", fk="species")
# or
db["dogs"].add_column("species_id", fk="species", fk_col="ref")
CLI:
$ sqlite-utils add-column mydb.db dogs species_id --fk species
# or
$ sqlite-utils add-column mydb.db dogs species_id --fk species --fk-col ref
Closes #16
2019-05-28 21:54:43 -07:00
Simon Willison
251e473041
--json-cols option for outputting nested JSON, closes #20
2019-05-24 17:56:44 -07:00