我们正在使用cloudfoundry的flyway。简而言之,我们无法控制数据库的用户名/密码(按设计),而且它是一个超过30个字符的非常长的字符串。当我尝试运行迁移时,出现以下错误:
flyway.core.api.FlywayException: Unable to insert metadata table row for version 0
... stacktrace ...
Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(30)
... more stacktrace ...
我可以配置flyway来忽略元数据表中的installed-by列吗?我怀疑这可以通过使用更大的列构建flyway来修复,或者用户名来连接。
修改
我能够通过登录数据库并手动将列扩展到50个字符来缓解此问题:
alter table schema_version alter column installed_by set data type character varying(50);
它仍然是设置中的手动步骤,应该是不干涉的,因此这可能仍然是flyway中的功能请求(支持更大的用户名)。