我们正在使用Flyway来管理数据库架构版本,我们面临着一个问题.因为我们作为一个团队工作,并且使用GIT作为源代码管理,所以在某些情况下,不同的人会在他们自己的本地Repo上更新数据库模式.如果发生这种情况,我们将得到

检测到未应用于数据库的已解析迁移:2016.03.17.16.46"

时间"2016.03.17.16.46"是由另一个人添加的,我已经晚了一些时间戳.如果发生这种情况,我们必须清理所有数据库表并再次创建它们.我们曾try 将validateOnMigrate设为false,并设置了flywayClean,但没有任何帮助.有没有其他方法可以改变这一点?

推荐答案

迁移选项outOfOrder是您这里的朋友.将其设置为true可允许在事后插入这些migrations.

在命令行上,运行:

flyway -outOfOrder=true migrate

或者如果您使用Maven插件:

mvn -Dflyway.outOfOrder=true flyway:migrate

Database相关问答推荐

如何正确创建mongo模型和客户端?

任何用于存储过程的静态代码分析工具?

数据库设计 - 类别(categories)和子类别(sub-categories)

如何将 MySQL 5.5.40 升级到 MySQL 5.7

便携式(PHPPass)密码哈希.我应该使用它们吗?

使 H2 将引用的名称和未引用的名称视为相同

SQLAlchemy 和 django,准备好生产了吗?

关系数据库如何在幕后工作?

Select 最佳主键 + 编号系统

SOA 和共享数据库

postgresql 在 where 子句中使用 json 子元素

您如何在数据库中构造配置数据?

具有多列的单个固定表与灵活的抽象表

哪个提供更好的性能一个大连接或多个查询?

没有自动增量的sqlalchemy主键

如何将 SQL Server 数据库图表迁移到另一个数据库?

Django:将博客条目查看次数加一,这有效率吗?

Sqlite 判断表是否为空

为什么 DBMS 不支持 ASSERTION

在 Heroku 上预编译assets时如何普遍跳过数据库接触