)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c361a106413eef85213ca8db466877308c357734","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dave Chen \u003cwei.d.chen@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-14 06:01:16 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"More content for core components of DB migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- The dir of core components should also include version subdirectory."},{"line_number":10,"context_line":"- Files: `__init__.py` and `migrate.cfg` also needed for core"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_88ef8586","line":7,"updated":"2015-03-13 15:40:15.000000000","message":"can you add \u0027document\u0027/\u0027docs\u0027 somewhere in this title and message?","commit_id":"86c4570f916cf89a2f2ed41f5514002ba77fdfef"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7bf880a924bd1f865851e573354f7a6f70515678","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dave Chen \u003cwei.d.chen@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-14 06:01:16 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"More content for core components of DB migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- The dir of core components should also include version subdirectory."},{"line_number":10,"context_line":"- Files: `__init__.py` and `migrate.cfg` also needed for core"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_ab5b4c52","line":7,"in_reply_to":"9a80dd14_88ef8586","updated":"2015-03-14 02:26:02.000000000","message":"Done","commit_id":"86c4570f916cf89a2f2ed41f5514002ba77fdfef"}],"doc/source/developing.rst":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"964735eb19fb9262c98db078784b215f3380003f","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    $ keystone-manage db_sync \u003cversion\u003e"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"For extension, migrations must be explicitly run for each extension individually. To run a"},{"line_number":133,"context_line":"migration for a specific extension, simply run:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_7f7a01f2","line":132,"updated":"2015-03-13 17:04:25.000000000","message":"I thought we dropped extensions and all components which were extensions are now migrated by default, or I\u0027m mistaken?","commit_id":"86c4570f916cf89a2f2ed41f5514002ba77fdfef"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7bf880a924bd1f865851e573354f7a6f70515678","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    $ keystone-manage db_sync \u003cversion\u003e"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"For extension, migrations must be explicitly run for each extension individually. To run a"},{"line_number":133,"context_line":"migration for a specific extension, simply run:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_2b9bdc18","line":132,"in_reply_to":"9a80dd14_7f7a01f2","updated":"2015-03-14 02:26:02.000000000","message":"@Boris, I am not sure about current status of the dropping extensions, still in progress? I think Steve know more. Even this is the case I think it\u0027s should be a separated patch to address that when the action is done.","commit_id":"86c4570f916cf89a2f2ed41f5514002ba77fdfef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e69ce0bc61c454b5dd0694c7907e4ee1e02a8ca1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"revisions. For core components, the migrations are kept in a central"},{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"script, the version is actually the number before the underline."},{"line_number":99,"context_line":"For example, if the script named ``01_migration.py`` then the version of"},{"line_number":100,"context_line":"the SQL migration is ``01``."},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a80dd14_fc442848","line":98,"updated":"2015-03-14 06:38:07.000000000","message":"remove the word \u0027actually\u0027","commit_id":"bf6205df3397a77314a10c1bc18b82342272b957"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d84b5fee05c18670c0e868ede872e1532bd34624","unresolved":false,"context_lines":[{"line_number":95,"context_line":"revisions. For core components, the migrations are kept in a central"},{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"script, the version is actually the number before the underline."},{"line_number":99,"context_line":"For example, if the script named ``01_migration.py`` then the version of"},{"line_number":100,"context_line":"the SQL migration is ``01``."},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a80dd14_1c665c2a","line":98,"in_reply_to":"9a80dd14_fc442848","updated":"2015-03-14 08:56:21.000000000","message":"Done","commit_id":"bf6205df3397a77314a10c1bc18b82342272b957"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e69ce0bc61c454b5dd0694c7907e4ee1e02a8ca1","unresolved":false,"context_lines":[{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"script, the version is actually the number before the underline."},{"line_number":99,"context_line":"For example, if the script named ``01_migration.py`` then the version of"},{"line_number":100,"context_line":"the SQL migration is ``01``."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":".. _SQLAlchemy-migrate: http://code.google.com/p/sqlalchemy-migrate/"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a80dd14_1c773ca1","line":99,"updated":"2015-03-14 06:38:07.000000000","message":"suggested wording: \"For example, if the script is named ``01_migration.py``, then the version of the SQL migration is ``1``.","commit_id":"bf6205df3397a77314a10c1bc18b82342272b957"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d84b5fee05c18670c0e868ede872e1532bd34624","unresolved":false,"context_lines":[{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"script, the version is actually the number before the underline."},{"line_number":99,"context_line":"For example, if the script named ``01_migration.py`` then the version of"},{"line_number":100,"context_line":"the SQL migration is ``01``."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":".. _SQLAlchemy-migrate: http://code.google.com/p/sqlalchemy-migrate/"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a80dd14_5c6c5408","line":99,"in_reply_to":"9a80dd14_1c773ca1","updated":"2015-03-14 08:56:21.000000000","message":"Done","commit_id":"bf6205df3397a77314a10c1bc18b82342272b957"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e69ce0bc61c454b5dd0694c7907e4ee1e02a8ca1","unresolved":false,"context_lines":[{"line_number":123,"context_line":"The directory ``keystone/contrib/example`` contains a sample extension"},{"line_number":124,"context_line":"migration."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"For core components, to run a migration for upgrade or downgrade, simply run:"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code-block:: bash"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a80dd14_3ca160f8","line":126,"updated":"2015-03-14 06:38:07.000000000","message":"Maybe add a note saying that if no version is specified, then the most recent migration will be used.","commit_id":"bf6205df3397a77314a10c1bc18b82342272b957"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d84b5fee05c18670c0e868ede872e1532bd34624","unresolved":false,"context_lines":[{"line_number":123,"context_line":"The directory ``keystone/contrib/example`` contains a sample extension"},{"line_number":124,"context_line":"migration."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"For core components, to run a migration for upgrade or downgrade, simply run:"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code-block:: bash"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a80dd14_7c46787c","line":126,"in_reply_to":"9a80dd14_3ca160f8","updated":"2015-03-14 08:56:21.000000000","message":"Done","commit_id":"bf6205df3397a77314a10c1bc18b82342272b957"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"5ac341dfb30e2eda8c7de5255efc54e1ea148a9a","unresolved":false,"context_lines":[{"line_number":107,"context_line":"extension\u0027s directory in ``keystone/contrib/\u003cextension\u003e/migrate_repo``. In"},{"line_number":108,"context_line":"addition, it needs a subdirectory named ``versions``. For example, if the"},{"line_number":109,"context_line":"extension name is ``my_extension`` then the directory structure would be"},{"line_number":110,"context_line":"``keystone/contrib/my_extension/migrate_repo/versions/``."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"For the migration to work, both the ``migrate_repo`` and ``versions``"},{"line_number":113,"context_line":"subdirectories must have ``__init__.py`` files. SQLAlchemy-migrate will look"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a80dd14_c5f30471","line":110,"updated":"2015-03-15 03:04:18.000000000","message":"Nice description!","commit_id":"8e396f868197c73bffb127b8e17b71b577fb9aa9"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d81ea20efcf252848d4266edc096f9589125e50c","unresolved":false,"context_lines":[{"line_number":107,"context_line":"extension\u0027s directory in ``keystone/contrib/\u003cextension\u003e/migrate_repo``. In"},{"line_number":108,"context_line":"addition, it needs a subdirectory named ``versions``. For example, if the"},{"line_number":109,"context_line":"extension name is ``my_extension`` then the directory structure would be"},{"line_number":110,"context_line":"``keystone/contrib/my_extension/migrate_repo/versions/``."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"For the migration to work, both the ``migrate_repo`` and ``versions``"},{"line_number":113,"context_line":"subdirectories must have ``__init__.py`` files. SQLAlchemy-migrate will look"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a80dd14_80657ab0","line":110,"in_reply_to":"9a80dd14_c5f30471","updated":"2015-03-15 05:18:44.000000000","message":":-), this is what is was, this patch just fix core components up for migration. I also think it\u0027s nice and clear.","commit_id":"8e396f868197c73bffb127b8e17b71b577fb9aa9"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"5ac341dfb30e2eda8c7de5255efc54e1ea148a9a","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":".. NOTE::"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   If no version is sepcified, then the most recent migration will be used."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"For extension, migrations must be explicitly run for each extension individually. To run a"},{"line_number":137,"context_line":"migration for a specific extension, simply run:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a80dd14_45ff1434","line":134,"updated":"2015-03-15 03:04:18.000000000","message":"typo: sepcified should be specified","commit_id":"8e396f868197c73bffb127b8e17b71b577fb9aa9"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"de2142a28fae70d633e7ec2c0d207a6b51126972","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":".. NOTE::"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   If no version is sepcified, then the most recent migration will be used."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"For extension, migrations must be explicitly run for each extension individually. To run a"},{"line_number":137,"context_line":"migration for a specific extension, simply run:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a80dd14_e05636cd","line":134,"in_reply_to":"9a80dd14_45ff1434","updated":"2015-03-15 05:09:19.000000000","message":"Done","commit_id":"8e396f868197c73bffb127b8e17b71b577fb9aa9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5346c0e55add9332ed610334c5bcb4099cf20336","unresolved":false,"context_lines":[{"line_number":95,"context_line":"revisions. For core components, the migrations are kept in a central"},{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"script, the version is the number before the underline."},{"line_number":99,"context_line":"For example, if the script is named ``01_migration.py`` then the version"},{"line_number":100,"context_line":"of the SQL migration is ``1``."},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a6ced46_3b82d44f","line":98,"updated":"2015-03-23 23:32:41.000000000","message":"change \"script\" to \"the script\"","commit_id":"befe2251252fa6b41665070db29c13fae33e2afa"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"702f01c85b2c6fe6fd0fa7d494018e8ccfa7444d","unresolved":false,"context_lines":[{"line_number":95,"context_line":"revisions. For core components, the migrations are kept in a central"},{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"script, the version is the number before the underline."},{"line_number":99,"context_line":"For example, if the script is named ``01_migration.py`` then the version"},{"line_number":100,"context_line":"of the SQL migration is ``1``."},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a6ced46_8cbe30fe","line":98,"in_reply_to":"1a6ced46_3b82d44f","updated":"2015-03-24 06:30:49.000000000","message":"Done","commit_id":"befe2251252fa6b41665070db29c13fae33e2afa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5346c0e55add9332ed610334c5bcb4099cf20336","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   If no version is specified, then the most recent migration will be used."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"For extension, migrations must be explicitly run for each extension individually. To run a"},{"line_number":137,"context_line":"migration for a specific extension, simply run:"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a6ced46_7bda8c79","line":136,"updated":"2015-03-23 23:32:41.000000000","message":"change \"extension\" to \"extensions\"","commit_id":"befe2251252fa6b41665070db29c13fae33e2afa"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"702f01c85b2c6fe6fd0fa7d494018e8ccfa7444d","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   If no version is specified, then the most recent migration will be used."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"For extension, migrations must be explicitly run for each extension individually. To run a"},{"line_number":137,"context_line":"migration for a specific extension, simply run:"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a6ced46_b186e011","line":136,"in_reply_to":"1a6ced46_7bda8c79","updated":"2015-03-24 06:30:49.000000000","message":"Done","commit_id":"befe2251252fa6b41665070db29c13fae33e2afa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fdff897ab83bb3e13e3809781d62e0dff2a489aa","unresolved":false,"context_lines":[{"line_number":143,"context_line":".. NOTE::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"   The meaning of \"extension\" here has been changed since all of the"},{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_b74cb443","line":146,"updated":"2015-03-25 23:24:24.000000000","message":"change \"is loaded\" to \"are loaded\"","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e90b2e9d1e4b455d04809d425ada3cfa130fb8d9","unresolved":false,"context_lines":[{"line_number":143,"context_line":".. NOTE::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"   The meaning of \"extension\" here has been changed since all of the"},{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_f170f473","line":146,"in_reply_to":"1a6ced46_b74cb443","updated":"2015-03-26 04:53:21.000000000","message":"Done","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fdff897ab83bb3e13e3809781d62e0dff2a489aa","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"   The meaning of \"extension\" here has been changed since all of the"},{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_f752acdc","line":147,"updated":"2015-03-25 23:24:24.000000000","message":"change \"separated\" to \"separate\".\n\nchange \"Run\" to \"Running\"","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e90b2e9d1e4b455d04809d425ada3cfa130fb8d9","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"   The meaning of \"extension\" here has been changed since all of the"},{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_116af080","line":147,"in_reply_to":"1a6ced46_f752acdc","updated":"2015-03-26 04:53:21.000000000","message":"Done","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fdff897ab83bb3e13e3809781d62e0dff2a489aa","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   The meaning of \"extension\" here has been changed since all of the"},{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Initial Sample Data"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_7756bccf","line":148,"updated":"2015-03-25 23:24:24.000000000","message":"change \"recovering\" to \"recovery\"","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e90b2e9d1e4b455d04809d425ada3cfa130fb8d9","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   The meaning of \"extension\" here has been changed since all of the"},{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Initial Sample Data"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_91b26004","line":148,"in_reply_to":"1a6ced46_7756bccf","updated":"2015-03-26 04:53:21.000000000","message":"Done","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fdff897ab83bb3e13e3809781d62e0dff2a489aa","unresolved":false,"context_lines":[{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Initial Sample Data"},{"line_number":152,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_b773d47e","line":149,"updated":"2015-03-25 23:24:24.000000000","message":"Remove \"purpose\"","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e90b2e9d1e4b455d04809d425ada3cfa130fb8d9","unresolved":false,"context_lines":[{"line_number":146,"context_line":"   \"extension\" is loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separated directory. Run a migration"},{"line_number":148,"context_line":"   for a specific extension can be used for DB rollback or recovering"},{"line_number":149,"context_line":"   purpose."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Initial Sample Data"},{"line_number":152,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6ced46_d1cf787d","line":149,"in_reply_to":"1a6ced46_b773d47e","updated":"2015-03-26 04:53:21.000000000","message":"Done","commit_id":"2a09ae4679af996dd48b0eab9d0ce02f16ab94ad"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"9f3944289f886dfe89e88c766a909ce5216704b9","unresolved":false,"context_lines":[{"line_number":123,"context_line":"The directory ``keystone/contrib/example`` contains a sample extension"},{"line_number":124,"context_line":"migration."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"For core components, to run a migration for upgrade or downgrade, simply run:"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code-block:: bash"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a6ced46_c5a16d95","line":126,"updated":"2015-03-26 10:25:49.000000000","message":"suggest we remove references to downgrade...and make this patch dependant on https://review.openstack.org/#/c/167834/","commit_id":"afa108fc69fd3a1897ad6c4e93641f04878ea14f"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"0420d28bebc8f3e50d5b2d76bdf414a667709f40","unresolved":false,"context_lines":[{"line_number":123,"context_line":"The directory ``keystone/contrib/example`` contains a sample extension"},{"line_number":124,"context_line":"migration."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"For core components, to run a migration for upgrade or downgrade, simply run:"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code-block:: bash"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa963961_6b8611bb","line":126,"in_reply_to":"1a6ced46_c5a16d95","updated":"2015-03-26 14:40:21.000000000","message":"Thanks Henry, have removed the downgrade bit and add a note for that.\n\nAs to rebase, it looks like that patch will be updated again to address some comments, I will rebase on that when it\u0027s done.","commit_id":"afa108fc69fd3a1897ad6c4e93641f04878ea14f"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"eb3584739b49c76017c34794db99ed07c51989de","unresolved":false,"context_lines":[{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"the script, the version is the number before the underline."},{"line_number":99,"context_line":"For example, if the script is named ``01_migration.py`` then the version"},{"line_number":100,"context_line":"of the SQL migration is ``1``."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":".. _SQLAlchemy-migrate: http://code.google.com/p/sqlalchemy-migrate/"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa963961_96261c15","line":99,"updated":"2015-03-26 14:57:06.000000000","message":"I would rename 01_migration.py to 001_add_X_table.py to be realistic.","commit_id":"ca8606c25792d2a3f50b6f4f824b07abaedeb190"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2ba8495b24699328bd8c286845c94d8829998ac3","unresolved":false,"context_lines":[{"line_number":96,"context_line":"repository under ``keystone/common/sql/migrate_repo/versions``. Each"},{"line_number":97,"context_line":"SQL migration has a version which can be identified by the name of"},{"line_number":98,"context_line":"the script, the version is the number before the underline."},{"line_number":99,"context_line":"For example, if the script is named ``01_migration.py`` then the version"},{"line_number":100,"context_line":"of the SQL migration is ``1``."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":".. _SQLAlchemy-migrate: http://code.google.com/p/sqlalchemy-migrate/"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa963961_50308356","line":99,"in_reply_to":"fa963961_96261c15","updated":"2015-03-27 01:28:13.000000000","message":"Done","commit_id":"ca8606c25792d2a3f50b6f4f824b07abaedeb190"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"eb3584739b49c76017c34794db99ed07c51989de","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   If no version is specified, then the most recent migration will be used."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"For the extension, migrations must be explicitly run for each extension individually."},{"line_number":137,"context_line":"To run a migration for a specific extension, simply run:"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa963961_d68264c8","line":136,"updated":"2015-03-26 14:57:06.000000000","message":"Suggest: s/For the extension/For extensions/","commit_id":"ca8606c25792d2a3f50b6f4f824b07abaedeb190"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2ba8495b24699328bd8c286845c94d8829998ac3","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   If no version is specified, then the most recent migration will be used."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"For the extension, migrations must be explicitly run for each extension individually."},{"line_number":137,"context_line":"To run a migration for a specific extension, simply run:"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa963961_707947fc","line":136,"in_reply_to":"fa963961_d68264c8","updated":"2015-03-27 01:28:13.000000000","message":"Done","commit_id":"ca8606c25792d2a3f50b6f4f824b07abaedeb190"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b8d3abff87f21e278dee6dd1e06bc6bc38dc4bce","unresolved":false,"context_lines":[{"line_number":143,"context_line":".. NOTE::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"   The meaning of \"extension\" here has been changed since all of the"},{"line_number":146,"context_line":"   \"extension\" are loaded and the migrations are run by default, but"},{"line_number":147,"context_line":"   the source is maintained in a separate directory."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":".. NOTE::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"baa041b7_879ff65e","line":146,"updated":"2015-04-01 23:50:26.000000000","message":"change \"extension\" to \"extensions\"","commit_id":"0e2f47ae2f8daa822d6da910cf8ebf5bb3bf437f"}]}
