只有当我的迁移文件中的所有说明都正确时,如何输入数据?
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 文件中。
您好,我使用 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 文件中。