from sqlalchemy import MetaData, Table, inspect, text, Column, Integer, String, DateTime, Datefrom flask import current_appfrom lib.error import Errorfrom model.ide.ide_table import IdeTablefrom model.ide.ide_attr import IdeAttrfrom model.ide.ide_section import IdeSectionfrom core.environment.application import Applicationclass BuilderTable(Application): def create(self, module: str, table: str, name: str, parent: int = None, back_data: bool = True) -> int | dict: """ @ SqlAlchemy:生成:数据表 :param module: 模块名称 :param table: 表名称 :param name: 表显示名称 :param parent: 父表 :param back_data: 是否返回数据 """ if inspect(self.engine).has_table(table): raise Error(f"{table}:{Error.TABLE_ALREADY_EXISTS}") fields_default = "这里是 yaml 配置" if parent is None: fields_default = [field for field in fields_default if field["name"] != "fid"] fields_format = [self.generate_column(field) for field in fields_default] Table(table, MetaData(), *fields_format).create(self.engine) return _table @classmethod def generate_column(cls, params: dict): """ @ SqlAlchemy:生成:字段对象 :param params: 字段参数 """ format_data = params if params.get("type_") is not None: format_data["type_"] = cls.generate_type(params["type_"]) if params.get("server_default") is not None: format_data["server_default"] = text(str(params["server_default"])) return Column(**format_data) @classmethod def generate_type(cls, typer: str, length: int = 50): """ @ SqlAlchemy:生成:类型对象 :param typer: 类型 :param length: 长度 """ if typer == "int": return Integer elif typer == "str": return String(length) elif typer == "date": return Date elif typer == "datetime": return DateTime else: return String(length)
配置是 yaml
field: # 默认字段:新建模块场景 default: - name: id type_: int comment: 系统编号 primary_key: true - name: sid type_: varchar comment: 业务编号 index: true primary_key: false - name: fid type_: int comment: 父表编号 index: true primary_key: false - name: create_user type_: int comment: 创建人 index: true primary_key: false - name: create_group type_: int comment: 创建组 index: true primary_key: false - name: update_user type_: int comment: 修改人 index: true primary_key: false - name: update_group type_: int comment: 修改组 index: true primary_key: false - name: create_time type_: datetime comment: 创建时间 primary_key: false - name: update_time type_: datetime comment: 更新时间 primary_key: false - name: status type_: int comment: 系统状态 index: true primary_key: false server_default: 1
然后代外层循环创建表的时候居然除了第一张表是对的后面全是 varchar
了,人都傻了,这怎么回事
比较容易发现的问题是,跑到了这一段代码
else: return String(length)
提供的细节比较少,我怀疑是你完整的yaml不正确
我有一个程序可以读取两个文件(“incompleta.txt”和“completa.txt”),并比较两个文件中是否有相同的名称。其工作原理如下: 它将“completa.txt”中的所有名称存储在ArrayList中 问题是我的“lista.txt”看起来像这样:Image 第二条线完全是混乱和扭曲的。 我的Java代码:
这些数字是,这正是我所期望的。 我完全搞不懂这两个案子的情况。有人能解释清楚吗?
我正在使用Weka Gui-Explorer,我想根据类{男性,女性}对我的数据进行分类。我使用MultiBoostAB分类器,以REPTree分类器为基础。我正在尝试使用训练集(557个实例)评估我的分类器的准确性 然后是一个具有大约300个属性的测试集(200个实例)。准确率83,5% - 167从200个实例中正确分类,kappa统计量为0,67。我保存了这个模型,并用它来预测 其他未知数据
问题内容: 我正在尝试在循环内创建函数: 问题在于所有功能最终都相同。这三个函数都没有返回0、1和2,而是返回2: 为什么会发生这种情况,我应该怎么做才能获得分别输出0、1和2的3个不同函数? 问题答案: 你在后期绑定方面遇到了问题-每个函数都i尽可能晚地查找(因此,在循环结束后调用时,i将设置为2)。 可以通过强制早期绑定轻松修复:更改为以下形式: 缺省值(右手i输入i=i是参数名的默认值,i左
问题内容: 我想在循环上运行一个函数,并且要将输出存储在不同的文件中,以便文件名包含循环变量。这是一个例子 如何在python中完成? 问题答案: 只需使用和构造文件名。如果需要,还可以使用旧样式或新样式格式进行格式化,因此文件名可以构造为: 请注意,您的当前版本不指定编码(你应该),并没有正确地关闭错误案件的文件(声明确实是):
当试图从Hitbox API获取数据时,我得到了一个奇怪的结果。对于一个API的命令,这种情况每次都会发生,而对于另一个API的命令,这种情况只是有时发生。结果差不多是这样(这是我得到的最后一个结果): \U001F\B\0\0\0\0\0\U0003W8SμMU~S N T&N G6C$Z%9IGF[(\U0005\U000F(:6\U000F\B P C\U0015\N\U007F V\U00