def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_table('manga_tags_link')
    op.drop_index('manga_releases_source_site_id_idx',
                  table_name='manga_releases')
    op.drop_index(op.f('ix_manga_releases_state'), table_name='manga_releases')
    op.drop_index(op.f('ix_manga_releases_source_site'),
                  table_name='manga_releases')
    op.drop_index(op.f('ix_manga_releases_source_id'),
                  table_name='manga_releases')
    op.drop_table('manga_releases')
    op.drop_table('hentai_tags_link')
    op.drop_index(op.f('ix_hentai_releases_state'),
                  table_name='hentai_releases')
    op.drop_index(op.f('ix_hentai_releases_source_site'),
                  table_name='hentai_releases')
    op.drop_index(op.f('ix_hentai_releases_source_id'),
                  table_name='hentai_releases')
    op.drop_index('hentai_releases_source_site_id_idx',
                  table_name='hentai_releases')
    op.drop_table('hentai_releases')
    op.drop_table('release_files')
    op.drop_index(op.f('ix_manga_tags_tag'), table_name='manga_tags')
    op.drop_table('manga_tags')
    op.drop_index(op.f('ix_hentai_tags_tag'), table_name='hentai_tags')
    op.drop_table('hentai_tags')

    ENUM(name='filetype_enum').drop(op.get_bind(), checkfirst=False)
    ENUM(name='dlstate_enum').drop(op.get_bind(), checkfirst=False)
    ENUM(name='dirtype_enum').drop(op.get_bind(), checkfirst=False)
Пример #2
0
class Candidacy(Base):
    __tablename__ = 'candidacies'
    id = sa.Column(sa.Integer, primary_key=True)

    candidate_id = sa.Column(sa.Integer)
    candidate = sa.orm.relationship(
        'Candidate',
        primaryjoin='Candidacy.candidate_id==Candidate.id',
        foreign_keys='Candidacy.candidate_id',
        remote_side='Candidate.id',
        backref='candidacies')

    election_type = sa.Column(sa.String)
    election_year = sa.Column(sa.Integer)

    # Incumbent, challenger, open seat
    race_type = sa.Column(
        ENUM('incumbent',
             'challenger',
             'open seat',
             'retired',
             name='candidacy_race_type'))
    outcome = sa.Column(ENUM('won', 'lost', name='candidacy_outcome'))
    fair_campaign = sa.Column(sa.Boolean)
    limits_off = sa.Column(sa.Boolean)
    limits_off_reason = sa.Column(sa.String)

    def __repr__(self):
        return '<Candidacy %r %r, (%r %r)>' % (
            self.candidate.first_name, self.candidate.last_name,
            self.election_year, self.election_type)

    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}
def downgrade():
    context = op.get_context()

    op.execute(tcr.update().where(tcr.c.directmedia == u'outgoing').values(
        directmedia=None))

    if context.bind.dialect.name != 'postgresql':
        op.alter_column('sippeers',
                        'directmedia',
                        type_=old_type,
                        existing_type=new_type)
    else:
        enum = ENUM("yes",
                    "no",
                    "nonat",
                    "update",
                    name="sip_directmedia_values")
        enum.create(op.get_bind(), checkfirst=False)

        op.execute('ALTER TABLE sippeers ALTER COLUMN directmedia TYPE'
                   ' sip_directmedia_values USING'
                   ' directmedia::text::sip_directmedia_values')

        ENUM(name="sip_directmedia_values_v2").drop(op.get_bind(),
                                                    checkfirst=False)
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_constraint('alert_affected_services_alert_id_fkey',
                       'alert_affected_services',
                       type_='foreignkey')
    op.drop_constraint('alert_affected_services_route_id_fkey',
                       'alert_affected_services',
                       type_='foreignkey')
    op.drop_constraint('alert_effect_period_alert_id_fkey',
                       'alert_effect_period',
                       type_='foreignkey')
    op.drop_constraint('alert_events_routes_fkey',
                       'alert_events',
                       type_='foreignkey')
    op.drop_constraint('alert_events_day_check', 'alert_events', type_='check')

    op.drop_table('alert_events')
    op.drop_table('alert_affected_services')
    op.drop_table('alert_effect_period')
    op.drop_table('alerts')
    op.drop_table('stops')
    op.drop_table('routes')

    ENUM(name="delayaccuracy").drop(op.get_bind(), checkfirst=False)
    ENUM(name="direction").drop(op.get_bind(), checkfirst=False)
