Mysql 使用Liquibase从模型和数据库中删除唯一键约束
我有一个spring boot项目,我有一个具有唯一密钥constraint的实体。我不想手动删除此约束,因为它可能会影响我的CI/CD部件,但我是否可以使用Liquibase执行此操作。确定如果您使用的是YAML,它可能如下所示:Mysql 使用Liquibase从模型和数据库中删除唯一键约束,mysql,jhipster,liquibase,Mysql,Jhipster,Liquibase,我有一个spring boot项目,我有一个具有唯一密钥constraint的实体。我不想手动删除此约束,因为它可能会影响我的CI/CD部件,但我是否可以使用Liquibase执行此操作。确定如果您使用的是YAML,它可能如下所示: changeSet: id: dropUniqueConstraint-example author: liquibase-docs changes: - dropUniqueConstraint: catalogName: cat
changeSet:
id: dropUniqueConstraint-example
author: liquibase-docs
changes:
- dropUniqueConstraint:
catalogName: cat
constraintName: const_name
schemaName: public
tableName: person
uniqueColumns: A String
请在此处查找文档:给您。您需要做的只是将其添加到您的变更日志文件中,并让CI/CD完成它的工作。或者您在本地配置了H2,您也可以在本地看到更改 我从官方文件中复制了下面提到的内容,将对您有所帮助 XML
<changeSet author="liquibase-docs" id="dropUniqueConstraint-example">
<dropUniqueConstraint catalogName="cat"
constraintName="const_name"
schemaName="public"
tableName="person"
uniqueColumns="A String"/>
</changeSet>
changeSet:
id: dropUniqueConstraint-example
author: liquibase-docs
changes:
- dropUniqueConstraint:
catalogName: cat
constraintName: const_name
schemaName: public
tableName: person
uniqueColumns: A String
JSON
{
"changeSet": {
"id": "dropUniqueConstraint-example",
"author": "liquibase-docs",
"changes": [
{
"dropUniqueConstraint": {
"catalogName": "cat",
"constraintName": "const_name",
"schemaName": "public",
"tableName": "person",
"uniqueColumns": "A String"
}
}]
}
}
不,我正在使用xml文件,我也看到了这个文档,但是现在我不知道我应该把它放在一个单独的更改日志文件中,应该在我的master.xml中提及它,还是应该在我已经存在的xml文件中提及它。你应该创建一个新的迁移并将它添加到你的master.xml中。您应该编辑实体类以删除java中的约束file@SimonMartinelli我创建了一个新文件,将这个xml放在其中,并在master.xml中提到了这个文件,我还更改了我的实体。但是,当我重新启动应用程序时,数据库中没有反映任何更改。您看到执行的SQL语句了吗?你有错误吗?您能显示XML文件吗