手动更改表中的varchar大小后如何同步Flyway迁移文件?

Posted

技术标签:

【中文标题】手动更改表中的varchar大小后如何同步Flyway迁移文件?【英文标题】:How to synchronize Flyway migration files after varchar size in the table changed manually? 【发布时间】:2021-01-16 05:51:01 【问题描述】:

在学习 Spring-boot 时,我使用 Flyway 迁移文件在我的 mysql 数据库中创建表。然后过了一段时间,我手动更改了这些表中的一些 varchar 大小。我现在应该怎么做才能将 Flyway sql 文件中的信息与表中的实际值同步?

编辑:我无法反转表格中的大小,因为表格已经包含反转后太长的数据。

【问题讨论】:

【参考方案1】:

正确的方法是编辑原始迁移中的 sql 以匹配您最终确定的内容。完成后运行Flyway repair。这将更新架构历史记录中的校验和,以匹配磁盘上迁移的校验和。

只有在您确定 sql 将产生与您手动配置的结果相同的结果时才执行此操作。

【讨论】:

以上是关于手动更改表中的varchar大小后如何同步Flyway迁移文件?的主要内容,如果未能解决你的问题,请参考以下文章

SQL怎样把A表中的int字段插入到B表中的varchar型字段(不能更改原来A。B表中的字段原有属性)

如何将oracle表中的字段由integer 转变为varchar2(50)

如何修改 MySQL 表中列的大小?

转换后将数据从一列复制到同一表中的另一列

如何一次性同步内存中的集合与其后备数据库表

您能否在视图上编写触发器,该视图在更改其基表后利用插入和删除表中的数据?