feat: 添加代码生成功能

This commit is contained in:
2025-03-04 00:54:33 +08:00
parent c790233aee
commit bd13f1cfdc
16 changed files with 1758 additions and 1 deletions

View File

@@ -265,3 +265,72 @@ class RedisKeyConfig(Enum):
"""国际化类型,存储国际化类型及其配置信息。"""
SYSTEM_CONFIG = {'key': 'system_config', 'remark': '系统配置信息'}
"""系统配置信息,存储系统的配置信息。"""
# MYSQL类型和 Python类型的映射关系
MYSQL_TO_PYTHON_TYPE = {
"int": "int",
"bigint": "int",
"smallint": "int",
"tinyint": "int",
"tinyint(1)": "bool", # MySQL 的 tinyint(1) 通常用作布尔值
"float": "float",
"double": "float",
"decimal": "float",
"char": "str",
"varchar": "str",
"text": "str",
"longtext": "str",
"date": "date",
"datetime": "datetime",
"timestamp": "datetime",
"time": "time",
"json": "dict",
"binary": "bytes",
"varbinary": "bytes",
"blob": "bytes",
"tinyblob": "bytes",
"mediumblob": "bytes",
"longblob": "bytes"
}
MYSQL_TO_TORTOISE_TYPE = {
# 数值类型
"tinyint": "BooleanField", # 通常用于布尔值
"smallint": "IntField",
"mediumint": "IntField",
"int": "IntField",
"integer": "IntField",
"bigint": "BigIntField",
"decimal": "DecimalField",
"numeric": "DecimalField",
"float": "FloatField",
"double": "FloatField",
"real": "FloatField",
# 字符串类型
"char": "CharField",
"varchar": "CharField",
"tinytext": "TextField",
"text": "TextField",
"mediumtext": "TextField",
"longtext": "TextField",
# 日期和时间
"date": "DateField",
"datetime": "DatetimeField",
"timestamp": "DatetimeField",
"time": "TimeField",
"year": "IntField",
# 二进制数据
"binary": "BinaryField",
"varbinary": "BinaryField",
"blob": "BinaryField",
"tinyblob": "BinaryField",
"mediumblob": "BinaryField",
"longblob": "BinaryField",
# JSON
"json": "JSONField",
}