- 我使用 liquibase-maven-plugin 生成数据库迁移脚本。
- 但是 liquibase 将 UUID id 字段生成为 BINARY(255)。
- 这本身不是问题,因为新实体的 ID 是由 hibernate 生成的。因此不需要对 uuid 的数据库支持。
- 但我现在的问题是 csv 文件中的示例数据,我必须将 uuid 作为二进制文件插入其中。
所以我看到我的问题有两种可能的解决方案:
- 让 liquibase-maven-plugin 将 UUID 字段生成为真正的 UUID 数据库字段。
- 告诉 liquibase 在插入之前将我的 csv 文件中的 uuid 转换为二进制文件。
有谁知道如何执行 1. 或 2. ?
或者甚至有一个我不知道的 3. 选项?
java实体
@Entity
public class TestEntity {
@Id
@GeneratedValue
private UUID id;
@Column
private String name;
}
liquibase-maven-plugin 生成的变更集
- changeSet:
id: 1638440755794-7
changes:
- createTable:
columns:
- column:
constraints:
nullable: false
primaryKey: true
name: id
type: BINARY(255)
- column:
name: name
type: VARCHAR(255)
tableName: test_entity
示例数据.csv -不工作
id,name
0da87def-2d39-47f1-ae4a-310fc37a8aa0,meinName
样本数据.csv -工作
id,name
Dah97y05R/GuSjEPw3qKoA==,meinName