Database 如何仅在迁移文件中的所有说明都正确时输入数据?
您好,我使用flyway对我的数据库进行版本控制,但是我现在开始,我有一个疑问。如果我有两个带有sqls指令的文件,第一个文件所有sqls指令都正确,但第二个文件有错误,如果我使用flyway进行迁移,第一个文件的指令将包含在我的数据库中,然而,我希望它被插入,这样两个文件的所有指令都是正确的——有人已经经历过类似的事情了 我的代码如下Database 如何仅在迁移文件中的所有说明都正确时输入数据?,database,flyway,Database,Flyway,您好,我使用flyway对我的数据库进行版本控制,但是我现在开始,我有一个疑问。如果我有两个带有sqls指令的文件,第一个文件所有sqls指令都正确,但第二个文件有错误,如果我使用flyway进行迁移,第一个文件的指令将包含在我的数据库中,然而,我希望它被插入,这样两个文件的所有指令都是正确的——有人已经经历过类似的事情了 我的代码如下 flyway.setDataSource(con,user,pass); flyway.setSchemas("database");
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)
);
如果发生类似情况,flyway表已经存在,以便输入每个sql文件没有任何错误的数据
很简单,但我真的需要这个
对不起,我的英语很糟糕。Flyway在事务中运行每个迁移。如果要将语句提交或回滚到一起,必须将它们放在同一个.sql文件中。我明白,程序员必须确保sql文件正确无误。