MySQL与DWS字段类型映射
Migration会根据源端的字段类型按默认规则转换成目的端字段类型,并以此完成自动建表和实时同步。
字段类型映射规则
源端为MySQL,目的端为DWS时,支持的字段类型请参见下表,以确保数据完整同步到目的端。
| 类别 | 数据类型(MySQL) | 数据类型(DWS) | 说明 |
|---|---|---|---|
| 字符串 | CHAR(M) | CHAR(4M) | - |
| VARCHAR(M) | VARCHAR(4M) | - | |
| 数值 | BOOLEAN | BOOL | - |
| TINYINT | SMALLINT | TINYINT(1)默认会转成BOOLEAN类型,可通过在管理中心MySQL数据连接中添加“连接属性”使其仍保持转成TINYINT(1):tinyInt1isBit = false。 | |
| TINYINT UNSIGNED | SMALLINT | - | |
| SMALLINT | SMALLINT | - | |
| SMALLINT UNSIGNED | INTEGER | - | |
| MEDIUMINT | INTEGER | - | |
| MEDIUMINT UNSIGNED | INTEGER | - | |
| INT | INTEGER | - | |
| INT UNSIGNED | BIGINT | - | |
| BIGINT | BIGINT | - | |
| BIGINT UNSIGNED | NUMERIC(38) | - | |
| REAL | FLOAT8 | - | |
| DECIMAL(M,D) | DECIMAL(M,D) | - | |
| NUMERIC | NUMERIC(M,D) | - | |
| FLOAT(M,D) | FLOAT4 | - | |
| DOUBLE(M,D) | FLOAT8 | - | |
| DOUBLE PRECISION | FLOAT8 | - | |
| 位 | BIT(M) | BIT(M) | - |
| BIT(1) | BOOL | BIT(1)默认会转成BOOLEAN类型,可通过在管理中心MySQL数据连接中添加“连接属性”(mysql.bool.type.transform = false)使其仍保持转成BIT(1)。 该配置也会导致TINYINT(1)转成BIT(1),可以通过配置tinyInt1isBit = false令其转成SMALLINT。 | |
| 日期时间 | DATE | TIMESTAMP(0) | - |
| TIME | TIME | - | |
| DATETIME | TIMESTAMP | - | |
| TIMESTAMP | TIMESTAMPTZ | - | |
| YEAR(M) | VARCHAR(15) | - | |
| 媒体(二进制) | BINARY(M) | BYTEA | - |
| VARBINARY(M) | BYTEA | - | |
| TEXT | TEXT | - | |
| TINYTEXT | TEXT | - | |
| MEDIUMTEXT | TEXT | - | |
| LONGTEXT | TEXT | - | |
| 特殊类型 | SET | VARCHAR | - |
| JSON | JSON | - | |
| ENUM | VARCHAR | - |