{"action":"created","issue":{"url":"https://api.github.com/repos/flyway/flyway/issues/1898","repository_url":"https://api.github.com/repos/flyway/flyway","labels_url":"https://api.github.com/repos/flyway/flyway/issues/1898/labels{/name}","comments_url":"https://api.github.com/repos/flyway/flyway/issues/1898/comments","events_url":"https://api.github.com/repos/flyway/flyway/issues/1898/events","html_url":"https://github.com/flyway/flyway/issues/1898","id":289515871,"number":1898,"title":"Resolver and Executor for specified list of scripts in a specified order","user":{"login":"lgoldstein","id":1436205,"avatar_url":"https://avatars2.githubusercontent.com/u/1436205?v=4","gravatar_id":"","url":"https://api.github.com/users/lgoldstein","html_url":"https://github.com/lgoldstein","followers_url":"https://api.github.com/users/lgoldstein/followers","following_url":"https://api.github.com/users/lgoldstein/following{/other_user}","gists_url":"https://api.github.com/users/lgoldstein/gists{/gist_id}","starred_url":"https://api.github.com/users/lgoldstein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgoldstein/subscriptions","organizations_url":"https://api.github.com/users/lgoldstein/orgs","repos_url":"https://api.github.com/users/lgoldstein/repos","events_url":"https://api.github.com/users/lgoldstein/events{/privacy}","received_events_url":"https://api.github.com/users/lgoldstein/received_events","type":"User","site_admin":false},"labels":[{"id":44944246,"url":"https://api.github.com/repos/flyway/flyway/labels/m:%20Core","name":"m: Core","color":"6634a3","default":false},{"id":22191328,"url":"https://api.github.com/repos/flyway/flyway/labels/t:%20feature","name":"t: feature","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/flyway/flyway/milestones/18","html_url":"https://github.com/flyway/flyway/milestone/18","labels_url":"https://api.github.com/repos/flyway/flyway/milestones/18/labels","id":2767885,"number":18,"title":"Flyway 5.2.0","description":"","creator":{"login":"axelfontaine","id":684824,"avatar_url":"https://avatars2.githubusercontent.com/u/684824?v=4","gravatar_id":"","url":"https://api.github.com/users/axelfontaine","html_url":"https://github.com/axelfontaine","followers_url":"https://api.github.com/users/axelfontaine/followers","following_url":"https://api.github.com/users/axelfontaine/following{/other_user}","gists_url":"https://api.github.com/users/axelfontaine/gists{/gist_id}","starred_url":"https://api.github.com/users/axelfontaine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/axelfontaine/subscriptions","organizations_url":"https://api.github.com/users/axelfontaine/orgs","repos_url":"https://api.github.com/users/axelfontaine/repos","events_url":"https://api.github.com/users/axelfontaine/events{/privacy}","received_events_url":"https://api.github.com/users/axelfontaine/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":0,"state":"open","created_at":"2017-09-15T09:44:25Z","updated_at":"2018-03-26T18:44:35Z","due_on":"2018-08-07T07:00:00Z","closed_at":null},"comments":2,"created_at":"2018-01-18T06:11:51Z","updated_at":"2018-03-28T19:03:54Z","closed_at":null,"author_association":"NONE","body":"###### What version of Flyway are you using?\r\n5.0.6\r\n###### Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin, SBT plugin, ANT tasks)\r\nMaven + Java API\r\n###### What database are you using (type & version)?\r\nPostgreSQL 9.3\r\n###### What operating system are you using?\r\nFedora 25/26/27/CentOS\r\n###### What did you do?\r\nI had some code that was using the `SqlMigrationExecutor` (version 5.0.5) to run some script(s) which used to be _public_. Since _Flyway_ is such a good useful tool, all its classes/methods/literal constants should be made _public_ or _protected_ so that its functionality can be re-used or extended. This would also encourage contributions from the _Java_ community and further its widespread use.\r\n"},"comment":{"url":"https://api.github.com/repos/flyway/flyway/issues/comments/377000104","html_url":"https://github.com/flyway/flyway/issues/1898#issuecomment-377000104","issue_url":"https://api.github.com/repos/flyway/flyway/issues/1898","id":377000104,"user":{"login":"stellingsimon","id":7038847,"avatar_url":"https://avatars1.githubusercontent.com/u/7038847?v=4","gravatar_id":"","url":"https://api.github.com/users/stellingsimon","html_url":"https://github.com/stellingsimon","followers_url":"https://api.github.com/users/stellingsimon/followers","following_url":"https://api.github.com/users/stellingsimon/following{/other_user}","gists_url":"https://api.github.com/users/stellingsimon/gists{/gist_id}","starred_url":"https://api.github.com/users/stellingsimon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stellingsimon/subscriptions","organizations_url":"https://api.github.com/users/stellingsimon/orgs","repos_url":"https://api.github.com/users/stellingsimon/repos","events_url":"https://api.github.com/users/stellingsimon/events{/privacy}","received_events_url":"https://api.github.com/users/stellingsimon/received_events","type":"User","site_admin":false},"created_at":"2018-03-28T19:03:54Z","updated_at":"2018-03-28T19:03:54Z","author_association":"NONE","body":"I think it is hard for Flyway to provide a resolver and executor for specified lists of scripts and orders without making it awkward and error-prone to configure. As a user of Flyway, what I really need is a more powerful SPI that allows me to take control of the execution order and the migration selection process. Nothing prevents you from providing default implementations for common use cases that build upon this SPI.\r\n\r\nI too got bitten by the reduced visibility of `SqlMigrationExecutor` when upgrading to Flyway 5.0.7. Right now we're forcefully invoking the constructor using reflection, well aware of the dangers of this approach. \r\n\r\nIdeally, I'd like to be able to use `SqlMigrationExecutor` as a building block in my own \"migration controller\" of sorts. Flyway is a great library that does the nitty-gritty right, but I'd like to use it more as a toolbox than a blackbox with some (configurable) buttons."}}
{"actor":{"display_login":"stellingsimon"}}