aboutsummaryrefslogtreecommitdiff
path: root/pyenc/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyenc/model.py')
-rw-r--r--pyenc/model.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/pyenc/model.py b/pyenc/model.py
index 10b2336..0382e96 100644
--- a/pyenc/model.py
+++ b/pyenc/model.py
@@ -8,7 +8,8 @@ import yaml
db = SQLAlchemy()
-host_classes = db.Table('host_classes',
+host_classes = db.Table(
+ 'host_classes',
db.Column('host_id', db.ForeignKey('host.id')),
db.Column('class_id', db.ForeignKey('puppet_class.id')))
@@ -18,19 +19,22 @@ host_classes = db.Table('host_classes',
# host_id = db.Column(db.Integer, db.ForeignKey('host.id'), nullable=False)
# class_id = db.Column(db.Integer, db.ForeignKey('puppet_class.id'), nullable=False)
+
class Host(db.Model):
__tablename__ = 'host'
id = db.Column(db.Integer, primary_key=True)
fqdn = db.Column(db.Text, nullable=False)
environment = db.Column(db.Text)
# classes = db.relationship('HostClasses', backref='host', lazy='dynamic')
- classes = db.relationship('PuppetClass',
+ classes = db.relationship(
+ 'PuppetClass',
back_populates='hosts',
secondary=host_classes)
def serialize(self):
- return { column.name: self.__getattribute__(column.name)
- for column in self.__table__.columns }
+ return {column.name: self.__getattribute__(column.name)
+ for column in self.__table__.columns}
+
class PuppetFile(db.Model):
__tablename__ = 'puppet_file'
@@ -41,12 +45,15 @@ class PuppetFile(db.Model):
# classes = db.relationship('PuppetClass', back_populates='comes_from')
classes = db.relationship('PuppetClass', backref='comes_from')
+
class PuppetClass(db.Model):
__tablename__ = 'puppet_class'
id = db.Column(db.Integer, primary_key=True)
class_name = db.Column(db.Text, nullable=False)
# comes_from = db.relationship('PuppetFile', back_populates='classes')
- comes_from_id = db.Column(db.Integer, db.ForeignKey(f'{PuppetFile.__tablename__}.id'))
- hosts = db.relationship('Host',
+ comes_from_id = db.Column(db.Integer,
+ db.ForeignKey(f'{PuppetFile.__tablename__}.id'))
+ hosts = db.relationship(
+ 'Host',
back_populates='classes',
secondary=host_classes)