)]}'
{"id":"openstack%2Fkeystone~879678","triplet_id":"openstack%2Fkeystone~master~I64252086f994901a5ebe05afec37a6afd3a192ee","project":"openstack/keystone","branch":"master","topic":"sqlalchemy-20","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2023-07-04 10:53:58.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I64252086f994901a5ebe05afec37a6afd3a192ee","subject":"sql: Remove duplicate constraints","status":"MERGED","created":"2023-04-05 18:01:36.000000000","updated":"2023-07-04 10:55:11.000000000","submitted":"2023-07-04 10:53:58.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"879678-sqlalchemy-20","meta_rev_id":"72076191eba4c9bfb3b78f4d76e959943cdcbf63","_number":879678,"virtual_id_number":879678,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":0,"_account_id":32761,"name":"panhongyin","display_name":"panhongyin","email":"panhongyin@yovole.com","username":"panhongyin"},{"value":0,"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2023-07-04 10:53:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"all":[{"value":2,"date":"2023-06-30 19:14:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":1,"date":"2023-05-30 12:21:15.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32761,"name":"panhongyin","display_name":"panhongyin","email":"panhongyin@yovole.com","username":"panhongyin"},{"value":2,"date":"2023-05-26 14:42:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2023-05-27 05:51:11.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"all":[{"value":1,"date":"2023-06-30 19:14:10.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":0,"_account_id":32761,"name":"panhongyin","display_name":"panhongyin","email":"panhongyin@yovole.com","username":"panhongyin"},{"value":0,"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"},{"_account_id":32761,"name":"panhongyin","display_name":"panhongyin","email":"panhongyin@yovole.com","username":"panhongyin"}],"CC":[{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-04-05 18:39:47.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2023-04-05 18:59:27.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2023-05-23 15:31:14.000000000","updated_by":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"reviewer":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"state":"REVIEWER"},{"updated":"2023-05-26 14:42:09.000000000","updated_by":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"reviewer":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"state":"REVIEWER"},{"updated":"2023-05-27 05:51:11.000000000","updated_by":{"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"},"reviewer":{"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"},"state":"REVIEWER"},{"updated":"2023-05-30 12:21:15.000000000","updated_by":{"_account_id":32761,"name":"panhongyin","display_name":"panhongyin","email":"panhongyin@yovole.com","username":"panhongyin"},"reviewer":{"_account_id":32761,"name":"panhongyin","display_name":"panhongyin","email":"panhongyin@yovole.com","username":"panhongyin"},"state":"REVIEWER"},{"updated":"2023-06-29 13:42:41.000000000","updated_by":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"reviewer":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"state":"CC"}],"messages":[{"id":"5c55c627e996da8d395122aa9a8adf062a75f10d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2023-04-05 18:01:36.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ee9665b923c5f0758fe2d2c6da5ce7fe46184529","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-04-05 18:39:47.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/58650eabd2e243a187b74a5651efde3c\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/b06f023715e14d2881a14d88efb9af8e : FAILURE in 14m 02s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/92dbff992c6147c98f36e80be04799a3 : FAILURE in 35m 41s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"56ac2b474006e0f33dc06185546d579504faf2d9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-04-05 18:59:27.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/7e5d621b74564eadaf99c98ae748bccf\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/14bc6eb8637649fda4815b831125cee4 : FAILURE in 14m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/40f977ee0a294e97815932c988b6d591 : SUCCESS in 5m 15s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/e0d7ed3112b34120b75f705566250af9 : FAILURE in 10m 59s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0f05e66337cc48b2ab71ffa1aba30c2e : FAILURE in 11m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1520825fa04746b49421bf17f11bb4e7 : SUCCESS in 10m 09s\n- grenade https://zuul.opendev.org/t/openstack/build/1d8e42123aa44a7f8091e50cc548eb44 : FAILURE in 29m 40s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/83faa798e0b248d1a6328204acde2306 : FAILURE in 13m 37s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/318a805228b8400b8502427ccbf653e5 : FAILURE in 24m 35s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/5bbdac1047af437793ba80816574bc96 : SUCCESS in 50m 37s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/14c90a7734964972b64b0d71d6ba0150 : FAILURE in 13m 40s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/bacc09d35a9e4120a515d4d906bd1800 : FAILURE in 25m 47s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/0908caccc6a44f0aafaf74b8030699ca : POST_FAILURE in 7m 43s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/ce79531b3549427786a66bf736363caf : FAILURE in 12m 16s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c1ce0f05c28944a1aef4c784fd242970 : FAILURE in 13m 02s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/8b2ca5b7b7bd4f9896a3743ab401e38f : FAILURE in 10m 44s","accounts_in_message":[],"_revision_number":1},{"id":"1987a9ae86e83395fe838e0a03460beceec7f0af","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2023-04-06 10:48:29.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"460d68deeedaaf08d034143bcb1e9d80a7a3ba74","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-04-06 11:34:39.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ca9b29ca4374f109b4a28bbaadc9bae\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/385f2d00db5b4fedb42c5a0bf653f7be : SUCCESS in 43m 15s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/b7636794dd3b4d73b140924cfc9c7af0 : SUCCESS in 37m 07s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"db6e62731cf41b181f87d0588780a956b3408c57","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-04-06 12:24:07.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/975af67334cd451b9efe0ecabdc3deeb\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/de944adae6f74bb0aa81c984ac6fbfdb : SUCCESS in 16m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/694612b8bf9b40e183b4cceb401d36e4 : SUCCESS in 5m 15s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/bd0cd503a9c04d47ae022297cc415f97 : SUCCESS in 13m 24s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/eec76a66e64e465bbe44ad6a34c76f81 : SUCCESS in 12m 29s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ad4f978c13ce4711b11ecdd11f15dd8c : SUCCESS in 11m 43s\n- grenade https://zuul.opendev.org/t/openstack/build/b21faaa5349547f2a042189f60cc1268 : SUCCESS in 1h 00m 34s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/98bb61c0b88440d8aaf3359a8110c93c : SUCCESS in 1h 27m 27s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/23eed36055b447aa8c22f94282a65ca9 : SUCCESS in 25m 08s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/caabbe64ebe84750a69aea8a9fada943 : SUCCESS in 30m 08s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/8071d27c31a04e009f5de5311bd9756f : SUCCESS in 26m 19s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/bafafb214ba2456daaca02c8aa61c07f : SUCCESS in 36m 05s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/1d8c4de7bdcc4bcea9499b940832b08a : SUCCESS in 19m 02s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/b6affe969761473aa1966993bef71040 : FAILURE in 13m 36s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f8c906d8fcd74e9680ee7faba5a2511f : SUCCESS in 46m 54s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/044269f79c20435495a7554aeaff72ac : SUCCESS in 36m 04s","accounts_in_message":[],"_revision_number":2},{"id":"4fbe7757b5a215449252720b05f2119133f2e0b1","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2023-05-23 15:31:14.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"df7ad10a91b4e981d1222f759001e4488585978d","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2023-05-26 14:42:09.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"356b401acf85f8540853d0b9001a5e04c6894bcd","author":{"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"},"date":"2023-05-27 05:51:11.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"041f3795a0e6a872aafb92ae08fdd4aa99c379c0","author":{"_account_id":32761,"name":"panhongyin","display_name":"panhongyin","email":"panhongyin@yovole.com","username":"panhongyin"},"date":"2023-05-30 12:21:15.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"edecc30360fa7f0357417a905b3bb9a8ae0ed562","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2023-06-30 19:14:10.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"213ed05049450cdd86b51f5a3fd1f0cc9f98ab6a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-07-04 08:20:35.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"ab92456fd515974b3fea1bece8793f5c605d87af","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-07-04 10:53:58.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e9324d5a943540a0bb27ab22b513852e\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/35dc36aaf591433694b585ca4da9d123 : SUCCESS in 5m 16s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/8c9c67156d444129a3c88d98776470a1 : SUCCESS in 10m 11s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/2382ea49424441eea5ab7efbba067606 : SUCCESS in 13m 07s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/d42ef8d43b8b4b1b914b372c4c9394d7 : SUCCESS in 9m 46s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8410e050701e4fccb5ab96523114f36a : SUCCESS in 11m 41s\n- grenade https://zuul.opendev.org/t/openstack/build/9e2e731070f84925a0729af88bacd5ef : SUCCESS in 1h 17m 42s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b0a48c6a071c496286802c72b2204ce4 : SUCCESS in 1h 54m 30s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/b78ee3cfc172437cb3ce0e999a52331c : SUCCESS in 46m 57s\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/ffbf645e355f49dc941844cb0ca0a5f7 : SUCCESS in 48m 09s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f5cbcd49d81b49e0aebee03b01fb35e9 : SUCCESS in 1h 17m 30s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/ded7d4383ded43bb937c7f46dd3731f2 : SUCCESS in 1h 00m 34s","accounts_in_message":[],"_revision_number":2},{"id":"4a739ad255df998d8a4ebedb7b6f853d699e1709","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-07-04 10:53:58.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"72076191eba4c9bfb3b78f4d76e959943cdcbf63","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-07-04 10:55:11.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/29108579df8045419ea32d14a05dfbd3\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/be4477d03ba447b980007bf0912c590e : SUCCESS in 52s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"535bc8e22ecb67eaa17a7a0a61037aac6f602b21","revisions":{"9c6a4841c3aca27660cb5b8d6f8f4751838b75a3":{"kind":"REWORK","_number":1,"created":"2023-04-05 18:01:36.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/78/879678/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/78/879678/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/78/879678/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/78/879678/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/78/879678/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/78/879678/1"}}},"commit":{"parents":[{"commit":"56c47d0a39e5ea4af4269e8a7196a293fa9b9cfe","subject":"sql: Fix incorrect constraints","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/56c47d0a39e5ea4af4269e8a7196a293fa9b9cfe"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2023-03-15 13:12:06.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2023-04-05 18:01:23.000000000","tz":60},"subject":"sql: Remove duplicate constraints","message":"sql: Remove duplicate constraints\n\nA primary key is automatically unique, therefore if one or columns is\nincluded in a primary key constraint there is no need to add a separate\nunique constraint for these columns. Remove it.\n\nNote that this only affects MySQL. Both SQLite and PostgreSQL appear to\nignore the duplicate unique constraint. As a result, it was necessary to\nrun auto-generation against MySQL instead of the default SQLite. The\nactual command used was similar to what we normally do, however.\n\n  $ python keystone/common/sql/migrations/manage.py revision \\\n      --autogenerate --message \u0027Remove duplicate constraints\u0027\n\nAs always, the resulting schema migrations then needed some manual\ntweaks to remove \"please adjust!\" comments and unnecessary imports but\nthey are correct.\n\nChange-Id: I64252086f994901a5ebe05afec37a6afd3a192ee\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/9c6a4841c3aca27660cb5b8d6f8f4751838b75a3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/9c6a4841c3aca27660cb5b8d6f8f4751838b75a3"}]},"branch":"refs/heads/master"},"535bc8e22ecb67eaa17a7a0a61037aac6f602b21":{"kind":"REWORK","_number":2,"created":"2023-04-06 10:48:29.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/78/879678/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/78/879678/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/78/879678/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/78/879678/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/78/879678/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/78/879678/2"}}},"commit":{"parents":[{"commit":"56c47d0a39e5ea4af4269e8a7196a293fa9b9cfe","subject":"sql: Fix incorrect constraints","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/56c47d0a39e5ea4af4269e8a7196a293fa9b9cfe"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2023-03-15 13:12:06.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2023-04-06 10:23:03.000000000","tz":60},"subject":"sql: Remove duplicate constraints","message":"sql: Remove duplicate constraints\n\nA primary key is automatically unique, therefore if one or columns is\nincluded in a primary key constraint there is no need to add a separate\nunique constraint for these columns. Remove it.\n\nNote that this only affects MySQL. Both SQLite and PostgreSQL appear to\nignore the duplicate unique constraint. As a result, it was necessary to\nrun auto-generation against MySQL instead of the default SQLite. The\nactual command used was similar to what we normally do, however.\n\n  $ python keystone/common/sql/migrations/manage.py revision \\\n      --autogenerate --message \u0027Remove duplicate constraints\u0027\n\nAs always, the resulting schema migrations then needed some manual\ntweaks to remove \"please adjust!\" comments and unnecessary imports but\nthey are correct.\n\nChange-Id: I64252086f994901a5ebe05afec37a6afd3a192ee\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/535bc8e22ecb67eaa17a7a0a61037aac6f602b21"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/535bc8e22ecb67eaa17a7a0a61037aac6f602b21"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
