1
From: 4e35808f94db8c17a20608e137e2940195821fac
2
Author: Sam Morrison <sorrison@gmail.com>
3
Date: Mon Apr 2 11:22:10 2012 +1000
4
Bug: https://bugs.launchpad.net/glance/+bug/976908
5
Origin, upstream: https://review.openstack.org/#change,6061
6
Bug: https://bugs.launchpad.net/glance/+bug/976908
7
Subject: Fix db migration 12
11
Change-Id: I0248f825396d08688238e6d2ef37c8fcb49e8c9d
14
diff --git a/Authors b/Authors
15
index 8158c2a..d9c9302 100644
18
@@ -52,6 +52,7 @@ Rick Clark <rick@openstack.org>
19
Rick Harris <rconradharris@gmail.com>
20
Reynolds Chin <benzwt@gmail.com>
21
Russell Bryant <rbryant@redhat.com>
22
+Sam Morrison <sorrison@gmail.com>
23
Soren Hansen <soren.hansen@rackspace.com>
24
Stuart McLaren <stuart.mclaren@hp.com>
25
Taku Fukushima <tfukushima@dcl.info.waseda.ac.jp>
26
diff --git a/glance/registry/db/migrate_repo/versions/012_id_to_uuid.py b/glance/registry/db/migrate_repo/versions/012_id_to_uuid.py
27
index fe6bf86..8db18c1 100644
28
--- a/glance/registry/db/migrate_repo/versions/012_id_to_uuid.py
29
+++ b/glance/registry/db/migrate_repo/versions/012_id_to_uuid.py
30
@@ -225,18 +225,24 @@ def _get_table(table_name, metadata):
32
def _get_foreign_keys(t_images, t_image_members, t_image_properties):
33
"""Retrieve and return foreign keys for members/properties tables."""
34
- image_members_fk_name = list(t_image_members.foreign_keys)[0].name
35
- image_properties_fk_name = list(t_image_properties.foreign_keys)[0].name
37
+ if t_image_members.foreign_keys:
38
+ img_members_fk_name = list(t_image_members.foreign_keys)[0].name
40
- fk1 = migrate.ForeignKeyConstraint([t_image_members.c.image_id],
42
- name=image_members_fk_name)
43
+ fk1 = migrate.ForeignKeyConstraint([t_image_members.c.image_id],
45
+ name=img_members_fk_name)
46
+ foreign_keys.append(fk1)
48
- fk2 = migrate.ForeignKeyConstraint([t_image_properties.c.image_id],
50
- name=image_properties_fk_name)
51
+ if t_image_properties.foreign_keys:
52
+ img_properties_fk_name = list(t_image_properties.foreign_keys)[0].name
55
+ fk2 = migrate.ForeignKeyConstraint([t_image_properties.c.image_id],
57
+ name=img_properties_fk_name)
58
+ foreign_keys.append(fk2)
63
def _update_all_ids_to_uuids(t_images, t_image_members, t_image_properties):