def upgrade():
    op.alter_column("ds_writers", "writer_top_quantile", existing_type=TINYINT(unsigned=True), nullable=False, server_default='50')
Ejemplo n.º 2
0
class TECHNOLOGYCATEGORY(Base):
    __tablename__ = "TECHNOLOGY_CATEGORY"

    ID = Column(TINYINT(4), primary_key=True)
    TECHNOLOGY_CATEGORY = Column(String(45, "utf8_bin"), unique=True)
Ejemplo n.º 3
0
class CLASSIFICATION(Base):
    __tablename__ = "CLASSIFICATION"

    ID = Column(TINYINT(4), primary_key=True)
    CLASSIFICATION = Column(String(15, "utf8_bin"), unique=True)
Ejemplo n.º 4
0
class DocumentSource(Base):
    __tablename__ = 'documentSource'

    documentSourceId = Column(CHAR(100), primary_key=True)
    name = Column(String(255), nullable=False)
    hasPaywall = Column(TINYINT(3), server_default=text("'0'"))
Ejemplo n.º 5
0
    Column("MAX_CAP", DECIMAL(7, 3)),
    Column("MAX_ROC", DECIMAL(4, 0)),
)


class TECHNOLOGYCATEGORY(Base):
    __tablename__ = "TECHNOLOGY_CATEGORY"

    ID = Column(TINYINT(4), primary_key=True)
    TECHNOLOGY_CATEGORY = Column(String(45, "utf8_bin"), unique=True)


t__MAPPING_FUEL_SOURCE = Table(
    "_MAPPING_FUEL_SOURCE",
    metadata,
    Column("ID", TINYINT(4), server_default=text("'0'")),
    Column("FUEL_SOURCE", String(45)),
    Column("FUEL_CATEGORY", String(45)),
)

t__MAPPING_TECHNOLOGY_TYPE = Table(
    "_MAPPING_TECHNOLOGY_TYPE",
    metadata,
    Column("ID", TINYINT(4), server_default=text("'0'")),
    Column("TECHNOLOGY_TYPE", String(60)),
    Column("TECHNOLOGY_CATEGORY", String(45)),
)

