执行更新时正在运行Liquibase回滚sql脚本

问题描述 投票:0回答:1

我在同一个文件中有回滚脚本和变更集脚本。但是,当我执行

liquibase update
时,数据库迁移成功,但
users
表被删除。我该如何修复该错误?我想将回滚脚本和变更集保留在同一个文件中。

-- liquibase formatted sql

-- changeset Ariel:20231120_000002
CREATE TABLE users
(
    id BINARY(16) NOT NULL,
    CONSTRAINT pk_users PRIMARY KEY (id)
);

-- rollback for changeset Ariel:20231120_000002
-- liquibase formatted sql
DROP TABLE users;

同样,如果我尝试回滚,则会收到以下错误。我不确定为什么 liquibase 无法正确识别回滚。我该如何解决它?

Unexpected error running Liquibase: Liquibase does not support automatic rollback generation for raw sql changes (did you mean to specify keyword "empty" to ignore rolling back this change?)

```
sql liquibase
1个回答
0
投票

您是否尝试过在不使用“for Changeset ...”的情况下进行回滚?

-- liquibase formatted sql

-- changeset Ariel:20231120_000002
CREATE TABLE users
(
    id BINARY(16) NOT NULL,
    CONSTRAINT pk_users PRIMARY KEY (id)
);
-- rollback DROP TABLE users;
© www.soinside.com 2019 - 2024. All rights reserved.