只有当我的迁移文件中的所有说明都正确时,如何输入数据?

how to enter the data only if all instructions are correct in my migration files?

您好,我使用 flyway 对我的数据库进行版本控制,但是我现在才开始,我有疑问。如果我有两个带有 sqls 指令的文件,第一个文件的所有 sqls 指令都是正确的,但在第二个文件中有一个错误,如果我使用 flyway 迁移,第一个文件的指令将包含在我的数据库中,但是我希望将其插入,以便这两个文件的所有说明都是正确的,有人已经经历过类似的事情吗?

我的代码在下面。

        flyway.setDataSource(con,user,pass);
    flyway.setSchemas("database");

    //Repara o banco para inserir as novas migrações
    flyway.repair();

    //Insere as migrações no banco de dados
    flyway.migrate();

V1_file.sql

CREATE TABLE flyway (
    name VARCHAR(100)
    );

V2_file.sql

alter table flyway add x int

alter table flyway add y int

v3_file.sql

CREATE TABLE flyway (
    name VARCHAR(100)
    );

flywaytable已经存在如果发生类似情况所以输入数据每个sql文件没有任何错误 非常简单,但我真的需要这个。

抱歉我的英语很糟糕。

Flyway 在事务中运行每个迁移。如果您希望语句一起提交或回滚,则必须将它们放在同一个 .sql 文件中。