0

根据我对 flyway/liquibase 的理解,它们提供了通过预配置脚本(SQL 查询、Java 文件等)执行数据库升级的方法。但我对以下内容不是很清楚:

  1. 如果有破坏性升级会发生什么。

    我有一个用例,例如将 bigint 列(包含数据)更改为日期类型。如果我尝试直接更改它,我最终会得到该列的损坏数据。flyway/liquibase 如何处理这些升级?

  2. 预先配置的脚本是说flyway/liquibase这些是我的更改的唯一方法,还是有任何其他方法可以解决这个问题。如果有其他方式,它会以查询的形式输出差异吗?

如果有人阐明上述内容,那将非常有帮助。

4

2 回答 2

0

在 Liquibase 中,您可以使用 SQL 格式化脚本来完成这项工作,我假设您尝试使用 XML 标记来避免必须执行原始 SQL 并遇到让 XML 准确翻译您想要做的事情的失败. 让生活更轻松,使用 SQL 脚本并利用 Liquibase。

于 2013-05-23T18:22:29.327 回答
0

从 Flyway 的角度来说,它从一开始就是使用 sql 和 java 支持构建的。如何使用其中任何一种迁移数据库是您的责任。Flyway 会照你说的做。

于 2013-05-24T13:15:13.303 回答