{"html_url": "https://github.com/simonw/datasette/issues/2143#issuecomment-1690799608", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/2143", "id": 1690799608, "node_id": "IC_kwDOBm6k_c5kx434", "user": {"value": 77071, "label": "pkulchenko"}, "created_at": "2023-08-24T00:09:47Z", "updated_at": "2023-08-24T00:10:41Z", "author_association": "NONE", "body": "@simonw, FWIW, I do exactly the same thing for one of my projects (both to allow multiple configuration files to be passed on the command line and setting individual values) and it works quite well for me and my users. I even use the same parameter name for both (https://studio.zerobrane.com/doc-configuration#configuration-via-command-line), but I understand why you may want to use different ones for files and individual values. There is one small difference that I accept code snippets, but I don't think it matters much in this case.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1855885427, "label": "De-tangling Metadata before Datasette 1.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/2145#issuecomment-1685471752", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/2145", "id": 1685471752, "node_id": "IC_kwDOBm6k_c5kdkII", "user": {"value": 77071, "label": "pkulchenko"}, "created_at": "2023-08-21T01:07:23Z", "updated_at": "2023-08-21T01:07:23Z", "author_association": "NONE", "body": "@simonw, since you're referencing \"rowid\" column by name, I just want to note that there may be an existing rowid column with completely different semantics (https://www.sqlite.org/lang_createtable.html#rowid), which is likely to break this logic. I don't see a good way to detect a proper \"rowid\" name short of checking if there is a field with that name and using the alternative (`_rowid_` or `oid`), which is not ideal, but may work.\r\n\r\nIn terms of the original issue, maybe a way to deal with it is to use rowid by default and then use primary key for WITHOUT ROWID tables (as they are guaranteed to be not null), but I suspect it may require significant changes to the API (and doesn't fully address the issue of what value to pass to indicate NULL when editing records). Would it make sense to generate a random string to indicate NULL values when editing?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1857234285, "label": "If a row has a primary key of `null` various things break"}, "performed_via_github_app": null}