在 Azure 云中为产品/服务就绪创建新的 Postgres 方案 - "Non empty schema"



我试图在Azure Cloud上构建一个Offer Ready Docker容器。尽管我在PostgreSQL中创建了一个新的(空白(表,但我收到了这个奇怪的错误消息。

javax.servlet.ServletException:org.eclipse.jetty.servlet.ServletsHolder$1:org.flywaydb.core.api.FlywayException:发现非空架构"public",但没有架构历史表!使用baseline((或将baselineOnMigrate设置为true来初始化架构历史记录表。

我仔细检查了数据库,架构"public"中没有表。我在AWS上没有这个问题。有人知道Azure有什么不同吗?

我曾经有过同样的经历。

  • Azure上的PostgreSQL数据库似乎是空的(dt没有返回结果(
  • 但Flyway声称数据库不是空的(因此不会应用迁移脚本,因为担心干扰已经存在的内容(

这是我所做的:

  1. 在数据库中创建一个新的模式,例如myschema
  2. 删除名为public的默认架构
  3. 将参数currentSchema=myschema添加到JDBC URL

然后它就工作了。我一直没有弄清楚这个问题的根本原因是什么。

编辑:此链接可能提供有关Azure PostgreSQL上默认情况下"公共"架构中的对象的更多信息:https://community.atlassian.com/t5/Jira-questions/Re-quot-database-that-is-not-empty-quot-when-trying-to-use-azure/qaq-p/1308795/comment-id/410329#M410329

最新更新