def downgrade():
    downvert_data(op)
    op.drop_table('user_preferences')
    op.drop_table('query_policy')

    # Create a temporary type "_resourcetypeenum" type
    temporary_type = ENUM(*OLD_RESOURCE_TYPES, name='resourcetypeenum_temp')
    new_type = ENUM(*NEW_RESOURCE_TYPES, name='resourcetypeenum')
    temporary_type.create(op.get_bind(), checkfirst=True)

    # Convert the name column from old_type to temporary_type
    with op.batch_alter_table('resource_type', schema=None) as batch_op:
        batch_op.alter_column(
            'name',
            existing_type=new_type,
            type_=temporary_type,
            nullable=False,
            postgresql_using='name::text::resourcetypeenum_temp')

    # Drop the old type, create a new enum of type 'resourcetypeenum'
    new_type.drop(op.get_bind(), checkfirst=True)
    old_type = ENUM(*OLD_RESOURCE_TYPES, name='resourcetypeenum')
    old_type.create(op.get_bind(), checkfirst=True)

    # Convert the name column from temporary_type to new_type
    with op.batch_alter_table('resource_type', schema=None) as batch_op:
        batch_op.alter_column('name',
                              existing_type=temporary_type,
                              type_=old_type,
                              nullable=False,
                              postgresql_using='name::text::resourcetypeenum')

    # Drop the temporary type
    temporary_type.drop(op.get_bind(), checkfirst=True)
Пример #6
0
class SubOrder(Model):
    __tablename__ = 'sub_order'

    title = Column(String, nullable=True)
    order_id = Column(UUIDType(binary=False),
                      ForeignKey('order.id'),
                      nullable=False)
    total_price = Column(Float)
    receiver_id = Column(UUIDType(binary=False), ForeignKey('receivers.id'))
    address_id = Column(UUIDType(binary=False), ForeignKey('addresses.id'))
    delivery_type = Column(ENUM('fast', 'scheduled', name='delivery_typess'))
    delivery_date = Column(DateTime)
    delivery_time = Column(String)
    message = Column(String)
    order_status = Column(
        ENUM('pending', 'ongoing', 'done', name='sub_order_status'))
    is_cart = Column(Boolean, unique=False, default=True)

    @hybrid_property
    def product(self):
        return Product.query.filter_by(id=str(self.product_id)).first()

    @hybrid_property
    def address(self):
        return Address.query.filter_by(id=str(self.address_id)).first()

    @hybrid_property
    def receiver(self):
        return Receiver.query.filter_by(id=str(self.receiver_id)).first()

    @hybrid_property
    def extra_orders(self):
        return ExtraOrder.query.filter_by(suborder_id=str(self.id)).all()
def upgrade():
    context = op.get_context()

    # Upgrading to this revision WILL clear your directmedia values.
    if context.bind.dialect.name == 'sqlite':
        with op.batch_alter_table('sippeers') as batch_op:
            batch_op.alter_column('directmedia', type_=new_type)
    elif context.bind.dialect.name != 'postgresql':
        op.alter_column('sippeers',
                        'directmedia',
                        type_=new_type,
                        existing_type=old_type)
    else:
        enum = ENUM("yes",
                    "no",
                    "nonat",
                    "update",
                    "outgoing",
                    name="sip_directmedia_values_v2")
        enum.create(op.get_bind(), checkfirst=False)

        op.execute('ALTER TABLE sippeers ALTER COLUMN directmedia TYPE'
                   ' sip_directmedia_values_v2 USING'
                   ' directmedia::text::sip_directmedia_values_v2')

        ENUM(name="sip_directmedia_values").drop(op.get_bind(),
                                                 checkfirst=False)
