From c4821ceedfef963d438ab88ca80e090cc37502e5 Mon Sep 17 00:00:00 2001 From: licanwei Date: Wed, 25 Jul 2018 02:13:46 -0700 Subject: [PATCH] Add apscheduler_jobs table to models watcher-db-manage create_schema doesn't create apscheduler_jobs. Change-Id: I57327317aab0186b0ff641111b90e6f958f1e5fe Closes-Bug: #1783504 --- watcher/db/sqlalchemy/models.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/watcher/db/sqlalchemy/models.py b/watcher/db/sqlalchemy/models.py index 2121c9da1..a52b2bcb7 100644 --- a/watcher/db/sqlalchemy/models.py +++ b/watcher/db/sqlalchemy/models.py @@ -23,8 +23,10 @@ from sqlalchemy import Boolean from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Float from sqlalchemy import ForeignKey from sqlalchemy import Integer +from sqlalchemy import LargeBinary from sqlalchemy import Numeric from sqlalchemy import orm from sqlalchemy import String @@ -294,3 +296,23 @@ class ActionDescription(Base): id = Column(Integer, primary_key=True) action_type = Column(String(255), nullable=False) description = Column(String(255), nullable=False) + + +class APScheulerJob(Base): + """Represents apscheduler jobs""" + + __tablename__ = 'apscheduler_jobs' + __table_args__ = ( + UniqueConstraint('id', + name="uniq_apscheduler_jobs0id"), + table_args() + ) + id = Column(String(191), nullable=False, primary_key=True) + next_run_time = Column(Float(25), index=True) + job_state = Column(LargeBinary, nullable=False) + tag = Column(JSONEncodedDict(), nullable=True) + service_id = Column(Integer, ForeignKey('services.id'), + nullable=False) + + service = orm.relationship( + Service, foreign_keys=service_id, lazy=None)