当前位置: 首页 > 知识库问答 >
问题:

无法使用SYS架构执行flyway迁移

勾渝
2023-03-14

我的许多迁移脚本中的第一个创建了模式和表空间,其余的迁移脚本在其中创建表、执行插入等。这样做是为了删除整个模式,然后使用flyway从头开始。cmd flyway migrate命令连接为“SYS as SYSDBA”,验证我的迁移文件,然后给出以下错误:

错误:找到不带元数据表的非空架构“SYS”!使用baseline()或将baselineOnMigrate设置为true来初始化元数据表。

在flyway中将baselineOnMigrate设置为true。conf不会更改任何内容。

我想做的事可能吗?有什么理由我不应该这样做吗?

共有1个答案

杜彦君
2023-03-14

我相信您可能没有正确设置“模式”配置变量。如果根本没有设置,Flyway将只使用连接模式——在本例中为“SYS”。然后它将尝试将SCHEMA_MIGRATION表创建为SYS,然后终止,因为SYS不是空的。

解决方案是将“模式”变量设置为不同的用户,然后如果该用户还不存在,Flyway将自动创建该用户。只需确保添加一个迁移脚本,该脚本将根据您的应用程序的需要授予相应的权限(例如连接/资源),并可能通过ALTER USER语句(而不是CREATE USER语句)重置该用户的密码。

 类似资料:
  • 我已成功地将spring boot配置为使用Flyway的新项目 随Postgres数据库从版本0001.0迁移到0008.0 我已在本地手动更改脚本,但flyway迁移失败。 错误消息示例: 注意:-我不想从表flyway_schema_history中删除脚本条目。

  • 我正在尝试使用Flyway运行数据库迁移脚本。我有两个SQL脚本和一个Java脚本正在尝试运行。当我跑步的时候/gradlew flywayMigrate或gradle flywayMigrate它只接受SQL脚本,而不接受Java脚本 我的项目设置如下: database_migrations 我尝试了多种解决方案来让java脚本运行,例如指定,但这只会导致此输出。我尝试过将其移动到其他包。我尝

  • 我在一株嵌入的野花上做了阿奎利亚测试。尽管所有移植脚本、集成器类(flyway在其中安装)和所有FlyWay包(来自POM文件)都包含在。war文件(部署在嵌入式wildfly上),不进行迁移。 这有什么原因吗?这是原则上不起作用还是我错过了什么? 我喜欢实现的是,arquillian运行的自动测试将设置一个内存数据库,其方案与使用相同迁移脚本的生产数据库相同。 编辑:正如ytg下面所问的,我添加

  • 问题内容: 我了解到使用Java进行flywaydb迁移可与JDBC连接一起使用,并且还可以通过SpringTemplate进行spring支持,但是flyway不适用于DAO。 对于具有更多关系的表/实体,使用DAO而不是sql进行迁移使工作变得更加容易。 是否有解决方案或解决方法来解决此问题? 问题答案: 首先,Flyway拥有自己的事务管理系统,并且不使用Spring事务处理。 如果您的DA

  • 我使用Hibernate将Roo生成的SpringMVC应用程序连接到PostgreSQL。我试图将Flyway1.6作为一个bean集成到Spring应用程序上下文中。“有什么东西阻止”迁移的执行,我在上下文初始化时遇到了由Hibernate元数据验证引起的错误。使用Flyway 1.6 Maven插件(clean、init、migrate)执行迁移没有问题。 Flyway 1.5(早期版本)的

  • 我正在flyway的CMD中运行命令,但脚本文件的迁移会出现以下异常 [错误]无法执行目标组织。flywaydb:flyway maven插件:3.2.1:在convertopia auto db:org项目上迁移(默认cli)。flywaydb。果心应用程序编程接口。FlywayException:验证失败。迁移1.0.53的迁移描述不匹配[错误]- 我尝试过,它说构建成功,但问题仍然没有解决。