Exemple #1
0
    group_id = db.Column(db.Integer)
    subject = db.Column(db.Text)
    coverage = db.Column(db.Text)
    geolocation = db.Column(db.Text)
    head_id = db.Column(db.Integer)
    timestamp = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
    assignee_id = db.Column(db.Integer)

    doc = db.relationship('Doc', primaryjoin='DocAudit.doc_id == Doc.doc_id', backref='doc_audits')


t_change_tree = db.Table(
    'change_tree',
    db.Column('parent_id', db.ForeignKey('public.change.audit_id'), primary_key=True, nullable=False),
    db.Column('child_id', db.ForeignKey('public.change.audit_id'), primary_key=True, nullable=False),
    db.CheckConstraint('parent_id <> child_id'),
    schema='public'
)


class Change(Audit):
    __tablename__ = 'change'
    __table_args__ = {'schema': 'public'}

    audit_id = db.Column(db.ForeignKey('public.audit.audit_id'), primary_key=True)
    user_id = db.Column(db.ForeignKey('public.user.user_id'), nullable=False)
    action = db.Column(db.String(16), nullable=False)
    seq = db.Column(db.Integer, nullable=False)
    procedure = db.Column(db.String(1), nullable=False)
    date_audit = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
    date_active = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
Exemple #2
0
def flask_sqlalchemy_mappings(db: SQLAlchemy):
    metadata = db.metadata

    environment_mapping = db.Table(
        'datacenter_environment', metadata,
        db.Column('id', db.Integer, primary_key=True, autoincrement=True),
        db.Column('name', db.String(128), unique=True))

    zone_mapping = db.Table(
        'zone', metadata,
        db.Column('id', db.Integer, primary_key=True, autoincrement=True),
        db.Column('name', db.String(128), unique=True),
        db.Column('env_id', db.Integer,
                  db.ForeignKey('datacenter_environment.id')))

    firewall_mapping = db.Table(
        'firewall', metadata,
        db.Column('id', db.Integer, primary_key=True, autoincrement=True),
        db.Column('uuid', db.String(128), unique=True),
        db.Column('name', db.String(128)),
        db.Column('access_layer', db.String(128)))

    zone_connection_mapping = db.Table(
        'zone_connection', metadata,
        db.Column('id', db.Integer, primary_key=True),
        db.Column('source_id', db.Integer, db.ForeignKey('zone.id')),
        db.Column('destination_id', db.Integer, db.ForeignKey('zone.id')),
        db.Column('firewall_id', db.Integer, db.ForeignKey('firewall.id')),
        db.Column('criticality', db.Integer),
        db.Column('uuid', db.String(128), index=True, unique=True),
        db.CheckConstraint('source_id != destination_id'))

    allowed_ports_mapping = db.Table(
        'allowed_ports', metadata,
        db.Column('id', db.Integer, primary_key=True, autoincrement=True),
        db.Column('connection_id', db.Integer,
                  db.ForeignKey('zone_connection.id')),
        db.Column('port', db.Integer))

    db.mapper(EnvironmentModel, environment_mapping)
    db.mapper(
        ZoneModel,
        zone_mapping,
        properties={
            "environment":
            db.relationship(
                EnvironmentModel,
                primaryjoin=zone_mapping.c.env_id == environment_mapping.c.id,
                backref='zone')
        })
    db.mapper(
        ZoneConnectionModel,
        zone_connection_mapping,
        properties={
            'allowed_ports':
            db.relationship(AllowedPortModel,
                            primaryjoin=zone_connection_mapping.c.id ==
                            allowed_ports_mapping.c.connection_id,
                            backref='zone_connection'),
            'source_zone':
            db.relationship(ZoneModel,
                            primaryjoin=zone_connection_mapping.c.source_id ==
                            zone_mapping.c.id),
            'destination_zone':
            db.relationship(
                ZoneModel,
                primaryjoin=zone_connection_mapping.c.destination_id ==
                zone_mapping.c.id),
            'firewall':
            db.relationship(FirewallModel,
                            primaryjoin=firewall_mapping.c.id ==
                            zone_connection_mapping.c.firewall_id)
        })
    db.mapper(FirewallModel, firewall_mapping)
    db.mapper(AllowedPortModel, allowed_ports_mapping)
Exemple #3
0
from flask_sqlalchemy import SQLAlchemy

# Initialize database.
db = SQLAlchemy()

# This is a postgis built-in table that we need to define, or else Alembic will try
# to remove it during every database migration.
spatial_ref_sys = db.Table(
    "spatial_ref_sys",
    db.Column("srid", db.INTEGER(), autoincrement=False, nullable=False),
    db.Column("auth_name",
              db.VARCHAR(length=256),
              autoincrement=False,
              nullable=True),
    db.Column("auth_srid", db.INTEGER(), autoincrement=False, nullable=True),
    db.Column("srtext",
              db.VARCHAR(length=2048),
              autoincrement=False,
              nullable=True),
    db.Column("proj4text",
              db.VARCHAR(length=2048),
              autoincrement=False,
              nullable=True),
    db.CheckConstraint("(srid > 0) AND (srid <= 998999)",
                       name="spatial_ref_sys_srid_check"),
    db.PrimaryKeyConstraint("srid", name="spatial_ref_sys_pkey"),
)