home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 1229279539

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions issue performed_via_github_app
https://github.com/simonw/sqlite-utils/pull/468#issuecomment-1229279539 https://api.github.com/repos/simonw/sqlite-utils/issues/468 1229279539 IC_kwDOCGYnMM5JRVEz 9599 2022-08-27T22:24:33Z 2022-08-27T22:24:33Z OWNER

Interesting challenge with default_value: I need to be able to tell if the default values passed to .create() differ from those in the database already.

Introspecting that is a bit tricky:

```pycon

import sqlite_utils db = sqlite_utils.Database(memory=True) db["blah"].create({"id": int, "name": str}, not_null=("name",), defaults={"name": "bob"})

<Table blah (id, name)> >>> db["blah"].columns [Column(cid=0, name='id', type='INTEGER', notnull=0, default_value=None, is_pk=0), Column(cid=1, name='name', type='TEXT', notnull=1, default_value="'bob'", is_pk=0)] ``` Note how a default value of the Python string `bob` is represented in the results of `PRAGMA table_info()` as `default_value="'bob'"` - it's got single quotes added to it! So comparing default values from introspecting the database needs me to first parse that syntax. This may require a new table introspection method.
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
1348294436  
Powered by Datasette · Queries took 1.875ms · About: github-to-sqlite