diff options
author | Elena Ezhova <eezhova@mirantis.com> | 2013-07-31 11:39:59 +0400 |
---|---|---|
committer | Elena Ezhova <eezhova@mirantis.com> | 2013-08-12 12:15:07 +0400 |
commit | 21389a30011bda8233b1f5f2b4469a453246d4ef (patch) | |
tree | 30beed92fd041e361b4293fcf71066cf47fab701 | |
parent | c21b458081b011089e6819c716e63331f8df0ce4 (diff) | |
download | keystone-21389a30011bda8233b1f5f2b4469a453246d4ef.tar.gz keystone-21389a30011bda8233b1f5f2b4469a453246d4ef.tar.xz keystone-21389a30011bda8233b1f5f2b4469a453246d4ef.zip |
Sync models with migrations
This patch syncs models with migrations for:
-Endpoint
-CredentialModel
-TokenModel
-TrustModel
No actual schema change is taking place, this patch just corrects errors
in the model definitions.
Made class Index avaliable in keystone.common.sql.core
partially implements bp db-sync-models-with-migrations
Change-Id: I52f5c455360b65a2d5d884bbbec078dca6d34451
-rw-r--r-- | keystone/catalog/backends/sql.py | 6 | ||||
-rw-r--r-- | keystone/common/sql/core.py | 1 | ||||
-rw-r--r-- | keystone/credential/backends/sql.py | 5 | ||||
-rw-r--r-- | keystone/token/backends/sql.py | 9 | ||||
-rw-r--r-- | keystone/trust/backends/sql.py | 8 |
5 files changed, 19 insertions, 10 deletions
diff --git a/keystone/catalog/backends/sql.py b/keystone/catalog/backends/sql.py index 1dad5a80..7d3c6f4f 100644 --- a/keystone/catalog/backends/sql.py +++ b/keystone/catalog/backends/sql.py @@ -40,12 +40,12 @@ class Endpoint(sql.ModelBase, sql.DictBase): 'legacy_endpoint_id'] id = sql.Column(sql.String(64), primary_key=True) legacy_endpoint_id = sql.Column(sql.String(64)) - interface = sql.Column(sql.String(8), primary_key=True) - region = sql.Column('region', sql.String(255)) + interface = sql.Column(sql.String(8), nullable=False) + region = sql.Column(sql.String(255)) service_id = sql.Column(sql.String(64), sql.ForeignKey('service.id'), nullable=False) - url = sql.Column(sql.Text()) + url = sql.Column(sql.Text(), nullable=False) extra = sql.Column(sql.JsonBlob()) diff --git a/keystone/common/sql/core.py b/keystone/common/sql/core.py index 2d3114f2..9dd545f4 100644 --- a/keystone/common/sql/core.py +++ b/keystone/common/sql/core.py @@ -45,6 +45,7 @@ ModelBase = declarative.declarative_base() # For exporting to other modules Column = sql.Column +Index = sql.Index String = sql.String ForeignKey = sql.ForeignKey DateTime = sql.DateTime diff --git a/keystone/credential/backends/sql.py b/keystone/credential/backends/sql.py index eab9dfea..8aab3511 100644 --- a/keystone/credential/backends/sql.py +++ b/keystone/credential/backends/sql.py @@ -30,6 +30,11 @@ class CredentialModel(sql.ModelBase, sql.DictBase): blob = sql.Column(sql.JsonBlob(), nullable=False) type = sql.Column(sql.String(255), nullable=False) extra = sql.Column(sql.JsonBlob()) + #TODO(eezhova):extra indexes should be removed. (23 migration). + __table_args__ = ( + sql.Index('user_id', 'user_id'), + sql.Index('credential_project_id_fkey', 'project_id') + ) class Credential(sql.Base, credential.Driver): diff --git a/keystone/token/backends/sql.py b/keystone/token/backends/sql.py index 0e8a916d..82eab651 100644 --- a/keystone/token/backends/sql.py +++ b/keystone/token/backends/sql.py @@ -17,7 +17,6 @@ import copy import datetime - from keystone.common import sql from keystone import exception from keystone.openstack.common import timeutils @@ -30,9 +29,13 @@ class TokenModel(sql.ModelBase, sql.DictBase): id = sql.Column(sql.String(64), primary_key=True) expires = sql.Column(sql.DateTime(), default=None) extra = sql.Column(sql.JsonBlob()) - valid = sql.Column(sql.Boolean(), default=True) + valid = sql.Column(sql.Boolean(), default=True, nullable=False) user_id = sql.Column(sql.String(64)) - trust_id = sql.Column(sql.String(64), nullable=True) + trust_id = sql.Column(sql.String(64)) + __table_args__ = ( + sql.Index('ix_token_expires', 'expires'), + sql.Index('ix_token_valid', 'valid') + ) class Token(sql.Base, token.Driver): diff --git a/keystone/trust/backends/sql.py b/keystone/trust/backends/sql.py index daa8e3f7..9e92ad71 100644 --- a/keystone/trust/backends/sql.py +++ b/keystone/trust/backends/sql.py @@ -26,11 +26,11 @@ class TrustModel(sql.ModelBase, sql.DictBase): 'project_id', 'impersonation', 'expires_at'] id = sql.Column(sql.String(64), primary_key=True) #user id Of owner - trustor_user_id = sql.Column(sql.String(64), unique=False, nullable=False,) + trustor_user_id = sql.Column(sql.String(64), nullable=False,) #user_id of user allowed to consume this preauth - trustee_user_id = sql.Column(sql.String(64), unique=False, nullable=False) - project_id = sql.Column(sql.String(64), unique=False, nullable=True) - impersonation = sql.Column(sql.Boolean) + trustee_user_id = sql.Column(sql.String(64), nullable=False) + project_id = sql.Column(sql.String(64)) + impersonation = sql.Column(sql.Boolean, nullable=False) deleted_at = sql.Column(sql.DateTime) expires_at = sql.Column(sql.DateTime) extra = sql.Column(sql.JsonBlob()) |