github
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/datasette/pull/631#issuecomment-553233439 | https://api.github.com/repos/simonw/datasette/issues/631 | 553233439 | MDEyOklzc3VlQ29tbWVudDU1MzIzMzQzOQ== | 9599 | 2019-11-13T04:26:40Z | 2019-11-13T04:26:40Z | OWNER | Nice fix, thanks! | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521923131 | |
https://github.com/simonw/datasette/issues/632#issuecomment-553264586 | https://api.github.com/repos/simonw/datasette/issues/632 | 553264586 | MDEyOklzc3VlQ29tbWVudDU1MzI2NDU4Ng== | 9599 | 2019-11-13T06:47:53Z | 2019-11-13T06:47:53Z | OWNER | https://github.com/simonw/datasette/blob/973f8f139df6ad425354711052cfc2256de2e522/datasette/publish/heroku.py#L167 | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521995039 | |
https://github.com/simonw/datasette/issues/633#issuecomment-553483419 | https://api.github.com/repos/simonw/datasette/issues/633 | 553483419 | MDEyOklzc3VlQ29tbWVudDU1MzQ4MzQxOQ== | 9599 | 2019-11-13T16:35:34Z | 2019-11-13T16:35:34Z | OWNER | The problem is this code in uvicorn: https://github.com/encode/uvicorn/blob/020dd085a0a5b609f14ddd2b36fc0a97ba4df019/uvicorn/main.py#L297-L302 ```python if (config.reload or config.workers > 1) and not isinstance(app, str): logger = logging.getLogger("uvicorn.error") logger.warn( "You must pass the application as an import string to enable 'reload' or 'workers'." ) sys.exit(1) ``` From this commit 4 days ago: https://github.com/encode/uvicorn/commit/b034f7a136c5e57a33ffd10ce2404cc1faee9033 - see Uvicorn https://github.com/encode/uvicorn/issues/478 and https://github.com/encode/uvicorn/pull/481 This is breaking because `--workers` "Defaults to the $WEB_CONCURRENCY environment variable if available" - and it turns out on Heroku WEB_CONCURRENCY is set to 2 by default! | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
522334771 | |
https://github.com/simonw/datasette/issues/633#issuecomment-553483633 | https://api.github.com/repos/simonw/datasette/issues/633 | 553483633 | MDEyOklzc3VlQ29tbWVudDU1MzQ4MzYzMw== | 9599 | 2019-11-13T16:36:02Z | 2019-11-13T16:36:35Z | OWNER | Short term fix: set `--workers=1` when publishing with Heroku. Or even easier - set WEB_CONCURRENCY to 1. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
522334771 | |
https://github.com/simonw/datasette/issues/632#issuecomment-553487179 | https://api.github.com/repos/simonw/datasette/issues/632 | 553487179 | MDEyOklzc3VlQ29tbWVudDU1MzQ4NzE3OQ== | 9599 | 2019-11-13T16:44:07Z | 2019-11-13T16:44:07Z | OWNER | Here's an instance deployed using the new code which shows Python 3.8.0: https://datasette-fixtures.herokuapp.com/-/versions | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521995039 | |
https://github.com/simonw/sqlite-utils/issues/66#issuecomment-553526685 | https://api.github.com/repos/simonw/sqlite-utils/issues/66 | 553526685 | MDEyOklzc3VlQ29tbWVudDU1MzUyNjY4NQ== | 9599 | 2019-11-13T17:58:59Z | 2019-11-13T17:58:59Z | OWNER | This warrants making a backwards compatible change, which means I'll need to bump the major version number and release 2.0. I'm going to rename the existing `upsert()` and `upsert_all()` methods to `replace()` and `replace_all()` - then write new `upsert()` and `upsert_all()` methods that implement the correct behavior. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521868864 | |
https://github.com/simonw/sqlite-utils/issues/66#issuecomment-553527384 | https://api.github.com/repos/simonw/sqlite-utils/issues/66 | 553527384 | MDEyOklzc3VlQ29tbWVudDU1MzUyNzM4NA== | 9599 | 2019-11-13T18:00:41Z | 2019-11-13T18:00:41Z | OWNER | Is `replace()` a good name here? It doesn't really convey the idea that a brand new record will be created if there isn't an existing one to replace. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521868864 | |
https://github.com/simonw/sqlite-utils/issues/66#issuecomment-553528386 | https://api.github.com/repos/simonw/sqlite-utils/issues/66 | 553528386 | MDEyOklzc3VlQ29tbWVudDU1MzUyODM4Ng== | 9599 | 2019-11-13T18:03:10Z | 2019-11-13T18:03:54Z | OWNER | Maybe `inplace()` (combining "insert" and "replace")? It could be an alias for `.insert(..., replace=True)` | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521868864 | |
https://github.com/simonw/sqlite-utils/issues/66#issuecomment-553528850 | https://api.github.com/repos/simonw/sqlite-utils/issues/66 | 553528850 | MDEyOklzc3VlQ29tbWVudDU1MzUyODg1MA== | 9599 | 2019-11-13T18:04:20Z | 2019-11-13T18:04:20Z | OWNER | This is going to affect the design of the CLI subcommands as well. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521868864 | |
https://github.com/simonw/sqlite-utils/issues/66#issuecomment-553540146 | https://api.github.com/repos/simonw/sqlite-utils/issues/66 | 553540146 | MDEyOklzc3VlQ29tbWVudDU1MzU0MDE0Ng== | 9599 | 2019-11-13T18:33:30Z | 2019-11-13T18:33:30Z | OWNER | Maybe instead of inventing a new term I should tell people to use `.insert(..., replace=True)` directly. That matches `ignore=True`. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521868864 | |
https://github.com/simonw/datasette/pull/578#issuecomment-553555517 | https://api.github.com/repos/simonw/datasette/issues/578 | 553555517 | MDEyOklzc3VlQ29tbWVudDU1MzU1NTUxNw== | 9599 | 2019-11-13T19:13:15Z | 2019-11-13T19:13:15Z | OWNER | Yes I'm going to hold of on this until the Docker feature is less experimental. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
499954048 | |
https://github.com/simonw/datasette/pull/389#issuecomment-553555669 | https://api.github.com/repos/simonw/datasette/issues/389 | 553555669 | MDEyOklzc3VlQ29tbWVudDU1MzU1NTY2OQ== | 9599 | 2019-11-13T19:13:41Z | 2019-11-13T19:13:41Z | OWNER | This is very obsolete now. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
382471625 | |
https://github.com/simonw/sqlite-utils/issues/66#issuecomment-553574011 | https://api.github.com/repos/simonw/sqlite-utils/issues/66 | 553574011 | MDEyOklzc3VlQ29tbWVudDU1MzU3NDAxMQ== | 9599 | 2019-11-13T19:53:45Z | 2019-11-13T19:53:45Z | OWNER | First step: add a `replace=True` argument to `insert()` and `insert_all()` that does the same thing as the current `upsert=True` https://github.com/simonw/sqlite-utils/blob/8dab9fd1ccf571e188eec9ccf606a0c50fccf200/sqlite_utils/db.py#L938-L946 | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
521868864 |