home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

4 rows where issue = 1279863844 sorted by updated_at descending

✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

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

user 2

  • simonw 2
  • davidleejy 2

author_association 2

  • CONTRIBUTOR 2
  • OWNER 2

issue 1

  • Utilities for duplicating tables and creating a table with the results of a query · 4 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
1185970114 https://github.com/simonw/sqlite-utils/issues/449#issuecomment-1185970114 https://api.github.com/repos/simonw/sqlite-utils/issues/449 IC_kwDOCGYnMM5GsHfC simonw 9599 2022-07-15T21:46:13Z 2022-07-15T21:46:13Z OWNER

Documentation: - https://sqlite-utils.datasette.io/en/latest/python-api.html#duplicating-tables - https://sqlite-utils.datasette.io/en/latest/reference.html#sqlite_utils.db.Table.duplicate

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Utilities for duplicating tables and creating a table with the results of a query 1279863844  
1179579878 https://github.com/simonw/sqlite-utils/issues/449#issuecomment-1179579878 https://api.github.com/repos/simonw/sqlite-utils/issues/449 IC_kwDOCGYnMM5GTvXm davidleejy 1690072 2022-07-09T17:41:32Z 2022-07-09T17:41:50Z CONTRIBUTOR

Learnt that the types in Sqlite-utils differ somewhat from those in Sqlite. I've changed my test to account for this difference and the test has passed successfully. I will submit a PR.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Utilities for duplicating tables and creating a table with the results of a query 1279863844  
1174027079 https://github.com/simonw/sqlite-utils/issues/449#issuecomment-1174027079 https://api.github.com/repos/simonw/sqlite-utils/issues/449 IC_kwDOCGYnMM5F-jtH davidleejy 1690072 2022-07-04T17:33:04Z 2022-07-04T17:48:43Z CONTRIBUTOR

I've written the code and test. Would you be able to advise how to compare table columns in a pytest function properly? Experiencing a challenge when comparing columns.

Test: python def test_duplicate(fresh_db): table = fresh_db.create_table( "table1", { "text_col": str, "float_col": float, "int_col": int, "bool_col": bool, "bytes_col": bytes, "datetime_col": datetime.datetime, }, ) dt = datetime.datetime.now() b = bytes('hello world', 'utf-8') data = {"text_col": "Cleo", "float_col": 3.14, "int_col": -2, "bool_col": True, "bytes_col": b, "datetime_col": str(dt)} table1 = fresh_db["table1"] row_id = table1.insert(data).last_rowid table1.duplicate('table2') table2 = fresh_db["table2"] assert data == table2.get(row_id) assert table1.columns == table2.columns # FAILS HERE

Result:

Failure is due to column types being named differently -- e.g. 'FLOAT' vs 'REAL', 'INTEGER' vs 'INT'. How should I go about comparing columns while accounting for equivalent types?

Or did I miss out something in my duplication code correctly? Here's how I did it: in db.py, I've added the following code: ```python class Table(Queryable): [...] def duplicate( self, name_new: str ) -> "Table": """ Duplicate this table in this database.

    :param name_new: Name of new table.
    """
    assert self.exists()
    with self.db.conn:
        sql = "CREATE TABLE [{new_table}] AS SELECT * FROM [{table}];".format(
            new_table = name_new,
            table = self.name,
        )
        self.db.execute(sql)
    return self.db[name_new]

```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Utilities for duplicating tables and creating a table with the results of a query 1279863844  
1172902594 https://github.com/simonw/sqlite-utils/issues/449#issuecomment-1172902594 https://api.github.com/repos/simonw/sqlite-utils/issues/449 IC_kwDOCGYnMM5F6RLC simonw 9599 2022-07-02T13:55:51Z 2022-07-02T13:55:51Z OWNER

I like the idea of this as a feature - design could look like this:

db["my_table"].duplicate("new_table")

Then for the CLI tool:

sqlite-utils duplicate data.db my_table new_table

Additional features that might be useful:

  • Duplicate across connection aliases - so you can copy a table to another database using the duplicate method or command
  • Ability to execute an arbitrary SQL query and save the results to a new table - basically a wrapper around CREATE TABLE t AS SELECT ..., again with alias support for copying to another database
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Utilities for duplicating tables and creating a table with the results of a query 1279863844  

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