Add webhook table in Senlin DB

Change-Id: I6765925ead1fe9f11c9f9448abcb6cbc2c545f4f
This commit is contained in:
yanyanhu
2015-03-24 01:02:47 -04:00
parent 8b419be4e6
commit 80b0834384
2 changed files with 42 additions and 0 deletions

View File

@@ -146,6 +146,25 @@ def upgrade(migrate_engine):
mysql_charset='utf8'
)
webhook = sqlalchemy.Table(
'webhook', meta,
sqlalchemy.Column('id', sqlalchemy.String(36), primary_key=True,
nullable=False),
sqlalchemy.Column('name', sqlalchemy.String(255)),
sqlalchemy.Column('user', sqlalchemy.String(36)),
sqlalchemy.Column('project', sqlalchemy.String(36)),
sqlalchemy.Column('domain', sqlalchemy.String(36)),
sqlalchemy.Column('created_time', sqlalchemy.DateTime),
sqlalchemy.Column('deleted_time', sqlalchemy.DateTime),
sqlalchemy.Column('obj_id', sqlalchemy.String(36), nullable=False),
sqlalchemy.Column('obj_type', sqlalchemy.String(36), nullable=False),
sqlalchemy.Column('action', sqlalchemy.String(36), nullable=False),
sqlalchemy.Column('credential', types.Dict),
sqlalchemy.Column('params', types.Dict),
mysql_engine='InnoDB',
mysql_charset='utf8'
)
action = sqlalchemy.Table(
'action', meta,
sqlalchemy.Column('id', sqlalchemy.String(36),
@@ -203,6 +222,7 @@ def upgrade(migrate_engine):
node_lock,
policy,
cluster_policy,
webhook,
action,
event,
)

View File

@@ -228,6 +228,28 @@ class Profile(BASE, SenlinBase, SoftDelete):
deleted_time = sqlalchemy.Column(sqlalchemy.DateTime)
class Webhook(BASE, SenlinBase, SoftDelete):
"""Represents a webhook bonded with Senlin resource entity."""
__tablename__ = 'webhook'
id = sqlalchemy.Column('id', sqlalchemy.String(36), primary_key=True,
default=lambda: str(uuid.uuid4()))
name = sqlalchemy.Column('name', sqlalchemy.String(255))
user = sqlalchemy.Column(sqlalchemy.String(36))
domain = sqlalchemy.Column(sqlalchemy.String(36))
project = sqlalchemy.Column(sqlalchemy.String(36))
created_time = sqlalchemy.Column(sqlalchemy.DateTime)
deleted_time = sqlalchemy.Column(sqlalchemy.DateTime)
obj_id = sqlalchemy.Column(sqlalchemy.String(36))
obj_type = sqlalchemy.Column(sqlalchemy.String(36))
action = sqlalchemy.Column(sqlalchemy.String(36))
credential = sqlalchemy.Column(types.Dict)
params = sqlalchemy.Column(types.Dict)
class Action(BASE, SenlinBase, SoftDelete):
'''An action persisted in the Senlin database.'''