{"html_url": "https://github.com/simonw/datasette/issues/284#issuecomment-391950691", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/284", "id": 391950691, "node_id": "MDEyOklzc3VlQ29tbWVudDM5MTk1MDY5MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-25T06:01:23Z", "updated_at": "2018-05-25T06:05:02Z", "author_association": "OWNER", "body": "Demo:\r\n\r\n datasette publish now --branch=master fixtures.db \\\r\n --source=\"#284 Demo\" \\\r\n --source_url=\"https://github.com/simonw/datasette/issues/284\" \\\r\n --extra-options \"--config allow_sql:off --config allow_facet:off --config allow_download:off\" \\\r\n --name=datasette-demo-284\r\n\r\n now alias https://datasette-demo-284-jogjwngegj.now.sh datasette-demo-284.now.sh\r\n\r\nhttps://datasette-demo-284.now.sh/\r\n\r\nNote the following:\r\n\r\n* https://datasette-demo-284.now.sh/fixtures-fda0fea has no SQL input textarea\r\n* https://datasette-demo-284.now.sh/fixtures-fda0fea has no database download link\r\n* https://datasette-demo-284.now.sh/fixtures-fda0fea.db returns 403 forbidden\r\n* https://datasette-demo-284.now.sh/fixtures-fda0fea?sql=select%20*%20from%20sqlite_master throws error 400\r\n* https://datasette-demo-284.now.sh/fixtures-fda0fea/facetable shows no suggested facets\r\n* https://datasette-demo-284.now.sh/fixtures-fda0fea/facetable?_facet=city_id throws error 400", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 326182814, "label": "Ability to enable/disable specific features via --config"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/284#issuecomment-391912392", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/284", "id": 391912392, "node_id": "MDEyOklzc3VlQ29tbWVudDM5MTkxMjM5Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-25T01:16:56Z", "updated_at": "2018-05-25T01:17:13Z", "author_association": "OWNER", "body": "`allow_sql` should only affect the `?sql=` parameter and whether or not the form is displayed. You should still be able to use and execute canned queries even if this option is turned off.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 326182814, "label": "Ability to enable/disable specific features via --config"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/286#issuecomment-392121500", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/286", "id": 392121500, "node_id": "MDEyOklzc3VlQ29tbWVudDM5MjEyMTUwMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-25T17:06:46Z", "updated_at": "2018-05-25T17:06:46Z", "author_association": "OWNER", "body": "A few extra thoughts:\r\n\r\n* Some users may want to opt out of this. We could have `--config version_in_hash:false`\r\n* should this affect the filename for the downloadable copy of the SQLite database? Maybe that should stay as just the hash of the contents, but that's a fair bit more complex\r\n* What about users who stick with the same version of datasette but deploy changes to their custom templates - how can we help them cache bust? Maybe with `--config cache_version:2`", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 326599525, "label": "Database hash should include current datasette version"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/286#issuecomment-392121743", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/286", "id": 392121743, "node_id": "MDEyOklzc3VlQ29tbWVudDM5MjEyMTc0Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-25T17:07:36Z", "updated_at": "2018-05-25T17:07:36Z", "author_association": "OWNER", "body": "This is also a great excuse to finally write up some detailed documentation on Datasette's caching strategy", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 326599525, "label": "Database hash should include current datasette version"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/267#issuecomment-392121905", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/267", "id": 392121905, "node_id": "MDEyOklzc3VlQ29tbWVudDM5MjEyMTkwNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-25T17:08:14Z", "updated_at": "2018-05-25T17:08:14Z", "author_association": "OWNER", "body": "See also #286", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 323716411, "label": "Documentation for URL hashing, redirects and cache policy"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/259#issuecomment-392212119", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/259", "id": 392212119, "node_id": "MDEyOklzc3VlQ29tbWVudDM5MjIxMjExOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-25T23:22:26Z", "updated_at": "2018-05-25T23:22:26Z", "author_association": "OWNER", "body": "This should detect any table which can be linked to the current table via some other table, based on the other table having a foreign key to them both.\r\n\r\nThese join tables could be arbitrarily complicated. They might have foreign keys to more than two other tables, maybe even multiple foreign keys to the same column.\r\n\r\nIdeally M2M defection would catch all of these cases. Maybe the resulting inspect data looks something like this:\r\n\r\n```\r\n\"artists\": {\r\n ...\r\n \"m2m\": [{\r\n \"other_table\": \"festivals\",\r\n \"through\": \"performances\",\r\n \"our_fk\": \"artist_id\",\r\n \"other_fk\": \"performance_id\"\r\n }]\r\n```\r\n\r\nLet's ignore compound primary keys: we k it detect m2m relationships where the join table has foreign keys to a single primary key on the other two tables.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 322787470, "label": "inspect() should detect many-to-many relationships"}, "performed_via_github_app": null}