)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"f66dd9a7ea2630a8333609115d48cf9707c24dbc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix for migration 062 on MySQL"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"MySQL create index for foreign key columns automatically on InnoDB, so"},{"line_number":10,"context_line":"we should remove this index as well after we drop FK."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related-Bug: #1292591"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da9b358b_c76f3791","line":9,"updated":"2015-03-30 08:30:38.000000000","message":"s/create index/creates indexes/","commit_id":"309f4a96b45e9fac48ee48387955b100977493ee"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"c633ac52606b96bc9df08fa25e944bd9bf969df0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix for migration 062 on MySQL"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"MySQL create index for foreign key columns automatically on InnoDB, so"},{"line_number":10,"context_line":"we should remove this index as well after we drop FK."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related-Bug: #1292591"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da9b358b_874b6fb0","line":9,"in_reply_to":"da9b358b_c76f3791","updated":"2015-03-30 08:45:36.000000000","message":"Done","commit_id":"309f4a96b45e9fac48ee48387955b100977493ee"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"f66dd9a7ea2630a8333609115d48cf9707c24dbc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix for migration 062 on MySQL"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"MySQL create index for foreign key columns automatically on InnoDB, so"},{"line_number":10,"context_line":"we should remove this index as well after we drop FK."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related-Bug: #1292591"},{"line_number":13,"context_line":"Change-Id: Ie8c69cc10ebdd805fc5cef82cb08c7d73c70b6e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da9b358b_4731e7a1","line":10,"updated":"2015-03-30 08:30:38.000000000","message":"perhaps \"now that we have dropped the FK\" would be better than \"after we drop FK\"","commit_id":"309f4a96b45e9fac48ee48387955b100977493ee"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"c633ac52606b96bc9df08fa25e944bd9bf969df0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix for migration 062 on MySQL"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"MySQL create index for foreign key columns automatically on InnoDB, so"},{"line_number":10,"context_line":"we should remove this index as well after we drop FK."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related-Bug: #1292591"},{"line_number":13,"context_line":"Change-Id: Ie8c69cc10ebdd805fc5cef82cb08c7d73c70b6e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da9b358b_07d63fc5","line":10,"in_reply_to":"da9b358b_4731e7a1","updated":"2015-03-30 08:45:36.000000000","message":"Done","commit_id":"309f4a96b45e9fac48ee48387955b100977493ee"}],"keystone/common/sql/migrate_repo/versions/062_drop_assignment_role_fk.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"3e2db337f5583320be0f85dccdee1ea120e0f7d3","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        return"},{"line_number":35,"context_line":"    migration_helpers.remove_constraints(list_constraints(migrate_engine))"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"},{"line_number":38,"context_line":"        # NOTE(viktors): MySQL silently creates indexes on FK constraints, we"},{"line_number":39,"context_line":"        #                should remove this index manually."},{"line_number":40,"context_line":"        meta \u003d sqlalchemy.MetaData(bind\u003dmigrate_engine)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_eba581b5","line":37,"updated":"2015-03-26 14:29:53.000000000","message":"I wonder if there is a case for having the helpers do this?  Are there cases when we remove a fk and DO want to keep the index? There might, although I suspect we should remove it always...and then let the writer manually re-add the index as they need it.  Maybe this is a follow on patch to clean this up?","commit_id":"513e70f262b18046b1a5df4b1baf948d61549248"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"12d7e81472535c0e0004efb787e9ea633b1772e9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        return"},{"line_number":35,"context_line":"    migration_helpers.remove_constraints(list_constraints(migrate_engine))"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"},{"line_number":38,"context_line":"        # NOTE(viktors): MySQL silently creates indexes on FK constraints, we"},{"line_number":39,"context_line":"        #                should remove this index manually."},{"line_number":40,"context_line":"        meta \u003d sqlalchemy.MetaData(bind\u003dmigrate_engine)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_09ee6a22","line":37,"in_reply_to":"fa963961_eba581b5","updated":"2015-03-26 15:55:22.000000000","message":"if we want to keep such index, after we delete FK, we should create this index obviously - for example, the similar thing was made for table `users` - in migration 044 UC was created on FK column before FK. \n\nAlso I suggest, that we do not want to keep these hidden indexes because (at least) MySQL only stuff - PostgeSQL do not create additional indexes.","commit_id":"513e70f262b18046b1a5df4b1baf948d61549248"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"3e2db337f5583320be0f85dccdee1ea120e0f7d3","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"},{"line_number":38,"context_line":"        # NOTE(viktors): MySQL silently creates indexes on FK constraints, we"},{"line_number":39,"context_line":"        #                should remove this index manually."},{"line_number":40,"context_line":"        meta \u003d sqlalchemy.MetaData(bind\u003dmigrate_engine)"},{"line_number":41,"context_line":"        table \u003d sqlalchemy.Table(\u0027assignment\u0027, meta, autoload\u003dTrue)"},{"line_number":42,"context_line":"        index \u003d sqlalchemy.Index(\u0027assignment_role_id_fkey\u0027, table.c.role_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_4b034db9","line":39,"updated":"2015-03-26 14:29:53.000000000","message":"I haven\u0027t seen anyone intent the subsequent lines like that before....","commit_id":"513e70f262b18046b1a5df4b1baf948d61549248"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"12d7e81472535c0e0004efb787e9ea633b1772e9","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"},{"line_number":38,"context_line":"        # NOTE(viktors): MySQL silently creates indexes on FK constraints, we"},{"line_number":39,"context_line":"        #                should remove this index manually."},{"line_number":40,"context_line":"        meta \u003d sqlalchemy.MetaData(bind\u003dmigrate_engine)"},{"line_number":41,"context_line":"        table \u003d sqlalchemy.Table(\u0027assignment\u0027, meta, autoload\u003dTrue)"},{"line_number":42,"context_line":"        index \u003d sqlalchemy.Index(\u0027assignment_role_id_fkey\u0027, table.c.role_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_a913fe5b","line":39,"in_reply_to":"fa963961_4b034db9","updated":"2015-03-26 15:55:22.000000000","message":"ok, will fix - it\u0027s not a big deal for me","commit_id":"513e70f262b18046b1a5df4b1baf948d61549248"}],"keystone/common/sql/migrate_repo/versions/067_drop_redundant_mysql_index.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"f66dd9a7ea2630a8333609115d48cf9707c24dbc","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    # NOTE(viktors): Migration 062 remove FK from `assignment` table, but"},{"line_number":18,"context_line":"    # MySQL silently creates indexes on FK constraints, so we should remove"},{"line_number":19,"context_line":"    # this index manually."},{"line_number":20,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da9b358b_87e48f3b","line":17,"updated":"2015-03-30 08:30:38.000000000","message":"(nit): s/remove/removed/","commit_id":"309f4a96b45e9fac48ee48387955b100977493ee"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"c633ac52606b96bc9df08fa25e944bd9bf969df0","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    # NOTE(viktors): Migration 062 remove FK from `assignment` table, but"},{"line_number":18,"context_line":"    # MySQL silently creates indexes on FK constraints, so we should remove"},{"line_number":19,"context_line":"    # this index manually."},{"line_number":20,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da9b358b_27e8237c","line":17,"in_reply_to":"da9b358b_87e48f3b","updated":"2015-03-30 08:45:36.000000000","message":"Done","commit_id":"309f4a96b45e9fac48ee48387955b100977493ee"}],"keystone/common/sql/migrate_repo/versions/068_drop_redundant_mysql_index.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"ee4ad86cacff0bcc64bc6fc1d746d4659ec11de4","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"},{"line_number":18,"context_line":"        # NOTE(viktors): MySQL silently creates indexes on FK constraints, we"},{"line_number":19,"context_line":"        # should remove this index manually."},{"line_number":20,"context_line":"        meta \u003d sqlalchemy.MetaData(bind\u003dmigrate_engine)"},{"line_number":21,"context_line":"        table \u003d sqlalchemy.Table(\u0027assignment\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa963961_bb79d995","line":18,"updated":"2015-03-27 16:53:03.000000000","message":"I\u0027d mention that we dropped the FK in 062 but did not remove the index.","commit_id":"9c7dde5d47ae46157a71e7440c73ccd485b844d1"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"78476e85aabc3549017b52843b597c4149ccd380","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"},{"line_number":18,"context_line":"        # NOTE(viktors): MySQL silently creates indexes on FK constraints, we"},{"line_number":19,"context_line":"        # should remove this index manually."},{"line_number":20,"context_line":"        meta \u003d sqlalchemy.MetaData(bind\u003dmigrate_engine)"},{"line_number":21,"context_line":"        table \u003d sqlalchemy.Table(\u0027assignment\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da9b358b_679bcbca","line":18,"in_reply_to":"fa963961_bb79d995","updated":"2015-03-30 08:25:52.000000000","message":"Fixed","commit_id":"9c7dde5d47ae46157a71e7440c73ccd485b844d1"}],"keystone/tests/unit/test_sql_upgrade.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9f53d7811bd146bf5fe4ac9de99a61c1f9257e03","unresolved":false,"context_lines":[{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    def test_drop_assignment_role_id_index_mysql(self):"},{"line_number":541,"context_line":"        self.upgrade(66)"},{"line_number":542,"context_line":"        if self.engine.name \u003d\u003d \"mysql\":"},{"line_number":543,"context_line":"            self.assertTrue(self._does_index_exist(\u0027assignment\u0027,"},{"line_number":544,"context_line":"                                                   \u0027assignment_role_id_fkey\u0027))"},{"line_number":545,"context_line":"        self.upgrade(67)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baa041b7_7c26c4bb","line":542,"updated":"2015-04-02 01:19:01.000000000","message":"use \u0027 for strings consistently.","commit_id":"12a9121e6e5bf85f0d12de7cc97e8196405c09ac"}]}
