Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
223 changes: 223 additions & 0 deletions backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,3 +170,226 @@ uv run ruff check --watch
---

❤️ **感谢您的关注和支持!** 如果这个项目对您有帮助,请给我们一个 ⭐️ Star!

---

## mysql 全类型测试表

```sql
CREATE TABLE `gen_all_types_demo` (
`tinyint_field` TINYINT NOT NULL COMMENT 'TINYINT类型',
`tinyint_unsigned_field` TINYINT UNSIGNED NOT NULL COMMENT 'TINYINT UNSIGNED类型',
`smallint_field` SMALLINT NOT NULL COMMENT 'SMALLINT类型',
`smallint_unsigned_field` SMALLINT UNSIGNED NOT NULL COMMENT 'SMALLINT UNSIGNED类型',
`mediumint_field` MEDIUMINT NOT NULL COMMENT 'MEDIUMINT类型',
`mediumint_unsigned_field` MEDIUMINT UNSIGNED NOT NULL COMMENT 'MEDIUMINT UNSIGNED类型',
`int_field` INT NOT NULL COMMENT 'INT类型',
`int_unsigned_field` INT UNSIGNED NOT NULL COMMENT 'INT UNSIGNED类型',
`bigint_field` BIGINT NOT NULL COMMENT 'BIGINT类型',
`bigint_unsigned_field` BIGINT UNSIGNED NOT NULL COMMENT 'BIGINT UNSIGNED类型',
`float_field` FLOAT NOT NULL COMMENT 'FLOAT类型',
`double_field` DOUBLE NOT NULL COMMENT 'DOUBLE类型',
`decimal_field` DECIMAL(10,2) NOT NULL COMMENT 'DECIMAL类型',
`decimal_unsigned_field` DECIMAL(10,2) UNSIGNED NOT NULL COMMENT 'DECIMAL UNSIGNED类型',
`numeric_field` NUMERIC(10,2) NOT NULL COMMENT 'NUMERIC类型',
`bit_field` BIT(8) NOT NULL COMMENT 'BIT类型',
`char_field` CHAR(32) NOT NULL COMMENT 'CHAR类型',
`varchar_field` VARCHAR(255) NOT NULL COMMENT 'VARCHAR类型',
`binary_field` BINARY(32) NOT NULL COMMENT 'BINARY类型',
`varbinary_field` VARBINARY(255) NOT NULL COMMENT 'VARBINARY类型',
`tinyblob_field` TINYBLOB COMMENT 'TINYBLOB类型',
`blob_field` BLOB COMMENT 'BLOB类型',
`mediumblob_field` MEDIUMBLOB COMMENT 'MEDIUMBLOB类型',
`longblob_field` LONGBLOB COMMENT 'LONGBLOB类型',
`tinytext_field` TINYTEXT COMMENT 'TINYTEXT类型',
`text_field` TEXT COMMENT 'TEXT类型',
`mediumtext_field` MEDIUMTEXT COMMENT 'MEDIUMTEXT类型',
`longtext_field` LONGTEXT COMMENT 'LONGTEXT类型',
`enum_field` ENUM('active','inactive','pending') NOT NULL DEFAULT 'pending' COMMENT 'ENUM类型',
`set_field` SET('read','write','execute') NOT NULL DEFAULT '' COMMENT 'SET类型',
`date_field` DATE NOT NULL COMMENT 'DATE类型',
`time_field` TIME NOT NULL COMMENT 'TIME类型',
`datetime_field` DATETIME NOT NULL COMMENT 'DATETIME类型',
`timestamp_field` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'TIMESTAMP类型',
`year_field` YEAR NOT NULL COMMENT 'YEAR类型',
`json_field` JSON COMMENT 'JSON类型',
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`uuid` VARCHAR(64) NOT NULL COMMENT 'UUID全局唯一标识',
`status` VARCHAR(10) NOT NULL DEFAULT '0' COMMENT '是否启用(0:启用 1:禁用)',
`description` TEXT COMMENT '备注/描述',
`created_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`created_id` BIGINT DEFAULT NULL COMMENT '创建人ID',
`updated_id` BIGINT DEFAULT NULL COMMENT '更新人ID',
PRIMARY KEY (`id`),
UNIQUE KEY `uuid` (`uuid`),
KEY `ix_gen_all_types_demo_created_id` (`created_id`),
KEY `ix_gen_all_types_demo_updated_id` (`updated_id`),
KEY `ix_gen_all_types_demo_status` (`status`),
KEY `ix_gen_all_types_demo_created_time` (`created_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='全类型测试表';
```

## postgresql 全类型测试表

```sql
-- PostgreSQL 全类型测试表
CREATE TABLE gen_all_types_demo (
-- 整数类型
smallint_field SMALLINT NOT NULL,
integer_field INTEGER NOT NULL,
bigint_field BIGINT NOT NULL,

-- 浮点类型
real_field REAL NOT NULL,
double_precision_field DOUBLE PRECISION NOT NULL,
numeric_field NUMERIC(10,2) NOT NULL,
decimal_field DECIMAL(10,2) NOT NULL,

-- 字符串类型
char_field CHAR(32) NOT NULL,
varchar_field VARCHAR(255) NOT NULL,
text_field TEXT NOT NULL,

-- 二进制类型
bytea_field BYTEA,

-- 日期时间类型
date_field DATE NOT NULL,
time_field TIME NOT NULL,
time_with_tz_field TIMESTAMP WITH TIME ZONE NOT NULL,
time_without_tz_field TIMESTAMP WITHOUT TIME ZONE NOT NULL,
timestamp_field TIMESTAMP NOT NULL,
timestamp_with_tz_field TIMESTAMP WITH TIME ZONE NOT NULL,
timestamp_without_tz_field TIMESTAMP WITHOUT TIME ZONE NOT NULL,
interval_field INTERVAL,

-- 布尔类型
boolean_field BOOLEAN NOT NULL,

-- JSON类型
json_field JSON,
jsonb_field JSONB,

-- 其他类型
uuid_field UUID,
inet_field INET,
cidr_field CIDR,
macaddr_field MACADDR,

-- 几何类型
point_field POINT,
line_field LINE,
lseg_field LSEG,
box_field BOX,
path_field PATH,
polygon_field POLYGON,
circle_field CIRCLE,

-- 位类型
bit_field BIT(8) NOT NULL,
bit_varying_field VARBIT(8) NOT NULL,

-- 文本搜索类型
tsvector_field TSVECTOR,
tsquery_field TSQUERY,

-- XML类型
xml_field XML,

-- 数组类型
array_field INTEGER[],

-- 范围类型
range_field INT4RANGE,

-- 货币类型
money_field MONEY,

-- 对象标识符类型
oid_field OID,
regproc_field REGPROC,
regclass_field REGCLASS,
regtype_field REGTYPE,
regrole_field REGROLE,
regnamespace_field REGNAMESPACE,

-- 常用字段
id BIGSERIAL PRIMARY KEY,
uuid VARCHAR(64) NOT NULL UNIQUE,
status VARCHAR(10) NOT NULL DEFAULT '0',
description TEXT,
created_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
created_id BIGINT,
updated_id BIGINT
);

```

## mysql类型

INT
VARCHAR
CHAR
DATETIME
TIMESTAMP
DATE
BIT
FLOAT
DOUBLE
DECIMAL
BIGINT
TEXT
JSON
BLOB
BINARY
ENUM
SET
TINYINT
SMALLINT
MEDIUMINT
TIME
YEAR
VARBINARY
TINYBLOB
MEDIUMBLOB
LONGBLOB
TINYTEXT
MEDIUMTEXT
LONGTEXT
GEOMETRY
POINT
LINESTRING
POLYGON
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION

## pg类型

INTEGER
VARCHAR
CHAR
TIMESTAMP
DATE
BOOLEAN
FLOAT
TEXT
JSON
BLOB
SMALLINT
BIGINT
REAL
DOUBLE PRECISION
BYTEA
XML
UUID
ARRAY
NUMERIC
MONEY
INTERVAL
CIDR
INET
MACADDR
Loading