summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keystone/common/sql/migrate_repo/versions/002_mysql_downgrade.sql3
-rw-r--r--keystone/common/sql/migrate_repo/versions/002_mysql_upgrade.sql2
-rw-r--r--keystone/common/sql/migrate_repo/versions/002_token_id_hash.py43
3 files changed, 43 insertions, 5 deletions
diff --git a/keystone/common/sql/migrate_repo/versions/002_mysql_downgrade.sql b/keystone/common/sql/migrate_repo/versions/002_mysql_downgrade.sql
deleted file mode 100644
index f1337acd..00000000
--- a/keystone/common/sql/migrate_repo/versions/002_mysql_downgrade.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-alter table token drop id;
-alter table token change id_hash id varchar(64);
-
diff --git a/keystone/common/sql/migrate_repo/versions/002_mysql_upgrade.sql b/keystone/common/sql/migrate_repo/versions/002_mysql_upgrade.sql
deleted file mode 100644
index 1cb8d747..00000000
--- a/keystone/common/sql/migrate_repo/versions/002_mysql_upgrade.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-alter table token change id id_hash varchar(64);
-alter table token add id varchar(2048);
diff --git a/keystone/common/sql/migrate_repo/versions/002_token_id_hash.py b/keystone/common/sql/migrate_repo/versions/002_token_id_hash.py
new file mode 100644
index 00000000..4d38b525
--- /dev/null
+++ b/keystone/common/sql/migrate_repo/versions/002_token_id_hash.py
@@ -0,0 +1,43 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright (c) 2012 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from sqlalchemy import Column, MetaData, String, Table
+
+
+def upgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+ token = Table('token', meta, autoload=True)
+ old_id_col = token.c.id
+ old_id_col.alter(name='id_hash')
+ # Note: We obtain a new metadata reference to avoid
+ # sqlalchemy.exc.ArgumentError:
+ # Trying to redefine primary-key column 'id' as a non-primary-key...
+ meta = MetaData()
+ meta.bind = migrate_engine
+ token = Table('token', meta, autoload=True)
+ new_id = Column("id", String(2048))
+ token.create_column(new_id)
+
+
+def downgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+ token = Table('token', meta, autoload=True)
+ token.drop_column('id')
+ token = Table('token', meta, autoload=True)
+ id_col = token.c.id_hash
+ id_col.alter(name='id')