{"action":"created","issue":{"url":"https://api.github.com/repos/duct-framework/migrator.ragtime/issues/1","repository_url":"https://api.github.com/repos/duct-framework/migrator.ragtime","labels_url":"https://api.github.com/repos/duct-framework/migrator.ragtime/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/duct-framework/migrator.ragtime/issues/1/comments","events_url":"https://api.github.com/repos/duct-framework/migrator.ragtime/issues/1/events","html_url":"https://github.com/duct-framework/migrator.ragtime/issues/1","id":238735879,"number":1,"title":"After Re-open REPL, migration exception will throw when `go`","user":{"login":"zerg000000","id":910506,"avatar_url":"https://avatars2.githubusercontent.com/u/910506?v=3","gravatar_id":"","url":"https://api.github.com/users/zerg000000","html_url":"https://github.com/zerg000000","followers_url":"https://api.github.com/users/zerg000000/followers","following_url":"https://api.github.com/users/zerg000000/following{/other_user}","gists_url":"https://api.github.com/users/zerg000000/gists{/gist_id}","starred_url":"https://api.github.com/users/zerg000000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zerg000000/subscriptions","organizations_url":"https://api.github.com/users/zerg000000/orgs","repos_url":"https://api.github.com/users/zerg000000/repos","events_url":"https://api.github.com/users/zerg000000/events{/privacy}","received_events_url":"https://api.github.com/users/zerg000000/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-06-27T04:43:36Z","updated_at":"2017-06-27T05:17:49Z","closed_at":null,"body":"Currently, if we changed the migration string, `(dev)` and `(go)`, then ragtime will simply throw\r\n\r\nIllegalArgumentException No implementation of method: :run-down! of protocol: #'ragtime.protocols/Migration found for class: nil  clojure.core/-cache-protocol-fn (core_deftype.clj:583)\r\n\r\nIf we already `(dev)` and `(go)`, then change the migration string and `(reset)` we have no exception.\r\n\r\nit seems due to lack of  `index` which have the previous auto-hash-ids\r\n\r\n```clojure\r\n(defmethod ig/init-key :duct.migrator/ragtime [_ options]\r\n  (migrate {} options))\r\n\r\n(defmethod ig/resume-key :duct.migrator/ragtime [_ options _ index]\r\n  (migrate index options))\r\n```\r\n\r\nIt would be better to warn instead of throwing unknown exception.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/duct-framework/migrator.ragtime/issues/comments/311255541","html_url":"https://github.com/duct-framework/migrator.ragtime/issues/1#issuecomment-311255541","issue_url":"https://api.github.com/repos/duct-framework/migrator.ragtime/issues/1","id":311255541,"user":{"login":"zerg000000","id":910506,"avatar_url":"https://avatars2.githubusercontent.com/u/910506?v=3","gravatar_id":"","url":"https://api.github.com/users/zerg000000","html_url":"https://github.com/zerg000000","followers_url":"https://api.github.com/users/zerg000000/followers","following_url":"https://api.github.com/users/zerg000000/following{/other_user}","gists_url":"https://api.github.com/users/zerg000000/gists{/gist_id}","starred_url":"https://api.github.com/users/zerg000000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zerg000000/subscriptions","organizations_url":"https://api.github.com/users/zerg000000/orgs","repos_url":"https://api.github.com/users/zerg000000/repos","events_url":"https://api.github.com/users/zerg000000/events{/privacy}","received_events_url":"https://api.github.com/users/zerg000000/received_events","type":"User","site_admin":false},"created_at":"2017-06-27T05:17:49Z","updated_at":"2017-06-27T05:17:49Z","body":"|when |                DB         | File System                |         REPL     index                    | effect                           |\r\n|-|------------------|----------------------|-------------------------|-----------------------------|\r\n|first go|                 |       abcd#1                |                            | migrate abcd#1\r\n|  |    abcd#1             |       abcd#1               |        abcd#1                     |  |\r\n|change abcd  |    abcd#1             |       abcd#2               |        abcd#1                     |  |\r\n|comment/uncomment and reset|    abcd#1             |       abcd#2               |        abcd#1                     | rollback abcd#1, migrate  abcd#2 |\r\n||    abcd#2             |       abcd#2               |        abcd#2                     |  |\r\n|reopen repl, with unapplied changes|    abcd#2             |      abcd#3               |                                           |                    |\r\n| go | abcd#2 | abcd#3 | | try to rollback abcd#2 and throw exception, since abcd#2 not in index |\r\n"}}
{"actor":{"display_login":"zerg000000"}}