changes to run configuration and virtual command model

This commit is contained in:
Tobias Kurze
2020-08-13 09:00:54 +02:00
parent 9c19708381
commit c8a517ff60
10 changed files with 75 additions and 33 deletions

View File

@@ -20,7 +20,9 @@ from sqlalchemy import or_
from datetime import datetime, timedelta
from backend.models.model_base import ModelBase
from backend.models.virtual_command_model import virtual_command_recorder_command_table, virtual_command_recorder_table
from backend.models.virtual_command_model import virtual_command_recorder_command_table, \
virtual_command_recorder_table, \
virtual_command_recorder_model_table
metadata = MetaData()
@@ -73,6 +75,8 @@ class RecorderModel(db.Model, ModelBase):
checksum = db.Column(db.String(63), unique=True,
nullable=False) # checksum of the recorder commands! (see: model_updater.py)
last_checksum_change = db.Column(db.DateTime, nullable=True, default=None)
virtual_commands = db.relationship('VirtualCommand', secondary=virtual_command_recorder_model_table,
back_populates='recorder_model_commands')
_requires_user = db.Column(db.Integer, default=False, name='requires_user')
_requires_password = db.Column(db.Integer, default=True, name='requires_password')

View File

@@ -34,6 +34,20 @@ virtual_command_recorder_table = db.Table('virtual_command_recorder',
ondelete="CASCADE"),
primary_key=True))
# This is the association table for the many-to-many relationship between
# virtual commands and recorder commands.
virtual_command_recorder_model_table = db.Table('virtual_command_recorder_model',
db.Column('virtual_command_id', db.Integer,
db.ForeignKey('virtual_command.id',
onupdate="CASCADE",
ondelete="CASCADE"),
primary_key=True),
db.Column('recorder_model_id', db.Integer,
db.ForeignKey('recorder_model.id',
onupdate="CASCADE",
ondelete="CASCADE"),
primary_key=True))
class VirtualCommand(db.Model):
id = db.Column(db.Integer, autoincrement=True, primary_key=True)
@@ -47,6 +61,9 @@ class VirtualCommand(db.Model):
recorder_commands = db.relationship('RecorderCommand', secondary=virtual_command_recorder_command_table,
back_populates='virtual_commands')
recorder_model_commands = db.relationship('RecorderModel', secondary=virtual_command_recorder_model_table,
back_populates='virtual_commands')
# parent_virtual_command = db.relationship('VirtualCommand', back_populates='child_virtual_commands')
parent_virtual_command_id = db.Column(db.Integer, db.ForeignKey('virtual_command.id'))
child_virtual_commands = db.relationship('VirtualCommand',