通过詹金斯上的 Maven 作业导致的飞路迁移错误
Posted
技术标签:
【中文标题】通过詹金斯上的 Maven 作业导致的飞路迁移错误【英文标题】:Flyway migration error via maven job on jenkins 【发布时间】:2018-06-13 09:32:43 【问题描述】:我有一个 postgresql 数据库。我用来通过 flyway 进行迁移的用户具有创建权限,但是当我通过 jenkins maven 作业应用迁移时,出现以下错误:
07:24:06 [ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:5.0.2:migrate (default) on project database_repo: org.flywaydb.core.internal.exception.FlywaySqlException:
07:24:06 [ERROR] Error while retrieving the list of applied migrations from Schema History table "public"."SCHEMA_VERSION_1_2_4"
07:24:06 [ERROR] ---------------------------------------------------------------------------------------------------------------
07:24:06 [ERROR] SQL State : 42501
07:24:06 [ERROR] Error Code : 0
07:24:06 [ERROR] Message : ERROR: permission denied for relation SCHEMA_VERSION_1_2_4
07:24:06 [ERROR] -> [Help 1]
07:24:06 [ERROR]
07:24:06 [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
07:24:06 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
如果我为用户添加超级管理员权限,那么它可以毫无问题地开始工作,但我宁愿不给该用户超级管理员权限。
谁能告诉我用户需要哪些权限才能工作?
【问题讨论】:
您是否尝试将授予 INSERT 添加到此关系中? 【参考方案1】:从 flyway 连接到数据库的用户应该是数据库的所有者。
一旦我运行以下命令,用户就可以连接到数据库并创建他需要的表:
ALTER DATABASE name OWNER TO new_owner;
【讨论】:
以上是关于通过詹金斯上的 Maven 作业导致的飞路迁移错误的主要内容,如果未能解决你的问题,请参考以下文章