class Data(db.Model):
    """
    Attribute metadata.
    Gives some informations about the data columns
    """
    __tablename__ = 'tjs_data'
    pkid = db.Column(db.Integer, primary_key=True)
    dataset = db.relationship(
        'Dataset',
        backref=db.backref('datas', lazy='dynamic')
    )
    dataset_id = db.Column(db.Integer, db.ForeignKey('tjs_datasets.pkid'))
    isframeworkkey = db.Column(db.Boolean)

    name = db.Column(db.String, nullable=False)
    type = db.Column(xmldtypes, default="string")
    length = db.Column(db.Integer, default=0)
    purpose = db.Column(db.String, default="Attribute")
    title = db.Column(db.String)
    abstract = db.Column(db.Text)
    values = db.Column(
        ENUM('count', 'measure', 'nominal', 'ordinal', name='tjs_valuetype'),
        default='ordinal')

    # extensions
    curves = db.Column(emp_chart_rules)
    jointoframeworkkey = db.Column(db.Integer, db.ForeignKey('tjs_frameworkkey.pkid'))
    bars = db.Column(emp_chart_rules)
    tabular = db.Column(emp_chart_rules)
    brush = db.Column(emp_chart_rules)
    map = db.Column(emp_chart_rules)
    map_mode = db.Column(ENUM('flow-source', 'flow-dest', 'standard', name='emp_mapmodes'))

    def __repr__(self):
        return '{} : {}'.format(self.dataset.dataseturi, self.name)
Пример #9
0
class Pickup(Base):
    __tablename__ = "pickups"
    id = sa.Column("id", sa.Integer, primary_key=True)
    firebase_id = sa.Column("firebase_id", sa.String, nullable=False)
    firebase_run_id = sa.Column("firebase_run_id", sa.String, nullable=False)
    centerline_id =\
        sa.Column("centerline_id", sa.Integer, sa.ForeignKey("centerlines.id"), nullable=False)
    type = sa.Column("type",
                     ENUM(*RUBBISH_TYPES, name="rubbish_type"),
                     nullable=False)
    timestamp = sa.Column("timestamp", sa.DateTime, nullable=False)
    geometry = sa.Column("geometry", Geometry("POINT"), nullable=False)
    snapped_geometry = sa.Column("snapped_geometry",
                                 Geometry("POINT"),
                                 nullable=False)
    linear_reference = sa.Column("linear_reference",
                                 sa.Float(precision=3),
                                 nullable=False)
    curb = sa.Column("curb",
                     ENUM('left', 'right', 'middle', name='curb'),
                     nullable=False)
    centerline = relationship("Centerline", back_populates="pickups")

    def __repr__(self):
        return (
            f"""<Pickup id={self.id} """
            f"""geometry={self.geometry} snapped_geometry={self.snapped_geometry} """
            f"""centerline_id={self.centerline_id} firebase_id={self.firebase_id} """
            f"""firebase_run_id={self.firebase_run_id} """
            f"""type={self.type} timestamp={self.timestamp} """
            f"""linear_reference={self.linear_reference} curb={self.curb}>""")
Пример #10
0
def upgrade():
    ENUM(u'gcc', u'g++', u'java', name=u'user_program_language_enum').create(op.get_bind(), checkfirst=False)
    op.alter_column('user', 'program_language', existing_type=sa.Enum(u'gcc', u'g++', u'java', name=u'user_program_language_enum'), nullable=True)
    op.alter_column('user_deleted', 'program_language', existing_type=sa.Enum(u'male', u'female', name='user_gender'), nullable=True)

    ENUM(u'gcc', u'g++', u'java', name=u'solution_program_language_enum').create(op.get_bind(), checkfirst=False)
    op.alter_column('solution', 'program_language', existing_type=sa.Enum(u'gcc', u'g++', u'java', name=u'solution_program_language_enum'), nullable=False)
