)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e9d7165c0395d6df211aa752052c8f9e5eba6834","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add migration to make service type unique"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Previously, mutliple services could be of the same type. This change makes it"},{"line_number":10,"context_line":"so that services must have a unique type when using an sql backend."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If9e099f8fba199d7d80fecc0e41501be1e4c4046"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_f17705d2","line":9,"updated":"2015-03-13 18:06:48.000000000","message":"*multiple","commit_id":"8b4741a1fc7551df44755c6c57daf3288c48a681"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"47849a09ebbfea4fb41d893f8a04f7b39bbe08fe","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add migration to make service type unique"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Previously, mutliple services could be of the same type. This change makes it"},{"line_number":10,"context_line":"so that services must have a unique type when using an sql backend."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If9e099f8fba199d7d80fecc0e41501be1e4c4046"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da86d52c_a29dc268","line":9,"updated":"2015-02-15 18:15:29.000000000","message":"typo: \"multiple\"","commit_id":"8b4741a1fc7551df44755c6c57daf3288c48a681"}],"keystone/common/sql/migrate_repo/versions/061_make_service_type_unique.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e9d7165c0395d6df211aa752052c8f9e5eba6834","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Downgrade will follow the same workflow as upgrade, only when we recreate the"},{"line_number":24,"context_line":"`service` table, don\u0027t create it with a unique flag on the `type` column."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import migrate"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b16aedea","line":25,"updated":"2015-03-13 18:06:48.000000000","message":"I was wondering the same thing. Can\u0027t we just add the constraint?","commit_id":"8b4741a1fc7551df44755c6c57daf3288c48a681"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"47849a09ebbfea4fb41d893f8a04f7b39bbe08fe","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Downgrade will follow the same workflow as upgrade, only when we recreate the"},{"line_number":24,"context_line":"`service` table, don\u0027t create it with a unique flag on the `type` column."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import migrate"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_8290be4f","line":25,"updated":"2015-02-15 18:15:29.000000000","message":"sqlalchemy-migrate support adding unique constraint via alter table, can we just use that to simplify the upgrade/downgrade process?","commit_id":"8b4741a1fc7551df44755c6c57daf3288c48a681"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e9d7165c0395d6df211aa752052c8f9e5eba6834","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from sqlalchemy.orm import sessionmaker"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from keystone.common import sql as ks_sql"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"_TEMP_SERVICE_TABLE_NAME \u003d \u0027temp_service\u0027"},{"line_number":35,"context_line":"_SERVICE_TABLE_NAME \u003d \u0027service\u0027"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d16f61fa","line":33,"updated":"2015-03-13 18:06:48.000000000","message":"(nit) should be a newline here","commit_id":"8b4741a1fc7551df44755c6c57daf3288c48a681"}]}
