)]}'
{"keystone/common/sql/migrate_repo/versions/008_normalize_identity.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"71b4d509c2c568178a34b24fb4b6a1f9e4c60ff4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from sqlalchemy.orm import sessionmaker"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"#this won\u0027t work on sqlite.  It doesn\u0027t support dropping columns"},{"line_number":23,"context_line":"def downgrade_user_table(meta, migrate_engine):"},{"line_number":24,"context_line":"    maker \u003d sessionmaker(bind\u003dmigrate_engine)"},{"line_number":25,"context_line":"    session \u003d maker()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2Fiis%3D","line":22,"updated":"2013-01-16 19:32:06.000000000","message":"remove (no longer applies)","commit_id":"5fd9a512d71df97a762494ec6eb19b2d9831b267"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"71b4d509c2c568178a34b24fb4b6a1f9e4c60ff4","unresolved":false,"context_lines":[{"line_number":23,"context_line":"def downgrade_user_table(meta, migrate_engine):"},{"line_number":24,"context_line":"    maker \u003d sessionmaker(bind\u003dmigrate_engine)"},{"line_number":25,"context_line":"    session \u003d maker()"},{"line_number":26,"context_line":"    session.execute(\"ALTER TABLE user RENAME TO orig_user;\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    user_table \u003d Table("},{"line_number":29,"context_line":"        \u0027user\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2Fiio%3D","line":26,"updated":"2013-01-16 19:32:06.000000000","message":"I don\u0027t know if it would ever produce different output on a different engine, but sqlalchemy-migrate can handle this for you:\n\n  orig_user_table \u003d Table(\u0027user\u0027, meta, autoload\u003dTrue)\n  orig_user_table.rename(\u0027orig_user\u0027)","commit_id":"5fd9a512d71df97a762494ec6eb19b2d9831b267"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"71b4d509c2c568178a34b24fb4b6a1f9e4c60ff4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        Column(\u0027extra\u0027, Text()))"},{"line_number":34,"context_line":"    user_table.create(migrate_engine, checkfirst\u003dTrue)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    orig_user_table \u003d Table(\u0027orig_user\u0027, meta, autoload\u003dTrue)"},{"line_number":37,"context_line":"    for user in session.query(orig_user_table):"},{"line_number":38,"context_line":"        session.execute(\"insert into user (id, name, extra) \""},{"line_number":39,"context_line":"                        \"values ( :id, :name, :extra);\","}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FiiQ%3D","line":36,"updated":"2013-01-16 19:32:06.000000000","message":"and then you don\u0027t need to reload it here","commit_id":"5fd9a512d71df97a762494ec6eb19b2d9831b267"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"71b4d509c2c568178a34b24fb4b6a1f9e4c60ff4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                        {\u0027id\u0027: user.id,"},{"line_number":41,"context_line":"                         \u0027name\u0027: user.name,"},{"line_number":42,"context_line":"                         \u0027extra\u0027: user.extra})"},{"line_number":43,"context_line":"    session.execute(\"drop table orig_user;\")"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def downgrade_tenant_table(meta, migrate_engine):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FiiU%3D","line":43,"updated":"2013-01-16 19:32:06.000000000","message":"and then:\n\n  orig_user_table.drop()","commit_id":"5fd9a512d71df97a762494ec6eb19b2d9831b267"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"71b4d509c2c568178a34b24fb4b6a1f9e4c60ff4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"def downgrade_tenant_table(meta, migrate_engine):"},{"line_number":47,"context_line":"    maker \u003d sessionmaker(bind\u003dmigrate_engine)"},{"line_number":48,"context_line":"    session \u003d maker()"},{"line_number":49,"context_line":"    session.execute(\"ALTER TABLE tenant RENAME TO orig_tenant;\")"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    tenant_table \u003d Table("},{"line_number":52,"context_line":"        \u0027tenant\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FiiA%3D","line":49,"updated":"2013-01-16 19:32:06.000000000","message":"same as above","commit_id":"5fd9a512d71df97a762494ec6eb19b2d9831b267"}]}