Пример #11
0
class Committee(Base):
    __tablename__ = 'committees'
    id = sa.Column(sa.Integer, primary_key=True)
    type = sa.Column(sa.String)
    state_committee = sa.Column(sa.Boolean)
    state_id = sa.Column(sa.Integer)
    local_committee = sa.Column(sa.Boolean)
    local_id = sa.Column(sa.Integer)
    refer_name = sa.Column(sa.String)
    name = sa.Column(sa.String)
    address1 = sa.Column(sa.String)
    address2 = sa.Column(sa.String)
    address3 = sa.Column(sa.String)
    city = sa.Column(sa.String)
    state = sa.Column(sa.String)
    zipcode = sa.Column(sa.String)
    active = sa.Column(sa.Boolean)
    status_date = sa.Column(sa.DateTime)
    creation_date = sa.Column(sa.DateTime)
    creation_amount = sa.Column(DOUBLE_PRECISION)
    disp_funds_return = sa.Column(sa.Boolean)
    disp_funds_political_committee = sa.Column(sa.Boolean)
    disp_funds_charity = sa.Column(sa.Boolean)
    disp_funds_95 = sa.Column(sa.Boolean)
    disp_funds_description = sa.Column(sa.Text)

    # These use the same ENUM. Need to create it separately
    candidate_position = sa.Column(
        ENUM('support', 'oppose', name='committee_position',
             create_type=False))
    policy_position = sa.Column(
        ENUM('support', 'oppose', name='committee_position',
             create_type=False))
    party = sa.Column(sa.String)
    purpose = sa.Column(sa.Text)

    candidates = sa.orm.relationship(
        'Candidate',
        primaryjoin='Committee.id==candidate_committees.c.committee_id',
        secondaryjoin='candidate_committees.c.candidate_id==Candidate.id',
        secondary=candidate_committees,
        backref='committees')

    officers = sa.orm.relationship(
        'Officer',
        primaryjoin='Committee.id==officer_committees.c.committee_id',
        secondaryjoin='officer_committees.c.officer_id==Officer.id',
        secondary=officer_committees,
        backref='committees')

    def __repr__(self):
        return '<Committee %r>' % self.name

    def as_dict(self):
        d = {c.name: getattr(self, c.name) for c in self.__table__.columns}
        d['officers'] = [o.as_dict() for o in self.officers]
def downgrade():
    yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False)
    if op.get_context().bind.dialect.name != 'mssql':
        op.alter_column('ps_transports', 'verify_server', type_=yesno_values,
                        new_column_name='verifiy_server')
    else:
        op.alter_column('ps_transports', 'verify_server', existing_type=yesno_values, type_=sa.String(3),
                        new_column_name='verifiy_server')
        yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=True)
        op.alter_column('ps_transports', 'verifiy_server', existing_type=sa.String(3), type_=yesno_values)
def upgrade():
    # Create a temporary type "_resourcetypeenum" type
    temporary_type = ENUM(*NEW_RESOURCE_TYPES, name='resourcetypeenum_temp')
    old_type = ENUM(*OLD_RESOURCE_TYPES, name='resourcetypeenum')
    temporary_type.create(op.get_bind(), checkfirst=True)

    # Convert the name column from old_type to temporary_type
    with op.batch_alter_table('resource_type', schema=None) as batch_op:
        batch_op.alter_column(
            'name',
            existing_type=old_type,
            type_=temporary_type,
            nullable=False,
            postgresql_using='name::text::resourcetypeenum_temp')

    # Drop the old type, create a new enum of type 'resourcetypeenum'
    old_type.drop(op.get_bind(), checkfirst=True)
    new_type = ENUM(*NEW_RESOURCE_TYPES, name='resourcetypeenum')
    new_type.create(op.get_bind(), checkfirst=True)

    # Convert the name column from temporary_type to new_type
    with op.batch_alter_table('resource_type', schema=None) as batch_op:
        batch_op.alter_column('name',
                              existing_type=temporary_type,
                              type_=new_type,
                              nullable=False,
                              postgresql_using='name::text::resourcetypeenum')

    # Drop the temporary type
    temporary_type.drop(op.get_bind(), checkfirst=True)

    op.create_table(
        'query_policy', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(), nullable=False),
        sa.Column('description', sa.Text(), nullable=True),
        sa.Column('policy_filters',
                  postgresql.JSONB(astext_type=sa.Text()),
                  nullable=False),
        sa.Column('resource_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(['resource_id'], ['resource.id'],
                                name='valid_query_definition_resource',
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'),
        sa.UniqueConstraint('resource_id'))
    op.create_table(
        'user_preferences', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=False),
        sa.Column('preferences',
                  postgresql.JSONB(astext_type=sa.Text()),
                  nullable=False),
        sa.ForeignKeyConstraint(['user_id'], ['user.id'],
                                name='valid_user',
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('id'))
    upvert_data(op)
