)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"7d1960660a7f93e8a5525634602b757afc0e7c1d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2013-06-19 08:39:42 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Sync db.models.Quota* with migrations."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ic97690b650151eb7086cbd40093c0f3c373133e2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPn%2F%2F3uE%3D","line":8,"updated":"2013-06-19 12:19:26.000000000","message":"please add blueprint here","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":6507,"name":"Shturm Svetlana","email":"svetlana.v.shturm@gmail.com","username":"sshturm"},"change_message_id":"7172cef99c838c3163e32953e6e1ed25abe1a913","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2013-06-19 08:39:42 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Sync db.models.Quota* with migrations."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ic97690b650151eb7086cbd40093c0f3c373133e2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPn%2F%2F1Mo%3D","line":8,"in_reply_to":"AAAAPn%2F%2F3uE%3D","updated":"2013-06-20 07:27:40.000000000","message":"Done","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"f67651e7afddb5265c5c44281734a70d6d1a8f58","unresolved":false,"context_lines":[{"line_number":367,"context_line":"    \"\"\""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    __tablename__ \u003d \u0027quotas\u0027"},{"line_number":370,"context_line":"    __table_args__ \u003d ()"},{"line_number":371,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    project_id \u003d Column(String(255), nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F3Mc%3D","line":370,"updated":"2013-06-19 15:29:30.000000000","message":"So, you add and index in QuotaClass, but no index here in Quota, despite there being \"index\u003dTrue\" on project_id?\n\nAlso, I think we could probably consider adding unique constraints on some of the quota tables, but that\u0027s out of the scope of your patch…","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":6507,"name":"Shturm Svetlana","email":"svetlana.v.shturm@gmail.com","username":"sshturm"},"change_message_id":"7172cef99c838c3163e32953e6e1ed25abe1a913","unresolved":false,"context_lines":[{"line_number":367,"context_line":"    \"\"\""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    __tablename__ \u003d \u0027quotas\u0027"},{"line_number":370,"context_line":"    __table_args__ \u003d ()"},{"line_number":371,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    project_id \u003d Column(String(255), nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F1NI%3D","line":370,"in_reply_to":"AAAAPn%2F%2F3Mc%3D","updated":"2013-06-20 07:27:40.000000000","message":"In fact we have differences in models and  migrations today. The working schema of database is creating by versions in migrate_repo. This schema describes actual state of database. But model has a lot of mistakes. It\u0027s far from the current state. \nSo `project index` consists in model, but missing in migrates. Our patch takes an actual state as a base and change all mistakes in model. If you are try to make this query in db `show indexes in quotas` you will not found any indexes.\n\nIf you have some ideas for improvement actual model, you can make a comment in our blueprint https://blueprints.launchpad.net/nova/+spec/db-sync-models-with-migrations.\nAfter all changes in model we will make new migrate version for fixing bug.","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"7d1960660a7f93e8a5525634602b757afc0e7c1d","unresolved":false,"context_lines":[{"line_number":373,"context_line":"    project_id \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    resource \u003d Column(String(255), nullable\u003dFalse)"},{"line_number":376,"context_line":"    hard_limit \u003d Column(Integer, nullable\u003dTrue)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"class QuotaClass(BASE, NovaBase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F3uQ%3D","line":376,"updated":"2013-06-19 12:19:26.000000000","message":"missed columns \n  `created_at` datetime DEFAULT NULL,\n  `updated_at` datetime DEFAULT NULL,\n  `deleted_at` datetime DEFAULT NULL,\n  `deleted` int(11) DEFAULT NULL,","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"ac176bb15c31746bc0eb9f34e7fe2ea5e5d9ce3e","unresolved":false,"context_lines":[{"line_number":373,"context_line":"    project_id \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    resource \u003d Column(String(255), nullable\u003dFalse)"},{"line_number":376,"context_line":"    hard_limit \u003d Column(Integer, nullable\u003dTrue)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"class QuotaClass(BASE, NovaBase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F3qg%3D","line":376,"in_reply_to":"AAAAPn%2F%2F3uQ%3D","updated":"2013-06-19 12:43:33.000000000","message":"ok, my mistake. We can find these columns in base classes","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"7d1960660a7f93e8a5525634602b757afc0e7c1d","unresolved":false,"context_lines":[{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    resource \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":396,"context_line":"    hard_limit \u003d Column(Integer, nullable\u003dTrue)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"class QuotaUsage(BASE, NovaBase):"},{"line_number":400,"context_line":"    \"\"\"Represents the current usage for a given resource.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F3uM%3D","line":397,"updated":"2013-06-19 12:19:26.000000000","message":"some columns are missed","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"ac176bb15c31746bc0eb9f34e7fe2ea5e5d9ce3e","unresolved":false,"context_lines":[{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    resource \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":396,"context_line":"    hard_limit \u003d Column(Integer, nullable\u003dTrue)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"class QuotaUsage(BASE, NovaBase):"},{"line_number":400,"context_line":"    \"\"\"Represents the current usage for a given resource.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F3qY%3D","line":397,"in_reply_to":"AAAAPn%2F%2F3uM%3D","updated":"2013-06-19 12:43:33.000000000","message":"the same","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"7d1960660a7f93e8a5525634602b757afc0e7c1d","unresolved":false,"context_lines":[{"line_number":399,"context_line":"class QuotaUsage(BASE, NovaBase):"},{"line_number":400,"context_line":"    \"\"\"Represents the current usage for a given resource.\"\"\""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    __tablename__ \u003d \u0027quota_usages\u0027"},{"line_number":403,"context_line":"    __table_args__ \u003d ("},{"line_number":404,"context_line":"        Index(\u0027ix_quota_usages_project_id\u0027, \u0027project_id\u0027),"},{"line_number":405,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F3uI%3D","line":402,"updated":"2013-06-19 12:19:26.000000000","message":"ditto","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"ac176bb15c31746bc0eb9f34e7fe2ea5e5d9ce3e","unresolved":false,"context_lines":[{"line_number":399,"context_line":"class QuotaUsage(BASE, NovaBase):"},{"line_number":400,"context_line":"    \"\"\"Represents the current usage for a given resource.\"\"\""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    __tablename__ \u003d \u0027quota_usages\u0027"},{"line_number":403,"context_line":"    __table_args__ \u003d ("},{"line_number":404,"context_line":"        Index(\u0027ix_quota_usages_project_id\u0027, \u0027project_id\u0027),"},{"line_number":405,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F3qU%3D","line":402,"in_reply_to":"AAAAPn%2F%2F3uI%3D","updated":"2013-06-19 12:43:33.000000000","message":"same","commit_id":"4d8127f8b46194943e00cce6a4200cd0cf932ff8"}]}
