issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
user 275
- simonw 6,606
- codecov[bot] 136
- eyeseast 41
- russss 39
- psychemedia 32
- fgregg 27
- abdusco 26
- mroswell 20
- aborruso 19
- chrismp 18
- jacobian 14
- carlmjohnson 14
- RhetTbull 14
- tballison 13
- brandonrobertz 12
- tsibley 11
- rixx 11
- terrycojones 10
- stonebig 10
- maxhawkins 9
- clausjuhl 9
- bobwhitelock 9
- 20after4 8
- wragge 8
- UtahDave 8
- tomchristie 8
- rayvoelker 8
- bsilverm 8
- dracos 7
- rgieseke 7
- mhalle 7
- zeluspudding 7
- cobiadigital 7
- dependabot[bot] 7
- frafra 6
- amjith 6
- simonwiles 6
- zaneselvans 6
- khusmann 5
- khimaros 5
- jaywgraves 5
- MarkusH 5
- dazzag24 5
- SteadBytes 5
- dependabot-preview[bot] 5
- jayvdb 4
- bollwyvl 4
- jefftriplett 4
- ctb 4
- Btibert3 4
- r4vi 4
- jsfenfen 4
- glasnt 4
- jungle-boogie 4
- ColinMaudry 4
- kbaikov 4
- JBPressac 4
- nitinpaultifr 4
- Kabouik 4
- henry501 4
- benpickles 3
- frankieroberto 3
- obra 3
- janimo 3
- atomotic 3
- ghing 3
- pkoppstein 3
- yozlet 3
- dholth 3
- yschimke 3
- philroche 3
- macropin 3
- camallen 3
- wsxiaoys 3
- lovasoa 3
- xrotwang 3
- robroc 3
- dufferzafar 3
- Florents-Tselai 3
- ashishdotme 3
- Segerberg 3
- blairdrummond 3
- jsancho-gpl 3
- kevindkeogh 3
- daniel-butler 3
- FabianHertwig 3
- polyrand 3
- pjamargh 3
- garethr 2
- danp 2
- davidbgk 2
- ftrain 2
- fs111 2
- chrishas35 2
- ingenieroariel 2
- coleifer 2
- gavinband 2
- aviflax 2
- tholo 2
- cldellow 2
- frankier 2
- tmaier 2
- gfrmin 2
- frosencrantz 2
- eads 2
- leafgarland 2
- Mjboothaus 2
- eelkevdbos 2
- ligurio 2
- n8henrie 2
- soobrosa 2
- nathancahill 2
- betatim 2
- bsmithgall 2
- willingc 2
- nattaylor 2
- durkie 2
- raynae 2
- wulfmann 2
- philshem 2
- bram2000 2
- zzeleznick 2
- chris48s 2
- plpxsk 2
- swyxio 2
- nickvazz 2
- aaronyih1 2
- jussiarpalahti 2
- lagolucas 2
- learning4life 2
- chekos 2
- ad-si 2
- smithdc1 2
- gsajko 2
- null92 2
- rachelmarconi 2
- tunguyenatwork 2
- LVerneyPEReN 2
- anotherjesse 1
- jarib 1
- jokull 1
- dsisnero 1
- gijs 1
- gravis 1
- nkirsch 1
- tomdyson 1
- mrchrisadams 1
- dkam 1
- harperreed 1
- furilo 1
- adamwolf 1
- prabhur 1
- dmd 1
- rubenv 1
- Uninen 1
- carsonyl 1
- nryberg 1
- step21 1
- stefanocudini 1
- tannewt 1
- rcoup 1
- scoates 1
- hpk42 1
- annapowellsmith 1
- aslakr 1
- thorn0 1
- yurivish 1
- jmelloy 1
- Krazybug 1
- dvhthomas 1
- phubbard 1
- sethvincent 1
- meatcar 1
- aitoehigie 1
- michaelmcandrew 1
- drewda 1
- stiles 1
- saulpw 1
- thadk 1
- robintw 1
- astrojuanlu 1
- ipmb 1
- lchski 1
- steren 1
- aidansteele 1
- mikepqr 1
- 0x1997 1
- davidszotten 1
- kevboh 1
- eaubin 1
- yunzheng 1
- karlcow 1
- heyarne 1
- simonrjones 1
- mcint 1
- justinpinkney 1
- merwok 1
- virtadpt 1
- snth 1
- joshmgrant 1
- bcongdon 1
- nickdirienzo 1
- adamjonas 1
- hannseman 1
- kaihendry 1
- strada 1
- urbas 1
- brimstone 1
- adamchainz 1
- PabloLerma 1
- heussd 1
- RayBB 1
- limar 1
- drkane 1
- Gagravarr 1
- agguser 1
- dyllan-to-you 1
- justinallen 1
- jordaneremieff 1
- wdccdw 1
- progpow 1
- ltrgoddard 1
- costrouc 1
- jratike80 1
- ccorcos 1
- qqilihq 1
- QAInsights 1
- secretGeek 1
- fkuhn 1
- jameslittle230 1
- dskrad 1
- kwladyka 1
- Carib0u 1
- fatihky 1
- phoenixjun 1
- JesperTreetop 1
- bapowell 1
- louispotok 1
- ChristopherWilks 1
- Maltazar 1
- henrikek 1
- eumiro 1
- wuhland 1
- foscoj 1
- dvot197007 1
- kokes 1
- rprimet 1
- metab0t 1
- luxint 1
- spdkils 1
- sturzl 1
- robmarkcole 1
- jfeiwell 1
- coisnepe 1
- chmaynard 1
- asg017 1
- noklam 1
- GmGniap 1
- rdtq 1
- AnkitKundariya 1
- LucasElArruda 1
- duarteocarmo 1
- mattiaborsoi 1
- sarcasticadmin 1
- abeyerpath 1
- b0b5h4rp13 1
- patricktrainer 1
- justmars 1
- miuku 1
- jcmkk3 1
- publicmatt 1
- thisismyfuckingusername 1
- MichaelTiemannOSC 1
- kirajano 1
- knowledgecamp12 1
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
1073125334 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073125334 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9pfW | simonw 9599 | 2022-03-19T22:53:55Z | 2022-03-19T22:53:55Z | OWNER | Need to update documentation in a few places - e.g. https://docs.datasette.io/en/stable/internals.html#remove-database-name
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073123231 | https://github.com/dogsheep/healthkit-to-sqlite/issues/14#issuecomment-1073123231 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/14 | IC_kwDOC8tyDs4_9o-f | lchski 343884 | 2022-03-19T22:39:29Z | 2022-03-19T22:39:29Z | NONE | I have this issue, too, with a fresh export. None of my When I run the script, a
Are there maybe duplicate workouts in the data, which’d cause multiple rows to share the same |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UNIQUE constraint failed: workouts.id 771608692 | |
1073112104 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073112104 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9mQo | simonw 9599 | 2022-03-19T21:08:21Z | 2022-03-19T21:08:21Z | OWNER | I think I've got this working but I need to write a test for it that covers the rare case when the route is not the same thing as the database name. I'll do that with a new test. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073097394 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073097394 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9iqy | simonw 9599 | 2022-03-19T20:56:35Z | 2022-03-19T20:56:35Z | OWNER | I'm trying to think if there's any reason not to use Decision made: I'm going with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073076624 | https://github.com/simonw/datasette/issues/1667#issuecomment-1073076624 | https://api.github.com/repos/simonw/datasette/issues/1667 | IC_kwDOBm6k_c4_9dmQ | simonw 9599 | 2022-03-19T20:31:44Z | 2022-03-19T20:31:44Z | OWNER | I can now read |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make route matched pattern groups more consistent 1174302994 | |
1073076187 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073076187 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9dfb | simonw 9599 | 2022-03-19T20:28:20Z | 2022-03-19T20:28:20Z | OWNER | I'm going to keep |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073076136 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073076136 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9deo | simonw 9599 | 2022-03-19T20:27:44Z | 2022-03-19T20:27:44Z | OWNER | Pretty sure changing it will break some existing plugins though, including likely Datasette Desktop. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073076110 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073076110 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9deO | simonw 9599 | 2022-03-19T20:27:22Z | 2022-03-19T20:27:22Z | OWNER | The docs do currently describe Good thing I'm not at 1.0 yet so I can change that! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073076015 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073076015 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9dcv | simonw 9599 | 2022-03-19T20:26:32Z | 2022-03-19T20:26:32Z | OWNER | I'm inclined to redefine |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073075913 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073075913 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9dbJ | simonw 9599 | 2022-03-19T20:25:46Z | 2022-03-19T20:26:08Z | OWNER | The output of
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073075697 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073075697 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9dXx | simonw 9599 | 2022-03-19T20:24:06Z | 2022-03-19T20:24:06Z | OWNER | Right now if a database has a
But the output on |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073073599 | https://github.com/simonw/datasette/issues/1660#issuecomment-1073073599 | https://api.github.com/repos/simonw/datasette/issues/1660 | IC_kwDOBm6k_c4_9c2_ | simonw 9599 | 2022-03-19T20:06:40Z | 2022-03-19T20:06:40Z | OWNER | This blocks: - #1668 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor and simplify Datasette routing and views 1170144879 | |
1073073579 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073073579 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9c2r | simonw 9599 | 2022-03-19T20:06:27Z | 2022-03-19T20:06:27Z | OWNER | Marking this as blocked until #1660 is done. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073073547 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073073547 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9c2L | simonw 9599 | 2022-03-19T20:06:07Z | 2022-03-19T20:06:07Z | OWNER | Implementing this is a little tricky because there's a whole lot of code that expects the The All the more reason to get rid of that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073043433 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073043433 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9Vfp | simonw 9599 | 2022-03-19T16:54:55Z | 2022-03-19T20:01:19Z | OWNER | Options:
- I like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073043713 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073043713 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9VkB | simonw 9599 | 2022-03-19T16:56:19Z | 2022-03-19T16:56:19Z | OWNER | Worth noting that the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073043350 | https://github.com/simonw/datasette/issues/1668#issuecomment-1073043350 | https://api.github.com/repos/simonw/datasette/issues/1668 | IC_kwDOBm6k_c4_9VeW | simonw 9599 | 2022-03-19T16:54:26Z | 2022-03-19T16:54:26Z | OWNER | The So need a different name for the path-that-is-used-in-the-URL. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introduce concept of a database `route`, separate from its name 1174306154 | |
1073042554 | https://github.com/simonw/datasette/issues/1667#issuecomment-1073042554 | https://api.github.com/repos/simonw/datasette/issues/1667 | IC_kwDOBm6k_c4_9VR6 | simonw 9599 | 2022-03-19T16:50:01Z | 2022-03-19T16:52:35Z | OWNER | OK, I've made this more consistent - I still need to address the fact that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make route matched pattern groups more consistent 1174302994 | |
1073040072 | https://github.com/simonw/datasette/issues/1667#issuecomment-1073040072 | https://api.github.com/repos/simonw/datasette/issues/1667 | IC_kwDOBm6k_c4_9UrI | simonw 9599 | 2022-03-19T16:34:02Z | 2022-03-19T16:34:02Z | OWNER | I called it I think I'm going to go with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make route matched pattern groups more consistent 1174302994 | |
1073039670 | https://github.com/simonw/datasette/issues/1666#issuecomment-1073039670 | https://api.github.com/repos/simonw/datasette/issues/1666 | IC_kwDOBm6k_c4_9Uk2 | simonw 9599 | 2022-03-19T16:31:08Z | 2022-03-19T16:31:57Z | OWNER | This does make it more interesting - it also highlights how inconsistent the way the capturing works is. Especially |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor URL routing to enable testing 1174162781 | |
1073039241 | https://github.com/simonw/datasette/issues/1666#issuecomment-1073039241 | https://api.github.com/repos/simonw/datasette/issues/1666 | IC_kwDOBm6k_c4_9UeJ | simonw 9599 | 2022-03-19T16:28:15Z | 2022-03-19T16:28:15Z | OWNER | This is more interesting if it also asserts against the captured matches from the pattern. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor URL routing to enable testing 1174162781 | |
1073037939 | https://github.com/simonw/datasette/issues/878#issuecomment-1073037939 | https://api.github.com/repos/simonw/datasette/issues/878 | IC_kwDOBm6k_c4_9UJz | simonw 9599 | 2022-03-19T16:19:30Z | 2022-03-19T16:19:30Z | OWNER | On revisiting https://gist.github.com/simonw/281eac9c73b062c3469607ad86470eb2 a few months later I'm having second thoughts about using But I still like the pattern as a way to resolve more complex cases like "to generate GeoJSON of the expanded view with labels, the label expansion code needs to run once at some before the GeoJSON formatting code does". So I'm going to stick with it a tiny bit longer, but maybe try to make it a lot more explicit when it's going to happen rather than having the main view methods themselves also use async DI. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New pattern for views that return either JSON or HTML, available for plugins 648435885 | |
1072954795 | https://github.com/simonw/datasette/issues/1228#issuecomment-1072954795 | https://api.github.com/repos/simonw/datasette/issues/1228 | IC_kwDOBm6k_c4_8_2r | Kabouik 7107523 | 2022-03-19T06:44:40Z | 2022-03-19T06:44:40Z | NONE |
Exactly, that's highly likely even though I can't double check from this computer just now. Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
500 error caused by faceting if a column called `n` exists 810397025 | |
1072939780 | https://github.com/simonw/datasette/issues/1561#issuecomment-1072939780 | https://api.github.com/repos/simonw/datasette/issues/1561 | IC_kwDOBm6k_c4_88ME | simonw 9599 | 2022-03-19T04:45:40Z | 2022-03-19T04:45:40Z | OWNER | I ended up moving hashed URL mode out to a plugin in: - #647 If you're still interested in using it with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
add hash id to "_memory" url if hashed url mode is turned on and crossdb is also turned on 1082765654 | |
1072933875 | https://github.com/simonw/datasette/issues/1666#issuecomment-1072933875 | https://api.github.com/repos/simonw/datasette/issues/1666 | IC_kwDOBm6k_c4_86vz | simonw 9599 | 2022-03-19T04:03:42Z | 2022-03-19T04:03:42Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor URL routing to enable testing 1174162781 | ||
1072915936 | https://github.com/simonw/datasette/issues/1228#issuecomment-1072915936 | https://api.github.com/repos/simonw/datasette/issues/1228 | IC_kwDOBm6k_c4_82Xg | simonw 9599 | 2022-03-19T01:50:27Z | 2022-03-19T01:50:27Z | OWNER | Demo: https://latest.datasette.io/fixtures/facetable - which now has a column called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
500 error caused by faceting if a column called `n` exists 810397025 | |
1072908029 | https://github.com/simonw/datasette/issues/1228#issuecomment-1072908029 | https://api.github.com/repos/simonw/datasette/issues/1228 | IC_kwDOBm6k_c4_80b9 | simonw 9599 | 2022-03-19T00:57:54Z | 2022-03-19T00:57:54Z | OWNER | Yes! That's the problem. I was able to replicate it like so:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
500 error caused by faceting if a column called `n` exists 810397025 | |
1072907680 | https://github.com/simonw/datasette/issues/1228#issuecomment-1072907680 | https://api.github.com/repos/simonw/datasette/issues/1228 | IC_kwDOBm6k_c4_80Wg | simonw 9599 | 2022-03-19T00:55:48Z | 2022-03-19T00:55:48Z | OWNER | ... unless your data had a column called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
500 error caused by faceting if a column called `n` exists 810397025 | |
1072907610 | https://github.com/simonw/datasette/issues/1228#issuecomment-1072907610 | https://api.github.com/repos/simonw/datasette/issues/1228 | IC_kwDOBm6k_c4_80Va | simonw 9599 | 2022-03-19T00:55:29Z | 2022-03-19T00:55:29Z | OWNER | It looks to me like something is causing the faceting query here to return a string when it was expected to return a number: I can't think of any way that a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
500 error caused by faceting if a column called `n` exists 810397025 | |
1072907200 | https://github.com/simonw/datasette/issues/1605#issuecomment-1072907200 | https://api.github.com/repos/simonw/datasette/issues/1605 | IC_kwDOBm6k_c4_80PA | simonw 9599 | 2022-03-19T00:52:54Z | 2022-03-19T00:53:45Z | OWNER | Had a thought about the implementation of this: it could make a really neat plugin. Something like
And the command would then:
All of that HTML parsing may be over-complicating things. It could alternatively accept options for which pages you want to export:
Or a really wild option: it could allow you to define the paths you want to export using a SQL query:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Scripted exports 1108671952 | |
1072905467 | https://github.com/simonw/datasette/issues/1662#issuecomment-1072905467 | https://api.github.com/repos/simonw/datasette/issues/1662 | IC_kwDOBm6k_c4_8zz7 | simonw 9599 | 2022-03-19T00:42:23Z | 2022-03-19T00:42:23Z | OWNER | Those client-side SQLite tricks are really neat.
If you're not going to run any server-side code at all you don't need Datasette for this - you can upload the SQLite database file to any static hosting with CORS headers and load it into the client that way. In terms of static publishing, I do think there's something interesting about using Datasette to generate static sites. There's an issue discussing options for that over here:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[feature request] Publish to fully static website 1170497629 | |
1072904703 | https://github.com/simonw/datasette/issues/1661#issuecomment-1072904703 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_8zn_ | simonw 9599 | 2022-03-19T00:37:36Z | 2022-03-19T00:37:36Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | ||
1072901159 | https://github.com/simonw/datasette/issues/1661#issuecomment-1072901159 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_8ywn | simonw 9599 | 2022-03-19T00:20:27Z | 2022-03-19T00:20:27Z | OWNER | I can remove the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1072898923 | https://github.com/simonw/datasette/pull/1664#issuecomment-1072898923 | https://api.github.com/repos/simonw/datasette/issues/1664 | IC_kwDOBm6k_c4_8yNr | simonw 9599 | 2022-03-19T00:11:33Z | 2022-03-19T00:11:33Z | OWNER | I'm going to land this and handle those in separate commits. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove hashed URL mode 1173017980 | |
1072898797 | https://github.com/simonw/datasette/pull/1664#issuecomment-1072898797 | https://api.github.com/repos/simonw/datasette/issues/1664 | IC_kwDOBm6k_c4_8yLt | simonw 9599 | 2022-03-19T00:11:09Z | 2022-03-19T00:11:09Z | OWNER | Still need to remove it from the documentation and do something about that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove hashed URL mode 1173017980 | |
1072890524 | https://github.com/simonw/datasette/pull/1664#issuecomment-1072890524 | https://api.github.com/repos/simonw/datasette/issues/1664 | IC_kwDOBm6k_c4_8wKc | simonw 9599 | 2022-03-18T23:44:33Z | 2022-03-19T00:06:51Z | OWNER | Looks like that was set here: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L490-L492 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove hashed URL mode 1173017980 | |
1072890205 | https://github.com/simonw/datasette/pull/1664#issuecomment-1072890205 | https://api.github.com/repos/simonw/datasette/issues/1664 | IC_kwDOBm6k_c4_8wFd | simonw 9599 | 2022-03-18T23:43:15Z | 2022-03-18T23:43:15Z | OWNER | Now almost everything is working except for foreign key expansion: Using the debugger I tracked it down to this code: Turns out |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove hashed URL mode 1173017980 | |
1072834273 | https://github.com/simonw/sqlite-utils/issues/416#issuecomment-1072834273 | https://api.github.com/repos/simonw/sqlite-utils/issues/416 | IC_kwDOCGYnMM4_8ibh | simonw 9599 | 2022-03-18T21:36:05Z | 2022-03-18T21:36:05Z | OWNER | Python's
Imitating this might be the way to go. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Options for how `r.parsedate()` should handle invalid dates 1173023272 | |
1072833174 | https://github.com/simonw/sqlite-utils/issues/416#issuecomment-1072833174 | https://api.github.com/repos/simonw/sqlite-utils/issues/416 | IC_kwDOCGYnMM4_8iKW | simonw 9599 | 2022-03-18T21:34:06Z | 2022-03-18T21:34:06Z | OWNER | Good call-out: right now the It would be better if this was configurable by the user (and properly documented) - options could include "set null if date is invalid" and "leave the value as it is if invalid" in addition to throwing an error. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Options for how `r.parsedate()` should handle invalid dates 1173023272 | |
1071813296 | https://github.com/simonw/datasette/pull/1664#issuecomment-1071813296 | https://api.github.com/repos/simonw/datasette/issues/1664 | IC_kwDOBm6k_c4_4pKw | simonw 9599 | 2022-03-17T23:26:22Z | 2022-03-17T23:26:22Z | OWNER | Probably caused by the convoluted code is |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove hashed URL mode 1173017980 | |
1071809988 | https://github.com/simonw/datasette/pull/1664#issuecomment-1071809988 | https://api.github.com/repos/simonw/datasette/issues/1664 | IC_kwDOBm6k_c4_4oXE | simonw 9599 | 2022-03-17T23:24:57Z | 2022-03-17T23:24:57Z | OWNER | My hunch is that this is broken because of this: Note how the table uses |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove hashed URL mode 1173017980 | |
1071803114 | https://github.com/simonw/datasette/pull/1664#issuecomment-1071803114 | https://api.github.com/repos/simonw/datasette/issues/1664 | IC_kwDOBm6k_c4_4mrq | simonw 9599 | 2022-03-17T23:22:00Z | 2022-03-17T23:22:00Z | OWNER | Surprisingly I managed to break https://latest.datasette.io/fixtures/custom_foreign_key_label while working on this change: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove hashed URL mode 1173017980 | |
1071797707 | https://github.com/simonw/datasette/issues/1661#issuecomment-1071797707 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_4lXL | simonw 9599 | 2022-03-17T23:19:24Z | 2022-03-17T23:19:24Z | OWNER | Moving this to PR so I can comment on individual lines: - #1664 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1071793307 | https://github.com/simonw/datasette/issues/1661#issuecomment-1071793307 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_4kSb | simonw 9599 | 2022-03-17T23:17:32Z | 2022-03-17T23:17:32Z | OWNER | Surprisingly I managed to break https://latest.datasette.io/fixtures/custom_foreign_key_label while working on this change: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1071706993 | https://github.com/simonw/datasette/issues/1661#issuecomment-1071706993 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_4PNx | simonw 9599 | 2022-03-17T22:42:21Z | 2022-03-17T22:42:21Z | OWNER | As part of this I'm going to get rid of this mechanism: https://github.com/simonw/datasette/blob/30e5f0e67c38054a8087a2a4eae3fc4d1779af90/datasette/views/base.py#L170-L173 Unwrapping |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1071519407 | https://github.com/simonw/datasette/issues/1663#issuecomment-1071519407 | https://api.github.com/repos/simonw/datasette/issues/1663 | IC_kwDOBm6k_c4_3hav | simonw 9599 | 2022-03-17T21:32:35Z | 2022-03-17T21:32:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the internals that were used in datasette-hashed-urls 1170554975 | ||
1069570893 | https://github.com/simonw/datasette/issues/1532#issuecomment-1069570893 | https://api.github.com/repos/simonw/datasette/issues/1532 | IC_kwDOBm6k_c4_wFtN | simonw 9599 | 2022-03-16T20:11:41Z | 2022-03-16T20:13:34Z | OWNER | Could also build a CLI Rich/Textual app to exercise the API - which could embed Datasette as a dependency and work using Could be a plugin that adds a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use datasette-table Web Component to guide the design of the JSON API for 1.0 1065429936 | |
1068742624 | https://github.com/simonw/datasette/issues/1663#issuecomment-1068742624 | https://api.github.com/repos/simonw/datasette/issues/1663 | IC_kwDOBm6k_c4_s7fg | simonw 9599 | 2022-03-16T05:17:45Z | 2022-03-16T05:17:45Z | OWNER | Should be documented here: https://docs.datasette.io/en/stable/internals.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the internals that were used in datasette-hashed-urls 1170554975 | |
1068728484 | https://github.com/simonw/datasette/issues/1661#issuecomment-1068728484 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_s4Ck | simonw 9599 | 2022-03-16T04:47:39Z | 2022-03-16T04:47:39Z | OWNER | https://datasette.io/plugins/datasette-hashed-urls is released now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1068630353 | https://github.com/simonw/datasette/issues/1661#issuecomment-1068630353 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_sgFR | simonw 9599 | 2022-03-16T01:24:56Z | 2022-03-16T01:25:49Z | OWNER | Here's the only bit of code that references that And here's the test: Related issue: - #471 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1068628839 | https://github.com/simonw/datasette/issues/1661#issuecomment-1068628839 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_sftn | simonw 9599 | 2022-03-16T01:21:36Z | 2022-03-16T01:21:48Z | OWNER | From https://docs.datasette.io/en/0.60.2/performance.html#hashed-url-mode
I'm going to drop |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1068554827 | https://github.com/simonw/datasette/issues/1661#issuecomment-1068554827 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_sNpL | simonw 9599 | 2022-03-15T23:16:58Z | 2022-03-15T23:18:58Z | OWNER | If you attempt to use the old setting:
It should error with a message saying that the feature has been moved to a plugin. I'll do this with a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1068553454 | https://github.com/simonw/datasette/issues/1661#issuecomment-1068553454 | https://api.github.com/repos/simonw/datasette/issues/1661 | IC_kwDOBm6k_c4_sNTu | simonw 9599 | 2022-03-15T23:14:37Z | 2022-03-15T23:14:37Z | OWNER | This is going to simplify the code in the various view classes substantially: - #1660 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove Hashed URL mode 1170355774 | |
1068552696 | https://github.com/simonw/datasette/issues/647#issuecomment-1068552696 | https://api.github.com/repos/simonw/datasette/issues/647 | IC_kwDOBm6k_c4_sNH4 | simonw 9599 | 2022-03-15T23:13:06Z | 2022-03-15T23:13:06Z | OWNER | The plugin works. I'm going to implement one last feature for it: Then I can remove hashed URL mode in a separate issue. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Move hashed URL mode out to a plugin 531755959 | |
1068539404 | https://github.com/simonw/datasette/issues/647#issuecomment-1068539404 | https://api.github.com/repos/simonw/datasette/issues/647 | IC_kwDOBm6k_c4_sJ4M | simonw 9599 | 2022-03-15T22:49:01Z | 2022-03-15T22:49:01Z | OWNER | I shipped the first version of this: https://github.com/simonw/datasette-hashed-urls Next step: test it with a live demo: - https://github.com/simonw/datasette-hashed-urls/issues/2 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Move hashed URL mode out to a plugin 531755959 | |
1068461449 | https://github.com/simonw/datasette/issues/1439#issuecomment-1068461449 | https://api.github.com/repos/simonw/datasette/issues/1439 | IC_kwDOBm6k_c4_r22J | simonw 9599 | 2022-03-15T20:51:26Z | 2022-03-15T20:51:26Z | OWNER | I'm happy with this now that I've landed Tilde encoding in #1657. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink how .ext formats (v.s. ?_format=) works before 1.0 973139047 | |
1068450483 | https://github.com/simonw/datasette/issues/857#issuecomment-1068450483 | https://api.github.com/repos/simonw/datasette/issues/857 | IC_kwDOBm6k_c4_r0Kz | simonw 9599 | 2022-03-15T20:43:55Z | 2022-03-15T20:43:55Z | OWNER | Dupe of #1510. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Comprehensive documentation for variables made available to templates 642297505 | |
1068445412 | https://github.com/simonw/datasette/issues/1509#issuecomment-1068445412 | https://api.github.com/repos/simonw/datasette/issues/1509 | IC_kwDOBm6k_c4_ry7k | simonw 9599 | 2022-03-15T20:37:50Z | 2022-03-15T20:38:56Z | OWNER | ... maybe Datasette itself should include interactive API documentation, in addition to documenting it in the manual?
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette 1.0 JSON API (and documentation) 1054243511 | |
1068444767 | https://github.com/simonw/datasette/issues/1509#issuecomment-1068444767 | https://api.github.com/repos/simonw/datasette/issues/1509 | IC_kwDOBm6k_c4_ryxf | simonw 9599 | 2022-03-15T20:37:03Z | 2022-03-15T20:37:03Z | OWNER | Idea: I could add Pydantic https://pydantic-docs.helpmanual.io/usage/schema/ as an optional test dependency and use it to generate JSON schemas and run validation against examples in the API documentation. Maybe generate API documentation from it too? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette 1.0 JSON API (and documentation) 1054243511 | |
1068443509 | https://github.com/simonw/datasette/issues/1510#issuecomment-1068443509 | https://api.github.com/repos/simonw/datasette/issues/1510 | IC_kwDOBm6k_c4_ryd1 | simonw 9599 | 2022-03-15T20:35:29Z | 2022-03-15T20:35:29Z | OWNER | If I set a rule that everything available in the template context MUST also be available via the JSON API (maybe through an extras mechanism) I can combine this with API documentation and solve both at once. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette 1.0 documented template context (maybe via API docs) 1054244712 | |
650696054 | https://github.com/simonw/datasette/issues/870#issuecomment-650696054 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDY5NjA1NA== | simonw 9599 | 2020-06-28T04:52:41Z | 2022-03-15T20:07:17Z | OWNER | This would be a lot easier if I had extracted out the hash logic to a plugin, see: - #647 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
1068418619 | https://github.com/simonw/datasette/issues/1660#issuecomment-1068418619 | https://api.github.com/repos/simonw/datasette/issues/1660 | IC_kwDOBm6k_c4_rsY7 | simonw 9599 | 2022-03-15T20:06:19Z | 2022-03-15T20:06:19Z | OWNER | Also related: - #878 - #1512 - #1518 - #870 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor and simplify Datasette routing and views 1170144879 | |
1068417357 | https://github.com/simonw/datasette/issues/1660#issuecomment-1068417357 | https://api.github.com/repos/simonw/datasette/issues/1660 | IC_kwDOBm6k_c4_rsFN | simonw 9599 | 2022-03-15T20:05:08Z | 2022-03-15T20:05:08Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor and simplify Datasette routing and views 1170144879 | |
1068415072 | https://github.com/simonw/datasette/issues/1660#issuecomment-1068415072 | https://api.github.com/repos/simonw/datasette/issues/1660 | IC_kwDOBm6k_c4_rrhg | simonw 9599 | 2022-03-15T20:02:36Z | 2022-03-15T20:02:36Z | OWNER | This is one of the worst bits - the Then And its own render method that adds extra stuff to the template context and handles the rel: alternate header: Then To streaming CSV responses: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L286-L308 To handling SQLite exceptions: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L514-L526 And a ton more. It' s a big mess. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor and simplify Datasette routing and views 1170144879 | |
1068327874 | https://github.com/simonw/datasette/issues/1062#issuecomment-1068327874 | https://api.github.com/repos/simonw/datasette/issues/1062 | IC_kwDOBm6k_c4_rWPC | simonw 9599 | 2022-03-15T18:33:49Z | 2022-03-15T18:33:49Z | OWNER | I can get regular |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor .csv to be an output renderer - and teach register_output_renderer to stream all rows 732674148 | |
1068319530 | https://github.com/simonw/datasette/issues/1651#issuecomment-1068319530 | https://api.github.com/repos/simonw/datasette/issues/1651 | IC_kwDOBm6k_c4_rUMq | simonw 9599 | 2022-03-15T18:25:42Z | 2022-03-15T18:25:42Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get rid of the no-longer necessary ?_format=json hack for tables called x.json 1161584460 | ||
1068318454 | https://github.com/simonw/datasette/issues/1657#issuecomment-1068318454 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_rT72 | simonw 9599 | 2022-03-15T18:25:11Z | 2022-03-15T18:25:11Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | ||
1068306916 | https://github.com/simonw/datasette/issues/1657#issuecomment-1068306916 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_rRHk | simonw 9599 | 2022-03-15T18:15:11Z | 2022-03-15T18:15:11Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | ||
1068296042 | https://github.com/simonw/datasette/issues/1657#issuecomment-1068296042 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_rOdq | simonw 9599 | 2022-03-15T18:05:54Z | 2022-03-15T18:05:54Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | ||
1068193035 | https://github.com/simonw/datasette/pull/1659#issuecomment-1068193035 | https://api.github.com/repos/simonw/datasette/issues/1659 | IC_kwDOBm6k_c4_q1UL | codecov[bot] 22429695 | 2022-03-15T16:28:25Z | 2022-03-15T17:56:09Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1659 +/-==========================================
+ Coverage 92.06% 92.10% +0.03% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/app.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 } |
Tilde encoding 1169895600 | |
1068181623 | https://github.com/simonw/datasette/issues/1657#issuecomment-1068181623 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_qyh3 | simonw 9599 | 2022-03-15T16:18:23Z | 2022-03-15T16:18:23Z | OWNER | Moving this to a PR. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1068154183 | https://github.com/simonw/datasette/pull/1656#issuecomment-1068154183 | https://api.github.com/repos/simonw/datasette/issues/1656 | IC_kwDOBm6k_c4_qr1H | codecov[bot] 22429695 | 2022-03-15T15:55:34Z | 2022-03-15T15:55:34Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1656 +/-=======================================
Coverage 92.06% 92.06% 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 <7.1.0,>=5.2.2 to >=5.2.2,<7.2.0 1168357113 | |
1068148013 | https://github.com/simonw/datasette/issues/1657#issuecomment-1068148013 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_qqUt | simonw 9599 | 2022-03-15T15:50:15Z | 2022-03-15T15:50:15Z | OWNER | The thing that broke everything was this change: I'm going to bring back the horrible |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1068138578 | https://github.com/simonw/datasette/issues/1658#issuecomment-1068138578 | https://api.github.com/repos/simonw/datasette/issues/1658 | IC_kwDOBm6k_c4_qoBS | simonw 9599 | 2022-03-15T15:42:49Z | 2022-03-15T15:42:49Z | OWNER | Easiest way to do this was with three reverts, then cherry-pick back the code of conduct. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Revert main to version that passes tests 1169840669 | |
1068126821 | https://github.com/simonw/datasette/issues/1657#issuecomment-1068126821 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_qlJl | simonw 9599 | 2022-03-15T15:31:54Z | 2022-03-15T15:31:54Z | OWNER | The state I had got to prior to that revert is in https://github.com/simonw/datasette/tree/issue-1657-wip |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1068125636 | https://github.com/simonw/datasette/issues/1657#issuecomment-1068125636 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_qk3E | simonw 9599 | 2022-03-15T15:30:54Z | 2022-03-15T15:30:54Z | OWNER | I've made a real mess of this. I'm going to revert Datasette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1067981656 | https://github.com/simonw/sqlite-utils/issues/131#issuecomment-1067981656 | https://api.github.com/repos/simonw/sqlite-utils/issues/131 | IC_kwDOCGYnMM4_qBtY | eyeseast 25778 | 2022-03-15T13:21:42Z | 2022-03-15T13:21:42Z | CONTRIBUTOR | Just ran into this issue last night. I have a big table that's mostly numbers, but also a zip code column in a state where ZIP codes start with 0. Would be great to run something like this:
Maybe I'll take a crack at this one. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils insert: options for column types 675753042 | |
1067423720 | https://github.com/simonw/datasette/issues/1657#issuecomment-1067423720 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_n5fo | simonw 9599 | 2022-03-14T23:59:56Z | 2022-03-14T23:59:56Z | OWNER | Updated test:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1067414156 | https://github.com/simonw/datasette/issues/1657#issuecomment-1067414156 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_n3KM | simonw 9599 | 2022-03-14T23:38:41Z | 2022-03-14T23:38:41Z | OWNER | And in https://datatracker.ietf.org/doc/html/rfc3986#section-2.3 "Unreserved Characters":
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1067413691 | https://github.com/simonw/datasette/issues/1657#issuecomment-1067413691 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_n3C7 | simonw 9599 | 2022-03-14T23:37:42Z | 2022-03-14T23:37:42Z | OWNER | Relevant: https://datatracker.ietf.org/doc/html/rfc3986#section-2.1 ```
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1067382442 | https://github.com/simonw/datasette/issues/1651#issuecomment-1067382442 | https://api.github.com/repos/simonw/datasette/issues/1651 | IC_kwDOBm6k_c4_nvaq | simonw 9599 | 2022-03-14T22:59:10Z | 2022-03-14T22:59:10Z | OWNER | This work is now blocked on: - https://github.com/simonw/datasette/issues/1657 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get rid of the no-longer necessary ?_format=json hack for tables called x.json 1161584460 | |
1067382232 | https://github.com/simonw/datasette/issues/1657#issuecomment-1067382232 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_nvXY | simonw 9599 | 2022-03-14T22:58:47Z | 2022-03-14T22:58:47Z | OWNER | Asked about this on Twitter:
Replies so far seem like it should be OK - Apache has supported this for home directories for a couple of decades now without any problems. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1067381556 | https://github.com/simonw/datasette/issues/1657#issuecomment-1067381556 | https://api.github.com/repos/simonw/datasette/issues/1657 | IC_kwDOBm6k_c4_nvM0 | simonw 9599 | 2022-03-14T22:57:27Z | 2022-03-14T22:57:45Z | OWNER | The problem with the dash encoding mechanism is that it turns out dashes are used in a LOT of existing Datasette instances - much of https://fivethirtyeight.datasettes.com/fivethirtyeight for example, and even https://datasette.io/ itself: https://datasette.io/dogsheep-index It's pretty ugly to force all of those to change to their dash-encoded equivalent - and in fact it broke https://datasette.io/ in a subtle way: I'm going to try using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tilde encoding: use ~ instead of - for dash-encoding 1168995756 | |
1066222323 | https://github.com/simonw/datasette/issues/1384#issuecomment-1066222323 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_jULz | brandonrobertz 2670795 | 2022-03-14T00:36:42Z | 2022-03-14T00:36:42Z | CONTRIBUTOR |
All good. Report back any issues you find with this stuff. Metadata/dynamic config hasn't been tested widely outside of what I've done AFAIK. If you find a strong use case for async meta, it's going to be better to know sooner rather than later! |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1066194130 | https://github.com/simonw/datasette/issues/1384#issuecomment-1066194130 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_jNTS | khusmann 167160 | 2022-03-13T22:23:04Z | 2022-03-13T22:23:04Z | NONE | Ah, sorry, I didn't get what you were saying you the first time. Using _metadata_local in that way makes total sense -- I agree, refreshing metadata each cell was seeming quite excessive. Now I'm on the same page! :) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1066169718 | https://github.com/simonw/datasette/issues/1384#issuecomment-1066169718 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_jHV2 | brandonrobertz 2670795 | 2022-03-13T19:48:49Z | 2022-03-13T19:48:49Z | CONTRIBUTOR |
You shouldn't need to do this, as I mentioned previously. The code inside |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1066143991 | https://github.com/simonw/datasette/issues/1384#issuecomment-1066143991 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_jBD3 | khusmann 167160 | 2022-03-13T17:13:09Z | 2022-03-13T17:13:09Z | NONE | Thanks for taking the time to reply @brandonrobertz , this is really helpful info.
Ah, that's nifty! Yeah, then caching on the python side is likely a waste :) I'm new to working with sqlite so this is super good to know the many-small-queries is a common pattern
For my reference, did you include a (If you didn't test this specific situation, no worries -- I'm just trying to calibrate my intuition on this and can do my own benchmarks at some point.)
Yeah, getting metadata (and static pages as well for that matter) from internal tables definitely has my vote for including as a standard feature! Its really nice to be able to distribute a single *.db with all the metadata and static pages bundled. My metadata are sufficiently complex/domain specific that it makes sense to continue on my own plugin for now, but I'll be thinking about more general parts I can spin off as possible contributions to liveconfig (if you're open to them) or other plugins in this ecosystem. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1066139147 | https://github.com/simonw/sqlite-utils/issues/408#issuecomment-1066139147 | https://api.github.com/repos/simonw/sqlite-utils/issues/408 | IC_kwDOCGYnMM4_i_4L | learning4life 24938923 | 2022-03-13T16:45:00Z | 2022-03-13T16:54:09Z | NONE | @simonw Now I get this:
Dockerfile ``` FROM centos/python-38-centos7 USER root RUN yum update -y RUN yum upgrade -y epelRUN yum -y install epel-release && yum clean all SQLiteRUN yum -y install zlib-devel geos geos-devel proj proj-devel freexl freexl-devel libxml2-devel WORKDIR /build/ COPY sqlite-autoconf-3360000.tar.gz ./ RUN tar -zxf sqlite-autoconf-3360000.tar.gz WORKDIR /build/sqlite-autoconf-3360000 RUN ./configure RUN make RUN make install RUN /opt/app-root/bin/python3.8 -m pip install --upgrade pip RUN pip install sqlite-utils ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`deterministic=True` fails on versions of SQLite prior to 3.8.3 1145882578 | |
1066006292 | https://github.com/simonw/datasette/issues/1384#issuecomment-1066006292 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_ifcU | brandonrobertz 2670795 | 2022-03-13T02:09:44Z | 2022-03-13T02:09:44Z | CONTRIBUTOR |
Reading from sqlite DBs is pretty quick and I didn't notice significant performance issues when I was benchmarking. I tested on very large Datasette deployments (hundreds of DBs, millions of rows). See "Many small queries are efficient in sqlite" for more information on the rationale here. Also note that in the datasette-live-config reference plugin, the DB connection is cached, so that eliminated most of the performance worries we had. If you need to ensure fresh metadata is being read inside of a
Yes correct, the datadette-remote-metadata plugin doesn't do that. But the datasette-live-config plugin does. It supports a Good luck! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1065988403 | https://github.com/simonw/datasette/issues/1439#issuecomment-1065988403 | https://api.github.com/repos/simonw/datasette/issues/1439 | IC_kwDOBm6k_c4_ibEz | simonw 9599 | 2022-03-13T00:06:38Z | 2022-03-13T00:07:19Z | OWNER | If I want to reserve
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink how .ext formats (v.s. ?_format=) works before 1.0 973139047 | |
1065987808 | https://github.com/simonw/datasette/issues/1439#issuecomment-1065987808 | https://api.github.com/repos/simonw/datasette/issues/1439 | IC_kwDOBm6k_c4_ia7g | simonw 9599 | 2022-03-13T00:02:32Z | 2022-03-13T00:02:32Z | OWNER | OK, this has broken a lot more than I expected it would. Turns out https://datasette.io/-/databases for example has two:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink how .ext formats (v.s. ?_format=) works before 1.0 973139047 | |
1065951744 | https://github.com/simonw/datasette/issues/1384#issuecomment-1065951744 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_iSIA | khusmann 167160 | 2022-03-12T19:47:17Z | 2022-03-12T19:47:17Z | NONE | Awesome, thanks @brandonrobertz ! The plugin is close, but looks like it only grabs remote metadata, is that right? Instead what I'm wanting is to grab metadata embedded in the attached databases. Rather than extending that plugin, at this point I've realized I need a lot more flexibility in metadata for my data model (esp around formatting cell values and custom file exports) so rather than extending that I'll continue working on a plugin specific to my app. If I'm understanding your plugin code correctly, you query the db using the sync handle every time
I agree -- because things like That leaves your app, where it sounds like you want changes made by the user in the browser in to be immediately reflected, rather than have to wait for the next metadata refresh. In this case I wonder if you could have your app make a sync write to the datasette object so the change would have the immediate effect, but then have a separate async polling mechanism to eventually write that change out to the database for long-term persistence. Then you'd have the best of both worlds, I think? But probably not worth the trouble if your use cases are small (and/or you're not reading metadata/config from tight loops like render_cell). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1065940779 | https://github.com/simonw/datasette/issues/1384#issuecomment-1065940779 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_iPcr | brandonrobertz 2670795 | 2022-03-12T18:49:29Z | 2022-03-12T18:50:07Z | CONTRIBUTOR | Hello! Just wanted to chime in and note that there's a plugin to have Datasette watch for updates to an external metadata.yaml/json and update the internal settings accordingly, so I think the cache/poll use case is already covered. @khusmann If you don't need truly dynamic metadata then what you've come up with or the plugin ought to work fine. Making the get_metadata async won't improve the situation by itself as only some of the code paths accessing metadata use that hook. The other paths use the internal metadata dict. Trying to force all paths through a async hook would have performance ramifications and making everything use the internal meta will cause problems for users that need changes to take effect immediately. This is why I came to the non-async solution as it was the path of least change within Datasette. As always, open to new ideas, etc! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1065929510 | https://github.com/simonw/datasette/issues/1384#issuecomment-1065929510 | https://api.github.com/repos/simonw/datasette/issues/1384 | IC_kwDOBm6k_c4_iMsm | khusmann 167160 | 2022-03-12T17:49:59Z | 2022-03-12T17:49:59Z | NONE | Ok, I'm taking a slightly different approach, which I think is sort of close to the in-memory _metadata table idea. I'm using a startup hook to load metadata / other info from the database, which I store in the datasette object for later:
Then, I can use this in other plugins:
For my app I don't need anything to update dynamically so it's fine to pre-populate everything on startup. It's also good to have things precached especially for a hook like render_cell, which would otherwise require a ton of redundant db queries. Makes me wonder if we could take a sort of similar caching approach with the internal _metadata table. Like have a little watchdog that could query all of the attached dbs for their _metadata tables every 5min or so, which then could be merged into the in memory _metadata table which then could be accessed sync by the plugins, or something like that. For most the use cases I can think of, live updates don't need to take into effect immediately; refreshing a cache every 5min or on some other trigger (adjustable w a config setting) would be just fine. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1065597709 | https://github.com/simonw/sqlite-utils/issues/411#issuecomment-1065597709 | https://api.github.com/repos/simonw/sqlite-utils/issues/411 | IC_kwDOCGYnMM4_g7sN | simonw 9599 | 2022-03-11T22:32:43Z | 2022-03-11T22:32:43Z | OWNER | Trying to figure out what that extra field in
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 1160034488 | |
1065596417 | https://github.com/simonw/sqlite-utils/issues/411#issuecomment-1065596417 | https://api.github.com/repos/simonw/sqlite-utils/issues/411 | IC_kwDOCGYnMM4_g7YB | simonw 9599 | 2022-03-11T22:30:15Z | 2022-03-11T22:30:15Z | OWNER | I tried it out in Jupyter and it works as advertised: Introspection is a bit weird: there doesn't seem to be a way to introspect generated columns outside of parsing the stored SQL schema for the columns at the moment! And the Here's why: ```
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 1160034488 | |
1065402557 | https://github.com/simonw/sqlite-utils/issues/411#issuecomment-1065402557 | https://api.github.com/repos/simonw/sqlite-utils/issues/411 | IC_kwDOCGYnMM4_gMC9 | simonw 9599 | 2022-03-11T19:01:08Z | 2022-03-11T21:42:25Z | OWNER | Just spotted this in https://www.sqlite.org/gencol.html
So to add stored columns to an existing table we would need to use the Here's where |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 1160034488 | |
1065389386 | https://github.com/simonw/sqlite-utils/issues/411#issuecomment-1065389386 | https://api.github.com/repos/simonw/sqlite-utils/issues/411 | IC_kwDOCGYnMM4_gI1K | simonw 9599 | 2022-03-11T18:42:53Z | 2022-03-11T21:40:51Z | OWNER | The Python API could be:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 1160034488 | |
1065477258 | https://github.com/simonw/sqlite-utils/issues/411#issuecomment-1065477258 | https://api.github.com/repos/simonw/sqlite-utils/issues/411 | IC_kwDOCGYnMM4_geSK | eyeseast 25778 | 2022-03-11T20:14:59Z | 2022-03-11T20:14:59Z | CONTRIBUTOR | Good call on adding this to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 1160034488 | |
1065458729 | https://github.com/simonw/sqlite-utils/issues/411#issuecomment-1065458729 | https://api.github.com/repos/simonw/sqlite-utils/issues/411 | IC_kwDOCGYnMM4_gZwp | simonw 9599 | 2022-03-11T19:58:50Z | 2022-03-11T20:00:25Z | OWNER | I'm coming round to your suggestion to have this as extra arguments to I'd like to come up with syntax for https://sqlite-utils.datasette.io/en/stable/cli-reference.html#create-table Maybe extra |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 1160034488 |
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]);
issue >1000