home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

6 rows where issue = 1940346034 and user = 9599 sorted by updated_at descending

✖
✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

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

user 1

  • simonw · 6 ✖

issue 1

  • Detailed upgrade instructions for metadata.yaml -> datasette.yaml · 6 ✖

author_association 1

  • OWNER 6
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
1760441535 https://github.com/simonw/datasette/issues/2199#issuecomment-1760441535 https://api.github.com/repos/simonw/datasette/issues/2199 IC_kwDOBm6k_c5o7jS_ simonw 9599 2023-10-12T22:08:42Z 2023-10-12T22:08:42Z OWNER

Pushed that incomplete code here: https://github.com/datasette/datasette-upgrade

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Detailed upgrade instructions for metadata.yaml -> datasette.yaml 1940346034  
1760413191 https://github.com/simonw/datasette/issues/2199#issuecomment-1760413191 https://api.github.com/repos/simonw/datasette/issues/2199 IC_kwDOBm6k_c5o7cYH simonw 9599 2023-10-12T21:52:25Z 2023-10-12T21:52:25Z OWNER

Demo of that logic: $ datasette upgrade metadata-to-config ../datasette/metadata.json Upgrading ../datasette/metadata.json to new metadata.yaml format New metadata.yaml file will be written to metadata-new-1.yaml New datasette.yaml file will be written to datasette.yaml $ touch metadata-new-1.yaml $ datasette upgrade metadata-to-config ../datasette/metadata.json Upgrading ../datasette/metadata.json to new metadata.yaml format New metadata.yaml file will be written to metadata-new-2.yaml New datasette.yaml file will be written to datasette.yaml $ touch datasette.yaml $ datasette upgrade metadata-to-config ../datasette/metadata.json Upgrading ../datasette/metadata.json to new metadata.yaml format New metadata.yaml file will be written to metadata-new-2.yaml New datasette.yaml file will be written to datasette-new.yaml

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Detailed upgrade instructions for metadata.yaml -> datasette.yaml 1940346034  
1760412424 https://github.com/simonw/datasette/issues/2199#issuecomment-1760412424 https://api.github.com/repos/simonw/datasette/issues/2199 IC_kwDOBm6k_c5o7cMI simonw 9599 2023-10-12T21:51:44Z 2023-10-12T21:51:44Z OWNER

Started playing with this plugin idea, now tearing myself away to work on something more important: ```python from datasette import hookimpl import click import pathlib

@hookimpl def register_commands(cli): @cli.group() def upgrade(): """ Apply configuration upgrades to an existing Datasette instance """ pass

@upgrade.command()
@click.argument(
    "metadata", type=click.Path(exists=True)
)
@click.option(
    "new_metadata", "-m", "--new-metadata", help="Path to new metadata.yaml file", type=click.Path(exists=False)
)
@click.option(
    "new_datasette", "-c", "--new-datasette", help="Path to new datasette.yaml file", type=click.Path(exists=False)
)
@click.option(
    "output_dir", "-e", "--output-dir", help="Directory to write new files to", type=click.Path(), default="."
)
def metadata_to_config(metadata, new_metadata, new_datasette, output_dir):
    """
    Upgrade an existing metadata.json/yaml file to the new metadata.yaml and
    datasette.yaml split introduced prior to Datasette 1.0.
    """
    print("Upgrading {} to new metadata.yaml format".format(metadata))
    output_dir = pathlib.Path(output_dir)
    if not new_metadata:
        # Pick a filename for the new metadata.yaml file that does not yet exist
        new_metadata = pick_filename("metadata", output_dir)
    if not new_datasette:
        new_datasette = pick_filename("datasette", output_dir)
    print("New metadata.yaml file will be written to {}".format(new_metadata))
    print("New datasette.yaml file will be written to {}".format(new_datasette))

def pick_filename(base, output_dir): options = ["{}.yaml".format(base), "{}-new.yaml".format(base)] i = 0 while True: option = options.pop(0) option_path = output_dir / option if not option_path.exists(): return option_path # If we ran out if not options: i += 1 options = ["{}-new-{}.yaml".format(base, i)] ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Detailed upgrade instructions for metadata.yaml -> datasette.yaml 1940346034  
1760411937 https://github.com/simonw/datasette/issues/2199#issuecomment-1760411937 https://api.github.com/repos/simonw/datasette/issues/2199 IC_kwDOBm6k_c5o7cEh simonw 9599 2023-10-12T21:51:16Z 2023-10-12T21:51:16Z OWNER

I think I'm OK with not preserving comments, just because it adds a level of complexity to the tool which I don't think is worth the value it provides.

If people want to keep their comments I'm happy to leave them to copy those over by hand.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Detailed upgrade instructions for metadata.yaml -> datasette.yaml 1940346034  
1760396195 https://github.com/simonw/datasette/issues/2199#issuecomment-1760396195 https://api.github.com/repos/simonw/datasette/issues/2199 IC_kwDOBm6k_c5o7YOj simonw 9599 2023-10-12T21:36:25Z 2023-10-12T21:36:25Z OWNER

Related idea: how about a datasette-upgrade plugin which adds a datasette upgrade command that can be used to automate this process?

Maybe something like this: bash datasette install datasette-upgrade datasette upgrade metadata-to-config metadata.json This would output two new files: metadata.yaml and datasette.yaml. If files with those names existed already in the current directory they would be called metadata-new.yaml and datasette-new.yaml.

The command would tell you what it did: ``` Your metadata.json file has been rewritten as two files:

metadata-new.yaml
datasette.yaml

Start Datasette like this to try them out:

datasette -m metadata-new.yaml -c datasette.yaml

`` The command isdatasette upgrade metadata-to-configbecausemetadata-to-config` is the name of the upgrade recipe. The first version of the plugin would only have that single recipe, but we could add more recipes in the future for other upgrades.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Detailed upgrade instructions for metadata.yaml -> datasette.yaml 1940346034  
1759952247 https://github.com/simonw/datasette/issues/2199#issuecomment-1759952247 https://api.github.com/repos/simonw/datasette/issues/2199 IC_kwDOBm6k_c5o5r13 simonw 9599 2023-10-12T16:23:10Z 2023-10-12T16:23:10Z OWNER

Some options for where this could go: - Directly in the release notes? I'm not sure about that, those are getting pretty long already. I think the release notes should link to relevant upgrade guides. - On a new page? We could have a "upgrade instructions" page in the documentation. - At the bottom of the new https://docs.datasette.io/en/latest/configuration.html page

I'm leaning towards the third option at the moment.

But... we may also need to provide upgrade instructions for plugin authors. Those could live in a separate area of the documentation though, since issues affecting end-users who configure Datasette and issues affecting plugin authors are unlikely to overlap much.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Detailed upgrade instructions for metadata.yaml -> datasette.yaml 1940346034  

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 812.86ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows