初始提交

This commit is contained in:
焦龙言
2026-07-24 09:43:10 +08:00
commit b5b4721456
793 changed files with 116305 additions and 0 deletions
@@ -0,0 +1,106 @@
from datetime import datetime
from sqlalchemy import CHAR, BigInteger, Column, DateTime, Integer, String
from sqlalchemy.orm import foreign, relationship
from config.database import Base
from config.env import DataBaseConfig
from utils.common_util import SqlalchemyUtil
class GenTable(Base):
"""
代码生成业务表
"""
__tablename__ = 'gen_table'
__table_args__ = {'comment': '代码生成业务表'}
table_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='编号')
table_name = Column(String(200), nullable=True, server_default="''", comment='表名称')
table_comment = Column(String(500), nullable=True, server_default="''", comment='表描述')
sub_table_name = Column(
String(64),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='关联子表的表名',
)
sub_table_fk_name = Column(
String(64),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='子表关联的外键名',
)
class_name = Column(String(100), nullable=True, server_default="''", comment='实体类名称')
tpl_category = Column(
String(200), nullable=True, server_default='crud', comment='使用的模板(crud单表操作 tree树表操作)'
)
tpl_web_type = Column(
String(30), nullable=True, server_default="''", comment='前端模板类型(element-ui模版 element-plus模版)'
)
package_name = Column(String(100), nullable=True, comment='生成包路径')
module_name = Column(String(30), nullable=True, comment='生成模块名')
business_name = Column(String(30), nullable=True, comment='生成业务名')
function_name = Column(String(50), nullable=True, comment='生成功能名')
function_author = Column(String(50), nullable=True, comment='生成功能作者')
gen_type = Column(CHAR(1), nullable=True, server_default='0', comment='生成代码方式(0zip压缩包 1自定义路径)')
gen_path = Column(String(200), nullable=True, server_default='/', comment='生成路径(不填默认项目路径)')
options = Column(String(1000), nullable=True, comment='其它生成选项')
create_by = Column(String(64), nullable=True, server_default="''", comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now(), comment='创建时间')
update_by = Column(String(64), nullable=True, server_default="''", comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now(), comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
columns = relationship(
'GenTableColumn',
primaryjoin=lambda: GenTable.table_id == foreign(GenTableColumn.table_id),
order_by='GenTableColumn.sort',
back_populates='tables',
)
class GenTableColumn(Base):
"""
代码生成业务表字段
"""
__tablename__ = 'gen_table_column'
__table_args__ = {'comment': '代码生成业务表字段'}
column_id = Column(BigInteger, primary_key=True, autoincrement=True, nullable=False, comment='编号')
table_id = Column(BigInteger, nullable=True, comment='归属表编号')
column_name = Column(String(200), nullable=True, comment='列名称')
column_comment = Column(String(500), nullable=True, comment='列描述')
column_type = Column(String(100), nullable=True, comment='列类型')
python_type = Column(String(500), nullable=True, comment='PYTHON类型')
python_field = Column(String(200), nullable=True, comment='PYTHON字段名')
is_pk = Column(CHAR(1), nullable=True, comment='是否主键(1是)')
is_increment = Column(CHAR(1), nullable=True, comment='是否自增(1是)')
is_required = Column(CHAR(1), nullable=True, comment='是否必填(1是)')
is_unique = Column(CHAR(1), nullable=True, comment='是否唯一(1是)')
is_insert = Column(CHAR(1), nullable=True, comment='是否为插入字段(1是)')
is_edit = Column(CHAR(1), nullable=True, comment='是否编辑字段(1是)')
is_list = Column(CHAR(1), nullable=True, comment='是否列表字段(1是)')
is_query = Column(CHAR(1), nullable=True, comment='是否查询字段(1是)')
query_type = Column(
String(200), nullable=True, server_default='EQ', comment='查询方式(等于、不等于、大于、小于、范围)'
)
html_type = Column(
String(200), nullable=True, comment='显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)'
)
dict_type = Column(String(200), nullable=True, server_default="''", comment='字典类型')
sort = Column(Integer, nullable=True, comment='排序')
create_by = Column(String(64), server_default="''", comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now(), comment='创建时间')
update_by = Column(String(64), server_default="''", comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now(), comment='更新时间')
tables = relationship(
'GenTable', primaryjoin=lambda: foreign(GenTableColumn.table_id) == GenTable.table_id, back_populates='columns'
)