def upgrade():
    op.create_table(
        'activity_log',
        sa.Column('id', sa.Integer, primary_key=True, autoincrement=True),
        sa.Column('box_code', sa.Integer(), nullable=False),
        sa.Column('worker_id', sa.Integer, sa.ForeignKey('worker.id')),
        sa.Column('payload', sa.Integer()),
        sa.Column('type', ENUM(ActivityType, name="type")),
        sa.Column('status', ENUM(ActivityStatus, name="status")),
        sa.Column('local_time', sa.DateTime()),
        sa.Column('server_time', sa.DateTime(), default=dt.now))
Пример #15
0
def downgrade():
    op.alter_column('user', 'program_language',
               existing_type=sa.VARCHAR(length=64),
               nullable=True)
    op.alter_column('user_deleted', 'program_language',
               existing_type=sa.VARCHAR(length=64),
               nullable=True)
    op.alter_column('solution', 'program_language',
               existing_type=sa.VARCHAR(length=64),
               nullable=False)
    ENUM(name=u'user_program_language_enum').drop(op.get_bind(), checkfirst=False)
    ENUM(name=u'solution_program_language_enum').drop(op.get_bind(), checkfirst=False)
Пример #16
0
def upgrade():
    context = op.get_context()

    if context.bind.dialect.name == 'postgresql':
        enum = ENUM(*SHA_HASH_VALUES, name=SHA_HASH_NAME)
        enum.create(op.get_bind(), checkfirst=False)

    op.add_column(
        'ps_endpoints',
        sa.Column(
            'dtls_fingerprint',
            ENUM(*SHA_HASH_VALUES, name=SHA_HASH_NAME, create_type=False)))
Пример #17
0
class Candidate(BaseModelWithTimestamps):
    fec_id = db.Column(db.String(9), unique=True, nullable=False)
    name = db.Column(db.String)
    party_affiliation = db.Column(db.String(3))
    election_year = db.Column(db.SmallInteger, nullable=False)
    office = db.Column(ENUM("H", "S", name="office"), nullable=False)
    office_state = db.Column(db.String(2), nullable=False)
    office_district = db.Column(db.String(2))
    incumbent_challenger_status = db.Column(
        ENUM("C", "I", "O", name="incumbent_challenger_status")
    )
    principal_campaign_committee_fec_id = db.Column(db.String(9))
    pledge_date = db.Column(db.Date)
Пример #18
0
class RecordsAuthors(db.Model):
    __tablename__ = "records_authors"
    __table_args__ = (
        db.Index("ix_authors_records_record_id", "record_id"),
        db.Index(
            "ix_authors_records_author_id_id_type_record_id",
            "author_id",
            "id_type",
            "record_id",
        ),
        db.Index("ix_records_authors_id_type_authors_id", "id_type",
                 "author_id"),
    )
    id = db.Column(db.Integer, primary_key=True)
    author_id = db.Column(Text, nullable=False)
    id_type = db.Column(
        ENUM(*[key.value for key in AuthorSchemaType],
             name="enum_author_schema_type"),
        nullable=False,
    )
    record_id = db.Column(
        UUIDType,
        db.ForeignKey("records_metadata.id",
                      name="fk_authors_records_record_id"),
        nullable=False,
    )
Пример #19
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    authenticationtype = ENUM('email',
                              'facebook',
                              'google',
                              name='authenticationtype')
    authenticationtype.create(op.get_bind())

    op.add_column(
        'User',
        sa.Column('authentication_type',
                  ENUM('email',
                       'facebook',
                       'google',
                       name='authenticationtype'),
                  nullable=True))
