Merge "Added composite unique name constraints"

This commit is contained in:
Jenkins
2016-10-12 12:45:53 +00:00
committed by Gerrit Code Review
2 changed files with 17 additions and 9 deletions

View File

@@ -27,10 +27,10 @@ from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import ForeignKey from sqlalchemy import ForeignKey
from sqlalchemy import Integer from sqlalchemy import Integer
from sqlalchemy import Numeric from sqlalchemy import Numeric
from sqlalchemy import schema
from sqlalchemy import String from sqlalchemy import String
from sqlalchemy import Text from sqlalchemy import Text
from sqlalchemy.types import TypeDecorator, TEXT from sqlalchemy.types import TypeDecorator, TEXT
from sqlalchemy import UniqueConstraint
from watcher.common import paths from watcher.common import paths
@@ -116,7 +116,8 @@ class Strategy(Base):
__tablename__ = 'strategies' __tablename__ = 'strategies'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_strategies0uuid'), UniqueConstraint('uuid', name='uniq_strategies0uuid'),
UniqueConstraint('name', 'deleted', name='uniq_strategies0name'),
table_args() table_args()
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
@@ -132,7 +133,8 @@ class Goal(Base):
__tablename__ = 'goals' __tablename__ = 'goals'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_goals0uuid'), UniqueConstraint('uuid', name='uniq_goals0uuid'),
UniqueConstraint('name', 'deleted', name='uniq_goals0name'),
table_args(), table_args(),
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
@@ -147,7 +149,8 @@ class AuditTemplate(Base):
__tablename__ = 'audit_templates' __tablename__ = 'audit_templates'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_audit_templates0uuid'), UniqueConstraint('uuid', name='uniq_audit_templates0uuid'),
UniqueConstraint('name', 'deleted', name='uniq_audit_templates0name'),
table_args() table_args()
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
@@ -166,7 +169,7 @@ class Audit(Base):
__tablename__ = 'audits' __tablename__ = 'audits'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_audits0uuid'), UniqueConstraint('uuid', name='uniq_audits0uuid'),
table_args() table_args()
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
@@ -186,7 +189,7 @@ class Action(Base):
__tablename__ = 'actions' __tablename__ = 'actions'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_actions0uuid'), UniqueConstraint('uuid', name='uniq_actions0uuid'),
table_args() table_args()
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
@@ -205,7 +208,7 @@ class ActionPlan(Base):
__tablename__ = 'action_plans' __tablename__ = 'action_plans'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_action_plans0uuid'), UniqueConstraint('uuid', name='uniq_action_plans0uuid'),
table_args() table_args()
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
@@ -222,7 +225,7 @@ class EfficacyIndicator(Base):
__tablename__ = 'efficacy_indicators' __tablename__ = 'efficacy_indicators'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_efficacy_indicators0uuid'), UniqueConstraint('uuid', name='uniq_efficacy_indicators0uuid'),
table_args() table_args()
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
@@ -240,7 +243,8 @@ class ScoringEngine(Base):
__tablename__ = 'scoring_engines' __tablename__ = 'scoring_engines'
__table_args__ = ( __table_args__ = (
schema.UniqueConstraint('uuid', name='uniq_scoring_engines0uuid'), UniqueConstraint('uuid', name='uniq_scoring_engines0uuid'),
UniqueConstraint('name', 'deleted', name='uniq_scoring_engines0name'),
table_args() table_args()
) )
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)

View File

@@ -145,11 +145,13 @@ class TestListStrategy(api_base.FunctionalTest):
obj_utils.create_test_strategy( obj_utils.create_test_strategy(
self.context, id=id_, self.context, id=id_,
uuid=utils.generate_uuid(), uuid=utils.generate_uuid(),
name='Goal %s' % id_,
goal_id=goal1['id']) goal_id=goal1['id'])
for id_ in range(3, 5): for id_ in range(3, 5):
obj_utils.create_test_strategy( obj_utils.create_test_strategy(
self.context, id=id_, self.context, id=id_,
uuid=utils.generate_uuid(), uuid=utils.generate_uuid(),
name='Goal %s' % id_,
goal_id=goal2['id']) goal_id=goal2['id'])
response = self.get_json('/strategies/?goal=%s' % goal1['uuid']) response = self.get_json('/strategies/?goal=%s' % goal1['uuid'])
@@ -175,11 +177,13 @@ class TestListStrategy(api_base.FunctionalTest):
obj_utils.create_test_strategy( obj_utils.create_test_strategy(
self.context, id=id_, self.context, id=id_,
uuid=utils.generate_uuid(), uuid=utils.generate_uuid(),
name='Goal %s' % id_,
goal_id=goal1['id']) goal_id=goal1['id'])
for id_ in range(3, 5): for id_ in range(3, 5):
obj_utils.create_test_strategy( obj_utils.create_test_strategy(
self.context, id=id_, self.context, id=id_,
uuid=utils.generate_uuid(), uuid=utils.generate_uuid(),
name='Goal %s' % id_,
goal_id=goal2['id']) goal_id=goal2['id'])
response = self.get_json('/strategies/?goal=%s' % goal1['name']) response = self.get_json('/strategies/?goal=%s' % goal1['name'])