{"html_url": "https://github.com/simonw/datasette/issues/639#issuecomment-558687342", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/639", "id": 558687342, "node_id": "MDEyOklzc3VlQ29tbWVudDU1ODY4NzM0Mg==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2019-11-26T15:40:00Z", "updated_at": "2019-11-26T15:40:00Z", "author_association": "CONTRIBUTOR", "body": "A bit of background: the reason `heroku git:clone` brings down an empty directory is because `datasette publish heroku` uses the [builds API](https://devcenter.heroku.com/articles/build-and-release-using-the-api), rather than a `git push`, to release the app. I originally did this because it seemed like a lower bar than having a working `git`, but the downside is, as you found out, that tweaking the created app is hard. \r\n\r\nSo there's one option -- change `datasette publish heroku` to use `git push` instead of `heroku builds:create`.\r\n\r\n@pkoppstein - what you suggested seems like it ought to work (you don't need maintenance mode, though). I'm not sure why it doesn't.\r\n\r\nYou could also look into using the [slugs API](https://devcenter.heroku.com/articles/platform-api-deploying-slugs) to download the slug, change `metadata.json`, re-pack and re-upload the slug.\r\n\r\nUltimately though I think I think @simonw's idea of reading `metadata.json` from an external source might be better (#357). Reading from an alternate URL would be fine, or you could also just stuff the whole `metadata.json` into a Heroku config var, and write a plugin to read it from there. \r\n\r\nHope this helps a bit!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 527670799, "label": "updating metadata.json without recreating the app"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/29#issuecomment-552134876", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/29", "id": 552134876, "node_id": "MDEyOklzc3VlQ29tbWVudDU1MjEzNDg3Ng==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2019-11-09T20:33:38Z", "updated_at": "2019-11-09T20:33:38Z", "author_association": "CONTRIBUTOR", "body": "\u2764\ufe0f thanks!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 518725064, "label": "`import` command fails on empty files"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/14#issuecomment-346244871", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/14", "id": 346244871, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjI0NDg3MQ==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2017-11-22T05:06:30Z", "updated_at": "2017-11-22T05:06:30Z", "author_association": "CONTRIBUTOR", "body": "I'd also suggest taking a look at [stevedore](https://docs.openstack.org/stevedore/latest/), which has a ton of tools for doing plugin stuff. I've had good luck with it in the past.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267707940, "label": "Datasette Plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/104#issuecomment-346124764", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/104", "id": 346124764, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjEyNDc2NA==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2017-11-21T18:52:14Z", "updated_at": "2017-11-21T18:52:14Z", "author_association": "CONTRIBUTOR", "body": "OK, now this should work.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 274284246, "label": "[WIP] Add publish to heroku support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/104#issuecomment-346124073", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/104", "id": 346124073, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjEyNDA3Mw==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2017-11-21T18:49:55Z", "updated_at": "2017-11-21T18:49:55Z", "author_association": "CONTRIBUTOR", "body": "Actually hang on, don't merge - there are some bugs that #141 masked when I tested this out elsewhere.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 274284246, "label": "[WIP] Add publish to heroku support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/104#issuecomment-346116745", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/104", "id": 346116745, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjExNjc0NQ==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2017-11-21T18:23:25Z", "updated_at": "2017-11-21T18:23:25Z", "author_association": "CONTRIBUTOR", "body": "@simonw ready for a review and merge if you want.\r\n\r\nThere's still some nasty duplicated code in cli.py and utils.py, which is just going to get worse if/when we start adding any other deploy targets (and I want to do one for cloud.gov, at least). I think there's an opportunity for some refactoring here. I'm happy to do that now as part of this PR, or if you merge this first I'll do it in a different one.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 274284246, "label": "[WIP] Add publish to heroku support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/104#issuecomment-345452669", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/104", "id": 345452669, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTQ1MjY2OQ==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2017-11-18T16:18:45Z", "updated_at": "2017-11-18T16:18:45Z", "author_association": "CONTRIBUTOR", "body": "I'd like to do a bit of cleanup, and some error checking in case heroku/heroku-builds isn't installed.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 274284246, "label": "[WIP] Add publish to heroku support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/104#issuecomment-344710204", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/104", "id": 344710204, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDcxMDIwNA==", "user": {"value": 21148, "label": "jacobian"}, "created_at": "2017-11-15T19:57:50Z", "updated_at": "2017-11-15T19:57:50Z", "author_association": "CONTRIBUTOR", "body": "A first basic stab at making this work, just to prove the approach. Right now this requires [a Heroku CLI plugin](https://github.com/heroku/heroku-builds), which seems pretty unreasonable. I think this can be replaced with direct API calls, which could clean up a lot of things. But I wanted to prove it worked first, and it does.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 274284246, "label": "[WIP] Add publish to heroku support"}, "performed_via_github_app": null}