home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

5 rows where issue = 670209331 sorted by updated_at descending

✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: reactions, created_at (date), updated_at (date)

user 1

  • simonw 5

issue 1

  • Mechanism for passing additional options to `datasette my.db` that affect plugins · 5 ✖

author_association 1

  • OWNER 5
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
754187520 https://github.com/simonw/datasette/issues/913#issuecomment-754187520 https://api.github.com/repos/simonw/datasette/issues/913 MDEyOklzc3VlQ29tbWVudDc1NDE4NzUyMA== simonw 9599 2021-01-04T20:04:10Z 2021-01-04T20:04:10Z OWNER

That's pretty elegant: each plugin gets its own namespace and can register new settings.

{
    "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  
754187326 https://github.com/simonw/datasette/issues/913#issuecomment-754187326 https://api.github.com/repos/simonw/datasette/issues/913 MDEyOklzc3VlQ29tbWVudDc1NDE4NzMyNg== simonw 9599 2021-01-04T20:03:50Z 2021-01-04T20:03:50Z OWNER

I renamed --config to --setting and changed it to work like this:

datasette --setting sql_time_limit_ms 1000

Note the lack of colons.

This actually makes colons cleaner to use for plugins - I could support this:

datasette --setting datasette-insert:unsafe 1
{
    "total_count": 1,
    "+1": 1,
    "-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  
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 metadata.json or metadata.yml. Especially since I'm already considering renaming or reworking that mechanism since plugin configuration has nothing to do with database metadata: #493

{
    "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 datasette serve - but what if two plugins both try to register an option with the same name?

A better solution could be to use the existing --config option - and allow plugins to register their own, namespaced config options. So you could do things like:

datasette my.db --config datasette-insert:unsafe:1

Maybe even drop the datasette- prefix?

datasette my.db --config insert:unsafe:1

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 --config options at the moment:

https://github.com/simonw/datasette/blob/7ca8c0521ac1ea48a3cd8d0fe9275d1316e54b43/datasette/cli.py#L25-L40

{
    "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  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

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]);
Powered by Datasette · Queries took 21.047ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows