issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 26
- Ability for a canned query to write to the database 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- Redesign register_output_renderer callback 24
- Datasette Plugins 22
- "flash messages" mechanism 20
- Handle spatialite geometry columns better 19
- Ability to ship alpha and beta releases 18
- Magic parameters for canned queries 18
- Facets 16
- Support "allow" block on root, databases and tables, not just queries 16
- Database page loads too slowly with many large tables (due to table counts) 16
- Bug: Sort by column with NULL in next_page URL 15
- Support cross-database joins 15
- The ".upsert()" method is misnamed 15
- --dirs option for scanning directories for SQLite databases 15
- Document (and reconsider design of) Database.execute() and Database.execute_against_connection_in_thread() 15
- latest.datasette.io is no longer updating 15
- Ability to customize presentation of specific columns in HTML view 14
- Allow plugins to define additional URL routes and views 14
- Mechanism for customizing the SQL used to select specific columns in the table view 14
- .execute_write() and .execute_write_fn() methods on Database 14
- Upload all my photos to a secure S3 bucket 14
- Canned query permissions mechanism 14
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
671073223 | https://github.com/simonw/datasette/issues/915#issuecomment-671073223 | https://api.github.com/repos/simonw/datasette/issues/915 | MDEyOklzc3VlQ29tbWVudDY3MTA3MzIyMw== | simonw 9599 | 2020-08-09T16:35:20Z | 2020-08-09T16:36:10Z | OWNER |
```python request = Request.fake(path_with_query_string)
``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor TableView class so things like datasette-graphql can reuse the logic 671763164 | |
671072223 | https://github.com/simonw/datasette/issues/919#issuecomment-671072223 | https://api.github.com/repos/simonw/datasette/issues/919 | MDEyOklzc3VlQ29tbWVudDY3MTA3MjIyMw== | simonw 9599 | 2020-08-09T16:26:17Z | 2020-08-09T16:26:17Z | OWNER | Should be released in a couple of minutes: https://travis-ci.org/github/simonw/datasette/builds/716328883 |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Travis should not build the master branch, only the main branch 675727366 | |
671072084 | https://github.com/simonw/datasette/issues/919#issuecomment-671072084 | https://api.github.com/repos/simonw/datasette/issues/919 | MDEyOklzc3VlQ29tbWVudDY3MTA3MjA4NA== | stonebig 4312421 | 2020-08-09T16:25:01Z | 2020-08-09T16:26:03Z | NONE | don't forget the pypi wheel (still on datasette-0.45) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Travis should not build the master branch, only the main branch 675727366 | |
671071710 | https://github.com/simonw/datasette/issues/918#issuecomment-671071710 | https://api.github.com/repos/simonw/datasette/issues/918 | MDEyOklzc3VlQ29tbWVudDY3MTA3MTcxMA== | simonw 9599 | 2020-08-09T16:21:41Z | 2020-08-09T16:21:41Z | OWNER | Submitting the form on https://latest.datasette.io/fixtures/neighborhood_search demonstrates that this is fixed. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Security issue: read-only canned queries leak CSRF token in URL 675724951 | |
671071461 | https://github.com/simonw/datasette/issues/919#issuecomment-671071461 | https://api.github.com/repos/simonw/datasette/issues/919 | MDEyOklzc3VlQ29tbWVudDY3MTA3MTQ2MQ== | simonw 9599 | 2020-08-09T16:19:37Z | 2020-08-09T16:19:37Z | OWNER | That appears to have worked. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Travis should not build the master branch, only the main branch 675727366 | |
671070528 | https://github.com/simonw/datasette/issues/918#issuecomment-671070528 | https://api.github.com/repos/simonw/datasette/issues/918 | MDEyOklzc3VlQ29tbWVudDY3MTA3MDUyOA== | simonw 9599 | 2020-08-09T16:12:16Z | 2020-08-09T16:12:16Z | OWNER | It's worth noting that in order to exploit this issue the following would all need to be true:
The attacker would need full knowledge of the URL and form layout of the Datasette instance that they are exploiting. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Security issue: read-only canned queries leak CSRF token in URL 675724951 | |
671070486 | https://github.com/simonw/datasette/issues/918#issuecomment-671070486 | https://api.github.com/repos/simonw/datasette/issues/918 | MDEyOklzc3VlQ29tbWVudDY3MTA3MDQ4Ng== | simonw 9599 | 2020-08-09T16:11:59Z | 2020-08-09T16:11:59Z | OWNER | Fix has been released in Datasette 0.46: https://datasette.readthedocs.io/en/latest/changelog.html#v0-46 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Security issue: read-only canned queries leak CSRF token in URL 675724951 | |
671001457 | https://github.com/simonw/datasette/issues/335#issuecomment-671001457 | https://api.github.com/repos/simonw/datasette/issues/335 | MDEyOklzc3VlQ29tbWVudDY3MTAwMTQ1Nw== | simonw 9599 | 2020-08-09T03:37:39Z | 2020-08-09T03:37:39Z | OWNER | Here's what happened when I installed It worked! And from digging around, it has a virtual environment at Which means And I tried running these commands and confirmed that I get a
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package datasette for installation using homebrew 339505204 | |
670999860 | https://github.com/simonw/datasette/issues/335#issuecomment-670999860 | https://api.github.com/repos/simonw/datasette/issues/335 | MDEyOklzc3VlQ29tbWVudDY3MDk5OTg2MA== | simonw 9599 | 2020-08-09T03:12:44Z | 2020-08-09T03:12:44Z | OWNER | How would plugin installation work if Datasette was installed via homebrew? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package datasette for installation using homebrew 339505204 | |
670999832 | https://github.com/simonw/datasette/issues/335#issuecomment-670999832 | https://api.github.com/repos/simonw/datasette/issues/335 | MDEyOklzc3VlQ29tbWVudDY3MDk5OTgzMg== | simonw 9599 | 2020-08-09T03:12:14Z | 2020-08-09T03:12:14Z | OWNER | Another useful example: https://github.com/Homebrew/homebrew-core/blob/master/Formula/trailscraper.rb |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package datasette for installation using homebrew 339505204 | |
669241341 | https://github.com/dogsheep/swarm-to-sqlite/issues/8#issuecomment-669241341 | https://api.github.com/repos/dogsheep/swarm-to-sqlite/issues/8 | MDEyOklzc3VlQ29tbWVudDY2OTI0MTM0MQ== | simonw 9599 | 2020-08-05T14:55:14Z | 2020-08-05T14:55:14Z | MEMBER | Looks like there's a column that's not consistently there, so the table got created without it. Easiest fix is to add That will cause |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error thrown: table photos has no column named hasSticker 648245071 | |
667585598 | https://github.com/simonw/sqlite-utils/issues/130#issuecomment-667585598 | https://api.github.com/repos/simonw/sqlite-utils/issues/130 | MDEyOklzc3VlQ29tbWVudDY2NzU4NTU5OA== | simonw 9599 | 2020-08-01T20:51:28Z | 2020-08-01T20:51:28Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support tokenize option for FTS 671130371 | ||
667585561 | https://github.com/simonw/sqlite-utils/issues/130#issuecomment-667585561 | https://api.github.com/repos/simonw/sqlite-utils/issues/130 | MDEyOklzc3VlQ29tbWVudDY2NzU4NTU2MQ== | simonw 9599 | 2020-08-01T20:50:59Z | 2020-08-01T20:50:59Z | OWNER | Turns out it works for FTS4 as well: https://www.sqlite.org/fts3.html#tokenizer |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support tokenize option for FTS 671130371 | |
667584567 | https://github.com/simonw/sqlite-utils/issues/130#issuecomment-667584567 | https://api.github.com/repos/simonw/sqlite-utils/issues/130 | MDEyOklzc3VlQ29tbWVudDY2NzU4NDU2Nw== | simonw 9599 | 2020-08-01T20:41:09Z | 2020-08-01T20:41:09Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support tokenize option for FTS 671130371 | ||
667431123 | https://github.com/simonw/datasette/issues/900#issuecomment-667431123 | https://api.github.com/repos/simonw/datasette/issues/900 | MDEyOklzc3VlQ29tbWVudDY2NzQzMTEyMw== | simonw 9599 | 2020-07-31T23:56:33Z | 2020-07-31T23:56:33Z | OWNER | I think this is the same issue as #865. I'll look at these together! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Some links don't honor base_url 661605489 | |
667430790 | https://github.com/simonw/datasette/issues/899#issuecomment-667430790 | https://api.github.com/repos/simonw/datasette/issues/899 | MDEyOklzc3VlQ29tbWVudDY2NzQzMDc5MA== | simonw 9599 | 2020-07-31T23:54:40Z | 2020-07-31T23:54:40Z | OWNER | There's no mechanism that can do this at the moment. You could absolutely support this with a plugin, probably using the Using a separate revers proxy would also be a good way to solve this. It depends which option would work best in your environment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How to setup a request limit per user 660827546 | |
667430352 | https://github.com/simonw/datasette/issues/913#issuecomment-667430352 | https://api.github.com/repos/simonw/datasette/issues/913 | MDEyOklzc3VlQ29tbWVudDY2NzQzMDM1Mg== | simonw 9599 | 2020-07-31T23:52:10Z | 2020-07-31T23:52:10Z | OWNER | The bigger question here is when this mechanism should be used in place of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for passing additional options to `datasette my.db` that affect plugins 670209331 | |
667429616 | https://github.com/simonw/datasette/issues/913#issuecomment-667429616 | https://api.github.com/repos/simonw/datasette/issues/913 | MDEyOklzc3VlQ29tbWVudDY2NzQyOTYxNg== | simonw 9599 | 2020-07-31T23:48:25Z | 2020-07-31T23:49:59Z | OWNER | I could let plugins add additional options to A better solution could be to use the existing
Maybe even drop the
I think I prefer keeping the prefix to be honest - it makes it more obvious that this is a setting which comes from a specific named plugin. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for passing additional options to `datasette my.db` that affect plugins 670209331 | |
667429690 | https://github.com/simonw/datasette/issues/913#issuecomment-667429690 | https://api.github.com/repos/simonw/datasette/issues/913 | MDEyOklzc3VlQ29tbWVudDY2NzQyOTY5MA== | simonw 9599 | 2020-07-31T23:48:48Z | 2020-07-31T23:48:48Z | OWNER | Here's the code in Datasette that parses |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for passing additional options to `datasette my.db` that affect plugins 670209331 | |
667424128 | https://github.com/simonw/datasette/issues/849#issuecomment-667424128 | https://api.github.com/repos/simonw/datasette/issues/849 | MDEyOklzc3VlQ29tbWVudDY2NzQyNDEyOA== | simonw 9599 | 2020-07-31T23:21:56Z | 2020-07-31T23:23:24Z | OWNER | I'm going to change the default branch on the GitHub repository. If something breaks I can always change it back again. Done that! Default is now |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename master branch to main 639072811 | |
667424020 | https://github.com/simonw/datasette/issues/849#issuecomment-667424020 | https://api.github.com/repos/simonw/datasette/issues/849 | MDEyOklzc3VlQ29tbWVudDY2NzQyNDAyMA== | simonw 9599 | 2020-07-31T23:21:30Z | 2020-07-31T23:21:30Z | OWNER | https://github.com/simonw/datasette/tree/main branch now exists and will automatically mirror master (and vice-versa). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename master branch to main 639072811 | |
667295759 | https://github.com/simonw/datasette/issues/849#issuecomment-667295759 | https://api.github.com/repos/simonw/datasette/issues/849 | MDEyOklzc3VlQ29tbWVudDY2NzI5NTc1OQ== | simonw 9599 | 2020-07-31T18:45:35Z | 2020-07-31T18:45:35Z | OWNER | Watch out for places in the documentation that might link to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename master branch to main 639072811 | |
664105302 | https://github.com/simonw/sqlite-utils/issues/124#issuecomment-664105302 | https://api.github.com/repos/simonw/sqlite-utils/issues/124 | MDEyOklzc3VlQ29tbWVudDY2NDEwNTMwMg== | simonw 9599 | 2020-07-27T03:54:24Z | 2020-07-30T22:57:51Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils query should support named parameters 665802405 | |
666752039 | https://github.com/simonw/sqlite-utils/issues/129#issuecomment-666752039 | https://api.github.com/repos/simonw/sqlite-utils/issues/129 | MDEyOklzc3VlQ29tbWVudDY2Njc1MjAzOQ== | simonw 9599 | 2020-07-30T22:40:55Z | 2020-07-30T22:40:55Z | OWNER | This should be a separate command from So if I write this command it should be this instead:
But at that point, why bother? Users can use So I'm not going to bother implementing this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"insert-files --sqlar" for creating SQLite archives 668308777 | |
666063689 | https://github.com/simonw/sqlite-utils/issues/127#issuecomment-666063689 | https://api.github.com/repos/simonw/sqlite-utils/issues/127 | MDEyOklzc3VlQ29tbWVudDY2NjA2MzY4OQ== | simonw 9599 | 2020-07-30T03:08:51Z | 2020-07-30T03:08:51Z | OWNER | Documentation at the bottom of this section: https://github.com/simonw/sqlite-utils/blob/8fe1e6d1be021aeeb8f08b0f77f03b75a83b6f75/docs/cli.rst#inserting-binary-data-from-files |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert files piped to insert-files stdin 666040390 | |
666047928 | https://github.com/simonw/sqlite-utils/issues/127#issuecomment-666047928 | https://api.github.com/repos/simonw/sqlite-utils/issues/127 | MDEyOklzc3VlQ29tbWVudDY2NjA0NzkyOA== | simonw 9599 | 2020-07-30T02:31:05Z | 2020-07-30T02:31:05Z | OWNER | Maybe could do this using an improved version of this lambda? Could teach it to look for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert files piped to insert-files stdin 666040390 | |
666046819 | https://github.com/simonw/sqlite-utils/issues/129#issuecomment-666046819 | https://api.github.com/repos/simonw/sqlite-utils/issues/129 | MDEyOklzc3VlQ29tbWVudDY2NjA0NjgxOQ== | simonw 9599 | 2020-07-30T02:28:34Z | 2020-07-30T02:28:34Z | OWNER | This code looks useful as inspiration: https://github.com/j4mie/sqlsite/blob/f2dadb8db5ed7880f8872b6591d8cb1487f777ea/sqlsite/sqlar.py |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"insert-files --sqlar" for creating SQLite archives 668308777 | |
666010395 | https://github.com/simonw/datasette/issues/909#issuecomment-666010395 | https://api.github.com/repos/simonw/datasette/issues/909 | MDEyOklzc3VlQ29tbWVudDY2NjAxMDM5NQ== | simonw 9599 | 2020-07-30T00:56:17Z | 2020-07-30T00:56:17Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
AsgiFileDownload: filename not correctly passed 667467128 | |
665854704 | https://github.com/simonw/datasette/issues/909#issuecomment-665854704 | https://api.github.com/repos/simonw/datasette/issues/909 | MDEyOklzc3VlQ29tbWVudDY2NTg1NDcwNA== | simonw 9599 | 2020-07-29T19:22:31Z | 2020-07-29T19:22:31Z | OWNER | I think this results in a bug where the "download database" link doesn't include the correct filename: https://github.com/simonw/datasette/blob/549b1c2063db48c4622ee5c7b478a1e3cbc1ac07/datasette/views/database.py#L110-L131 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
AsgiFileDownload: filename not correctly passed 667467128 | |
665663131 | https://github.com/simonw/datasette/pull/910#issuecomment-665663131 | https://api.github.com/repos/simonw/datasette/issues/910 | MDEyOklzc3VlQ29tbWVudDY2NTY2MzEzMQ== | codecov[bot] 22429695 | 2020-07-29T13:26:14Z | 2020-07-29T13:26:14Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ master #910 +/-=======================================
Coverage 83.55% 83.55% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update pytest requirement from <5.5.0,>=5.2.2 to >=5.2.2,<6.1.0 667840539 | |
664683608 | https://github.com/simonw/sqlite-utils/issues/128#issuecomment-664683608 | https://api.github.com/repos/simonw/sqlite-utils/issues/128 | MDEyOklzc3VlQ29tbWVudDY2NDY4MzYwOA== | simonw 9599 | 2020-07-27T23:09:22Z | 2020-07-27T23:09:22Z | OWNER | This seems to work, but needs more tests: ```diff diff --git a/sqlite_utils/db.py b/sqlite_utils/db.py index d6b9ecf..ee26433 100644 --- a/sqlite_utils/db.py +++ b/sqlite_utils/db.py @@ -7,6 +7,7 @@ import itertools import json import os import pathlib +import uuid SQLITE_MAX_VARS = 999 @@ -40,11 +41,13 @@ COLUMN_TYPE_MAPPING = { str: "TEXT", bytes.class: "BLOB", bytes: "BLOB", + memoryview: "BLOB", datetime.datetime: "TEXT", datetime.date: "TEXT", datetime.time: "TEXT", decimal.Decimal: "FLOAT", None.class: "TEXT", + uuid.UUID: "TEXT", # SQLite explicit types "TEXT": "TEXT", "INTEGER": "INTEGER", @@ -1336,6 +1339,8 @@ def jsonify_if_needed(value): return json.dumps(value, default=repr) elif isinstance(value, (datetime.time, datetime.date, datetime.datetime)): return value.isoformat() + elif isinstance(value, uuid.UUID): + return str(value) else: return value ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support UUID and memoryview types 666639051 | |
664163524 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-664163524 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2NDE2MzUyNA== | simonw 9599 | 2020-07-27T07:10:41Z | 2020-07-27T07:10:41Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | ||
664163206 | https://github.com/simonw/sqlite-utils/issues/127#issuecomment-664163206 | https://api.github.com/repos/simonw/sqlite-utils/issues/127 | MDEyOklzc3VlQ29tbWVudDY2NDE2MzIwNg== | simonw 9599 | 2020-07-27T07:10:05Z | 2020-07-27T07:10:05Z | OWNER | I tried to get this working but it was a bit tricky because |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert files piped to insert-files stdin 666040390 | |
664128071 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-664128071 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2NDEyODA3MQ== | simonw 9599 | 2020-07-27T05:30:54Z | 2020-07-27T05:30:54Z | OWNER | Inserting files by piping them in should work - but since a filename cannot be derived this will need a
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
664127741 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-664127741 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2NDEyNzc0MQ== | simonw 9599 | 2020-07-27T05:29:48Z | 2020-07-27T05:29:48Z | OWNER | Test command:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
663931279 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-663931279 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2MzkzMTI3OQ== | simonw 9599 | 2020-07-26T03:33:23Z | 2020-07-27T04:30:49Z | OWNER | One idea: It could work something like this:
This would insert those two image files into the database in a table called
The
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
664106621 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-664106621 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY2NDEwNjYyMQ== | simonw 9599 | 2020-07-27T04:01:13Z | 2020-07-27T04:01:13Z | OWNER | Work in progress in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
664106405 | https://github.com/simonw/sqlite-utils/issues/126#issuecomment-664106405 | https://api.github.com/repos/simonw/sqlite-utils/issues/126 | MDEyOklzc3VlQ29tbWVudDY2NDEwNjQwNQ== | simonw 9599 | 2020-07-27T04:00:08Z | 2020-07-27T04:00:33Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert binary data on the CLI using JSON 665819048 | |
664065597 | https://github.com/simonw/sqlite-utils/issues/126#issuecomment-664065597 | https://api.github.com/repos/simonw/sqlite-utils/issues/126 | MDEyOklzc3VlQ29tbWVudDY2NDA2NTU5Nw== | simonw 9599 | 2020-07-27T00:51:11Z | 2020-07-27T00:51:11Z | OWNER | I'm going to implement this as the reverse of #125 - binary columns in JSON are now output like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert binary data on the CLI using JSON 665819048 | |
664065341 | https://github.com/simonw/sqlite-utils/issues/125#issuecomment-664065341 | https://api.github.com/repos/simonw/sqlite-utils/issues/125 | MDEyOklzc3VlQ29tbWVudDY2NDA2NTM0MQ== | simonw 9599 | 2020-07-27T00:49:41Z | 2020-07-27T00:49:41Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Output binary columns in "sqlite-utils query" JSON 665817570 | ||
664062546 | https://github.com/simonw/sqlite-utils/issues/125#issuecomment-664062546 | https://api.github.com/repos/simonw/sqlite-utils/issues/125 | MDEyOklzc3VlQ29tbWVudDY2NDA2MjU0Ng== | simonw 9599 | 2020-07-27T00:33:03Z | 2020-07-27T00:33:03Z | OWNER | I'm going to imitate how Datasette solves this problem:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Output binary columns in "sqlite-utils query" JSON 665817570 | |
664048720 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-664048720 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2NDA0ODcyMA== | simonw 9599 | 2020-07-26T22:32:50Z | 2020-07-26T22:33:20Z | OWNER | This seems to work in creating a SQLite archive containing all
Then listing files like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
664048432 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-664048432 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2NDA0ODQzMg== | simonw 9599 | 2020-07-26T22:29:31Z | 2020-07-26T22:29:31Z | OWNER | I'm trying to play with
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
664013338 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-664013338 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2NDAxMzMzOA== | simonw 9599 | 2020-07-26T16:57:35Z | 2020-07-26T16:57:35Z | OWNER | I should consider easy compatibility with https://www.sqlite.org/sqlar.html
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
664012247 | https://github.com/simonw/sqlite-utils/issues/125#issuecomment-664012247 | https://api.github.com/repos/simonw/sqlite-utils/issues/125 | MDEyOklzc3VlQ29tbWVudDY2NDAxMjI0Nw== | simonw 9599 | 2020-07-26T16:48:46Z | 2020-07-26T16:48:46Z | OWNER | I could solve round tripping (at least a bit) by allowing insert to be run with a flag that says "these columns are base64 encoded, store the decoded data in a BLOB". That would solve inserting binary data using JSON too. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Output binary columns in "sqlite-utils query" JSON 665817570 | |
664012148 | https://github.com/simonw/sqlite-utils/issues/125#issuecomment-664012148 | https://api.github.com/repos/simonw/sqlite-utils/issues/125 | MDEyOklzc3VlQ29tbWVudDY2NDAxMjE0OA== | simonw 9599 | 2020-07-26T16:47:51Z | 2020-07-26T16:47:51Z | OWNER | Best solution I can think of is to return the data as base64. It's a bit nasty since it means you can't round trip it back again. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Output binary columns in "sqlite-utils query" JSON 665817570 | |
663931426 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-663931426 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2MzkzMTQyNg== | simonw 9599 | 2020-07-26T03:35:58Z | 2020-07-26T16:44:33Z | OWNER | Related: #123 ( |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
663931662 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-663931662 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2MzkzMTY2Mg== | simonw 9599 | 2020-07-26T03:40:29Z | 2020-07-26T03:40:29Z | OWNER | Maybe support |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
663931317 | https://github.com/simonw/sqlite-utils/issues/122#issuecomment-663931317 | https://api.github.com/repos/simonw/sqlite-utils/issues/122 | MDEyOklzc3VlQ29tbWVudDY2MzkzMTMxNw== | simonw 9599 | 2020-07-26T03:33:54Z | 2020-07-26T03:33:54Z | OWNER | The command also accepts one or more directories, in which case it will recursively scan them for all files that they contain. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI utility for inserting binary files into SQLite 665700495 | |
663924220 | https://github.com/simonw/datasette/pull/868#issuecomment-663924220 | https://api.github.com/repos/simonw/datasette/issues/868 | MDEyOklzc3VlQ29tbWVudDY2MzkyNDIyMA== | joshmgrant 702729 | 2020-07-26T01:29:00Z | 2020-07-26T01:29:00Z | NONE | Ok, so it's been a while but I think I'm making progress. The good news: I have come up with a configuration change for running the tests on Windows on GitHub Actions. The bad news: there's a bunch of extraneous errors on the Windows case. I think this is due to Windows file IO and sqlite in a lot of cases, so I'm working through it. I will eventually clean up this PR. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
initial windows ci setup 646448486 | |
663779460 | https://github.com/simonw/datasette/issues/906#issuecomment-663779460 | https://api.github.com/repos/simonw/datasette/issues/906 | MDEyOklzc3VlQ29tbWVudDY2Mzc3OTQ2MA== | simonw 9599 | 2020-07-25T00:07:10Z | 2020-07-25T00:07:10Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"allow": true for anyone, "allow": false for nobody 665400224 | ||
663779179 | https://github.com/simonw/datasette/issues/908#issuecomment-663779179 | https://api.github.com/repos/simonw/datasette/issues/908 | MDEyOklzc3VlQ29tbWVudDY2Mzc3OTE3OQ== | simonw 9599 | 2020-07-25T00:05:48Z | 2020-07-25T00:06:15Z | OWNER | The documentation section here now has a bunch of different links to live demos illustrating different "allow" block syntax: https://github.com/simonw/datasette/blob/092874202c8748d6e0d4800eaf707c0145d95ffe/docs/authentication.rst#defining-permissions-with-allow-blocks |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Interactive debugging tool for "allow" blocks 665407663 | |
663767678 | https://github.com/simonw/datasette/issues/906#issuecomment-663767678 | https://api.github.com/repos/simonw/datasette/issues/906 | MDEyOklzc3VlQ29tbWVudDY2Mzc2NzY3OA== | simonw 9599 | 2020-07-24T23:07:22Z | 2020-07-24T23:07:22Z | OWNER | Illustration of current system: https://latest.datasette.io/-/allow-debug?actor=%7B%0D%0A++++%22id%22%3A+%22terry%22%0D%0A%7D&allow=null - https://latest.datasette.io/-/allow-debug?actor=%7B%0D%0A++++%22id%22%3A+%22terry%22%0D%0A%7D&allow={} - |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"allow": true for anyone, "allow": false for nobody 665400224 | |
663765308 | https://github.com/simonw/datasette/issues/908#issuecomment-663765308 | https://api.github.com/repos/simonw/datasette/issues/908 | MDEyOklzc3VlQ29tbWVudDY2Mzc2NTMwOA== | simonw 9599 | 2020-07-24T22:57:15Z | 2020-07-24T22:57:15Z | OWNER | Tool lives at https://latest.datasette.io/-/allow-debug |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Interactive debugging tool for "allow" blocks 665407663 | |
663764203 | https://github.com/simonw/datasette/issues/907#issuecomment-663764203 | https://api.github.com/repos/simonw/datasette/issues/907 | MDEyOklzc3VlQ29tbWVudDY2Mzc2NDIwMw== | simonw 9599 | 2020-07-24T22:53:07Z | 2020-07-24T22:53:07Z | OWNER | Actually that is already covered here: https://github.com/simonw/datasette/blob/6be5654ffab282e8cf39cc138ba2d4496ebc7407/docs/authentication.rst#L158 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow documentation doesn't explain what happens with multiple allow keys 665403403 | |
663727716 | https://github.com/simonw/datasette/pull/901#issuecomment-663727716 | https://api.github.com/repos/simonw/datasette/issues/901 | MDEyOklzc3VlQ29tbWVudDY2MzcyNzcxNg== | codecov[bot] 22429695 | 2020-07-24T20:47:57Z | 2020-07-24T20:47:57Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ master #901 +/-==========================================
- Coverage 83.41% 83.41% -0.01% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/utils/__init__.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use None as a default arg 662322234 | |
663726318 | https://github.com/simonw/datasette/issues/908#issuecomment-663726318 | https://api.github.com/repos/simonw/datasette/issues/908 | MDEyOklzc3VlQ29tbWVudDY2MzcyNjMxOA== | simonw 9599 | 2020-07-24T20:43:57Z | 2020-07-24T20:45:38Z | OWNER | I can implement this as a plugin. Or it could ship as part of Datasette, somewhere under the I'm going to ship it in Datasette core, to further reinforce the philosophy that debugging tools are important. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Interactive debugging tool for "allow" blocks 665407663 | |
663726146 | https://github.com/simonw/datasette/issues/907#issuecomment-663726146 | https://api.github.com/repos/simonw/datasette/issues/907 | MDEyOklzc3VlQ29tbWVudDY2MzcyNjE0Ng== | simonw 9599 | 2020-07-24T20:43:27Z | 2020-07-24T20:43:27Z | OWNER | It might be good to have a little interactive tool which helps debug these things, since there are quite a few edge-cases and the damage caused if people use them incorrectly is substantial. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow documentation doesn't explain what happens with multiple allow keys 665403403 | |
663724675 | https://github.com/simonw/datasette/issues/456#issuecomment-663724675 | https://api.github.com/repos/simonw/datasette/issues/456 | MDEyOklzc3VlQ29tbWVudDY2MzcyNDY3NQ== | simonw 9599 | 2020-07-24T20:39:17Z | 2020-07-24T20:39:17Z | OWNER | Yes this is still a bug! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Installing installs the tests package 442327592 | |
663724425 | https://github.com/simonw/datasette/pull/902#issuecomment-663724425 | https://api.github.com/repos/simonw/datasette/issues/902 | MDEyOklzc3VlQ29tbWVudDY2MzcyNDQyNQ== | simonw 9599 | 2020-07-24T20:38:42Z | 2020-07-24T20:38:42Z | OWNER | Thanks for spotting this! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't install tests package 662439034 | |
663720907 | https://github.com/simonw/datasette/issues/906#issuecomment-663720907 | https://api.github.com/repos/simonw/datasette/issues/906 | MDEyOklzc3VlQ29tbWVudDY2MzcyMDkwNw== | simonw 9599 | 2020-07-24T20:29:24Z | 2020-07-24T20:29:24Z | OWNER | Here are the existing test cases: https://github.com/simonw/datasette/blob/2115d7e3457b48b3cf9c81551b9fed2d0e9cd111/tests/test_utils.py#L468-L505 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"allow": true for anyone, "allow": false for nobody 665400224 | |
663143160 | https://github.com/dogsheep/twitter-to-sqlite/issues/48#issuecomment-663143160 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/48 | MDEyOklzc3VlQ29tbWVudDY2MzE0MzE2MA== | simonw 9599 | 2020-07-23T17:46:07Z | 2020-07-23T17:46:07Z | MEMBER | Frustratingly, these links don't work on PyPI: https://pypi.org/project/twitter-to-sqlite/ There's an issue about that here: https://github.com/pypa/readme_renderer/issues/169 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add a table of contents to the README 663976976 | |
662630868 | https://github.com/dogsheep/twitter-to-sqlite/issues/48#issuecomment-662630868 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/48 | MDEyOklzc3VlQ29tbWVudDY2MjYzMDg2OA== | simonw 9599 | 2020-07-22T19:03:02Z | 2020-07-22T19:03:02Z | MEMBER | Done! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add a table of contents to the README 663976976 | |
662626901 | https://github.com/dogsheep/twitter-to-sqlite/issues/48#issuecomment-662626901 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/48 | MDEyOklzc3VlQ29tbWVudDY2MjYyNjkwMQ== | simonw 9599 | 2020-07-22T18:54:53Z | 2020-07-22T18:54:53Z | MEMBER | I'm going to use a GitHub Action to run |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add a table of contents to the README 663976976 | |
662241702 | https://github.com/simonw/datasette/issues/905#issuecomment-662241702 | https://api.github.com/repos/simonw/datasette/issues/905 | MDEyOklzc3VlQ29tbWVudDY2MjI0MTcwMg== | simonw 9599 | 2020-07-22T04:59:46Z | 2020-07-22T04:59:46Z | OWNER | Deployed and working:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
/database.db download should include content-length header 663317875 | |
662114881 | https://github.com/simonw/datasette/issues/905#issuecomment-662114881 | https://api.github.com/repos/simonw/datasette/issues/905 | MDEyOklzc3VlQ29tbWVudDY2MjExNDg4MQ== | simonw 9599 | 2020-07-21T21:25:37Z | 2020-07-21T21:25:37Z | OWNER | I can use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
/database.db download should include content-length header 663317875 | |
661587375 | https://github.com/simonw/datasette/pull/902#issuecomment-661587375 | https://api.github.com/repos/simonw/datasette/issues/902 | MDEyOklzc3VlQ29tbWVudDY2MTU4NzM3NQ== | codecov[bot] 22429695 | 2020-07-21T02:44:49Z | 2020-07-21T02:44:49Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ master #902 +/-=======================================
Coverage 83.41% 83.41% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't install tests package 662439034 | |
661524006 | https://github.com/simonw/datasette/issues/456#issuecomment-661524006 | https://api.github.com/repos/simonw/datasette/issues/456 | MDEyOklzc3VlQ29tbWVudDY2MTUyNDAwNg== | abeyerpath 32467826 | 2020-07-21T01:15:07Z | 2020-07-21T01:15:07Z | CONTRIBUTOR | Bumping this, as the previous fix is passing the wrong type, and not actually addressing the issue... The |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Installing installs the tests package 442327592 | |
660548780 | https://github.com/dogsheep/github-to-sqlite/issues/43#issuecomment-660548780 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/43 | MDEyOklzc3VlQ29tbWVudDY2MDU0ODc4MA== | simonw 9599 | 2020-07-18T22:02:37Z | 2020-07-18T23:05:56Z | MEMBER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
github-to-sqlite tags command for fetching tags 660355904 | ||
660551397 | https://github.com/dogsheep/github-to-sqlite/issues/43#issuecomment-660551397 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/43 | MDEyOklzc3VlQ29tbWVudDY2MDU1MTM5Nw== | simonw 9599 | 2020-07-18T22:27:32Z | 2020-07-18T23:05:45Z | MEMBER |
repo | release | release_commit_date | commits_since_release | view_commits -- | -- | -- | -- | -- simonw/datasette | 0.45 | 2020-07-01T21:43:07Z | 9 | https://github.com/simonw/datasette/compare/0.45...master dogsheep/twitter-to-sqlite | 0.21.1 | 2020-04-30T18:20:43Z | 2 | https://github.com/dogsheep/twitter-to-sqlite/compare/0.21.1...master dogsheep/github-to-sqlite | 2.3 | 2020-07-09T23:26:34Z | 2 | https://github.com/dogsheep/github-to-sqlite/compare/2.3...master dogsheep/dogsheep-photos | 0.4.1 | 2020-05-25T20:11:20Z | 2 | https://github.com/dogsheep/dogsheep-photos/compare/0.4.1...master dogsheep/swarm-to-sqlite | 0.3.1 | 2020-03-28T02:29:41Z | 1 | https://github.com/dogsheep/swarm-to-sqlite/compare/0.3.1...master dogsheep/hacker-news-to-sqlite | 0.3.1 | 2020-03-21T22:39:34Z | 1 | https://github.com/dogsheep/hacker-news-to-sqlite/compare/0.3.1...master simonw/sqlite-utils | 2.11 | 2020-07-08T17:36:07Z | 0 | https://github.com/simonw/sqlite-utils/compare/2.11...master dogsheep/healthkit-to-sqlite | 0.5 | 2020-03-28T01:50:51Z | 0 | https://github.com/dogsheep/healthkit-to-sqlite/compare/0.5...master dogsheep/inaturalist-to-sqlite | 0.2 | 2020-03-24T00:35:44Z | 0 | https://github.com/dogsheep/inaturalist-to-sqlite/compare/0.2...master dogsheep/genome-to-sqlite | 0.1 | 2019-09-19T15:38:10Z | 0 | https://github.com/dogsheep/genome-to-sqlite/compare/0.1...master dogsheep/pocket-to-sqlite | 0.2 | 2020-03-27T22:23:16Z | 0 | https://github.com/dogsheep/pocket-to-sqlite/compare/0.2...master https://github-to-sqlite.dogsheep.net/github?sql=with+most_recent_releases+as+%28%0D%0A++with+ranked+as+%28%0D%0A++++select%0D%0A++++++repo%2C%0D%0A++++++tag_name%2C%0D%0A++++++published_at%2C%0D%0A++++++row_number%28%29+OVER+%28%0D%0A++++++++partition+BY+repo%0D%0A++++++++ORDER+BY%0D%0A++++++++++published_at+DESC%0D%0A++++++%29+rank%0D%0A++++FROM%0D%0A++++++releases%0D%0A++%29%0D%0A++select%0D%0A++++%0D%0A++from%0D%0A++++ranked%0D%0A++where%0D%0A++++rank+%3D+1%0D%0A%29%0D%0Aselect%0D%0A++repos.full_name+as+repo%2C%0D%0A++most_recent_releases.tag_name+as+release%2C%0D%0A++commits.committer_date+as+release_commit_date%2C%0D%0A++%28%0D%0A++++select%0D%0A++++++count%28%29%0D%0A++++from%0D%0A++++++commits+c2%0D%0A++++where%0D%0A++++++c2.repo+%3D+repos.id%0D%0A++++++and+c2.committer_date+%3E+commits.committer_date%0D%0A++%29+as+commits_since_release%2C%0D%0A++%27https%3A%2F%2Fgithub.com%2F%27+%7C%7C+repos.full_name+%7C%7C+%27%2Fcompare%2F%27+%7C%7C+most_recent_releases.tag_name+%7C%7C+%27...%27+%7C%7C+repos.default_branch+as+view_commits%0D%0Afrom%0D%0A++most_recent_releases%0D%0A++join+repos+on+most_recent_releases.repo+%3D+repos.id%0D%0A++join+tags+on+tags.repo+%3D+repos.id%0D%0A++and+tags.name+%3D+most_recent_releases.tag_name%0D%0A++join+commits+on+tags.sha+%3D+commits.sha%0D%0Aorder+by%0D%0A++commits_since_release+desc |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
github-to-sqlite tags command for fetching tags 660355904 | |
660554811 | https://github.com/dogsheep/github-to-sqlite/issues/45#issuecomment-660554811 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/45 | MDEyOklzc3VlQ29tbWVudDY2MDU1NDgxMQ== | simonw 9599 | 2020-07-18T23:03:13Z | 2020-07-18T23:03:13Z | MEMBER | https://github-to-sqlite.dogsheep.net/github/tags now shows a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix the demo - it breaks because of the tags table change 660429601 | |
660554299 | https://github.com/dogsheep/github-to-sqlite/issues/45#issuecomment-660554299 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/45 | MDEyOklzc3VlQ29tbWVudDY2MDU1NDI5OQ== | simonw 9599 | 2020-07-18T22:58:24Z | 2020-07-18T23:02:52Z | MEMBER | Deploying the fixed version like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix the demo - it breaks because of the tags table change 660429601 | |
660554162 | https://github.com/dogsheep/github-to-sqlite/issues/45#issuecomment-660554162 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/45 | MDEyOklzc3VlQ29tbWVudDY2MDU1NDE2Mg== | simonw 9599 | 2020-07-18T22:56:58Z | 2020-07-18T22:56:58Z | MEMBER | Manually fixing the database: ``` $ wget 'https://github-to-sqlite.dogsheep.net/github.db' --2020-07-18 15:52:33-- https://github-to-sqlite.dogsheep.net/github.db Resolving github-to-sqlite.dogsheep.net (github-to-sqlite.dogsheep.net)... 172.217.5.115 Connecting to github-to-sqlite.dogsheep.net (github-to-sqlite.dogsheep.net)|172.217.5.115|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 14626816 (14M) [application/octet-stream] Saving to: ‘github.db’ github.db 100%[============================================================================>] 13.95M 1.22MB/s in 18s 2020-07-18 15:52:53 (773 KB/s) - ‘github.db’ saved [14626816/14626816] $ sqlite3 github.db
SQLite version 3.28.0 2019-04-15 14:49:49
Enter ".help" for usage hints.
sqlite> drop table tags;
sqlite> ^D
$ github-to-sqlite tags github.db simonw/datasette simonw/sqlite-utils dogsheep/healthkit-to-sqlite dogsheep/swarm-to-sqlite dogsheep/twitter-to-sqlite dogsheep/inaturalist-to-sqlite dogsheep/google-takeout-to-sqlite dogsheep/github-to-sqlite dogsheep/genome-to-sqlite dogsheep/pocket-to-sqlite dogsheep/hacker-news-to-sqlite dogsheep/dogsheep-photos
$ sqlite-utils tables github.db --counts
[{"table": "users", "count": 4048},
{"table": "repos", "count": 210},
...
{"table": "stars", "count": 4140},
{"table": "tags", "count": 188}]
$ sqlite-utils rows github.db tags |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix the demo - it breaks because of the tags table change 660429601 | |
660553711 | https://github.com/dogsheep/github-to-sqlite/issues/45#issuecomment-660553711 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/45 | MDEyOklzc3VlQ29tbWVudDY2MDU1MzcxMQ== | simonw 9599 | 2020-07-18T22:52:16Z | 2020-07-18T22:52:16Z | MEMBER | I think the best fix is to download the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix the demo - it breaks because of the tags table change 660429601 | |
660553646 | https://github.com/dogsheep/github-to-sqlite/issues/45#issuecomment-660553646 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/45 | MDEyOklzc3VlQ29tbWVudDY2MDU1MzY0Ng== | simonw 9599 | 2020-07-18T22:51:41Z | 2020-07-18T22:51:41Z | MEMBER | I could fix this by putting But... doing so would lose the data I've collected in https://github-to-sqlite.dogsheep.net/github/dependents?_sort_desc=first_seen_utc concerning the first time each dependent repo was spotted. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix the demo - it breaks because of the tags table change 660429601 | |
660547502 | https://github.com/dogsheep/github-to-sqlite/issues/43#issuecomment-660547502 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/43 | MDEyOklzc3VlQ29tbWVudDY2MDU0NzUwMg== | simonw 9599 | 2020-07-18T21:50:37Z | 2020-07-18T21:50:37Z | MEMBER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
github-to-sqlite tags command for fetching tags 660355904 | |
660536265 | https://github.com/dogsheep/github-to-sqlite/issues/43#issuecomment-660536265 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/43 | MDEyOklzc3VlQ29tbWVudDY2MDUzNjI2NQ== | simonw 9599 | 2020-07-18T20:15:12Z | 2020-07-18T20:15:12Z | MEMBER | I want to create a SQL query which shows me all of my repositories that have commits that are NOT in the most recent release. The releases table doesn't have enough information for this because it doesn't tell you the commit hash associated with each release, just the tag: https://github-to-sqlite.dogsheep.net/github/releases |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
github-to-sqlite tags command for fetching tags 660355904 | |
660419792 | https://github.com/simonw/datasette/issues/898#issuecomment-660419792 | https://api.github.com/repos/simonw/datasette/issues/898 | MDEyOklzc3VlQ29tbWVudDY2MDQxOTc5Mg== | simonw 9599 | 2020-07-18T03:57:46Z | 2020-07-18T03:57:46Z | OWNER | This requires some thought. There are various testing utilities that don't exist yet that plugins might benefit from - off the top of my head:
I should resist the temptation to provide a reusable version of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.utils.testing module 659873662 | |
660419499 | https://github.com/simonw/datasette/issues/898#issuecomment-660419499 | https://api.github.com/repos/simonw/datasette/issues/898 | MDEyOklzc3VlQ29tbWVudDY2MDQxOTQ5OQ== | simonw 9599 | 2020-07-18T03:55:13Z | 2020-07-18T03:55:13Z | OWNER | Maybe I should make |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.utils.testing module 659873662 | |
660318063 | https://github.com/simonw/datasette/issues/897#issuecomment-660318063 | https://api.github.com/repos/simonw/datasette/issues/897 | MDEyOklzc3VlQ29tbWVudDY2MDMxODA2Mw== | simonw 9599 | 2020-07-17T20:16:02Z | 2020-07-17T20:16:02Z | OWNER | Documentation here: https://datasette.readthedocs.io/en/latest/internals.html#request-object |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Request method for retrieving the unparsed request body 659580487 | |
659773897 | https://github.com/simonw/datasette/issues/896#issuecomment-659773897 | https://api.github.com/repos/simonw/datasette/issues/896 | MDEyOklzc3VlQ29tbWVudDY1OTc3Mzg5Nw== | simonw 9599 | 2020-07-17T01:26:08Z | 2020-07-17T01:26:08Z | OWNER | I manually tested it with those plugins and it seems to interoperate just fine - since both of those use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use white-space: pre-wrap on ALL table cell contents 658476055 | |
659734703 | https://github.com/simonw/datasette/issues/896#issuecomment-659734703 | https://api.github.com/repos/simonw/datasette/issues/896 | MDEyOklzc3VlQ29tbWVudDY1OTczNDcwMw== | simonw 9599 | 2020-07-16T23:34:57Z | 2020-07-16T23:34:57Z | OWNER | I'm worried about how this will interact with some of the plugins: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use white-space: pre-wrap on ALL table cell contents 658476055 | |
659615034 | https://github.com/simonw/datasette/issues/896#issuecomment-659615034 | https://api.github.com/repos/simonw/datasette/issues/896 | MDEyOklzc3VlQ29tbWVudDY1OTYxNTAzNA== | simonw 9599 | 2020-07-16T19:14:07Z | 2020-07-16T19:14:07Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use white-space: pre-wrap on ALL table cell contents 658476055 | ||
659610687 | https://github.com/simonw/datasette/issues/896#issuecomment-659610687 | https://api.github.com/repos/simonw/datasette/issues/896 | MDEyOklzc3VlQ29tbWVudDY1OTYxMDY4Nw== | simonw 9599 | 2020-07-16T19:05:43Z | 2020-07-16T19:05:43Z | OWNER | I'm going to give this a go - if it turns out to be a bad idea I can revert it back out again. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use white-space: pre-wrap on ALL table cell contents 658476055 | |
659085528 | https://github.com/simonw/datasette/issues/895#issuecomment-659085528 | https://api.github.com/repos/simonw/datasette/issues/895 | MDEyOklzc3VlQ29tbWVudDY1OTA4NTUyOA== | simonw 9599 | 2020-07-16T00:32:47Z | 2020-07-16T00:32:47Z | OWNER | This was added in https://github.com/simonw/datasette/commit/504196341c49840270bd75ea1a1871ef386ba7ea - here's the relevant code (which only applies on the table page, not the query page): |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
SQL query output should show numeric values in a different colour 657747959 | |
657268433 | https://github.com/simonw/datasette/issues/892#issuecomment-657268433 | https://api.github.com/repos/simonw/datasette/issues/892 | MDEyOklzc3VlQ29tbWVudDY1NzI2ODQzMw== | simonw 9599 | 2020-07-12T20:02:17Z | 2020-07-12T20:02:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"latest" in new documentation navbar is invisible 655465863 | ||
657268051 | https://github.com/simonw/datasette/issues/892#issuecomment-657268051 | https://api.github.com/repos/simonw/datasette/issues/892 | MDEyOklzc3VlQ29tbWVudDY1NzI2ODA1MQ== | simonw 9599 | 2020-07-12T19:58:24Z | 2020-07-12T19:58:24Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"latest" in new documentation navbar is invisible 655465863 | |
656363548 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-656363548 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NjM2MzU0OA== | simonw 9599 | 2020-07-09T21:37:28Z | 2020-07-09T21:37:28Z | OWNER | I'm going to add a second method Advanced callers can use this to include their own additional steps in the same transaction - e.g. recreating views or triggers. More importantly it gives me a useful hook for writing some unit tests against the generated SQL. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655898722 | https://github.com/simonw/sqlite-utils/issues/121#issuecomment-655898722 | https://api.github.com/repos/simonw/sqlite-utils/issues/121 | MDEyOklzc3VlQ29tbWVudDY1NTg5ODcyMg== | tsibley 79913 | 2020-07-09T04:53:08Z | 2020-07-09T04:53:08Z | CONTRIBUTOR | Yep, I agree that makes more sense for backwards compat and more casual use cases. I think it should be possible for the Database/Queryable methods to DTRT based on seeing if it's within a context-manager-managed transaction. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Improved (and better documented) support for transactions 652961907 | |
655786374 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655786374 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTc4NjM3NA== | simonw 9599 | 2020-07-08T22:16:54Z | 2020-07-08T22:16:54Z | OWNER | According to https://www.sqlite.org/lang_altertable.html#making_other_kinds_of_table_schema_changes the hardest bits to consider are how to deal with existing foreign key relationships, triggers and views. I'm OK leaving views as an exercise for the caller - many of these transformations may not need any view changes at all. Foreign key relationships are important: it should handle these automatically as effectively as possible. Likewise trigger changes: need to think about what this means. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655785396 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655785396 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTc4NTM5Ng== | simonw 9599 | 2020-07-08T22:14:10Z | 2020-07-08T22:14:10Z | OWNER | Work in progress: not quite right yet, I need smarter logic for how renamed columns are reflected in the generated |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655783875 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655783875 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTc4Mzg3NQ== | simonw 9599 | 2020-07-08T22:09:51Z | 2020-07-08T22:10:16Z | OWNER | I can have a convenient |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655782477 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655782477 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTc4MjQ3Nw== | simonw 9599 | 2020-07-08T22:06:23Z | 2020-07-08T22:06:23Z | OWNER | Thinking about the method signature:
It would be useful if this was optional - if you could omit the columns and have it automatically use the previous columns. This would let you change things like the primary key or the column order using the other arguments. Even better: allow column renaming using an optional
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655778058 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655778058 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTc3ODA1OA== | simonw 9599 | 2020-07-08T21:54:30Z | 2020-07-08T21:54:30Z | OWNER | Don't forget this step:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655677909 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655677909 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTY3NzkwOQ== | simonw 9599 | 2020-07-08T18:16:39Z | 2020-07-08T18:16:39Z | OWNER | Since neither the term "transform" or "migrate" are used in the codebase at the moment, I think I'll go with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655677396 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655677396 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTY3NzM5Ng== | simonw 9599 | 2020-07-08T18:15:39Z | 2020-07-08T18:15:39Z | OWNER | Alternative possible names:
- I'm torn between |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655677099 | https://github.com/simonw/sqlite-utils/issues/114#issuecomment-655677099 | https://api.github.com/repos/simonw/sqlite-utils/issues/114 | MDEyOklzc3VlQ29tbWVudDY1NTY3NzA5OQ== | simonw 9599 | 2020-07-08T18:15:02Z | 2020-07-08T18:15:02Z | OWNER | I'm not so keen on that chained API - it's pretty complicated. Here's an idea for a much simpler interface. Essentially it lets you say "take table X and migrate its contents to a new table with this structure - then atomically rename the tables to switch them":
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.transform() method for advanced alter table 621989740 | |
655674910 | https://github.com/simonw/sqlite-utils/issues/119#issuecomment-655674910 | https://api.github.com/repos/simonw/sqlite-utils/issues/119 | MDEyOklzc3VlQ29tbWVudDY1NTY3NDkxMA== | simonw 9599 | 2020-07-08T18:10:18Z | 2020-07-08T18:10:18Z | OWNER | This will work similar to how Here's that code today - it could be adapted to include removal of foreign keys that we no longer want: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to remove a foreign key 652700770 | |
655673896 | https://github.com/simonw/sqlite-utils/issues/121#issuecomment-655673896 | https://api.github.com/repos/simonw/sqlite-utils/issues/121 | MDEyOklzc3VlQ29tbWVudDY1NTY3Mzg5Ng== | simonw 9599 | 2020-07-08T18:08:11Z | 2020-07-08T18:08:11Z | OWNER | I'm with you on most of this. Completely agreed that the CLI should do everything in a transaction. The one thing I'm not keen on is forcing calling code to explicitly start a transaction, for a couple of reasons:
So... how about this: IF you wrap your code in a That way existing code works as it does today, lazy people like me can call |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Improved (and better documented) support for transactions 652961907 | |
655653292 | https://github.com/simonw/sqlite-utils/pull/118#issuecomment-655653292 | https://api.github.com/repos/simonw/sqlite-utils/issues/118 | MDEyOklzc3VlQ29tbWVudDY1NTY1MzI5Mg== | simonw 9599 | 2020-07-08T17:26:02Z | 2020-07-08T17:26:02Z | OWNER | Awesome, thank you very much. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add insert --truncate option 651844316 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
user >30