From 676457bdca63260ecf675848e34cb01e34822051 Mon Sep 17 00:00:00 2001 From: Dave Chen Date: Mon, 2 Feb 2015 04:16:30 +0800 Subject: [PATCH] Fix the syntax issue on creating table `endpoint_group` Migration of `endpoint_filter` to version 2 will fail when the backend DB is MYSQL instead of SQLite, `primary_key` need to be explicitly specified in order to setup the ForeignKey relationship between two tables. Current testcase `keystone.tests.test_sql_migrate_extensions. EndpointFilterExtension.test_upgrade` can pass the verification since SQLite don't check this when emitting CREATE statements for tables. Closes-Bug: #1399768 Change-Id: I82b3fddb921c7c2d2fdecf8add981da37f5319f7 --- .../migrate_repo/versions/002_add_endpoint_groups.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keystone/contrib/endpoint_filter/migrate_repo/versions/002_add_endpoint_groups.py b/keystone/contrib/endpoint_filter/migrate_repo/versions/002_add_endpoint_groups.py index 2b83ff7200..5f80160a70 100644 --- a/keystone/contrib/endpoint_filter/migrate_repo/versions/002_add_endpoint_groups.py +++ b/keystone/contrib/endpoint_filter/migrate_repo/versions/002_add_endpoint_groups.py @@ -24,7 +24,7 @@ def upgrade(migrate_engine): endpoint_group_table = sql.Table( 'endpoint_group', meta, - sql.Column('id', sql.String(64), nullable=False), + sql.Column('id', sql.String(64), primary_key=True), sql.Column('name', sql.String(255), nullable=False), sql.Column('description', sql.Text, nullable=True), sql.Column('filters', sql.Text(), nullable=False)) @@ -45,7 +45,7 @@ def downgrade(migrate_engine): meta = sql.MetaData() meta.bind = migrate_engine # Operations to reverse the above upgrade go here. - for table_name in ['endpoint_group', - 'project_endpoint_group']: + for table_name in ['project_endpoint_group', + 'endpoint_group']: table = sql.Table(table_name, meta, autoload=True) table.drop()