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

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

您好,我使用 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_文件.sql

CREATE TABLE flyway (
    name VARCHAR(100)
    );

V2_文件.sql

alter table flyway add x int

alter table flyway add y int

v3_file.sql

CREATE TABLE flyway (
    name VARCHAR(100)
    );

flyway表已经存在,如果出现类似情况,这样每个sql文件输入数据没有任何错误 很简单,但我真的需要这个。

database flyway
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.