)]}'
{"ceilometer/storage/sqlalchemy/migrate_repo/versions/001_add_meter_table.py":[{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2d5e36b4d34a4cfd4e47a1d0273533a89b1a66f2","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from sqlalchemy import UniqueConstraint"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def get_tables(meta):"},{"line_number":28,"context_line":"    meter \u003d Table("},{"line_number":29,"context_line":"        \u0027meter\u0027, meta,"},{"line_number":30,"context_line":"        Column(\u0027id\u0027, Integer, primary_key\u003dTrue, index\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FJP4%3D","line":27,"updated":"2013-10-23 07:10:36.000000000","message":"nit: you can move table definitions to upgrade() and get tables for drop in downgrade using autoload\u003dTrue","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"04701d931be4baaa0dc09c3b1070dc2eb735b56a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from sqlalchemy import UniqueConstraint"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def get_tables(meta):"},{"line_number":28,"context_line":"    meter \u003d Table("},{"line_number":29,"context_line":"        \u0027meter\u0027, meta,"},{"line_number":30,"context_line":"        Column(\u0027id\u0027, Integer, primary_key\u003dTrue, index\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATX%2F%2F%2FYE%3D","line":27,"in_reply_to":"AAAATH%2F%2FJP4%3D","updated":"2013-10-23 07:58:15.000000000","message":"Done","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"6be6a200e27c3b737ef98754243a5eef5d402da2","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"def downgrade(migrate_engine):"},{"line_number":103,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":104,"context_line":"    tables \u003d ["},{"line_number":105,"context_line":"        Table(\u0027meter\u0027, meta, autoload\u003dTrue),"},{"line_number":106,"context_line":"        Table(\u0027resource\u0027, meta, autoload\u003dTrue),"},{"line_number":107,"context_line":"        Table(\u0027user\u0027, meta, autoload\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATX%2F%2F%2FTU%3D","line":104,"updated":"2013-10-23 08:43:14.000000000","message":"nit (optional): I think, its would be better to have something like this:\n\ntables \u003d [\u0027meter\u0027, \u0027resource\u0027, ...]\nfor table in sorted(tables, reverse\u003dTrue):\n    t \u003d Table(table, meta, autoload\u003dTrue)\n    t.drop()","commit_id":"4b4c3cde50d96636ce9ac8e2f9558a94a5e58c54"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"c838864031aa915d3db6622617bfdbd35349b4ba","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"def downgrade(migrate_engine):"},{"line_number":103,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":104,"context_line":"    tables \u003d ["},{"line_number":105,"context_line":"        Table(\u0027meter\u0027, meta, autoload\u003dTrue),"},{"line_number":106,"context_line":"        Table(\u0027resource\u0027, meta, autoload\u003dTrue),"},{"line_number":107,"context_line":"        Table(\u0027user\u0027, meta, autoload\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2F59Q%3D","line":104,"in_reply_to":"AAAATX%2F%2F%2FTU%3D","updated":"2013-10-25 12:55:59.000000000","message":"Done","commit_id":"4b4c3cde50d96636ce9ac8e2f9558a94a5e58c54"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"1a13d9bd4077ab56c819f7692489f6afe436f6bd","unresolved":false,"context_lines":[{"line_number":102,"context_line":"def downgrade(migrate_engine):"},{"line_number":103,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":104,"context_line":"    for name in [\u0027source\u0027, \u0027sourceassoc\u0027, \u0027project\u0027,"},{"line_number":105,"context_line":"                 \u0027user\u0027, \u0027resource\u0027, \u0027meter\u0027]:"},{"line_number":106,"context_line":"        t \u003d Table(name, meta, autoload\u003dTrue)"},{"line_number":107,"context_line":"        t.drop()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2F50U%3D","line":105,"updated":"2013-10-25 13:26:14.000000000","message":"It looks like we have to do this because the schema definitions for this migration were moved into the upgrade method. Wouldn\u0027t the separate MetaData instance be enough to solve the problem? Then we could leave the schema(s) for the whole migration in both directions one tier up like before?","commit_id":"03c011eddf2c239adc617f6d5b8ace0e1b71f852"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"7bf87f1fc889e01d3ba242497c892d3acd639713","unresolved":false,"context_lines":[{"line_number":102,"context_line":"def downgrade(migrate_engine):"},{"line_number":103,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":104,"context_line":"    for name in [\u0027source\u0027, \u0027sourceassoc\u0027, \u0027project\u0027,"},{"line_number":105,"context_line":"                 \u0027user\u0027, \u0027resource\u0027, \u0027meter\u0027]:"},{"line_number":106,"context_line":"        t \u003d Table(name, meta, autoload\u003dTrue)"},{"line_number":107,"context_line":"        t.drop()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2F5wI%3D","line":105,"in_reply_to":"AAAATn%2F%2F50U%3D","updated":"2013-10-25 13:38:02.000000000","message":"The metadata must be local to the method upgrade/downgrade and Table needs this metadata object. And we don\u0027t really need the schema to drop a table. This is why I have moved the schema in the upgrade method.","commit_id":"03c011eddf2c239adc617f6d5b8ace0e1b71f852"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"0fb2203fd2bc432e9caf68077fc97fa38f730494","unresolved":false,"context_lines":[{"line_number":102,"context_line":"def downgrade(migrate_engine):"},{"line_number":103,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":104,"context_line":"    for name in [\u0027source\u0027, \u0027sourceassoc\u0027, \u0027project\u0027,"},{"line_number":105,"context_line":"                 \u0027user\u0027, \u0027resource\u0027, \u0027meter\u0027]:"},{"line_number":106,"context_line":"        t \u003d Table(name, meta, autoload\u003dTrue)"},{"line_number":107,"context_line":"        t.drop()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2F5ms%3D","line":105,"in_reply_to":"AAAATn%2F%2F5wI%3D","updated":"2013-10-25 14:22:40.000000000","message":"Gotcha. \u003d] Okay.","commit_id":"03c011eddf2c239adc617f6d5b8ace0e1b71f852"}],"ceilometer/storage/sqlalchemy/migrate_repo/versions/007_add_alarm_table.py":[{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2d5e36b4d34a4cfd4e47a1d0273533a89b1a66f2","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from sqlalchemy import Boolean, Integer, String, DateTime, Float"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_alarm_table(meta):"},{"line_number":26,"context_line":"    return Table("},{"line_number":27,"context_line":"        \u0027alarm\u0027, meta,"},{"line_number":28,"context_line":"        Column(\u0027id\u0027, String(255), primary_key\u003dTrue, index\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FJQs%3D","line":25,"updated":"2013-10-23 07:10:36.000000000","message":"same nit as to initial migration","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"04701d931be4baaa0dc09c3b1070dc2eb735b56a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from sqlalchemy import Boolean, Integer, String, DateTime, Float"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_alarm_table(meta):"},{"line_number":26,"context_line":"    return Table("},{"line_number":27,"context_line":"        \u0027alarm\u0027, meta,"},{"line_number":28,"context_line":"        Column(\u0027id\u0027, String(255), primary_key\u003dTrue, index\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATX%2F%2F%2FXk%3D","line":25,"in_reply_to":"AAAATH%2F%2FJQs%3D","updated":"2013-10-23 07:58:15.000000000","message":"Done","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"1a13d9bd4077ab56c819f7692489f6afe436f6bd","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def downgrade(migrate_engine):"},{"line_number":54,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":55,"context_line":"    alarm \u003d Table(\u0027alarm\u0027, meta, autoload\u003dTrue)"},{"line_number":56,"context_line":"    alarm.drop()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2F5z4%3D","line":55,"updated":"2013-10-25 13:26:14.000000000","message":"Same as line 105 here: https://review.openstack.org/#/c/53133/5/ceilometer/storage/sqlalchemy/migrate_repo/versions/001_add_meter_table.py","commit_id":"03c011eddf2c239adc617f6d5b8ace0e1b71f852"}],"ceilometer/storage/sqlalchemy/migrate_repo/versions/008_add_events.py":[{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2d5e36b4d34a4cfd4e47a1d0273533a89b1a66f2","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from sqlalchemy import Table"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def get_tables(meta):"},{"line_number":25,"context_line":"    unique_name \u003d Table("},{"line_number":26,"context_line":"        \u0027unique_name\u0027, meta,"},{"line_number":27,"context_line":"        Column(\u0027id\u0027, Integer, primary_key\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FJQo%3D","line":24,"updated":"2013-10-23 07:10:36.000000000","message":"same nit as to initial migration","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"04701d931be4baaa0dc09c3b1070dc2eb735b56a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from sqlalchemy import Table"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def get_tables(meta):"},{"line_number":25,"context_line":"    unique_name \u003d Table("},{"line_number":26,"context_line":"        \u0027unique_name\u0027, meta,"},{"line_number":27,"context_line":"        Column(\u0027id\u0027, Integer, primary_key\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATX%2F%2F%2FXo%3D","line":24,"in_reply_to":"AAAATH%2F%2FJQo%3D","updated":"2013-10-23 07:58:15.000000000","message":"Done","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"6be6a200e27c3b737ef98754243a5eef5d402da2","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def downgrade(migrate_engine):"},{"line_number":65,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":66,"context_line":"    tables \u003d ["},{"line_number":67,"context_line":"        Table(\u0027trait\u0027, meta, autoload\u003dTrue),"},{"line_number":68,"context_line":"        Table(\u0027event\u0027, meta, autoload\u003dTrue),"},{"line_number":69,"context_line":"        Table(\u0027unique_name\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATX%2F%2F%2FS4%3D","line":66,"updated":"2013-10-23 08:43:14.000000000","message":"same optional nit as to migration 001","commit_id":"4b4c3cde50d96636ce9ac8e2f9558a94a5e58c54"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"c838864031aa915d3db6622617bfdbd35349b4ba","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def downgrade(migrate_engine):"},{"line_number":65,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":66,"context_line":"    tables \u003d ["},{"line_number":67,"context_line":"        Table(\u0027trait\u0027, meta, autoload\u003dTrue),"},{"line_number":68,"context_line":"        Table(\u0027event\u0027, meta, autoload\u003dTrue),"},{"line_number":69,"context_line":"        Table(\u0027unique_name\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2F59M%3D","line":66,"in_reply_to":"AAAATX%2F%2F%2FS4%3D","updated":"2013-10-25 12:55:59.000000000","message":"Done","commit_id":"4b4c3cde50d96636ce9ac8e2f9558a94a5e58c54"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"1a13d9bd4077ab56c819f7692489f6afe436f6bd","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def downgrade(migrate_engine):"},{"line_number":65,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":66,"context_line":"    for name in [\u0027trait\u0027, \u0027event\u0027]:"},{"line_number":67,"context_line":"        t \u003d Table(name, meta, autoload\u003dTrue)"},{"line_number":68,"context_line":"        t.drop()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2F5z0%3D","line":66,"updated":"2013-10-25 13:26:14.000000000","message":"Same as line 105: https://review.openstack.org/#/c/53133/5/ceilometer/storage/sqlalchemy/migrate_repo/versions/001_add_meter_table.py","commit_id":"03c011eddf2c239adc617f6d5b8ace0e1b71f852"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"6e7d7ac6c2e489ed234eac3dfa410faa16a442c8","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def downgrade(migrate_engine):"},{"line_number":65,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":66,"context_line":"    for name in [\u0027trait\u0027, \u0027event\u0027]:"},{"line_number":67,"context_line":"        t \u003d Table(name, meta, autoload\u003dTrue)"},{"line_number":68,"context_line":"        t.drop()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2F5Ks%3D","line":66,"updated":"2013-10-25 15:48:49.000000000","message":"[\u0027trait\u0027, \u0027event\u0027, \u0027unique_name\u0027] -- missing unique_name table","commit_id":"03c011eddf2c239adc617f6d5b8ace0e1b71f852"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"9310baa21d43ee1dbe33ce194120fb11907da6e2","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def downgrade(migrate_engine):"},{"line_number":65,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":66,"context_line":"    for name in [\u0027trait\u0027, \u0027event\u0027]:"},{"line_number":67,"context_line":"        t \u003d Table(name, meta, autoload\u003dTrue)"},{"line_number":68,"context_line":"        t.drop()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2F5EY%3D","line":66,"in_reply_to":"AAAATn%2F%2F5Ks%3D","updated":"2013-10-25 16:07:02.000000000","message":"done, good catch, thx\n\nI\u0027m really impatient to have the downgrade/upgrade unit tests to catch this.","commit_id":"03c011eddf2c239adc617f6d5b8ace0e1b71f852"}],"ceilometer/storage/sqlalchemy/migrate_repo/versions/015_add_alarm_history_table.py":[{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"d64d6e36ae98209b1a4db8e3ffe904bfbaf02843","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def upgrade(migrate_engine):"},{"line_number":25,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    project \u003d Table(\u0027project\u0027, meta, autoload\u003dTrue)"},{"line_number":28,"context_line":"    user \u003d Table(\u0027user\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATX%2F%2F%2FyY%3D","line":25,"updated":"2013-10-23 06:03:19.000000000","message":"This version is fixed in https://review.openstack.org/#/c/52330/\n\nYou might want to rebase.","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3a18cfc2e3c6b4fe861942ad8f73745cfdea6de5","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def upgrade(migrate_engine):"},{"line_number":25,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    project \u003d Table(\u0027project\u0027, meta, autoload\u003dTrue)"},{"line_number":28,"context_line":"    user \u003d Table(\u0027user\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATX%2F%2F%2Fi8%3D","line":25,"in_reply_to":"AAAATX%2F%2F%2FyY%3D","updated":"2013-10-23 07:06:58.000000000","message":"Done","commit_id":"150ae5c96731076ce0083f84351d75ee9b082657"}]}