Пример #20
0
class GroupStat(DatabaseModel):
    """Model for a statistic of a group inside a certain time period."""

    __tablename__ = "group_stats"

    group_id: int = Column(
        Integer, ForeignKey("groups.group_id"), nullable=False, primary_key=True,
    )
    stat: GroupStatType = Column(ENUM(GroupStatType), nullable=False, primary_key=True)
    period: DateTimeTZRange = Column(TSTZRANGE, nullable=False, primary_key=True)
    value: float = Column(Float, nullable=False)

    group: Group = relationship("Group", innerjoin=True, lazy=False)

    # Add a GiST index on the period column for range operators
    __table_args__ = (
        Index("ix_group_stats_period_gist", period, postgresql_using="gist"),
    )

    def __init__(
        self,
        group: Group,
        stat: GroupStatType,
        start_time: datetime,
        end_time: datetime,
        value: Union[int, float],
    ):
        """Create a new statistic for the group and time period.

        The time period will be inclusive of start_time but exclusive of end_time.
        """
        self.group = group
        self.stat = stat
        self.period = DateTimeTZRange(start_time, end_time, bounds="[)")
        self.value = float(value)
def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    enum = ENUM('unverified',
                'valid',
                'rejected',
                name='nu_item_enum',
                create_type=False)
    enum.create(op.get_bind(), checkfirst=True)

    op.execute(
        "ALTER TABLE nu_release_item ALTER COLUMN reviewed DROP DEFAULT")

    op.alter_column(
        'nu_release_item',
        'reviewed',
        existing_type=sa.BOOLEAN(),
        type_=enum,
        existing_nullable=False,
        nullable=False,
        server_default=sa.text("'unverified'"),
        existing_server_default=sa.text('false'),
        postgresql_using=
        "CASE WHEN reviewed = false THEN 'unverified'::nu_item_enum ELSE 'valid'::nu_item_enum END"
    )

    op.execute(
        "ALTER TABLE nu_release_item ALTER COLUMN reviewed SET DEFAULT 'unverified'"
    )
Пример #22
0
class Account(PrimaryModel, Base):
    __tablename__ = 'accounts'

    person_id = Column(UUID, ForeignKey(Person.id), nullable=False)
    value = Column(Float, default=0.00)
    type = Column(ENUM(AccountTypes), nullable=False)

    person = relationship(Person,
                          primaryjoin=person_id == Person.id,
                          lazy=True)

    def __init__(self, username):
        super(Account, self).__init__(username)

    def to_dict(self):
        data = {
            'id': self.id,
            'person_id': self.person_id,
            'value': self.value,
            'creator': self.creator,
            'creation_date': self.creation_date,
            'version': self.version,
            'modification_date': self.modification_date,
            'modifier': self.modifier,
            'tags': self.tags
        }
        if self.person is not None:
            data.update({'person': self.person.to_dict()})
        if isinstance(self.type, str):
            data.update({'type': self.type})
        else:
            data.update({'type': self.type.value})
        return data
Пример #23
0
class Subscription(db.Model):
    """Model class to represent ATT subscriptions"""

    __tablename__ = "subscriptions"

    id = db.Column(db.Integer, primary_key=True)
    phone_number = db.Column(db.String(10))
    status = db.Column(ENUM(SubscriptionStatus), default=SubscriptionStatus.new)
    activation_date = db.Column(db.TIMESTAMP(timezone=True), nullable=True)
    expiry_date = db.Column(db.TIMESTAMP(timezone=True), nullable=True)

    plan_id = db.Column(db.String(30), db.ForeignKey("plans.id"), nullable=False)
    plan = db.relationship("Plan", foreign_keys=[plan_id], lazy="select")

    def __repr__(self):  # pragma: no cover
        return (
            f"<{self.__class__.__name__}: {self.id} ({self.status}), "
            f"phone_number: {self.phone_number or '[no phone number]'}, ",
            f"plan: {self.plan_id}>"
        )

    @classmethod
    def get_subscriptions(cls, **kwargs):
        """Gets a list of Subscription objects using given kwargs

        Generates query filters from kwargs param using base class method

        Args:
            kwargs: key value pairs to apply as filters

        Returns:
            list: objects returned from query result

        """
        return cls.query.filter(**kwargs).all()
