我使用sqlfile模式。在一个sql文件中,我写了几个变更集:
--liquibase formatted sql
--changeset chs:31
create table tab_tst3(
id int primary key,
name varchar(255)
);
--rollback drop table tab_tst3;
--changeset chs:32
insert into tab_tst3 (id, name) values (1, 'tab 1');
insert into tab_tst3 (id, name) values (2, 'tab 2');
--changeset chs:33
create sequence tab_seq3;
--rollback drop sequence tab_seq3;当我执行如下所示的文件时:
liquibase --driver=oracle.jdbc.OracleDriver --url=jdbc:oracle:thin:@xxxxxx--username=xxx--
password=xxx --changeLogFile=myfile.sqlStarting Liquibase at jeu,08 ao²t 2019 15:48:14 CEST (version 3.7.0 built at 2019-07-16 02:26:39)成功标记'xxxx‘
当我这样做的时候
liquibase --driver=oracle.jdbc.OracleDriver --url=jdbc:oracle:thin:@xxxxxx--username=xxx--
password=xxx --tag=myTAG只标记最后一个木头(chs:33)
如何用相同的标签标记这3行代码?
谢谢
发布于 2019-08-08 23:51:55
tag命令所做的是将已经部署的一组特定更改标记为“这组更改处于良好状态,我可能希望返回到该状态”。因此,我们的想法是运行liquibase update,并将当时changelog中的三个变更集部署到数据库。您进行了一些测试,并确定一切正常,因此运行liquibase tag来标记该点。继续开发,添加一些新的变更集,并使用liquibase update将这些变更集部署到数据库。在测试过程中,您发现了一个问题,因此您希望返回到上一次已知的良好状态,因此您可以将liquibase rollback命令与所应用的标记一起使用,它会回滚有问题的较新更改,使您返回到已知的良好状态。
https://stackoverflow.com/questions/57416251
复制相似问题