执行创建表的sQL更改日志后如何回滚

时间:2019-08-08 13:05:54

标签: oracle liquibase

我只是从liquibase开始。

我在xml模式下通过changelog找到了很多信息,但是我想(必须:()使用SQL模式。

我的问题:

我执行以下操作:

liquibase --driver=oracle.jdbc.OracleDriver --url=jdbc:oracle:thin:@serveur:pour:BDD --username=cptoracle --password=mdporacle --changeLogFile=D:\Travail\liquibase\essais_changelog\ch3.sql update

Starting Liquibase at jeu., 08 ao¹t 2019 12:50:45 CEST (version 3.7.0 built at 2019-07-16 02:26:39)
Liquibase: Update has been successful.

ch3.sql:

--liquibase formatted sql

--changeset myname:1
create table me_tst2(
    id int primary key,
    name varchar(255)
);
--rollback drop table me_tst2;

--changeset myname:2
insert into me_tst2 (id, name) values (1, 'me 1');
insert into me_tst2 (id, name) values (2, 'me 2');

--changeset myname:3 dbms:oracle
create sequence me_seq2;
--rollback drop sequence me_seq2;

现在,我想测试上一个操作的回滚。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我找到了!

首先,我必须标记以前的版本

liquibase --driver=oracle.jdbc.OracleDriver --url=jdbc:oracle:thin:@serveur:pour:BDD --username=cptoracle --password=mdporacle 
          --changeLogFile=D:\Travail\liquibase\essais_changelog\ch2.sql update tag=TAG01

然后执行

liquibase --driver=oracle.jdbc.OracleDriver --url=jdbc:oracle:thin:@serveur:pour:BDD --username=cptoracle --password=mdporacle 
          --changeLogFile=D:\Travail\liquibase\essais_changelog\ch3.sql update tag=TAG02

然后我可以回滚最后一个sql:

liquibase --driver=oracle.jdbc.OracleDriver --url=jdbc:oracle:thin:@serveur:pour:BDD --username=cptoracle --password=mdporacle 
          --changeLogFile=D:\Travail\liquibase\essais_changelog\ch3.sql rollback TAG01