Пример #24
0
class InterfaceInstance(Base, StdObject):

    internal_name = Column(String(36), nullable=False)
    external_name = Column(String(36), nullable=False)

    vm_instance_id = Column(UUID(True), ForeignKey('vm_instances.uuid'))
    vm_instance = relationship(VmInstance,
                               backref=backref('interface_instances',
                                               uselist=True))

    net_instance_id = Column(UUID(True), ForeignKey('net_instances.uuid'))
    net_instance = relationship(NetInstance,
                                backref=backref('interface_instances',
                                                uselist=True))

    interface_id = Column(UUID(True), ForeignKey('interfaces.uuid'))
    interface = relationship(Interface,
                             backref=backref('interface_instances',
                                             uselist=True))

    type = Column('type',
                  ENUM('bridge', 'ptp', 'data', 'mgmt', name='interfacetype'),
                  default='data',
                  nullable=False)

    vpci = Column(CHAR(12), nullable=False)
    bw = Column(INT, nullable=False)

    physical_name = Column(String(36))
    ip_address = Column(String(36))
Пример #25
0
class Post(db.Model):
    __tablename__ = 'post'

    id = db.Column(db.BigInteger, primary_key=True)
    owner_id = db.Column(db.BigInteger,
                         db.ForeignKey('user.id'),
                         nullable=False)
    description = db.Column(db.String(1024))
    content = db.Column(db.String(20000))
    time_created = db.Column(db.DateTime(timezone=True),
                             default=datetime.datetime.utcnow)
    title = db.Column(db.String(256), nullable=True)
    status = db.Column(
        "status",
        ENUM("init", "draft", "published", "deleted", name="post_status"))

    files = db.relationship('File', backref='posts', lazy=True)

    @property
    def serialize(self):
        return {
            'id': self.id,
            'title': self.title,
            'description': self.description,
            'owner': self.owner.serialize,
            'content': self.content,
            'status': self.status,
            'createdAt': self.time_created
        }
Пример #26
0
def upgrade():
    # If we don't do this, Alembic won't create the type automatically
    enum_type = ENUM('yahoo', 'google', 'kofia', name='asset_value_source')
    enum_type.create(op.get_bind())

    op.add_column('asset_value', sa.Column('source', enum_type,
                                           nullable=False))
Пример #27
0
class StudentsAdvisors(db.Model):
    """Links students with their thesis advisors"""

    __tablename__ = "students_advisors"
    __table_args__ = (db.Index("ix_students_advisors_student_id",
                               "student_id"), )

    advisor_id = db.Column(
        UUIDType,
        db.ForeignKey("records_metadata.id",
                      name="fk_students_advisors_advisor_id"),
        nullable=False,
        primary_key=True,
    )

    student_id = db.Column(
        UUIDType,
        db.ForeignKey("records_metadata.id",
                      name="fk_students_advisors_student_id"),
        nullable=False,
        primary_key=True,
    )

    degree_type = db.Column(
        ENUM(*[key.value for key in DegreeType], name="enum_degree_type"))
Пример #28
0
class EventUser(db.Model):

    __tablename__ = "event_users"

    id = db.Column(db.Integer, primary_key=True)
    user_type = db.Column(
        ENUM(*user_types, name="user_types"), nullable=False, default=GUEST
    )
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"))
    user = db.relationship("User", back_populates="events")

    event_id = db.Column(db.Integer, db.ForeignKey("events.id"))
    event = db.relationship("Event", back_populates="users")

    user_types = user_types
    GUEST = GUEST
    HOST = HOST

    # user_event_items = db.relationship("UserEventItem", back_populates="user_event")

    UniqueConstraint(user_id, event_id, name="event_users_user_id_event_id_key")

    def __repr__(self):
        return "<EventUser: id={}, user_id={}, event_id={}>".format(
            self.id, self.user_id, self.event_id
        )
def upgrade():
    ############################# Enums ##############################

    # yesno_values have already been created, so use postgres enum object
    # type to get around "already created" issue - works okay with mysql
    yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False)
    op.add_column('ps_endpoints', sa.Column('g726_non_standard', yesno_values))
Пример #30
0
def downgrade():
    op.drop_column('user', 'name')
    op.drop_column('user', 'ident_type')
    op.drop_column('user', 'ident')
    op.drop_column('post_history', 'ident_type')
    op.drop_column('post', 'ident_type')
    ENUM(name='ident_type').drop(op.get_bind(), checkfirst=True)