t__MAPPING_TECH_FUEL = Table(
    "_MAPPING_TECH_FUEL",
    metadata,
Ejemplo n.º 6
0
class PREDISPATCHPRICESENSITIVITY(Base):
    __tablename__ = "PREDISPATCH_PRICESENSITIVITIES"
    __table_args__ = (
        Index(
            "uniq_idx",
            "PREDISPATCHSEQNO",
            "REGIONID",
            "PERIODID",
            "INTERVENTION",
            unique=True,
        ),
    )

    ID = Column(INTEGER(11), primary_key=True)
    PREDISPATCHSEQNO = Column(BIGINT(20), index=True)
    REGIONID = Column(ForeignKey("nemweb_meta.REGIONID.id"), index=True)
    PERIODID = Column(TINYINT(4), index=True)
    INTERVENTION = Column(TINYINT(4), index=True)
    INTERVENTION_ACTIVE = Column(TINYINT(4), index=True)
    DATETIME = Column(DateTime, index=True)
    RRPEEP1 = Column(DECIMAL(12, 6))
    RRPEEP2 = Column(DECIMAL(12, 6))
    RRPEEP3 = Column(DECIMAL(12, 6))
    RRPEEP4 = Column(DECIMAL(12, 6))
    RRPEEP5 = Column(DECIMAL(12, 6))
    RRPEEP6 = Column(DECIMAL(12, 6))
    RRPEEP7 = Column(DECIMAL(12, 6))
    RRPEEP8 = Column(DECIMAL(12, 6))
    RRPEEP9 = Column(DECIMAL(12, 6))
    RRPEEP10 = Column(DECIMAL(12, 6))
    RRPEEP11 = Column(DECIMAL(12, 6))
    RRPEEP12 = Column(DECIMAL(12, 6))
    RRPEEP13 = Column(DECIMAL(12, 6))
    RRPEEP14 = Column(DECIMAL(12, 6))
    RRPEEP15 = Column(DECIMAL(12, 6))
    RRPEEP16 = Column(DECIMAL(12, 6))
    RRPEEP17 = Column(DECIMAL(12, 6))
    RRPEEP18 = Column(DECIMAL(12, 6))
    RRPEEP19 = Column(DECIMAL(12, 6))
    RRPEEP20 = Column(DECIMAL(12, 6))
    RRPEEP21 = Column(DECIMAL(12, 6))
    RRPEEP22 = Column(DECIMAL(12, 6))
    RRPEEP23 = Column(DECIMAL(12, 6))
    RRPEEP24 = Column(DECIMAL(12, 6))
    RRPEEP25 = Column(DECIMAL(12, 6))
    RRPEEP26 = Column(DECIMAL(12, 6))
    RRPEEP27 = Column(DECIMAL(12, 6))
    RRPEEP28 = Column(DECIMAL(12, 6))
    RRPEEP29 = Column(DECIMAL(12, 6))
    RRPEEP30 = Column(DECIMAL(12, 6))
    RRPEEP31 = Column(DECIMAL(12, 6))
    RRPEEP32 = Column(DECIMAL(12, 6))
    RRPEEP33 = Column(DECIMAL(12, 6))
    RRPEEP34 = Column(DECIMAL(12, 6))
    RRPEEP35 = Column(DECIMAL(12, 6))
    RRPEEP36 = Column(DECIMAL(12, 6))
    RRPEEP37 = Column(DECIMAL(12, 6))
    RRPEEP38 = Column(DECIMAL(12, 6))
    RRPEEP39 = Column(DECIMAL(12, 6))
    RRPEEP40 = Column(DECIMAL(12, 6))
    RRPEEP41 = Column(DECIMAL(12, 6))
    RRPEEP42 = Column(DECIMAL(12, 6))
    RRPEEP43 = Column(DECIMAL(12, 6))
    LASTCHANGED = Column(DateTime)

    REGIONID1 = relationship("REGIONID")
Ejemplo n.º 7
0
class RUNTYPE(Base):
    __tablename__ = "RUNTYPE"

    ID = Column(TINYINT(4), primary_key=True)
    RUNTYPE = Column(String(45), unique=True)
Ejemplo n.º 8
0
from sqlalchemy.dialects.mysql import BOOLEAN, FLOAT, SMALLINT, TEXT, TINYINT, VARCHAR

metadata = MetaData()

payment_method_table = Table(
    "Payment_Methods",
    metadata,
    Column('shortName', VARCHAR(4), primary_key=True, unique=True),
    Column('logo', VARCHAR(128)),
    Column('fullName', VARCHAR(64)),
)

certification_table = Table(
    "Certifications_List",
    metadata,
    Column('Id', TINYINT(unsigned=True), primary_key=True, unique=True),
    Column('name', VARCHAR(64)),
    Column('logo', VARCHAR(128)),
    Column('url', VARCHAR(128)),
)

ff_criterion_table = Table(
    "FairFrog_Criteria",
    metadata,
    Column('Id', TINYINT(unsigned=True), primary_key=True, unique=True),
    Column('name', VARCHAR(64)),
    Column('logo', VARCHAR(128)),
    Column('description', VARCHAR(1024), default=''),
)

brand_table = Table(
Ejemplo n.º 9
0
class Sale(Model):
    __tablename__ = "discount_sale"
    discount_value_type = Column(TINYINT())
    title = Column(db.String(255))
    discount_value = Column(db.DECIMAL(10, 2))

    def __str__(self):
        return self.title

    @property
    def discount_value_type_label(self):
        return DiscountValueTypeKinds(int(self.discount_value_type)).name

    @classmethod
    def get_discounted_price(cls, product):
        sale_product = SaleProduct.query.filter_by(product_id=product.id).first()
        if sale_product:
            sale = Sale.get_by_id(sale_product.sale_id)
        else:
            sale_category = SaleCategory.query.filter_by(
                category_id=product.category.id
            ).first()
            sale = Sale.get_by_id(sale_category.sale_id) if sale_category else None
        if sale is None:
            return 0
        if sale.discount_value_type == DiscountValueTypeKinds.fixed.value:
            return sale.discount_value
        elif sale.discount_value_type == DiscountValueTypeKinds.percent.value:
            price = product.basic_price * sale.discount_value / 100
            return Decimal(price).quantize(Decimal("0.00"))

    @property
    def categories(self):
        at_ids = (
            SaleCategory.query.with_entities(SaleCategory.category_id)
            .filter(SaleCategory.sale_id == self.id)
            .all()
        )
        return Category.query.filter(Category.id.in_(id for id, in at_ids)).all()

    @property
    def products_ids(self):
        return (
            SaleProduct.query.with_entities(SaleProduct.product_id)
            .filter(SaleProduct.sale_id == self.id)
            .all()
        )

    @property
    def products(self):
        return Product.query.filter(
            Product.id.in_(id for id, in self.products_ids)
        ).all()

    def update_categories(self, category_ids):
        origin_ids = (
            SaleCategory.query.with_entities(SaleCategory.category_id)
            .filter_by(sale_id=self.id)
            .all()
        )
        origin_ids = set(i for i, in origin_ids)
        new_attrs = set(int(i) for i in category_ids)
        need_del = origin_ids - new_attrs
        need_add = new_attrs - origin_ids
        for id in need_del:
            SaleCategory.query.filter_by(
                sale_id=self.id, category_id=id
            ).first().delete(commit=False)
        for id in need_add:
            new = SaleCategory(sale_id=self.id, category_id=id)
            db.session.add(new)
        db.session.commit()

    def update_products(self, product_ids):
        origin_ids = (
            SaleProduct.query.with_entities(SaleProduct.product_id)
            .filter_by(sale_id=self.id)
            .all()
        )
        origin_ids = set(i for i, in origin_ids)
        new_attrs = set(int(i) for i in product_ids)
        need_del = origin_ids - new_attrs
        need_add = new_attrs - origin_ids
        for id in need_del:
            SaleProduct.query.filter_by(sale_id=self.id, product_id=id).first().delete(
                commit=False
            )
        for id in need_add:
            new = SaleProduct(sale_id=self.id, product_id=id)
            db.session.add(new)
        db.session.commit()

    @staticmethod
    def clear_mc(target):
        # when update sales, need to update product discounts
        # for (id,) in target.products_ids:
        #     rdb.delete(MC_KEY_PRODUCT_DISCOUNT_PRICE.format(id))

        # need to process so many states, category update etc.. so delete all
        keys = rdb.keys(MC_KEY_PRODUCT_DISCOUNT_PRICE.format("*"))
        for key in keys:
            rdb.delete(key)

    @classmethod
    def __flush_insert_event__(cls, target):
        super().__flush_insert_event__(target)
        target.clear_mc(target)

    @classmethod
    def __flush_after_update_event__(cls, target):
        super().__flush_after_update_event__(target)
        target.clear_mc(target)

    @classmethod
    def __flush_delete_event__(cls, target):
        super().__flush_delete_event__(target)
        target.clear_mc(target)
Ejemplo n.º 10
0
Model = declarative_base()
engine = create_engine(CONFIG.SQLALCHEMY_DATABASE_URI,
                       convert_unicode=CONFIG.SQLALCHEMY_CONVERT_UNICODE,
                       pool_recycle=CONFIG.SQLALCHEMY_POOL_CYCLE,
                       echo=CONFIG.SQLALCHEMY_ECHO,
                       connect_args={'timeout': 15})
# Why pool_recycle : http://docs.sqlalchemy.org/en/rel_0_9/dialects/mysql.html#connection-timeouts
_Session = orm.sessionmaker(autocommit=False, autoflush=True, bind=engine)
session = orm.scoped_session(_Session)
Model.metadata.bind = engine
Model.query = session.query_property()

UNIQUE_ID = Column(String(36), primary_key=True, default=generate_unique_business_id)
EXTERNAL_ID_PRIMARY_KEY = Column(String(30), primary_key=True)
NAME = Column(String(255), unique=True)
NAME_NULLABLE_FALSE = Column(String(255), unique=True, nullable=False)
AUTO_INCREMENTAL_ID = Column(Integer, primary_key=True, autoincrement=True, nullable=False)




CREATED_ON = Column(DateTime, default=get_date_time)
CREATED_ON_WITH_SERVER_DEFAULT = Column(TIMESTAMP, nullable=False, server_default=text("CURRENT_TIMESTAMP"))
MODIFIED_ON = Column(TIMESTAMP, nullable=False, default=get_date_time,
                     server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
DELETED_ON = Column(DateTime)

BOOLEAN_TRUE = Column(TINYINT(1), default=1, nullable=False)
BOOLEAN_FALSE = Column(TINYINT(1), default=0, nullable=False)

Ejemplo n.º 11
0
class MySQLEngineSpec(BaseEngineSpec):
    engine = "mysql"
    engine_name = "MySQL"
    max_column_name_length = 64

    column_type_mappings: Tuple[Tuple[Pattern[str],
                                      Union[TypeEngine, Callable[[Match[str]],
                                                                 TypeEngine]],
                                      GenericDataType, ],
                                ..., ] = (
                                    (
                                        re.compile(r"^int.*", re.IGNORECASE),
                                        INTEGER(),
                                        GenericDataType.NUMERIC,
                                    ),
                                    (
                                        re.compile(r"^tinyint", re.IGNORECASE),
                                        TINYINT(),
                                        GenericDataType.NUMERIC,
                                    ),
                                    (
                                        re.compile(r"^mediumint",
                                                   re.IGNORECASE),
                                        MEDIUMINT(),
                                        GenericDataType.NUMERIC,
                                    ),
                                    (
                                        re.compile(r"^decimal", re.IGNORECASE),
                                        DECIMAL(),
                                        GenericDataType.NUMERIC,
                                    ),
                                    (
                                        re.compile(r"^float", re.IGNORECASE),
                                        FLOAT(),
                                        GenericDataType.NUMERIC,
                                    ),
                                    (
                                        re.compile(r"^double", re.IGNORECASE),
                                        DOUBLE(),
                                        GenericDataType.NUMERIC,
                                    ),
                                    (
                                        re.compile(r"^bit", re.IGNORECASE),
                                        BIT(),
                                        GenericDataType.NUMERIC,
                                    ),
                                    (
                                        re.compile(r"^tinytext",
                                                   re.IGNORECASE),
                                        TINYTEXT(),
                                        GenericDataType.STRING,
                                    ),
                                    (
                                        re.compile(r"^mediumtext",
                                                   re.IGNORECASE),
                                        MEDIUMTEXT(),
                                        GenericDataType.STRING,
                                    ),
                                    (
                                        re.compile(r"^longtext",
                                                   re.IGNORECASE),
                                        LONGTEXT(),
                                        GenericDataType.STRING,
                                    ),
                                )

    _time_grain_expressions = {
        None:
        "{col}",
        "PT1S":
        "DATE_ADD(DATE({col}), "
        "INTERVAL (HOUR({col})*60*60 + MINUTE({col})*60"
        " + SECOND({col})) SECOND)",
        "PT1M":
        "DATE_ADD(DATE({col}), "
        "INTERVAL (HOUR({col})*60 + MINUTE({col})) MINUTE)",
        "PT1H":
        "DATE_ADD(DATE({col}), "
        "INTERVAL HOUR({col}) HOUR)",
        "P1D":
        "DATE({col})",
        "P1W":
        "DATE(DATE_SUB({col}, "
        "INTERVAL DAYOFWEEK({col}) - 1 DAY))",
        "P1M":
        "DATE(DATE_SUB({col}, "
        "INTERVAL DAYOFMONTH({col}) - 1 DAY))",
        "P0.25Y":
        "MAKEDATE(YEAR({col}), 1) "
        "+ INTERVAL QUARTER({col}) QUARTER - INTERVAL 1 QUARTER",
        "P1Y":
        "DATE(DATE_SUB({col}, "
        "INTERVAL DAYOFYEAR({col}) - 1 DAY))",
        "1969-12-29T00:00:00Z/P1W":
        "DATE(DATE_SUB({col}, "
        "INTERVAL DAYOFWEEK(DATE_SUB({col}, "
        "INTERVAL 1 DAY)) - 1 DAY))",
    }

    type_code_map: Dict[int,
                        str] = {}  # loaded from get_datatype only if needed

    custom_errors: Dict[Pattern[str], Tuple[str, SupersetErrorType, Dict[
        str, Any]]] = {
            CONNECTION_ACCESS_DENIED_REGEX: (
                __('Either the username "%(username)s" or the password is incorrect.'
                   ),
                SupersetErrorType.CONNECTION_ACCESS_DENIED_ERROR,
                {},
            ),
            CONNECTION_INVALID_HOSTNAME_REGEX: (
                __('Unknown MySQL server host "%(hostname)s".'),
                SupersetErrorType.CONNECTION_INVALID_HOSTNAME_ERROR,
                {},
            ),
            CONNECTION_HOST_DOWN_REGEX: (
                __('The host "%(hostname)s" might be down and can\'t be reached.'
                   ),
                SupersetErrorType.CONNECTION_HOST_DOWN_ERROR,
                {},
            ),
            CONNECTION_UNKNOWN_DATABASE_REGEX: (
                __('Unable to connect to database "%(database)s".'),
                SupersetErrorType.CONNECTION_UNKNOWN_DATABASE_ERROR,
                {},
            ),
        }

    @classmethod
    def convert_dttm(cls, target_type: str, dttm: datetime) -> Optional[str]:
        tt = target_type.upper()
        if tt == utils.TemporalType.DATE:
            return f"STR_TO_DATE('{dttm.date().isoformat()}', '%Y-%m-%d')"
        if tt == utils.TemporalType.DATETIME:
            datetime_formatted = dttm.isoformat(sep=" ",
                                                timespec="microseconds")
            return f"""STR_TO_DATE('{datetime_formatted}', '%Y-%m-%d %H:%i:%s.%f')"""
        return None

    @classmethod
    def adjust_database_uri(cls,
                            uri: URL,
                            selected_schema: Optional[str] = None) -> None:
        if selected_schema:
            uri.database = parse.quote(selected_schema, safe="")

    @classmethod
    def get_datatype(cls, type_code: Any) -> Optional[str]:
        if not cls.type_code_map:
            # only import and store if needed at least once
            import MySQLdb

            ft = MySQLdb.constants.FIELD_TYPE
            cls.type_code_map = {
                getattr(ft, k): k
                for k in dir(ft) if not k.startswith("_")
            }
        datatype = type_code
        if isinstance(type_code, int):
            datatype = cls.type_code_map.get(type_code)
        if datatype and isinstance(datatype, str) and datatype:
            return datatype
        return None

    @classmethod
    def epoch_to_dttm(cls) -> str:
        return "from_unixtime({col})"

    @classmethod
    def _extract_error_message(cls, ex: Exception) -> str:
        """Extract error message for queries"""
        message = str(ex)
        try:
            if isinstance(ex.args, tuple) and len(ex.args) > 1:
                message = ex.args[1]
        except (AttributeError, KeyError):
            pass
        return message

    @classmethod
    def get_column_spec(  # type: ignore
        cls,
        native_type: Optional[str],
        source: utils.ColumnTypeSource = utils.ColumnTypeSource.GET_TABLE,
        column_type_mappings: Tuple[Tuple[Pattern[str],
                                          Union[TypeEngine,
                                                Callable[[Match[str]],
                                                         TypeEngine]],
                                          GenericDataType, ],
                                    ..., ] = column_type_mappings,
    ) -> Union[ColumnSpec, None]:

        column_spec = super().get_column_spec(native_type)
        if column_spec:
            return column_spec

        return super().get_column_spec(
            native_type, column_type_mappings=column_type_mappings)
Ejemplo n.º 12
0
class TTipoAgendum(Base):
    __tablename__ = 't_tipo_agenda'

    id_tipo_agenda = Column(INTEGER(11), primary_key=True)
    denominacion = Column(String(500), nullable=False)
    activo = Column(TINYINT(1), nullable=False)
Ejemplo n.º 13
0
    mysql_default_charset='utf8mb4'
)

# The column 'permlink' is CHAR(190) instead of CHAR(255) since the latter
# will give error: (1071, 'Specified key was too long; max key length is 767 bytes')
hive_posts = sa.Table(
    'hive_posts', metadata,
    sa.Column('id', sa.Integer, primary_key=True),
    sa.Column('parent_id', sa.Integer),
    sa.Column('author', CHAR(16), nullable=False),
    sa.Column('permlink', CHAR(255, ascii=True), nullable=False),
    sa.Column('community', CHAR(16)),
    sa.Column('category', CHAR(255, ascii=True), nullable=False),
    sa.Column('depth', SMALLINT(unsigned=True), nullable=False),
    sa.Column('created_at', sa.DateTime, nullable=False),
    sa.Column('is_deleted', TINYINT(1), nullable=False, server_default='0'),
    sa.Column('is_pinned', TINYINT(1), nullable=False, server_default='0'),
    sa.Column('is_muted', TINYINT(1), nullable=False, server_default='0'),
    sa.ForeignKeyConstraint(['author'], ['hive_accounts.name'], name='hive_posts_fk1'),
    sa.ForeignKeyConstraint(['community'], ['hive_accounts.name'], name='hive_posts_fk2'),
    sa.ForeignKeyConstraint(['parent_id'], ['hive_posts.id'], name='hive_posts_fk3'),
    sa.UniqueConstraint('author', 'permlink', name='hive_posts_ux1'),
    sa.Index('hive_posts_ix1', 'parent_id'),
    sa.Index('hive_posts_ix2', 'is_deleted'),
    mysql_engine='InnoDB',
    mysql_default_charset='utf8mb4'
)

hive_follows = sa.Table(
    'hive_follows', metadata,
    sa.Column('follower', CHAR(16), nullable=False),
Ejemplo n.º 14
0
class Base(DeclarativeBase):
    """
    基础Model模型对象
    """
    __abstract__ = True

    id = Column(BIGINT(20), primary_key=True, comment='序号')
    parent_id = Column(BIGINT(20),
                       nullable=False,
                       server_default=text("0"),
                       comment='父序号')
    type = Column(INTEGER(11),
                  nullable=False,
                  server_default=text("0"),
                  comment='类型')
    sort = Column(INTEGER(11),
                  nullable=False,
                  server_default=text("0"),
                  comment='排序')
    status = Column(TINYINT(2),
                    nullable=False,
                    server_default=text("0"),
                    comment='状态')
    is_deleted = Column(TINYINT(1),
                        nullable=False,
                        server_default=text("0"),
                        comment='软删')
    created_by = Column(BIGINT(20),
                        nullable=False,
                        server_default=text("0"),
                        comment='创建人')
    created_time = Column(TIMESTAMP,
                          nullable=False,
                          server_default=text("current_timestamp()"),
                          comment='创建时间')
    updated_by = Column(BIGINT(20),
                        nullable=False,
                        server_default=text("0"),
                        comment='更新人')
    updated_time = Column(
        TIMESTAMP,
        nullable=False,
        server_default=text(
            "current_timestamp() ON UPDATE current_timestamp()"),
        comment='更新时间')
    code = Column(String(255),
                  nullable=False,
                  server_default=text("''"),
                  comment='编码')
    name = Column(String(255),
                  nullable=False,
                  server_default=text("''"),
                  comment='名称')
    label = Column(String(255),
                   nullable=False,
                   server_default=text("''"),
                   comment='标签')
    logo = Column(String(255),
                  nullable=False,
                  server_default=text("''"),
                  comment='图标')
    url = Column(String(255),
                 nullable=False,
                 server_default=text("''"),
                 comment='URL')
    info = Column(String(1000),
                  nullable=False,
                  server_default=text("''"),
                  comment='内容')
    remark = Column(String(1000),
                    nullable=False,
                    server_default=text("''"),
                    comment='备注')
    search = Column(LONGTEXT, comment='搜索')
Ejemplo n.º 15
0
class BIDTYPE(Base):
    __tablename__ = "BIDTYPE"

    ID = Column(TINYINT(4), primary_key=True)
    BIDTYPE = Column(String(10))
Ejemplo n.º 16
0
class Voucher(Model):
    __tablename__ = "discount_voucher"
    type = Column(TINYINT())
    title = Column(db.String(255))
    code = Column(db.String(16), unique=True)
    usage_limit = Column(db.Integer())
    used = Column(db.Integer(), default=0)
    start_date = Column(db.Date())
    end_date = Column(db.Date())
    discount_value_type = Column(TINYINT())
    discount_value = Column(db.DECIMAL(10, 2))
    limit = Column(db.DECIMAL(10, 2))
    category_id = Column(db.Integer())
    product_id = Column(db.Integer())

    def __str__(self):
        return self.title

    @property
    def type_label(self):
        return VoucherTypeKinds(int(self.type)).name

    @property
    def discount_value_type_label(self):
        return DiscountValueTypeKinds(int(self.discount_value_type)).name

    @property
    def validity_period(self):
        if self.start_date and self.end_date:
            return (
                datetime.strftime(self.start_date, "%m/%d/%Y")
                + " - "
                + datetime.strftime(self.end_date, "%m/%d/%Y")
            )
        return ""

    @classmethod
    def generate_code(cls):
        code = "".join(random.choices(string.ascii_uppercase, k=16))
        exist = cls.query.filter_by(code=code).first()
        if not exist:
            return code
        else:
            return cls.generate_code()

    def check_available(self, cart=None):
        if self.start_date and self.start_date > datetime.now():
            raise Exception("The voucher code can not use now, please retry later")
        if self.end_date and self.end_date < datetime.now():
            raise Exception("The voucher code has expired")
        if self.usage_limit and self.usage_limit - self.used < 0:
            raise Exception("This voucher code has been used out")
        if cart:
            self.check_available_by_cart(cart)

        return True

    def check_available_by_cart(self, cart):
        if self.type == VoucherTypeKinds.value.value:
            if self.limit and cart.subtotal < self.limit:
                raise Exception(
                    f"The order total amount is not enough({self.limit}) to use this voucher code"
                )
        elif self.type == VoucherTypeKinds.shipping.value:
            if self.limit and cart.shipping_method_price < self.limit:
                raise Exception(
                    f"The order shipping price is not enough({self.limit}) to use this voucher code"
                )
        elif self.type == VoucherTypeKinds.product.value:
            product = Product.get_by_id(self.product_id)
            # got any product in cart, should be zero
            if cart.get_product_price(self.product_id) == 0:
                raise Exception(f"This Voucher Code should be used for {product.title}")
            if self.limit and cart.get_product_price(self.product_id) < self.limit:
                raise Exception(
                    f"The product {product.title} total amount is not enough({self.limit}) to use this voucher code"
                )
        elif self.type == VoucherTypeKinds.category.value:
            category = Category.get_by_id(self.category_id)
            if cart.get_category_price(self.category_id) == 0:
                raise Exception(
                    f"This Voucher Code should be used for {category.title}"
                )
            if self.limit and cart.get_category_price(self.category_id) < self.limit:
                raise Exception(
                    f"The category {category.title} total amount is not enough({self.limit}) to use this voucher code"
                )

    @classmethod
    def get_by_code(cls, code):
        return cls.query.filter_by(code=code).first()

    def get_vouchered_price(self, cart):
        if self.type == VoucherTypeKinds.value.value:
            return self.get_voucher_from_price(cart.subtotal)
        elif self.type == VoucherTypeKinds.shipping.value:
            return self.get_voucher_from_price(cart.shipping_method_price)
        elif self.type == VoucherTypeKinds.product.value:
            return self.get_voucher_from_price(cart.get_product_price(self.product_id))
        elif self.type == VoucherTypeKinds.category.value:
            return self.get_voucher_from_price(
                cart.get_category_price(self.category_id)
            )
        return 0

    def get_voucher_from_price(self, price):
        if self.discount_value_type == DiscountValueTypeKinds.fixed.value:
            return self.discount_value if price > self.discount_value else price
        elif self.discount_value_type == DiscountValueTypeKinds.percent.value:
            price = price * self.discount_value / 100
            return Decimal(price).quantize(Decimal("0.00"))
Ejemplo n.º 17
0
class DispatchedMarket(Base):
    __tablename__ = "DispatchedMarket"

    ID = Column(TINYINT(4), primary_key=True)
    DispatchedMarket = Column(String(30))
Ejemplo n.º 18
0
        self.lat = lat
        self.lon = lon
        self.ids = ids


class DBCache:

    fort_ids_within_range = []
    unknown_fort_id = None
    not_a_fort_id = None


if config.DB_ENGINE.startswith('mysql'):
    from sqlalchemy.dialects.mysql import TINYINT, MEDIUMINT, BIGINT, DOUBLE, LONGTEXT

    TINY_TYPE = TINYINT(unsigned=True)  # 0 to 255
    MEDIUM_TYPE = MEDIUMINT(unsigned=True)  # 0 to 4294967295
    UNSIGNED_HUGE_TYPE = BIGINT(unsigned=True)  # 0 to 18446744073709551615
    HUGE_TYPE = BigInteger
    PRIMARY_HUGE_TYPE = HUGE_TYPE
    FLOAT_TYPE = DOUBLE(precision=18, scale=14, asdecimal=False)
    LONG_TEXT = LONGTEXT
elif config.DB_ENGINE.startswith('postgres'):
    from sqlalchemy.dialects.postgresql import DOUBLE_PRECISION, TEXT

    class NumInt(TypeDecorator):
        '''Modify Numeric type for integers'''
        impl = Numeric

        def process_bind_param(self, value, dialect):
            if value is None:
Ejemplo n.º 19
0
class Market(Base):
    __tablename__ = "Market"

    ID = Column(TINYINT(4), primary_key=True)
    Market = Column(String(8))
Ejemplo n.º 20
0
from app.Utils import xstr

Column = db.Column
String = db.String
DateTime = db.DateTime(timezone=True)
Date = db.Date
Time = db.Time
Text = db.Text
Integer = db.Integer
Float = db.Float
String16 = String(16)
String64 = String(64)
String128 = String(128)
String512 = String(512)
ForeignKey = db.ForeignKey
DayInt = TINYINT(unsigned=True)
MonthInt = TINYINT(unsigned=True)
YearInt = SMALLINT(unsigned=True)


class ModelMixIn:
    ignored_crud_keys_ins = 'row_id', 'data', 'createDatetime', 'updateDatetime', \
                            'max_page', 'curr_page', 'next_page', 'prev_page', 'createdUser_id', 'createdUser'
    ignored_crud_keys_upd = 'row_id', 'data', 'createDatetime', 'updateDatetime', 'status', \
                            'max_page', 'curr_page', 'next_page', 'prev_page', 'createdUser_id', 'createdUser', 'createUserId'

    related_columns = []  # type: List[Tuple[str,str]]

    @classmethod
    def get_ignored_crud_keys_ins(cls):
        return cls.ignored_crud_keys_ins + tuple(
Ejemplo n.º 21
0
def compile_bigint_sqlite(type_, compiler, **kw):  # pragma: no cover
    """
    For SQLite's AUTOINCREMENT to work on BIGINT columns, we need to map BIGINT
    to INTEGER. Aside from that, BIGINT is the same as INTEGER for SQLite.

    See https://docs.sqlalchemy.org/en/13/dialects/sqlite.html#allowing-autoincrement-behavior-sqlalchemy-types-other-than-integer-integer
    """  # noqa: E501
    return 'INTEGER'


metadata = MetaData()

# Define the Account Types for the AUR.
AccountTypes = Table(
    'AccountTypes', metadata,
    Column('ID', TINYINT(unsigned=True), primary_key=True),
    Column('AccountType', String(32), nullable=False, server_default=text("''")),
    mysql_engine='InnoDB',
    mysql_charset='utf8mb4',
    mysql_collate='utf8mb4_general_ci'
)


# User information for each user regardless of type.
Users = Table(
    'Users', metadata,
    Column('ID', INTEGER(unsigned=True), primary_key=True),
    Column('AccountTypeID', ForeignKey('AccountTypes.ID', ondelete="NO ACTION"), nullable=False, server_default=text("1")),
    Column('Suspended', TINYINT(unsigned=True), nullable=False, server_default=text("0")),
    Column('Username', String(32), nullable=False, unique=True),
    Column('Email', String(254), nullable=False, unique=True),
Ejemplo n.º 22
0
t_reaction_group = Table(
    'reaction_group', metadata, Column('id', INTEGER(11), primary_key=True),
    Column('guild_id', BIGINT(20), nullable=False),
    Column('channel_id', BIGINT(20), nullable=False),
    Column('message_id', BIGINT(20), nullable=False, unique=True),
    Column('name', String(400, 'utf8mb4_unicode_ci')),
    Column('description', VARCHAR(1000)), Column('bot_managed', INTEGER(11)))

t_reaction_role = Table(
    'reaction_role', metadata, Column('id', INTEGER(11), primary_key=True),
    Column('guild_id', BIGINT(20), nullable=False),
    Column('reaction_group_id', BIGINT(20)), Column('role_id', BIGINT(20)),
    Column('name', String(45, 'utf8mb4_unicode_ci'), nullable=False),
    Column('emoji', VARCHAR(200), nullable=False),
    Column('description', String(400, 'utf8mb4_unicode_ci')),
    Column('protect_mentions', TINYINT(1)))

t_seed_presets = Table(
    'seed_presets', metadata, Column('id', INTEGER(11), primary_key=True),
    Column('name', VARCHAR(45), nullable=False, unique=True),
    Column('randomizer', VARCHAR(45)), Column('customizer', TINYINT(4)),
    Column('settings', JSON, nullable=False))

t_spoiler_races = Table(
    'spoiler_races', metadata, Column('id', INTEGER(11), primary_key=True),
    Column('srl_id', String(45, 'utf8_bin'), nullable=False, unique=True),
    Column('spoiler_url', String(255, 'utf8_bin'), nullable=False),
    Column('studytime', INTEGER(11)),
    Column('date', DateTime, server_default=text("CURRENT_TIMESTAMP")))

t_srl_nick_verification = Table(
Ejemplo n.º 23
0
class Scada_Readings(Base):
    __tablename__ = 'scada_readings'
    id = Column(Integer, primary_key=True)
    duid = Column(CHAR(20))
    status_at = Column(DATETIME)
    dispatch_mw_flag = Column(TINYINT(4))
    dispatch_mw_flag_fb = Column(TINYINT(4))
    dispatch_mw = Column(DECIMAL(precision=15, scale=5))
    dispatch_mw_fb = Column(DECIMAL(precision=15, scale=5))
    active_power = Column(DECIMAL(precision=15, scale=5))
    six_sec_raise_flag = Column(TINYINT(4))
    six_sec_lower_flag = Column(TINYINT(4))
    sixty_sec_raise_flag = Column(TINYINT(4))
    sixty_sec_lower_flag = Column(TINYINT(4))
    five_min_raise_flag = Column(TINYINT(4))
    five_min_lower_flag = Column(TINYINT(4))
    six_sec_raise_flag_fb = Column(TINYINT(4))
    six_sec_lower_flag_fb = Column(TINYINT(4))
    sixty_sec_raise_flag_fb = Column(TINYINT(4))
    sixty_sec_lower_flag_fb = Column(TINYINT(4))
    five_min_raise_flag_fb = Column(TINYINT(4))
    five_min_lower_flag_fb = Column(TINYINT(4))
    six_sec_raise_mw = Column(DECIMAL(precision=15, scale=5))
    six_sec_lower_mw = Column(DECIMAL(precision=15, scale=5))
    sixty_sec_raise_mw = Column(DECIMAL(precision=15, scale=5))
    sixty_sec_lower_mw = Column(DECIMAL(precision=15, scale=5))
    five_min_raise_mw = Column(DECIMAL(precision=15, scale=5))
    five_min_lower_mw = Column(DECIMAL(precision=15, scale=5))
    six_sec_raise_mw_fb = Column(DECIMAL(precision=15, scale=5))
    six_sec_lower_mw_fb = Column(DECIMAL(precision=15, scale=5))
    sixty_sec_raise_mw_fb = Column(DECIMAL(precision=15, scale=5))
    sixty_sec_lower_mw_fb = Column(DECIMAL(precision=15, scale=5))
    five_min_raise_mw_fb = Column(DECIMAL(precision=15, scale=5))
    five_min_lower_mw_fb = Column(DECIMAL(precision=15, scale=5))
    unit_limit_dispatch_max_flag = Column(TINYINT(4))
    unit_limit_dispatch_min_flag = Column(TINYINT(4))
    unit_limit_dispatch_max_flag_fb = Column(TINYINT(4))
    unit_limit_dispatch_min_flag_fb = Column(TINYINT(4))
    unit_limit_dispatch_max_generator_limit = Column(
        DECIMAL(precision=15, scale=5))
    unit_limit_dispatch_min_generator_limit = Column(
        DECIMAL(precision=15, scale=5))
    unit_limit_dispatch_max_generator_limit_fb = Column(
        DECIMAL(precision=15, scale=5))
    unit_limit_dispatch_min_generator_limit_fb = Column(
        DECIMAL(precision=15, scale=5))
    number_gen_units_connected = Column(DECIMAL(precision=15, scale=5))
    seconds_until_dispatch_interval_end = Column(DECIMAL(precision=15,
                                                         scale=5))
    dispatch_interval_timestamp_year = Column(DECIMAL(precision=15, scale=5))
    dispatch_interval_timestamp_month = Column(DECIMAL(precision=15, scale=5))
    dispatch_interval_timestamp_day = Column(DECIMAL(precision=15, scale=5))
    dispatch_interval_timestamp_hour = Column(DECIMAL(precision=15, scale=5))
    dispatch_interval_timestamp_minute = Column(DECIMAL(precision=15, scale=5))
    number_avial = Column(Integer)
    number_gen = Column(Integer)
    local_limit_mw = Column(DECIMAL(precision=15, scale=5))
    possible_power = Column(DECIMAL(precision=15, scale=5))
    forecast_power = Column(DECIMAL(precision=15, scale=5))
    met1_irradiance = Column(DECIMAL(precision=15, scale=5))
    met1_air_temperature = Column(DECIMAL(precision=15, scale=5))
    met1_surface_temperature = Column(DECIMAL(precision=15, scale=5))
    met1_wind_speed = Column(DECIMAL(precision=15, scale=5))
    met1_wind_direction = Column(DECIMAL(precision=15, scale=5))
    met2_irradiance = Column(DECIMAL(precision=15, scale=5))
    met2_air_temperature = Column(DECIMAL(precision=15, scale=5))
    met2_surface_temperature = Column(DECIMAL(precision=15, scale=5))
    met2_wind_speed = Column(DECIMAL(precision=15, scale=5))
    met2_wind_direction = Column(DECIMAL(precision=15, scale=5))
    CollGrp1_cb_status_open = Column(TINYINT(4))
    CollGrp1_cb_status_closed = Column(TINYINT(4))
    CollGrp2_cb_status_open = Column(TINYINT(4))
    CollGrp2_cb_status_closed = Column(TINYINT(4))
    CollGrp5_cb_status_open = Column(TINYINT(4))
    CollGrp5_cb_status_closed = Column(TINYINT(4))
    CollGrp6_cb_status_open = Column(TINYINT(4))
    CollGrp6_cb_status_closed = Column(TINYINT(4))
    CollGrp7_cb_status_open = Column(TINYINT(4))
    CollGrp7_cb_status_closed = Column(TINYINT(4))
    CollGrp8_cb_status_open = Column(TINYINT(4))
    CollGrp8_cb_status_closed = Column(TINYINT(4))
    CollGrp11_cb_status_open = Column(TINYINT(4))
    CollGrp11_cb_status_closed = Column(TINYINT(4))
    CollGrp12_cb_status_open = Column(TINYINT(4))
    CollGrp12_cb_status_closed = Column(TINYINT(4))
    cb_220kV_cp_status_open = Column(TINYINT(4))
    cb_220kV_cp_status_closed = Column(TINYINT(4))
    cb_33kV_Transformer1A_open = Column(TINYINT(4))
    cb_33kV_Transformer1A_closed = Column(TINYINT(4))
    cb_33kV_Transformer1B_open = Column(TINYINT(4))
    cb_33kV_Transformer1B_closed = Column(TINYINT(4))
    cb_1A_Incomer_No1_open = Column(TINYINT(4))
    cb_1A_Incomer_No1_closed = Column(TINYINT(4))
    cb_1A_Incomer_No2_open = Column(TINYINT(4))
    cb_1A_Incomer_No2_closed = Column(TINYINT(4))
    cb_1B_Incomer_No1_open = Column(TINYINT(4))
    cb_1B_Incomer_No1_closed = Column(TINYINT(4))
    cb_1B_Incomer_No2_open = Column(TINYINT(4))
    cb_1B_Incomer_No2_closed = Column(TINYINT(4))
    CollGrp1_number_available = Column(Integer)
    CollGrp1_number_generating = Column(Integer)
    CollGrp2_number_available = Column(Integer)
    CollGrp2_number_generating = Column(Integer)
    CollGrp5_number_available = Column(Integer)
    CollGrp5_number_generating = Column(Integer)
    CollGrp6_number_available = Column(Integer)
    CollGrp6_number_generating = Column(Integer)
    CollGrp7_number_available = Column(Integer)
    CollGrp7_number_generating = Column(Integer)
    CollGrp8_number_available = Column(Integer)
    CollGrp8_number_generating = Column(Integer)
    CollGrp11_number_available = Column(Integer)
    CollGrp11_number_generating = Column(Integer)
    CollGrp12_number_available = Column(Integer)
    CollGrp12_number_generating = Column(Integer)
    CollGrp1_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp1_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    CollGrp2_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp2_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    CollGrp5_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp5_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    CollGrp6_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp6_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    CollGrp7_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp7_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    CollGrp8_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp8_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    CollGrp11_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp11_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    CollGrp12_active_power = Column(DECIMAL(precision=15, scale=5))
    CollGrp12_av_track_angle = Column(DECIMAL(precision=15, scale=5))
    inverter1_status = Column(Integer)
    inverter1_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter1_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter2_status = Column(Integer)
    inverter2_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter2_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter3_status = Column(Integer)
    inverter3_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter3_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter4_status = Column(Integer)
    inverter4_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter4_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter5_status = Column(Integer)
    inverter5_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter5_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter6_status = Column(Integer)
    inverter6_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter6_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter7_status = Column(Integer)
    inverter7_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter7_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter8_status = Column(Integer)
    inverter8_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter8_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter9_status = Column(Integer)
    inverter9_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter9_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter10_status = Column(Integer)
    inverter10_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter10_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter11_status = Column(Integer)
    inverter11_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter11_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter12_status = Column(Integer)
    inverter12_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter12_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter13_status = Column(Integer)
    inverter13_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter13_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter14_status = Column(Integer)
    inverter14_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter14_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter15_status = Column(Integer)
    inverter15_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter15_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter16_status = Column(Integer)
    inverter16_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter16_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter17_status = Column(Integer)
    inverter17_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter17_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter18_status = Column(Integer)
    inverter18_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter18_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter19_status = Column(Integer)
    inverter19_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter19_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter20_status = Column(Integer)
    inverter20_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter20_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter21_status = Column(Integer)
    inverter21_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter21_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter22_status = Column(Integer)
    inverter22_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter22_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter23_status = Column(Integer)
    inverter23_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter23_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter24_status = Column(Integer)
    inverter24_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter24_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter25_status = Column(Integer)
    inverter25_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter25_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter26_status = Column(Integer)
    inverter26_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter26_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter27_status = Column(Integer)
    inverter27_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter27_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter28_status = Column(Integer)
    inverter28_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter28_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter29_status = Column(Integer)
    inverter29_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter29_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter30_status = Column(Integer)
    inverter30_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter30_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter31_status = Column(Integer)
    inverter31_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter31_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter32_status = Column(Integer)
    inverter32_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter32_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter33_status = Column(Integer)
    inverter33_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter33_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter34_status = Column(Integer)
    inverter34_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter34_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter35_status = Column(Integer)
    inverter35_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter35_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter36_status = Column(Integer)
    inverter36_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter36_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter37_status = Column(Integer)
    inverter37_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter37_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter38_status = Column(Integer)
    inverter38_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter38_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter39_status = Column(Integer)
    inverter39_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter39_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter40_status = Column(Integer)
    inverter40_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter40_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter41_status = Column(Integer)
    inverter41_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter41_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter42_status = Column(Integer)
    inverter42_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter42_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter43_status = Column(Integer)
    inverter43_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter43_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter44_status = Column(Integer)
    inverter44_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter44_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter45_status = Column(Integer)
    inverter45_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter45_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter46_status = Column(Integer)
    inverter46_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter46_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter47_status = Column(Integer)
    inverter47_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter47_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter48_status = Column(Integer)
    inverter48_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter48_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter49_status = Column(Integer)
    inverter49_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter49_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter50_status = Column(Integer)
    inverter50_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter50_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter51_status = Column(Integer)
    inverter51_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter51_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter52_status = Column(Integer)
    inverter52_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter52_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter53_status = Column(Integer)
    inverter53_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter53_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter54_status = Column(Integer)
    inverter54_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter54_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter55_status = Column(Integer)
    inverter55_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter55_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter56_status = Column(Integer)
    inverter56_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter56_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter57_status = Column(Integer)
    inverter57_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter57_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter58_status = Column(Integer)
    inverter58_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter58_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter59_status = Column(Integer)
    inverter59_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter59_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter60_status = Column(Integer)
    inverter60_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter60_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter61_status = Column(Integer)
    inverter61_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter61_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter62_status = Column(Integer)
    inverter62_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter62_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter63_status = Column(Integer)
    inverter63_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter63_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter64_status = Column(Integer)
    inverter64_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter64_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter65_status = Column(Integer)
    inverter65_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter65_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter66_status = Column(Integer)
    inverter66_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter66_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter67_status = Column(Integer)
    inverter67_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter67_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter68_status = Column(Integer)
    inverter68_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter68_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter69_status = Column(Integer)
    inverter69_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter69_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter70_status = Column(Integer)
    inverter70_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter70_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter71_status = Column(Integer)
    inverter71_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter71_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter72_status = Column(Integer)
    inverter72_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter72_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter73_status = Column(Integer)
    inverter73_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter73_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter74_status = Column(Integer)
    inverter74_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter74_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter75_status = Column(Integer)
    inverter75_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter75_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter76_status = Column(Integer)
    inverter76_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter76_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter77_status = Column(Integer)
    inverter77_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter77_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter78_status = Column(Integer)
    inverter78_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter78_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter79_status = Column(Integer)
    inverter79_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter79_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter80_status = Column(Integer)
    inverter80_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter80_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter81_status = Column(Integer)
    inverter81_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter81_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter82_status = Column(Integer)
    inverter82_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter82_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter83_status = Column(Integer)
    inverter83_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter83_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter84_status = Column(Integer)
    inverter84_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter84_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter85_status = Column(Integer)
    inverter85_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter85_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter86_status = Column(Integer)
    inverter86_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter86_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter87_status = Column(Integer)
    inverter87_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter87_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter88_status = Column(Integer)
    inverter88_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter88_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter89_status = Column(Integer)
    inverter89_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter89_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter90_status = Column(Integer)
    inverter90_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter90_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter91_status = Column(Integer)
    inverter91_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter91_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter92_status = Column(Integer)
    inverter92_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter92_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter93_status = Column(Integer)
    inverter93_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter93_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter94_status = Column(Integer)
    inverter94_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter94_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter95_status = Column(Integer)
    inverter95_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter95_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter96_status = Column(Integer)
    inverter96_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter96_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter97_status = Column(Integer)
    inverter97_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter97_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter98_status = Column(Integer)
    inverter98_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter98_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter99_status = Column(Integer)
    inverter99_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter99_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter100_status = Column(Integer)
    inverter100_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter100_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter101_status = Column(Integer)
    inverter101_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter101_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter102_status = Column(Integer)
    inverter102_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter102_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter103_status = Column(Integer)
    inverter103_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter103_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter104_status = Column(Integer)
    inverter104_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter104_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter105_status = Column(Integer)
    inverter105_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter105_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter106_status = Column(Integer)
    inverter106_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter106_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter107_status = Column(Integer)
    inverter107_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter107_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter108_status = Column(Integer)
    inverter108_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter108_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter109_status = Column(Integer)
    inverter109_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter109_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter110_status = Column(Integer)
    inverter110_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter110_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter111_status = Column(Integer)
    inverter111_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter111_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter112_status = Column(Integer)
    inverter112_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter112_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter113_status = Column(Integer)
    inverter113_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter113_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter114_status = Column(Integer)
    inverter114_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter114_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter115_status = Column(Integer)
    inverter115_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter115_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter116_status = Column(Integer)
    inverter116_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter116_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter117_status = Column(Integer)
    inverter117_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter117_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter118_status = Column(Integer)
    inverter118_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter118_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter119_status = Column(Integer)
    inverter119_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter119_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter120_status = Column(Integer)
    inverter120_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter120_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter121_status = Column(Integer)
    inverter121_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter121_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter122_status = Column(Integer)
    inverter122_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter122_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter123_status = Column(Integer)
    inverter123_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter123_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter124_status = Column(Integer)
    inverter124_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter124_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter125_status = Column(Integer)
    inverter125_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter125_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter126_status = Column(Integer)
    inverter126_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter126_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter127_status = Column(Integer)
    inverter127_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter127_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter128_status = Column(Integer)
    inverter128_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter128_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter129_status = Column(Integer)
    inverter129_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter129_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter130_status = Column(Integer)
    inverter130_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter130_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter131_status = Column(Integer)
    inverter131_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter131_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter132_status = Column(Integer)
    inverter132_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter132_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter133_status = Column(Integer)
    inverter133_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter133_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter134_status = Column(Integer)
    inverter134_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter134_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter135_status = Column(Integer)
    inverter135_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter135_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter136_status = Column(Integer)
    inverter136_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter136_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter137_status = Column(Integer)
    inverter137_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter137_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter138_status = Column(Integer)
    inverter138_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter138_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter139_status = Column(Integer)
    inverter139_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter139_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter140_status = Column(Integer)
    inverter140_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter140_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter141_status = Column(Integer)
    inverter141_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter141_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter142_status = Column(Integer)
    inverter142_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter142_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter143_status = Column(Integer)
    inverter143_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter143_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter144_status = Column(Integer)
    inverter144_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter144_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter145_status = Column(Integer)
    inverter145_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter145_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter146_status = Column(Integer)
    inverter146_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter146_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter147_status = Column(Integer)
    inverter147_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter147_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter148_status = Column(Integer)
    inverter148_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter148_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter149_status = Column(Integer)
    inverter149_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter149_accum_energy = Column(DECIMAL(precision=15, scale=5))
    inverter150_status = Column(Integer)
    inverter150_active_power = Column(DECIMAL(precision=15, scale=5))
    inverter150_accum_energy = Column(DECIMAL(precision=15, scale=5))
Ejemplo n.º 24
0
class Player(db.Model):
    """A ingame character.

    Model generated with sqlacodegen.
    Mapped from https://github.com/otland/forgottenserver/blob/master/schema.sql
    """
    __tablename__ = 'players'

    id = db.Column(INTEGER(11), primary_key=True)
    name = db.Column(db.String(255), nullable=False, unique=True)
    group_id = db.Column(INTEGER(11),
                         nullable=False,
                         server_default=db.text("'1'"))
    account_id = db.Column(db.ForeignKey('accounts.id', ondelete='CASCADE'),
                           nullable=False,
                           index=True,
                           server_default=db.text("'0'"))
    level = db.Column(INTEGER(11),
                      nullable=False,
                      server_default=db.text("'1'"))
    vocation = db.Column(INTEGER(11),
                         nullable=False,
                         index=True,
                         server_default=db.text("'0'"))
    health = db.Column(INTEGER(11),
                       nullable=False,
                       server_default=db.text("'150'"))
    healthmax = db.Column(INTEGER(11),
                          nullable=False,
                          server_default=db.text("'150'"))
    experience = db.Column(BIGINT(20),
                           nullable=False,
                           server_default=db.text("'0'"))
    lookbody = db.Column(INTEGER(11),
                         nullable=False,
                         server_default=db.text("'0'"))
    lookfeet = db.Column(INTEGER(11),
                         nullable=False,
                         server_default=db.text("'0'"))
    lookhead = db.Column(INTEGER(11),
                         nullable=False,
                         server_default=db.text("'0'"))
    looklegs = db.Column(INTEGER(11),
                         nullable=False,
                         server_default=db.text("'0'"))
    looktype = db.Column(INTEGER(11),
                         nullable=False,
                         server_default=db.text("'136'"))
    lookaddons = db.Column(INTEGER(11),
                           nullable=False,
                           server_default=db.text("'0'"))
    maglevel = db.Column(INTEGER(11),
                         nullable=False,
                         server_default=db.text("'0'"))
    mana = db.Column(INTEGER(11),
                     nullable=False,
                     server_default=db.text("'0'"))
    manamax = db.Column(INTEGER(11),
                        nullable=False,
                        server_default=db.text("'0'"))
    manaspent = db.Column(INTEGER(11),
                          nullable=False,
                          server_default=db.text("'0'"))
    soul = db.Column(INTEGER(10),
                     nullable=False,
                     server_default=db.text("'0'"))
    town_id = db.Column(INTEGER(11),
                        nullable=False,
                        server_default=db.text("'1'"))
    posx = db.Column(INTEGER(11),
                     nullable=False,
                     server_default=db.text("'0'"))
    posy = db.Column(INTEGER(11),
                     nullable=False,
                     server_default=db.text("'0'"))
    posz = db.Column(INTEGER(11),
                     nullable=False,
                     server_default=db.text("'0'"))
    conditions = db.Column(db.LargeBinary, nullable=False)
    cap = db.Column(INTEGER(11),
                    nullable=False,
                    server_default=db.text("'400'"))
    sex = db.Column(INTEGER(11), nullable=False, server_default=db.text("'0'"))
    lastlogin = db.Column(BIGINT(20),
                          nullable=False,
                          server_default=db.text("'0'"))
    lastip = db.Column(INTEGER(10),
                       nullable=False,
                       server_default=db.text("'0'"))
    save = db.Column(TINYINT(1), nullable=False, server_default=db.text("'1'"))
    skull = db.Column(TINYINT(1),
                      nullable=False,
                      server_default=db.text("'0'"))
    skulltime = db.Column(INTEGER(11),
                          nullable=False,
                          server_default=db.text("'0'"))
    lastlogout = db.Column(BIGINT(20),
                           nullable=False,
                           server_default=db.text("'0'"))
    blessings = db.Column(TINYINT(2),
                          nullable=False,
                          server_default=db.text("'0'"))
    onlinetime = db.Column(INTEGER(11),
                           nullable=False,
                           server_default=db.text("'0'"))
    deletion = db.Column(BIGINT(15),
                         nullable=False,
                         server_default=db.text("'0'"))
    balance = db.Column(BIGINT(20),
                        nullable=False,
                        server_default=db.text("'0'"))
    offlinetraining_time = db.Column(SMALLINT(5),
                                     nullable=False,
                                     server_default=db.text("'43200'"))
    offlinetraining_skill = db.Column(INTEGER(11),
                                      nullable=False,
                                      server_default=db.text("'-1'"))
    stamina = db.Column(SMALLINT(5),
                        nullable=False,
                        server_default=db.text("'2520'"))
    skill_fist = db.Column(INTEGER(10),
                           nullable=False,
                           server_default=db.text("'10'"))
    skill_fist_tries = db.Column(BIGINT(20),
                                 nullable=False,
                                 server_default=db.text("'0'"))
    skill_club = db.Column(INTEGER(10),
                           nullable=False,
                           server_default=db.text("'10'"))
    skill_club_tries = db.Column(BIGINT(20),
                                 nullable=False,
                                 server_default=db.text("'0'"))
    skill_sword = db.Column(INTEGER(10),
                            nullable=False,
                            server_default=db.text("'10'"))
    skill_sword_tries = db.Column(BIGINT(20),
                                  nullable=False,
                                  server_default=db.text("'0'"))
    skill_axe = db.Column(INTEGER(10),
                          nullable=False,
                          server_default=db.text("'10'"))
    skill_axe_tries = db.Column(BIGINT(20),
                                nullable=False,
                                server_default=db.text("'0'"))
    skill_dist = db.Column(INTEGER(10),
                           nullable=False,
                           server_default=db.text("'10'"))
    skill_dist_tries = db.Column(BIGINT(20),
                                 nullable=False,
                                 server_default=db.text("'0'"))
    skill_shielding = db.Column(INTEGER(10),
                                nullable=False,
                                server_default=db.text("'10'"))
    skill_shielding_tries = db.Column(BIGINT(20),
                                      nullable=False,
                                      server_default=db.text("'0'"))
    skill_fishing = db.Column(INTEGER(10),
                              nullable=False,
                              server_default=db.text("'10'"))
    skill_fishing_tries = db.Column(BIGINT(20),
                                    nullable=False,
                                    server_default=db.text("'0'"))

    account = db.relationship('Account',
                              backref=db.backref('characters', lazy=True))

    @property
    def vocation_name(self):
        return Vocation(self.vocation).name
Ejemplo n.º 25
0
class REGIONID(Base):
    __tablename__ = "REGIONID"

    id = Column(TINYINT(4), primary_key=True)
    REGIONID = Column(VARCHAR(6), unique=True)
Ejemplo n.º 26
0
class BIDTYPE(Base):
    __tablename__ = "BIDTYPE"

    ID = Column(TINYINT(4), primary_key=True)
    BIDTYPE = Column(String(10))


t_DUID = Table(
    "DUID",
    metadata,
    Column("id", SMALLINT(6), server_default=text("'0'")),
    Column("DUID", String(10)),
    Column("STATION_NAME_ID", SMALLINT(6)),
    Column("PARTICIPANT_ID", SMALLINT(6)),
    Column("REGIONID", TINYINT(4)),
    Column("FUEL_SOURCE_ID", TINYINT(4)),
    Column("TECHNOLOGY_ID", TINYINT(4)),
    Column("CLASSIFICATION_ID", TINYINT(4)),
    Column("TECHFUEL_ID", TINYINT(4), server_default=text("'0'")),
    Column("MW", DECIMAL(29, 3)),
)


class DispatchedMarket(Base):
    __tablename__ = "DispatchedMarket"

    ID = Column(TINYINT(4), primary_key=True)
    DispatchedMarket = Column(String(30))

Ejemplo n.º 27
0
class CATEGORY(Base):
    __tablename__ = "CATEGORY"

    ID = Column(TINYINT(4), primary_key=True)
    CATEGORY = Column(String(10, "utf8_bin"), nullable=False, unique=True)
Ejemplo n.º 28
0
class REGIONID(Base):
    __tablename__ = "REGIONID"
    __table_args__ = {"schema": "nemweb_meta"}

    id = Column(TINYINT(4), primary_key=True)
    REGIONID = Column(VARCHAR(6), unique=True)
Ejemplo n.º 29
0
class DISPATCHTYPE(Base):
    __tablename__ = "DISPATCH_TYPE"

    ID = Column(TINYINT(4), primary_key=True)
    DISPATCH_TYPE = Column(String(45, "utf8_bin"), nullable=False, unique=True)
Ejemplo n.º 30
0
class UserInfo(mysqlpool.Model):
    __tablename__ = "userInfo"
    # 定义column
    userId = mysqlpool.Column(
        name="userId",
        type_=INTEGER,
        autoincrement=True,
        nullable=False,
        unique=True,
        primary_key=True
    )
    userLoginName = mysqlpool.Column(
        name="userLoginName",
        type_=VARCHAR(100),
        unique=True,
        nullable=True
    )
    userNickName = mysqlpool.Column(
        name="userNickName",
        type_=VARCHAR(100),
        nullable=True
    )
    userEmail = mysqlpool.Column(
        name="userEmail",
        type_=VARCHAR(100),
        nullable=True
    )
    userPassword = mysqlpool.Column(
        name="userPassword",
        type_=VARCHAR(100),
        nullable=True
    )
    userStatus = mysqlpool.Column(
        name="userStatus",
        type_=TINYINT(1),
        nullable=False
    )
    userRoleId = mysqlpool.Column(
        name="userRoleId",
        type_=INTEGER,
        nullable=True
    )
    userIntroduction = mysqlpool.Column(
        name="userIntroduction",
        type_=VARCHAR(200),
        nullable=True
    )
    userAddTime = mysqlpool.Column(
        name="userAddTime",
        type_=DATETIME,
        nullable=False,
        default=datetime.datetime.now
    )
    userRegisterTime = mysqlpool.Column(
        name="userRegisterTime",
        type_=DATETIME,
        nullable=True
    )
    userUpdateTime = mysqlpool.Column(
        name="userUpdateTime",
        type_=DATETIME,
        nullable=False,
        default=datetime.datetime.now,
        onupdate=datetime.datetime.now
    )
    userNewEmail = mysqlpool.Column(
        name="userNewEmail",
        type_=VARCHAR(100),
        nullable=True
    )
    userHeadIconUrl = mysqlpool.Column(
        name="userHeadIconUrl",
        type_=VARCHAR(200),
        nullable=True
    )