)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9deee58c791f3a152179ef99643e8a924ef10e13","unresolved":false,"context_lines":[{"line_number":2722,"context_line":"        filter_by(instance_uuid\u003dinstance_uuid)"},{"line_number":2723,"context_line":"    if columns is None:"},{"line_number":2724,"context_line":"        columns \u003d [\u0027numa_topology\u0027, \u0027pci_requests\u0027, \u0027flavor\u0027, \u0027vcpu_model\u0027,"},{"line_number":2725,"context_line":"                   \u0027migration_context\u0027]"},{"line_number":2726,"context_line":"    for column in columns:"},{"line_number":2727,"context_line":"        query \u003d query.options(undefer(column))"},{"line_number":2728,"context_line":"    instance_extra \u003d query.first()"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_30435544","line":2725,"updated":"2015-08-28 11:08:31.000000000","message":"nit: well, technically, this column is not yet populated, right? so all of them are set to NULL. That looks okay here but I tend to prefer modifying the DB API methods when their objects are modified","commit_id":"ed252e5fd3137d77cfb834de6c47679487bc110a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"45b5149ca6c5967e7be21d8714eba1cca644d7e4","unresolved":false,"context_lines":[{"line_number":2722,"context_line":"        filter_by(instance_uuid\u003dinstance_uuid)"},{"line_number":2723,"context_line":"    if columns is None:"},{"line_number":2724,"context_line":"        columns \u003d [\u0027numa_topology\u0027, \u0027pci_requests\u0027, \u0027flavor\u0027, \u0027vcpu_model\u0027,"},{"line_number":2725,"context_line":"                   \u0027migration_context\u0027]"},{"line_number":2726,"context_line":"    for column in columns:"},{"line_number":2727,"context_line":"        query \u003d query.options(undefer(column))"},{"line_number":2728,"context_line":"    instance_extra \u003d query.first()"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_86768ba2","line":2725,"in_reply_to":"da20952f_30435544","updated":"2015-08-28 21:31:21.000000000","message":"When I do this, I do what he\u0027s done here, add the db bits (including the db api), then the object, then the thing that uses it.","commit_id":"ed252e5fd3137d77cfb834de6c47679487bc110a"}],"nova/db/sqlalchemy/migrate_repo/versions/300_migration_context.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9deee58c791f3a152179ef99643e8a924ef10e13","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        table \u003d Table(prefix + BASE_TABLE_NAME, meta, autoload\u003dTrue)"},{"line_number":30,"context_line":"        new_column \u003d Column(NEW_COLUMN_NAME, Text, nullable\u003dTrue)"},{"line_number":31,"context_line":"        if not hasattr(table.c, NEW_COLUMN_NAME):"},{"line_number":32,"context_line":"            table.create_column(new_column)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_700a2d23","line":32,"updated":"2015-08-28 11:08:31.000000000","message":"off-topic : looks definitely like a good pattern for adding a column. We should probably document that as a good example of what to do for a DB migration","commit_id":"ed252e5fd3137d77cfb834de6c47679487bc110a"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"34110c0fca85ba0329b70ee817f0804f26d2ef7a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        table \u003d Table(prefix + BASE_TABLE_NAME, meta, autoload\u003dTrue)"},{"line_number":30,"context_line":"        new_column \u003d Column(NEW_COLUMN_NAME, Text, nullable\u003dTrue)"},{"line_number":31,"context_line":"        if not hasattr(table.c, NEW_COLUMN_NAME):"},{"line_number":32,"context_line":"            table.create_column(new_column)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_907101e3","line":32,"in_reply_to":"da20952f_700a2d23","updated":"2015-08-28 12:29:59.000000000","message":"Yeah I thought the same when I was copy pasting this code from a different migration :)","commit_id":"ed252e5fd3137d77cfb834de6c47679487bc110a"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"16b06a973364fb3036a0d8acb5d4e456299c22f5","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    pci_requests \u003d orm.deferred(Column(Text))"},{"line_number":365,"context_line":"    flavor \u003d orm.deferred(Column(Text))"},{"line_number":366,"context_line":"    vcpu_model \u003d orm.deferred(Column(Text))"},{"line_number":367,"context_line":"    migration_context \u003d orm.deferred(Column(Text))"},{"line_number":368,"context_line":"    instance \u003d orm.relationship(Instance,"},{"line_number":369,"context_line":"                            backref\u003dorm.backref(\u0027extra\u0027,"},{"line_number":370,"context_line":"                                                uselist\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_f4e14c9b","line":367,"updated":"2015-08-28 13:31:17.000000000","message":"Nit: I think we are starting to explicitly mark these as nullable\u003dTrue now, but I guess we should do that for everything in one change, to be consistent.","commit_id":"ed252e5fd3137d77cfb834de6c47679487bc110a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"45b5149ca6c5967e7be21d8714eba1cca644d7e4","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    pci_requests \u003d orm.deferred(Column(Text))"},{"line_number":365,"context_line":"    flavor \u003d orm.deferred(Column(Text))"},{"line_number":366,"context_line":"    vcpu_model \u003d orm.deferred(Column(Text))"},{"line_number":367,"context_line":"    migration_context \u003d orm.deferred(Column(Text))"},{"line_number":368,"context_line":"    instance \u003d orm.relationship(Instance,"},{"line_number":369,"context_line":"                            backref\u003dorm.backref(\u0027extra\u0027,"},{"line_number":370,"context_line":"                                                uselist\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_4655d3f7","line":367,"in_reply_to":"da20952f_f4e14c9b","updated":"2015-08-28 21:31:21.000000000","message":"Yeah, I much prefer the explicit nullable\u003dTrue. I complained about that on another set this week... :)","commit_id":"ed252e5fd3137d77cfb834de6c47679487bc110a"}]}
