)]}'
{"keystone/common/sql/migrate_repo/versions/015_tenant_to_project.py":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"c361369aea93ddcd736abdd6bf086390605691d2","unresolved":false,"context_lines":[{"line_number":22,"context_line":"                    \u0027ref_column\u0027: upgrade_table.c.id},"},{"line_number":23,"context_line":"                   ]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # Need to recreate credential constraint during rename because otherwise"},{"line_number":26,"context_line":"    # with MySQL defaulting to MyISAM the constraint is still referencing the"},{"line_number":27,"context_line":"    # \"project\" table, leading to an error that the Project table doesn\u0027t"},{"line_number":28,"context_line":"    # exist."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FxwA%3D","line":25,"updated":"2013-06-21 13:54:54.000000000","message":"very helpful comment","commit_id":"d7c26041b1cdb6ddee232884f04348dd1f7005cb"}],"keystone/common/sql/migration_helpers.py":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"c361369aea93ddcd736abdd6bf086390605691d2","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    for constraint_def in constraints:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        if constraint_def[\u0027table\u0027].kwargs.get(\u0027mysql_engine\u0027) \u003d\u003d \u0027MyISAM\u0027:"},{"line_number":65,"context_line":"            # Don\u0027t try to create constraint when using MyISAM because it\u0027s"},{"line_number":66,"context_line":"            # not supported."},{"line_number":67,"context_line":"            continue"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FxvU%3D","line":65,"updated":"2013-06-21 13:54:54.000000000","message":"again nice to see comments that are informative","commit_id":"d7c26041b1cdb6ddee232884f04348dd1f7005cb"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"ee90f550f24ac0655a7c59636e7ebc71d71b437f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    `renames` is a dict, mapping {\u0027to_table_name\u0027: from_table, ...}"},{"line_number":84,"context_line":"    \"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    if engine.name !\u003d \u0027sqlite\u0027:"},{"line_number":87,"context_line":"        # Sqlite doesn\u0027t support constraints, so nothing to remove."},{"line_number":88,"context_line":"        remove_constraints(constraints)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAP3%2F%2F04k%3D","line":86,"updated":"2013-07-10 20:39:31.000000000","message":"I think this breaks a fix that went in that basically deals with sqlite and constraints.  The solution there is ugly, but involves dropping and recreating the table.","commit_id":"cd8fa2b0e7ca002b7621fe0e35b921154946e12b"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"79b59b15ed657c32f5ac5c43152868bce7455a49","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    `renames` is a dict, mapping {\u0027to_table_name\u0027: from_table, ...}"},{"line_number":84,"context_line":"    \"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    if engine.name !\u003d \u0027sqlite\u0027:"},{"line_number":87,"context_line":"        # Sqlite doesn\u0027t support constraints, so nothing to remove."},{"line_number":88,"context_line":"        remove_constraints(constraints)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAP3%2F%2Fxgs%3D","line":86,"in_reply_to":"AAAAP3%2F%2F04k%3D","updated":"2013-07-11 17:01:34.000000000","message":"don\u0027t support migrations on sqlite!","commit_id":"cd8fa2b0e7ca002b7621fe0e35b921154946e12b"},{"author":{"_account_id":5971,"name":"nachiappan-veerappan-nachiappan","email":"nachiappan_vrn@yahoo.com","username":"nachiappan-veerappan-nachiappan"},"change_message_id":"579a7ee02abb75f1e9cd41acd418a81189e4ed5f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    `renames` is a dict, mapping {\u0027to_table_name\u0027: from_table, ...}"},{"line_number":84,"context_line":"    \"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    if engine.name !\u003d \u0027sqlite\u0027:"},{"line_number":87,"context_line":"        # Sqlite doesn\u0027t support constraints, so nothing to remove."},{"line_number":88,"context_line":"        remove_constraints(constraints)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAP3%2F%2Fxbk%3D","line":86,"in_reply_to":"AAAAP3%2F%2Fxgs%3D","updated":"2013-07-11 17:25:29.000000000","message":"Dolph: It would be better not to add foreign key constraint if the database used is sqlite. I was going to comment that in review but the review got approved.","commit_id":"cd8fa2b0e7ca002b7621fe0e35b921154946e12b"}]}
