home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 614845657

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/issues/100#issuecomment-614845657 https://api.github.com/repos/simonw/sqlite-utils/issues/100 614845657 MDEyOklzc3VlQ29tbWVudDYxNDg0NTY1Nw== 9599 2020-04-16T19:17:05Z 2020-04-16T19:17:05Z OWNER

The syntax for explicitly creating a table looks like this: python db["cats"].create({ "id": int, "name": str, "weight": float, }, pk="id") So using a dictionary of column name -> Python type here would be good.

I think it becomes a new optional argument to .insert_all() and .insert() and .upsert_all() and .upsert(). Question is, what should that argument be called?

Options:

  • columns
  • types
  • type_overrides
  • extra_columns

I like the first two best. I'm leaning towards columns - it would serve two purposes: you can use it to ensure extra columns are created, and you can use it to specify the type on extra OR deteced columns.

Maybe something like this:

python db["authors"].insert_all( [{"id": 1, "name": "Sally", "score": "2"}], pk="id", not_null={"name", "score"}, defaults={"score": 1}, columns={"score": int, "weight": float} )

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
601358649  
Powered by Datasette · Queries took 0.942ms · About: github-to-sqlite