我创建了liquibase
。然后,我生成了数据库mssql的changelog。
它在表上也有数据。
因此,changesets
被创建用于列的生成和插入。如:
<changeSet author="caydin (generated)" id="1564422742214-1">
<insert tableName="role">
<column name="id" valueNumeric="2"/>
<column name="created_date" valueDate="2019-09-25T14:34:13.87"/>
<column name="updated_date"/>
<column name="name" value="dsadsada"/>
</insert>
</changeSet>
此角色。 Java 是:
@Table(name = "`role`")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
因此,我们有GenerationType.IDENTITY
通常,我们不需要为liquibase更改集定义id,但是有一些特定情况。
但是,我可以手动处理它们。
因此,对于该错误,最佳方法是将其手动添加到所有变更集:
SET IDENTITY_INSERT tableName ON
或删除
<column name="id" valueNumeric="2"/>
让liquibase自动创建吗?