)]}'
{"trove/db/sqlalchemy/migrate_repo/versions/017_datastore_fix.py":[{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"12b464a9cd4ffff312b99ae4c5d4b76776e90f39","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    if instances.count() \u003e 0:"},{"line_number":36,"context_line":"        datastore \u003d DBDatastore.get_by(manager\u003d\"mysql\")"},{"line_number":37,"context_line":"        datastore \u003d datastore or DBDatastore.create("},{"line_number":38,"context_line":"            name\u003d\"Legacy Datastore (Update Me)\","},{"line_number":39,"context_line":"            manager\u003d\"mysql\","},{"line_number":40,"context_line":"        )"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F8uUI%3D","line":38,"updated":"2013-12-21 04:24:17.000000000","message":"This might make more sense to just call it \"MySQL\". What do u think?","commit_id":"0144c480c55beffe1504a8e3159a26c8a34fa975"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"2ec8bc5c4d8828d69ad52e14ae9f8d0007b84d82","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    if instances.count() \u003e 0:"},{"line_number":36,"context_line":"        datastore \u003d DBDatastore.get_by(manager\u003d\"mysql\")"},{"line_number":37,"context_line":"        datastore \u003d datastore or DBDatastore.create("},{"line_number":38,"context_line":"            name\u003d\"Legacy Datastore (Update Me)\","},{"line_number":39,"context_line":"            manager\u003d\"mysql\","},{"line_number":40,"context_line":"        )"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F8tdk%3D","line":38,"in_reply_to":"AAAATn%2F8uUI%3D","updated":"2013-12-21 23:03:06.000000000","message":"Maybe \"Legacy MySQL\"","commit_id":"0144c480c55beffe1504a8e3159a26c8a34fa975"},{"author":{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},"change_message_id":"670c60d4a6d54e9deed77fd15874e98a90952956","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    if instances.count() \u003e 0:"},{"line_number":36,"context_line":"        datastore \u003d DBDatastore.get_by(manager\u003d\"mysql\")"},{"line_number":37,"context_line":"        datastore \u003d datastore or DBDatastore.create("},{"line_number":38,"context_line":"            name\u003d\"Legacy Datastore (Update Me)\","},{"line_number":39,"context_line":"            manager\u003d\"mysql\","},{"line_number":40,"context_line":"        )"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F8t5Y%3D","line":38,"in_reply_to":"AAAATn%2F8uUI%3D","updated":"2013-12-22 21:42:56.000000000","message":"That\u0027s fine, but I was under the impression that it should obviously be wrong so people know to fix it.  It\u0027s highly unlikely that anyone will actually hit this code path since most or all operators will make sure to fix the datastores to be correct as part of their migration path.","commit_id":"0144c480c55beffe1504a8e3159a26c8a34fa975"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"af53f28ada45b37e584c9dcf2c756a1d4ad6baa3","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from trove.db.sqlalchemy.migrate_repo.schema import Table"},{"line_number":18,"context_line":"from trove.db.sqlalchemy import session"},{"line_number":19,"context_line":"from trove.instance.models import DBInstance"},{"line_number":20,"context_line":"from trove.datastore.models import DBDatastore, DBDatastoreVersion"},{"line_number":21,"context_line":"from trove.common import cfg"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F6xc%3D","line":20,"updated":"2014-01-06 20:03:30.000000000","message":"only have a single import per line.\n\n    from trove.datastore.models import DBDatastore\n    from trove.datastore.models import DBDatastoreVersion","commit_id":"4c0864a636d750d96f1df960d7ae291450c381bd"},{"author":{"_account_id":6268,"name":"Robert Myers","email":"myer0052@gmail.com","username":"rmyers"},"change_message_id":"6467a1891330bcdac408d25545140bf0a8df3307","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from trove.db.sqlalchemy.migrate_repo.schema import Table"},{"line_number":18,"context_line":"from trove.db.sqlalchemy import session"},{"line_number":19,"context_line":"from trove.instance.models import DBInstance"},{"line_number":20,"context_line":"from trove.datastore.models import DBDatastore, DBDatastoreVersion"},{"line_number":21,"context_line":"from trove.common import cfg"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F6L0%3D","line":20,"in_reply_to":"AAAAUH%2F%2F6eY%3D","updated":"2014-01-06 22:39:46.000000000","message":"It is part of the hacking rules (openstack custom flake8 rules) see here for guidelines:\n\nhttp://docs.openstack.org/developer/hacking/","commit_id":"4c0864a636d750d96f1df960d7ae291450c381bd"},{"author":{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},"change_message_id":"7ec55c9933d75e49129118c3c536c17de7efd4d0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from trove.db.sqlalchemy.migrate_repo.schema import Table"},{"line_number":18,"context_line":"from trove.db.sqlalchemy import session"},{"line_number":19,"context_line":"from trove.instance.models import DBInstance"},{"line_number":20,"context_line":"from trove.datastore.models import DBDatastore, DBDatastoreVersion"},{"line_number":21,"context_line":"from trove.common import cfg"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F6eY%3D","line":20,"in_reply_to":"AAAAUH%2F%2F6xc%3D","updated":"2014-01-06 21:13:00.000000000","message":"The OpenStack wiki only refers me to PEP8 coding standards, which explicitly say this is allowed:\n\nhttp://www.python.org/dev/peps/pep-0008/#imports\n\nIf there are other standards of which I should be aware, let me know where to read up on them.","commit_id":"4c0864a636d750d96f1df960d7ae291450c381bd"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"def0d786b6e9674b20d5eb685ac6024532911506","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    instance_table \u003d Table(\u0027instances\u0027, meta, autoload\u003dTrue)"},{"line_number":71,"context_line":"    instance_table.c.datastore_version_id.alter(nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F6gw%3D","line":71,"updated":"2014-01-06 21:07:23.000000000","message":"We should also clear out the datastore_version_id in the instances table, during the downgrade.","commit_id":"4c0864a636d750d96f1df960d7ae291450c381bd"},{"author":{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},"change_message_id":"7ec55c9933d75e49129118c3c536c17de7efd4d0","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    instance_table \u003d Table(\u0027instances\u0027, meta, autoload\u003dTrue)"},{"line_number":71,"context_line":"    instance_table.c.datastore_version_id.alter(nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F6fI%3D","line":71,"in_reply_to":"AAAAUH%2F%2F6gw%3D","updated":"2014-01-06 21:13:00.000000000","message":"I disagree.  Existing instances might or might not have data in the field prior to this change being applied, so we can\u0027t blanketly remove it on revert.","commit_id":"4c0864a636d750d96f1df960d7ae291450c381bd"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"474a99e0214c6c8a4af597b6ed65925996e884ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FoSc%3D","line":1,"updated":"2014-01-10 10:19:09.000000000","message":"Pending who merges first, you or https://review.openstack.org/#/c/63289/, one of you will need to change the filename prefix from 017 to 018.","commit_id":"0fb5ef5ab60659a79aa37d4a10be318fc2c2d0dd"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"acd854b3892af5e9601fdae7be2a78949f4a98d8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FDAI%3D","line":1,"in_reply_to":"AAAAUH%2F%2FoSc%3D","updated":"2014-01-17 23:20:45.000000000","message":"trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py just merged, you\u0027ll need to rename this to 018_","commit_id":"0fb5ef5ab60659a79aa37d4a10be318fc2c2d0dd"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"474a99e0214c6c8a4af597b6ed65925996e884ff","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            manager\u003d\"mysql\","},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        image_table \u003d Table(\u0027service_images\u0027, meta, autoload\u003dTrue)"},{"line_number":44,"context_line":"        image \u003d select("},{"line_number":45,"context_line":"            columns\u003d[\"id\", \"image_id\", \"service_name\"],"},{"line_number":46,"context_line":"            from_obj\u003dimage_table,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FoTU%3D","line":43,"updated":"2014-01-10 10:19:09.000000000","message":"https://github.com/openstack/trove/blob/5aaac4c6faa3d72ae1444c55dbd6cdae51f9403c/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py#L61-L63\n\ni advocated heavily that the dropping of tables (and maybe columns in certain scenarios) should always be deferred for a couple of releases if possible. it looks like this worked out great, because this patch-set makes use of a table that wouldn\u0027t have even existed otherwise!\n\njust wanted to point this out in case others were not aware of the conscious decision and suggested best-practice/pattern.","commit_id":"0fb5ef5ab60659a79aa37d4a10be318fc2c2d0dd"}],"trove/db/sqlalchemy/migrate_repo/versions/018_datastore_fix.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fddd87207ecb839b07005404cba3325879fe1336","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2Bv%2Fg%3D","line":1,"updated":"2014-01-22 14:50:36.000000000","message":"019_datastore_fix.py","commit_id":"df25dea9528fa642120bd55057e49fe57c5faa10"}]}
